diff --git a/.eslintignore b/.eslintignore
deleted file mode 100644
index 6cb8fe8..0000000
--- a/.eslintignore
+++ /dev/null
@@ -1,3 +0,0 @@
-src/FormTable
-src/FormTableExt
-src/FormTableSD
\ No newline at end of file
diff --git a/.eslintrc.json b/.eslintrc.json
index 200119f..2039228 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -125,6 +125,7 @@
"no-octal": "error", // 禁止使用八进制数字(因为八进制数字以0开头)
"no-octal-escape": "error", // 禁止使用八进制转义序列
"no-proto": "error", // 禁止使用__proto__属性(按照标准,__proto__为私有属性,不应公开)
+ "no-prototype-builtins": "off",
"no-regex-spaces": "error", // 禁止在正则表达式字面量中使用多个空格 /foo bar/
"no-script-url": "off", // 禁止使用javascript:void(0)
"no-shadow-restricted-names": "error", // 严格模式中规定的限制标识符不能作为声明时的变量名使用
diff --git a/.gitignore b/.gitignore
index e861e2f..bf83264 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,9 +7,8 @@ yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
-web-mobile
node_modules
-build
+dist
dist-ssr
*.local
@@ -23,7 +22,7 @@ dist-ssr
*.njsproj
*.sln
*.sw?
-/.vscode
+
/src/FormTable
/src/FormTable/*
/src/FormTableExt
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..4dcad1f
--- /dev/null
+++ b/README.md
@@ -0,0 +1,73 @@
+# 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) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh
+- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
+
+## React Compiler
+
+The React Compiler is currently not compatible with SWC. See [this issue](https://github.com/vitejs/vite-plugin-react/issues/428) for tracking the progress.
+
+## Expanding the ESLint configuration
+
+If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
+
+```js
+export default defineConfig([
+ globalIgnores(['dist']),
+ {
+ files: ['**/*.{ts,tsx}'],
+ extends: [
+ // Other configs...
+
+ // Remove tseslint.configs.recommended and replace with this
+ tseslint.configs.recommendedTypeChecked,
+ // Alternatively, use this for stricter rules
+ tseslint.configs.strictTypeChecked,
+ // Optionally, add this for stylistic rules
+ tseslint.configs.stylisticTypeChecked,
+
+ // Other configs...
+ ],
+ languageOptions: {
+ parserOptions: {
+ project: ['./tsconfig.node.json', './tsconfig.app.json'],
+ tsconfigRootDir: import.meta.dirname,
+ },
+ // other options...
+ },
+ },
+])
+```
+
+You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
+
+```js
+// eslint.config.js
+import reactX from 'eslint-plugin-react-x'
+import reactDom from 'eslint-plugin-react-dom'
+
+export default defineConfig([
+ globalIgnores(['dist']),
+ {
+ files: ['**/*.{ts,tsx}'],
+ extends: [
+ // Other configs...
+ // Enable lint rules for React
+ reactX.configs['recommended-typescript'],
+ // Enable lint rules for React DOM
+ reactDom.configs.recommended,
+ ],
+ languageOptions: {
+ parserOptions: {
+ project: ['./tsconfig.node.json', './tsconfig.app.json'],
+ tsconfigRootDir: import.meta.dirname,
+ },
+ // other options...
+ },
+ },
+])
+```
diff --git a/auto-imports.d.ts b/auto-imports.d.ts
deleted file mode 100644
index 08908ed..0000000
--- a/auto-imports.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-// Generated by 'unplugin-auto-import'
-export {}
-declare global {
-
-}
diff --git a/build.cjs b/build.cjs
deleted file mode 100644
index c96f55c..0000000
--- a/build.cjs
+++ /dev/null
@@ -1,124 +0,0 @@
-//build.js文件
-// let exec = require('child_process').exec // 异步子进程
-let fs = require('fs')
-const path = "./build-templates/version.json"
-let packageJSON = require(path)
-/** package.json文件的version参数 */
-let version = packageJSON.version
-// /** 命令行的所有参数 */
-// let options = process.argv
-// /** 命令行的type参数 */
-// let type = null
-// /** 新的version参数 */
-// let newVersion = null
-
-const dt = new Date();
-const Year = +((dt.getFullYear() + "")[2] + (dt.getFullYear() + "")[3]);
-const Month = +(dt.getMonth() + 1);
-const Day = +(dt.getDate());
-let MajorVersion = +(version.MajorVersion);
-let MinorVersion = +(version.MinorVersion);
-let BuildVersion = +(version.BuildVersion);
-let Revision = +(version.Revision);
-
-if (!MajorVersion || !MinorVersion || !BuildVersion || !Revision || Year != MajorVersion) {
- MajorVersion = Year;
- MinorVersion = Month;
- BuildVersion = Day;
- Revision = 1;
-} else if (Month != MinorVersion) {
- MinorVersion = Month;
- BuildVersion = Day;
- Revision = 1;
-} else if (Day != BuildVersion) {
- BuildVersion = Day;
- Revision = 1;
-} else {
- Revision++;
-}
-var data_new = {
- version: {
- MajorVersion,
- MinorVersion,
- BuildVersion,
- Revision
- }
-}
-let VersionNew = JSON.stringify(data_new);
-console.log(`version: ${MajorVersion}.${MinorVersion}.${BuildVersion}.${Revision}`)
-//同步寫入package.json文件
-fs.writeFileSync(path, VersionNew)
-return;
-
-
-
-
-
-// //判断命令行是否存在type参数或version参数进行逻辑处理
-// for (let i = 0; i < options.length; i++) {
-// if (options[i].indexOf('type') > -1) {
-// //存在type参数
-// type = options[i].split('=')[1]
-// } else if (options[i].indexOf('version') > -1) {
-// //存在version参数
-// newVersion = options[i].split('=')[1]
-// } else {
-// //code
-// }
-// }
-
-// if (newVersion) {
-// //存在设置version参数则改变原来的version
-// version = newVersion
-// } else if (type) {
-// //不设置version则根据type来进行修改version
-// version = handleType(version, type)
-// } else {
-// version = null
-// console.log('-----------没有改变version-----------')
-// }
-
-// //修改了version则写入
-// if (version) {
-// packageJSON.version = version
-// //同步写入package.json文件
-// fs.writeFileSync('package.json', JSON.stringify(packageJSON, null, 2))
-// console.log('-----------更新package的version为:%s参数成功-----------', version)
-// // handleGitAdd('./package.json')
-// // pullRemote()
-// }
-
-// /**
-// * 根据分支类型处理版本号version
-// * @param {string} oldVersion 旧的版本号
-// * @param {string} type 分支类型
-// * @private
-// */
-// function handleType(oldVersion, type) {
-// let oldVersionArr = oldVersion.split('.')
-// //版本号第一位 如:1.2.3 则为 1
-// let firstNum = +oldVersionArr[0]
-// //版本号第二位 如:1.2.3 则为 2
-// let secondNum = +oldVersionArr[1]
-// //版本号第三位 如:1.2.3 则为 3
-// let thirdNum = +oldVersionArr[2]
-// switch (type) {
-// case 'release':
-// //release分支的处理逻辑
-// ++secondNum
-// thirdNum = 0
-// break
-
-// case 'hotfix':
-// //hotfix分支的处理逻辑
-// ++thirdNum
-// break
-
-// default:
-// // 默认按照最小版本处理
-// ++thirdNum
-// break
-// }
-
-// return firstNum + '.' + secondNum + '.' + thirdNum
-// }
\ No newline at end of file
diff --git a/index.html b/index.html
index 63b1b57..6de4560 100644
--- a/index.html
+++ b/index.html
@@ -1,23 +1,15 @@
-
+
-
-
-
- LP_Bot
+
+
+ lpbot
-
-
-
+
+
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index 0e4cb97..0000000
--- a/package-lock.json
+++ /dev/null
@@ -1,8946 +0,0 @@
-{
- "name": "lp-react",
- "version": "0.0.1",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "name": "lp-react",
- "version": "0.0.1",
- "dependencies": {
- "@fortawesome/fontawesome-free": "^6.4.0",
- "@jridgewell/sourcemap-codec": "^1.4.15",
- "@line/liff": "^2.22.3",
- "@types/lodash": "^4.14.197",
- "@types/node": "^20.2.5",
- "antd": "^5.11.3",
- "axios": "^1.5.0",
- "bootstrap": "^5.3.0",
- "breakpoint-sass": "^3.0.0",
- "buffer": "^6.0.3",
- "classnames": "^2.3.2",
- "date-fns": "^2.30.0",
- "dayjs": "^1.11.9",
- "eslint-import-resolver-typescript": "^3.6.0",
- "eslint-plugin-react": "^7.33.2",
- "eslint-plugin-unused-imports": "^3.0.0",
- "events": "^3.3.0",
- "firebase": "^10.5.2",
- "gsap": "^3.12.2",
- "immer": "^9.0.21",
- "lodash": "^4.17.21",
- "lz-string": "^1.5.0",
- "miragejs": "^0.1.47",
- "moment": "^2.29.4",
- "nosleep.js": "^0.12.0",
- "numeral": "^2.0.6",
- "path": "^0.12.7",
- "pure-react-carousel": "^1.30.1",
- "react": "^18.2.0",
- "react-countdown": "^2.3.5",
- "react-device-detect": "^2.2.3",
- "react-dom": "^18.2.0",
- "react-draggable": "^4.4.5",
- "react-fast-marquee": "^1.6.0",
- "react-fitty": "^1.0.1",
- "react-iframe": "^1.8.5",
- "react-infinite-scroll-component": "^6.1.0",
- "react-query": "^3.39.3",
- "react-router-dom": "^6.15.0",
- "react-scroll": "^1.8.9",
- "react-spinners": "^0.13.8",
- "react-timer-hook": "^3.0.7",
- "react-use": "^17.4.0",
- "rxjs": "^7.8.1",
- "sass": "^1.66.1",
- "string-width": "^6.1.0",
- "styled-components": "^5.3.6",
- "swiper": "^8.4.5",
- "ts-key-enum": "^2.0.12",
- "use-immer": "^0.9.0",
- "use-onclickoutside": "^0.4.1",
- "use-reducer-async": "^2.1.1",
- "uuid": "^9.0.0",
- "vconsole": "^3.15.1"
- },
- "devDependencies": {
- "@types/react": "^18.2.15",
- "@types/react-dom": "^18.2.7",
- "@types/styled-components": "^5.1.26",
- "@typescript-eslint/eslint-plugin": "^6.0.0",
- "@typescript-eslint/parser": "^6.0.0",
- "@vitejs/plugin-react-swc": "^3.3.2",
- "eslint": "^8.45.0",
- "eslint-plugin-react-hooks": "^4.6.0",
- "eslint-plugin-react-refresh": "^0.4.3",
- "typescript": "^5.0.2",
- "vite": "^4.4.5"
- }
- },
- "node_modules/@aashutoshrathi/word-wrap": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
- "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@ampproject/remapping": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
- "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
- "peer": true,
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@ant-design/colors": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-7.0.0.tgz",
- "integrity": "sha512-iVm/9PfGCbC0dSMBrz7oiEXZaaGH7ceU40OJEfKmyuzR9R5CRimJYPlRiFtMQGQcbNMea/ePcoIebi4ASGYXtg==",
- "dependencies": {
- "@ctrl/tinycolor": "^3.4.0"
- }
- },
- "node_modules/@ant-design/cssinjs": {
- "version": "1.17.5",
- "resolved": "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-1.17.5.tgz",
- "integrity": "sha512-Ed2rruHMxZTVYGPec6QBZkrh00Df5K1FAufmBpONai5iGYxoxIkg1sRD8YdCw0NvPRAa4r1nJP5LbwICGHzGiQ==",
- "dependencies": {
- "@babel/runtime": "^7.11.1",
- "@emotion/hash": "^0.8.0",
- "@emotion/unitless": "^0.7.5",
- "classnames": "^2.3.1",
- "csstype": "^3.0.10",
- "rc-util": "^5.35.0",
- "stylis": "^4.0.13"
- },
- "peerDependencies": {
- "react": ">=16.0.0",
- "react-dom": ">=16.0.0"
- }
- },
- "node_modules/@ant-design/icons": {
- "version": "5.2.6",
- "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-5.2.6.tgz",
- "integrity": "sha512-4wn0WShF43TrggskBJPRqCD0fcHbzTYjnaoskdiJrVHg86yxoZ8ZUqsXvyn4WUqehRiFKnaclOhqk9w4Ui2KVw==",
- "dependencies": {
- "@ant-design/colors": "^7.0.0",
- "@ant-design/icons-svg": "^4.3.0",
- "@babel/runtime": "^7.11.2",
- "classnames": "^2.2.6",
- "rc-util": "^5.31.1"
- },
- "engines": {
- "node": ">=8"
- },
- "peerDependencies": {
- "react": ">=16.0.0",
- "react-dom": ">=16.0.0"
- }
- },
- "node_modules/@ant-design/icons-svg": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.3.1.tgz",
- "integrity": "sha512-4QBZg8ccyC6LPIRii7A0bZUk3+lEDCLnhB+FVsflGdcWPPmV+j3fire4AwwoqHV/BibgvBmR9ZIo4s867smv+g=="
- },
- "node_modules/@ant-design/react-slick": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.0.2.tgz",
- "integrity": "sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ==",
- "dependencies": {
- "@babel/runtime": "^7.10.4",
- "classnames": "^2.2.5",
- "json2mq": "^0.2.0",
- "resize-observer-polyfill": "^1.5.1",
- "throttle-debounce": "^5.0.0"
- },
- "peerDependencies": {
- "react": ">=16.9.0"
- }
- },
- "node_modules/@ant-design/react-slick/node_modules/throttle-debounce": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.0.tgz",
- "integrity": "sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==",
- "engines": {
- "node": ">=12.22"
- }
- },
- "node_modules/@babel/code-frame": {
- "version": "7.22.13",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
- "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
- "dependencies": {
- "@babel/highlight": "^7.22.13",
- "chalk": "^2.4.2"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/code-frame/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==",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/code-frame/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==",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/code-frame/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==",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@babel/code-frame/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=="
- },
- "node_modules/@babel/code-frame/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==",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/@babel/code-frame/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==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/code-frame/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==",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/compat-data": {
- "version": "7.22.9",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz",
- "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==",
- "peer": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/core": {
- "version": "7.22.11",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.11.tgz",
- "integrity": "sha512-lh7RJrtPdhibbxndr6/xx0w8+CVlY5FJZiaSz908Fpy+G0xkBFTvwLcKJFF4PJxVfGhVWNebikpWGnOoC71juQ==",
- "peer": true,
- "dependencies": {
- "@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.22.10",
- "@babel/generator": "^7.22.10",
- "@babel/helper-compilation-targets": "^7.22.10",
- "@babel/helper-module-transforms": "^7.22.9",
- "@babel/helpers": "^7.22.11",
- "@babel/parser": "^7.22.11",
- "@babel/template": "^7.22.5",
- "@babel/traverse": "^7.22.11",
- "@babel/types": "^7.22.11",
- "convert-source-map": "^1.7.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==",
- "peer": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/generator": {
- "version": "7.22.10",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz",
- "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==",
- "dependencies": {
- "@babel/types": "^7.22.10",
- "@jridgewell/gen-mapping": "^0.3.2",
- "@jridgewell/trace-mapping": "^0.3.17",
- "jsesc": "^2.5.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz",
- "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==",
- "dependencies": {
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets": {
- "version": "7.22.10",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz",
- "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==",
- "peer": true,
- "dependencies": {
- "@babel/compat-data": "^7.22.9",
- "@babel/helper-validator-option": "^7.22.5",
- "browserslist": "^4.21.9",
- "lru-cache": "^5.1.1",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
- "peer": true,
- "dependencies": {
- "yallist": "^3.0.2"
- }
- },
- "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "peer": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/helper-compilation-targets/node_modules/yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "peer": true
- },
- "node_modules/@babel/helper-environment-visitor": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz",
- "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-function-name": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz",
- "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==",
- "dependencies": {
- "@babel/template": "^7.22.5",
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-hoist-variables": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
- "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
- "dependencies": {
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-imports": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz",
- "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==",
- "dependencies": {
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-transforms": {
- "version": "7.22.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz",
- "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==",
- "peer": true,
- "dependencies": {
- "@babel/helper-environment-visitor": "^7.22.5",
- "@babel/helper-module-imports": "^7.22.5",
- "@babel/helper-simple-access": "^7.22.5",
- "@babel/helper-split-export-declaration": "^7.22.6",
- "@babel/helper-validator-identifier": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-plugin-utils": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz",
- "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-simple-access": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
- "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
- "peer": true,
- "dependencies": {
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-split-export-declaration": {
- "version": "7.22.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
- "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
- "dependencies": {
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-string-parser": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
- "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-identifier": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz",
- "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-option": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz",
- "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==",
- "peer": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helpers": {
- "version": "7.22.11",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.11.tgz",
- "integrity": "sha512-vyOXC8PBWaGc5h7GMsNx68OH33cypkEDJCHvYVVgVbbxJDROYVtexSk0gK5iCF1xNjRIN2s8ai7hwkWDq5szWg==",
- "peer": true,
- "dependencies": {
- "@babel/template": "^7.22.5",
- "@babel/traverse": "^7.22.11",
- "@babel/types": "^7.22.11"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/highlight": {
- "version": "7.22.13",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz",
- "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==",
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.22.5",
- "chalk": "^2.4.2",
- "js-tokens": "^4.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/highlight/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@babel/highlight/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
- },
- "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/@babel/highlight/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/parser": {
- "version": "7.22.13",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.13.tgz",
- "integrity": "sha512-3l6+4YOvc9wx7VlCSw4yQfcBo01ECA8TicQfbnCPuCEpRQrf+gTUyGdxNw+pyTUyywp6JRD1w0YQs9TpBXYlkw==",
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/plugin-syntax-jsx": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz",
- "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/runtime": {
- "version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.4.tgz",
- "integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==",
- "dependencies": {
- "regenerator-runtime": "^0.14.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/template": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz",
- "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==",
- "dependencies": {
- "@babel/code-frame": "^7.22.5",
- "@babel/parser": "^7.22.5",
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse": {
- "version": "7.22.11",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.11.tgz",
- "integrity": "sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==",
- "dependencies": {
- "@babel/code-frame": "^7.22.10",
- "@babel/generator": "^7.22.10",
- "@babel/helper-environment-visitor": "^7.22.5",
- "@babel/helper-function-name": "^7.22.5",
- "@babel/helper-hoist-variables": "^7.22.5",
- "@babel/helper-split-export-declaration": "^7.22.6",
- "@babel/parser": "^7.22.11",
- "@babel/types": "^7.22.11",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse/node_modules/globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/types": {
- "version": "7.22.11",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.11.tgz",
- "integrity": "sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==",
- "dependencies": {
- "@babel/helper-string-parser": "^7.22.5",
- "@babel/helper-validator-identifier": "^7.22.5",
- "to-fast-properties": "^2.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@ctrl/tinycolor": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz",
- "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@emotion/hash": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz",
- "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow=="
- },
- "node_modules/@emotion/is-prop-valid": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz",
- "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==",
- "dependencies": {
- "@emotion/memoize": "^0.8.1"
- }
- },
- "node_modules/@emotion/memoize": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz",
- "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA=="
- },
- "node_modules/@emotion/stylis": {
- "version": "0.8.5",
- "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz",
- "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ=="
- },
- "node_modules/@emotion/unitless": {
- "version": "0.7.5",
- "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz",
- "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg=="
- },
- "node_modules/@esbuild/android-arm": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
- "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-arm64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz",
- "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz",
- "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/darwin-arm64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz",
- "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/darwin-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz",
- "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/freebsd-arm64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz",
- "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/freebsd-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz",
- "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-arm": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz",
- "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-arm64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz",
- "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-ia32": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz",
- "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-loong64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz",
- "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-mips64el": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz",
- "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==",
- "cpu": [
- "mips64el"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-ppc64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz",
- "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-riscv64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz",
- "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-s390x": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz",
- "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz",
- "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/netbsd-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz",
- "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/openbsd-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz",
- "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/sunos-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz",
- "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-arm64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz",
- "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-ia32": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz",
- "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz",
- "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==",
- "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==",
- "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.8.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.0.tgz",
- "integrity": "sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==",
- "engines": {
- "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
- }
- },
- "node_modules/@eslint/eslintrc": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz",
- "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==",
- "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/js": {
- "version": "8.48.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz",
- "integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "node_modules/@firebase/analytics": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.0.tgz",
- "integrity": "sha512-Locv8gAqx0e+GX/0SI3dzmBY5e9kjVDtD+3zCFLJ0tH2hJwuCAiL+5WkHuxKj92rqQj/rvkBUCfA1ewlX2hehg==",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/installations": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app": "0.x"
- }
- },
- "node_modules/@firebase/analytics-compat": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.6.tgz",
- "integrity": "sha512-4MqpVLFkGK7NJf/5wPEEP7ePBJatwYpyjgJ+wQHQGHfzaCDgntOnl9rL2vbVGGKCnRqWtZDIWhctB86UWXaX2Q==",
- "dependencies": {
- "@firebase/analytics": "0.10.0",
- "@firebase/analytics-types": "0.8.0",
- "@firebase/component": "0.6.4",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app-compat": "0.x"
- }
- },
- "node_modules/@firebase/analytics-types": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.8.0.tgz",
- "integrity": "sha512-iRP+QKI2+oz3UAh4nPEq14CsEjrjD6a5+fuypjScisAh9kXKFvdJOZJDwk7kikLvWVLGEs9+kIUS4LPQV7VZVw=="
- },
- "node_modules/@firebase/app": {
- "version": "0.9.22",
- "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.9.22.tgz",
- "integrity": "sha512-4hbUg9ojPbn4Gj21Z/GnJbiLQYOzkwBDFT5vBkQgUJJGS28qQLG6eZZ1DwLKh8lcrNJc4MR90OPaJWhSzJCR2w==",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "idb": "7.1.1",
- "tslib": "^2.1.0"
- }
- },
- "node_modules/@firebase/app-check": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.8.0.tgz",
- "integrity": "sha512-dRDnhkcaC2FspMiRK/Vbp+PfsOAEP6ZElGm9iGFJ9fDqHoPs0HOPn7dwpJ51lCFi1+2/7n5pRPGhqF/F03I97g==",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app": "0.x"
- }
- },
- "node_modules/@firebase/app-check-compat": {
- "version": "0.3.7",
- "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.3.7.tgz",
- "integrity": "sha512-cW682AxsyP1G+Z0/P7pO/WT2CzYlNxoNe5QejVarW2o5ZxeWSSPAiVEwpEpQR/bUlUmdeWThYTMvBWaopdBsqw==",
- "dependencies": {
- "@firebase/app-check": "0.8.0",
- "@firebase/app-check-types": "0.5.0",
- "@firebase/component": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app-compat": "0.x"
- }
- },
- "node_modules/@firebase/app-check-interop-types": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.0.tgz",
- "integrity": "sha512-xAxHPZPIgFXnI+vb4sbBjZcde7ZluzPPaSK7Lx3/nmuVk4TjZvnL8ONnkd4ERQKL8WePQySU+pRcWkh8rDf5Sg=="
- },
- "node_modules/@firebase/app-check-types": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.5.0.tgz",
- "integrity": "sha512-uwSUj32Mlubybw7tedRzR24RP8M8JUVR3NPiMk3/Z4bCmgEKTlQBwMXrehDAZ2wF+TsBq0SN1c6ema71U/JPyQ=="
- },
- "node_modules/@firebase/app-compat": {
- "version": "0.2.22",
- "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.2.22.tgz",
- "integrity": "sha512-kyksJFA19Oz5HZmR56s/ziOM6ivDBF9JYwC0ufacooYNd2sQ3pRsi5MZAYb1FR9hCE7MgoHuPmTtBHA7S/Cv8g==",
- "dependencies": {
- "@firebase/app": "0.9.22",
- "@firebase/component": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- }
- },
- "node_modules/@firebase/app-types": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.0.tgz",
- "integrity": "sha512-AeweANOIo0Mb8GiYm3xhTEBVCmPwTYAu9Hcd2qSkLuga/6+j9b1Jskl5bpiSQWy9eJ/j5pavxj6eYogmnuzm+Q=="
- },
- "node_modules/@firebase/auth": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.3.2.tgz",
- "integrity": "sha512-ksYpeRACL8INRpFZzbCLLnI9NP+L3UH/+ebKo4oBjhc/dSwPbpw6E1wjdm0odB1U5xHhXD/5lpyeFQZ+jXyBxA==",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "node-fetch": "2.6.7",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app": "0.x",
- "@react-native-async-storage/async-storage": "^1.18.1"
- },
- "peerDependenciesMeta": {
- "@react-native-async-storage/async-storage": {
- "optional": true
- }
- }
- },
- "node_modules/@firebase/auth-compat": {
- "version": "0.4.8",
- "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.4.8.tgz",
- "integrity": "sha512-qKX8BOl1qewBzpfAXl6/lKPW7fjnY8/3umiSFIGO8SHwLQ3LsAdNFPdwafouwMiKLo5MXxW4XdxNSI4ilt0Z5w==",
- "dependencies": {
- "@firebase/auth": "1.3.2",
- "@firebase/auth-types": "0.12.0",
- "@firebase/component": "0.6.4",
- "@firebase/util": "1.9.3",
- "node-fetch": "2.6.7",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app-compat": "0.x"
- }
- },
- "node_modules/@firebase/auth-interop-types": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.1.tgz",
- "integrity": "sha512-VOaGzKp65MY6P5FI84TfYKBXEPi6LmOCSMMzys6o2BN2LOsqy7pCuZCup7NYnfbk5OkkQKzvIfHOzTm0UDpkyg=="
- },
- "node_modules/@firebase/auth-types": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.12.0.tgz",
- "integrity": "sha512-pPwaZt+SPOshK8xNoiQlK5XIrS97kFYc3Rc7xmy373QsOJ9MmqXxLaYssP5Kcds4wd2qK//amx/c+A8O2fVeZA==",
- "peerDependencies": {
- "@firebase/app-types": "0.x",
- "@firebase/util": "1.x"
- }
- },
- "node_modules/@firebase/component": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.4.tgz",
- "integrity": "sha512-rLMyrXuO9jcAUCaQXCMjCMUsWrba5fzHlNK24xz5j2W6A/SRmK8mZJ/hn7V0fViLbxC0lPMtrK1eYzk6Fg03jA==",
- "dependencies": {
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- }
- },
- "node_modules/@firebase/database": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@firebase/database/-/database-1.0.1.tgz",
- "integrity": "sha512-VAhF7gYwunW4Lw/+RQZvW8dlsf2r0YYqV9W0Gi2Mz8+0TGg1mBJWoUtsHfOr8kPJXhcLsC4eP/z3x6L/Fvjk/A==",
- "dependencies": {
- "@firebase/auth-interop-types": "0.2.1",
- "@firebase/component": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "faye-websocket": "0.11.4",
- "tslib": "^2.1.0"
- }
- },
- "node_modules/@firebase/database-compat": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-1.0.1.tgz",
- "integrity": "sha512-ky82yLIboLxtAIWyW/52a6HLMVTzD2kpZlEilVDok73pNPLjkJYowj8iaIWK5nTy7+6Gxt7d00zfjL6zckGdXQ==",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/database": "1.0.1",
- "@firebase/database-types": "1.0.0",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- }
- },
- "node_modules/@firebase/database-types": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.0.tgz",
- "integrity": "sha512-SjnXStoE0Q56HcFgNQ+9SsmJc0c8TqGARdI/T44KXy+Ets3r6x/ivhQozT66bMnCEjJRywYoxNurRTMlZF8VNg==",
- "dependencies": {
- "@firebase/app-types": "0.9.0",
- "@firebase/util": "1.9.3"
- }
- },
- "node_modules/@firebase/firestore": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.3.2.tgz",
- "integrity": "sha512-K4TwMbgArWw+XAEUYX/vtk+TVy9n1uLeJKSrQeb89lwfkfyFINGLPME6YleaS0ovD1ziLM5/0WgL1CR4s53fDg==",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "@firebase/webchannel-wrapper": "0.10.3",
- "@grpc/grpc-js": "~1.9.0",
- "@grpc/proto-loader": "^0.7.8",
- "node-fetch": "2.6.7",
- "tslib": "^2.1.0"
- },
- "engines": {
- "node": ">=10.10.0"
- },
- "peerDependencies": {
- "@firebase/app": "0.x"
- }
- },
- "node_modules/@firebase/firestore-compat": {
- "version": "0.3.21",
- "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.21.tgz",
- "integrity": "sha512-u17so8cP4FQBEJyivAbZc0kW09YBXBvhSmUXiB7swkOLemfZUmmPZQGJxZGa9y/M02euU1y4EzvWN/h/bkx8pg==",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/firestore": "4.3.2",
- "@firebase/firestore-types": "3.0.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app-compat": "0.x"
- }
- },
- "node_modules/@firebase/firestore-types": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-3.0.0.tgz",
- "integrity": "sha512-Meg4cIezHo9zLamw0ymFYBD4SMjLb+ZXIbuN7T7ddXN6MGoICmOTq3/ltdCGoDCS2u+H1XJs2u/cYp75jsX9Qw==",
- "peerDependencies": {
- "@firebase/app-types": "0.x",
- "@firebase/util": "1.x"
- }
- },
- "node_modules/@firebase/functions": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.10.0.tgz",
- "integrity": "sha512-2U+fMNxTYhtwSpkkR6WbBcuNMOVaI7MaH3cZ6UAeNfj7AgEwHwMIFLPpC13YNZhno219F0lfxzTAA0N62ndWzA==",
- "dependencies": {
- "@firebase/app-check-interop-types": "0.3.0",
- "@firebase/auth-interop-types": "0.2.1",
- "@firebase/component": "0.6.4",
- "@firebase/messaging-interop-types": "0.2.0",
- "@firebase/util": "1.9.3",
- "node-fetch": "2.6.7",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app": "0.x"
- }
- },
- "node_modules/@firebase/functions-compat": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.5.tgz",
- "integrity": "sha512-uD4jwgwVqdWf6uc3NRKF8cSZ0JwGqSlyhPgackyUPe+GAtnERpS4+Vr66g0b3Gge0ezG4iyHo/EXW/Hjx7QhHw==",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/functions": "0.10.0",
- "@firebase/functions-types": "0.6.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app-compat": "0.x"
- }
- },
- "node_modules/@firebase/functions-types": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.6.0.tgz",
- "integrity": "sha512-hfEw5VJtgWXIRf92ImLkgENqpL6IWpYaXVYiRkFY1jJ9+6tIhWM7IzzwbevwIIud/jaxKVdRzD7QBWfPmkwCYw=="
- },
- "node_modules/@firebase/installations": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.4.tgz",
- "integrity": "sha512-u5y88rtsp7NYkCHC3ElbFBrPtieUybZluXyzl7+4BsIz4sqb4vSAuwHEUgCgCeaQhvsnxDEU6icly8U9zsJigA==",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/util": "1.9.3",
- "idb": "7.0.1",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app": "0.x"
- }
- },
- "node_modules/@firebase/installations-compat": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.4.tgz",
- "integrity": "sha512-LI9dYjp0aT9Njkn9U4JRrDqQ6KXeAmFbRC0E7jI7+hxl5YmRWysq5qgQl22hcWpTk+cm3es66d/apoDU/A9n6Q==",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/installations": "0.6.4",
- "@firebase/installations-types": "0.5.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app-compat": "0.x"
- }
- },
- "node_modules/@firebase/installations-types": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.5.0.tgz",
- "integrity": "sha512-9DP+RGfzoI2jH7gY4SlzqvZ+hr7gYzPODrbzVD82Y12kScZ6ZpRg/i3j6rleto8vTFC8n6Len4560FnV1w2IRg==",
- "peerDependencies": {
- "@firebase/app-types": "0.x"
- }
- },
- "node_modules/@firebase/installations/node_modules/idb": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz",
- "integrity": "sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg=="
- },
- "node_modules/@firebase/logger": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.4.0.tgz",
- "integrity": "sha512-eRKSeykumZ5+cJPdxxJRgAC3G5NknY2GwEbKfymdnXtnT0Ucm4pspfR6GT4MUQEDuJwRVbVcSx85kgJulMoFFA==",
- "dependencies": {
- "tslib": "^2.1.0"
- }
- },
- "node_modules/@firebase/messaging": {
- "version": "0.12.4",
- "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.4.tgz",
- "integrity": "sha512-6JLZct6zUaex4g7HI3QbzeUrg9xcnmDAPTWpkoMpd/GoSVWH98zDoWXMGrcvHeCAIsLpFMe4MPoZkJbrPhaASw==",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/installations": "0.6.4",
- "@firebase/messaging-interop-types": "0.2.0",
- "@firebase/util": "1.9.3",
- "idb": "7.0.1",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app": "0.x"
- }
- },
- "node_modules/@firebase/messaging-compat": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.4.tgz",
- "integrity": "sha512-lyFjeUhIsPRYDPNIkYX1LcZMpoVbBWXX4rPl7c/rqc7G+EUea7IEtSt4MxTvh6fDfPuzLn7+FZADfscC+tNMfg==",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/messaging": "0.12.4",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app-compat": "0.x"
- }
- },
- "node_modules/@firebase/messaging-interop-types": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.0.tgz",
- "integrity": "sha512-ujA8dcRuVeBixGR9CtegfpU4YmZf3Lt7QYkcj693FFannwNuZgfAYaTmbJ40dtjB81SAu6tbFPL9YLNT15KmOQ=="
- },
- "node_modules/@firebase/messaging/node_modules/idb": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz",
- "integrity": "sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg=="
- },
- "node_modules/@firebase/performance": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.6.4.tgz",
- "integrity": "sha512-HfTn/bd8mfy/61vEqaBelNiNnvAbUtME2S25A67Nb34zVuCSCRIX4SseXY6zBnOFj3oLisaEqhVcJmVPAej67g==",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/installations": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app": "0.x"
- }
- },
- "node_modules/@firebase/performance-compat": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.4.tgz",
- "integrity": "sha512-nnHUb8uP9G8islzcld/k6Bg5RhX62VpbAb/Anj7IXs/hp32Eb2LqFPZK4sy3pKkBUO5wcrlRWQa6wKOxqlUqsg==",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/performance": "0.6.4",
- "@firebase/performance-types": "0.2.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app-compat": "0.x"
- }
- },
- "node_modules/@firebase/performance-types": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.2.0.tgz",
- "integrity": "sha512-kYrbr8e/CYr1KLrLYZZt2noNnf+pRwDq2KK9Au9jHrBMnb0/C9X9yWSXmZkFt4UIdsQknBq8uBB7fsybZdOBTA=="
- },
- "node_modules/@firebase/remote-config": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.4.4.tgz",
- "integrity": "sha512-x1ioTHGX8ZwDSTOVp8PBLv2/wfwKzb4pxi0gFezS5GCJwbLlloUH4YYZHHS83IPxnua8b6l0IXUaWd0RgbWwzQ==",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/installations": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app": "0.x"
- }
- },
- "node_modules/@firebase/remote-config-compat": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.4.tgz",
- "integrity": "sha512-FKiki53jZirrDFkBHglB3C07j5wBpitAaj8kLME6g8Mx+aq7u9P7qfmuSRytiOItADhWUj7O1JIv7n9q87SuwA==",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/remote-config": "0.4.4",
- "@firebase/remote-config-types": "0.3.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app-compat": "0.x"
- }
- },
- "node_modules/@firebase/remote-config-types": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.3.0.tgz",
- "integrity": "sha512-RtEH4vdcbXZuZWRZbIRmQVBNsE7VDQpet2qFvq6vwKLBIQRQR5Kh58M4ok3A3US8Sr3rubYnaGqZSurCwI8uMA=="
- },
- "node_modules/@firebase/storage": {
- "version": "0.11.2",
- "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.11.2.tgz",
- "integrity": "sha512-CtvoFaBI4hGXlXbaCHf8humajkbXhs39Nbh6MbNxtwJiCqxPy9iH3D3CCfXAvP0QvAAwmJUTK3+z9a++Kc4nkA==",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/util": "1.9.3",
- "node-fetch": "2.6.7",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app": "0.x"
- }
- },
- "node_modules/@firebase/storage-compat": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.2.tgz",
- "integrity": "sha512-wvsXlLa9DVOMQJckbDNhXKKxRNNewyUhhbXev3t8kSgoCotd1v3MmqhKKz93ePhDnhHnDs7bYHy+Qa8dRY6BXw==",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/storage": "0.11.2",
- "@firebase/storage-types": "0.8.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app-compat": "0.x"
- }
- },
- "node_modules/@firebase/storage-types": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.8.0.tgz",
- "integrity": "sha512-isRHcGrTs9kITJC0AVehHfpraWFui39MPaU7Eo8QfWlqW7YPymBmRgjDrlOgFdURh6Cdeg07zmkLP5tzTKRSpg==",
- "peerDependencies": {
- "@firebase/app-types": "0.x",
- "@firebase/util": "1.x"
- }
- },
- "node_modules/@firebase/util": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.9.3.tgz",
- "integrity": "sha512-DY02CRhOZwpzO36fHpuVysz6JZrscPiBXD0fXp6qSrL9oNOx5KWICKdR95C0lSITzxp0TZosVyHqzatE8JbcjA==",
- "dependencies": {
- "tslib": "^2.1.0"
- }
- },
- "node_modules/@firebase/webchannel-wrapper": {
- "version": "0.10.3",
- "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.10.3.tgz",
- "integrity": "sha512-+ZplYUN3HOpgCfgInqgdDAbkGGVzES1cs32JJpeqoh87SkRobGXElJx+1GZSaDqzFL+bYiX18qEcBK76mYs8uA=="
- },
- "node_modules/@fortawesome/fontawesome-free": {
- "version": "6.4.2",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.4.2.tgz",
- "integrity": "sha512-m5cPn3e2+FDCOgi1mz0RexTUvvQibBebOUlUlW0+YrMjDTPkiJ6VTKukA1GRsvRw+12KyJndNjj0O4AgTxm2Pg==",
- "hasInstallScript": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@grpc/grpc-js": {
- "version": "1.9.9",
- "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.9.tgz",
- "integrity": "sha512-vQ1qwi/Kiyprt+uhb1+rHMpyk4CVRMTGNUGGPRGS7pLNfWkdCHrGEnT6T3/JyC2VZgoOX/X1KwdoU0WYQAeYcQ==",
- "dependencies": {
- "@grpc/proto-loader": "^0.7.8",
- "@types/node": ">=12.12.47"
- },
- "engines": {
- "node": "^8.13.0 || >=10.10.0"
- }
- },
- "node_modules/@grpc/proto-loader": {
- "version": "0.7.10",
- "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz",
- "integrity": "sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==",
- "dependencies": {
- "lodash.camelcase": "^4.3.0",
- "long": "^5.0.0",
- "protobufjs": "^7.2.4",
- "yargs": "^17.7.2"
- },
- "bin": {
- "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@humanwhocodes/config-array": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz",
- "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==",
- "dependencies": {
- "@humanwhocodes/object-schema": "^1.2.1",
- "debug": "^4.1.1",
- "minimatch": "^3.0.5"
- },
- "engines": {
- "node": ">=10.10.0"
- }
- },
- "node_modules/@humanwhocodes/module-importer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
- "engines": {
- "node": ">=12.22"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
- },
- "node_modules/@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA=="
- },
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
- "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
- "dependencies": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
- "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/set-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
- "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/source-map": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz",
- "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==",
- "dev": true,
- "optional": true,
- "peer": true,
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
- }
- },
- "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=="
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.19",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz",
- "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==",
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
- }
- },
- "node_modules/@liff/add-to-home-screen": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/add-to-home-screen/-/add-to-home-screen-2.22.3.tgz",
- "integrity": "sha512-JsR/O6iXVs+XajQ02Ut6nKFIr0sirLx8QZ+7Atqro7ujhCG87JbTScvRXwk6SWLL/F0SJiKqzI1K1if59L8dBg==",
- "dependencies": {
- "@liff/consts": "2.22.3",
- "@liff/open-window": "2.22.3",
- "@liff/types": "2.22.3",
- "@liff/util": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/analytics": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/analytics/-/analytics-2.22.3.tgz",
- "integrity": "sha512-0mqdut+1oSn36umyNk75pGy9pM3D5JO3z7SWfbnWmcgZ9AU7mfiQ2uiAIVXeE8TInV7NzkT6PvzQjRss6rteDg==",
- "dependencies": {
- "@liff/consts": "2.22.3",
- "@liff/core": "2.22.3",
- "@liff/get-profile": "2.22.3",
- "@liff/get-version": "2.22.3",
- "@liff/is-logged-in": "2.22.3",
- "@liff/logger": "2.22.3",
- "@liff/store": "2.22.3",
- "@liff/types": "2.22.3",
- "@liff/use": "2.22.3",
- "@liff/util": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/check-availability": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/check-availability/-/check-availability-2.22.3.tgz",
- "integrity": "sha512-TOw7r3m5xoPGWvr9SArBBNFRKfvmk1I60jRoEFFl73mQpIfYo1PTSTv/zk+2gczUf0k6OZ9L/p9C9JygJbBbBA==",
- "dependencies": {
- "@liff/get-version": "2.22.3",
- "@liff/is-api-available": "2.22.3",
- "@liff/types": "2.22.3",
- "@liff/util": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/close-window": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/close-window/-/close-window-2.22.3.tgz",
- "integrity": "sha512-jldtGdBjOlCKVVjFIMPrfIBt2bFAVYFId1Bf0Cqgfb+Y1ZdFpUow2fZIZulbmKBIafebtf7oEU8LalpaSNKm1Q==",
- "dependencies": {
- "@liff/get-line-version": "2.22.3",
- "@liff/get-os": "2.22.3",
- "@liff/native-bridge": "2.22.3",
- "@liff/types": "2.22.3",
- "@liff/use": "2.22.3",
- "@liff/util": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/consts": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/consts/-/consts-2.22.3.tgz",
- "integrity": "sha512-e7L6S+uCaJkLwNcxOvV/5N2VgIaztNeADXFr2ABtv/1bJGxSWOIoV0yQ4fK3vBgfE6gDLAEPOahFaTvD8t7Xcg==",
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/core": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/core/-/core-2.22.3.tgz",
- "integrity": "sha512-tP05ycQKKI/CtCrTNiNJwmnu7VntLT9EPdXKf/tiuUsnuLjHqItNBrzD5hkCMGojIIfCupcRlz6oaTF21kM9qQ==",
- "dependencies": {
- "@liff/get-version": "2.22.3",
- "@liff/init": "2.22.3",
- "@liff/native-bridge": "2.22.3",
- "@liff/ready": "2.22.3",
- "@liff/store": "2.22.3",
- "@liff/use": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/extensions": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/extensions/-/extensions-2.22.3.tgz",
- "integrity": "sha512-x4xOFcEBbG/hhEqsK00G+ts8j1LvaoQaUfHAAT9GlPtJimeQJxL4DAf+jS/tVGKxCXVVVvNZ3HFxusr5gdBdmA==",
- "dependencies": {
- "@liff/add-to-home-screen": "2.22.3",
- "@liff/check-availability": "2.22.3",
- "@liff/consts": "2.22.3",
- "@liff/get-advertising-id": "2.22.3",
- "@liff/get-line-version": "2.22.3",
- "@liff/get-os": "2.22.3",
- "@liff/logger": "2.22.3",
- "@liff/scan-code": "2.22.3",
- "@liff/store": "2.22.3",
- "@liff/types": "2.22.3",
- "@liff/util": "2.22.3"
- }
- },
- "node_modules/@liff/get-advertising-id": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/get-advertising-id/-/get-advertising-id-2.22.3.tgz",
- "integrity": "sha512-w1gXVxF+MMscr1I7/BuuizdsKlo1tf6MxO0t2cHNQ6/vJqbH1lo6ZancrH5Pp9lNhRfC7tvzzgbuG3cQtH5Gqw==",
- "dependencies": {
- "@liff/types": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/get-friendship": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/get-friendship/-/get-friendship-2.22.3.tgz",
- "integrity": "sha512-KuQRePDNhLMa3tWYpi7wuNHWpk164tuO2KpHegffOMG+DsMZBo6+8ivuL/S6FClYSp+rz9tL9GJNei/5rTfrjA==",
- "dependencies": {
- "@liff/permission": "2.22.3",
- "@liff/server-api": "2.22.3",
- "@liff/use": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/get-language": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/get-language/-/get-language-2.22.3.tgz",
- "integrity": "sha512-5wX0EY1u3W4wjfiGEgi6KWGdUsNWB5BRF6Q1AmqTyEgNBg0f2Ve+K11/SxSURe16x1/1h8bHF4gwXyjXKn9VWw==",
- "dependencies": {
- "@liff/use": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/get-line-version": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/get-line-version/-/get-line-version-2.22.3.tgz",
- "integrity": "sha512-qd7i86O1MPO/CHf5Upt+dTs67jYgr6U8BM7zSiu/Q2fYeDHKgDW3P84V/yYJ+sPEoTadLYSgMn8cISvrI8iuLw==",
- "dependencies": {
- "@liff/use": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/get-os": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/get-os/-/get-os-2.22.3.tgz",
- "integrity": "sha512-70e/KJSdWAf0wQWi7790uhZrBlfBS59uaZ3tfJXHVXt+DjPrpKwnKiqjytdR6WgIZzSHuL2gI3lYJy6E7f+1wg==",
- "dependencies": {
- "@liff/use": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/get-profile": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/get-profile/-/get-profile-2.22.3.tgz",
- "integrity": "sha512-g7zPjKDTPxVc+Y3qabKcCzauHfTrVbgBKdMej0MO4eMXSOQ7+VRKhVwMkWaJ/scJGXikj9sV1LFbaONQqMVxeQ==",
- "dependencies": {
- "@liff/permission": "2.22.3",
- "@liff/server-api": "2.22.3",
- "@liff/use": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/get-version": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/get-version/-/get-version-2.22.3.tgz",
- "integrity": "sha512-FCTjPOzR18r1mKjsKr4gyvPHwZjt0m0Qvtw3qv7cXbnTc58ZoovE6CCSbdGnxLz1daf9Qtji4KCa1dJ2xIjr8Q==",
- "dependencies": {
- "@liff/use": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/hooks": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/hooks/-/hooks-2.22.3.tgz",
- "integrity": "sha512-hIEpOah32Mx/B9h2HKY+DVHwI+IAqwbDSsfIwJtAU6jvA6gdvEOkk5Rcmx1ehl06aWGt2O/uTk9D5haNwdHwXA==",
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/i18n": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/i18n/-/i18n-2.22.3.tgz",
- "integrity": "sha512-AGyb0G3W1LQ6hPJcay0iskk3hXUuQSTIf98+bRaDKs2YR4UwEr7ps1ul538Mr9vOuNQo6HlVmf5PPW9mC9WRiw==",
- "dependencies": {
- "@liff/consts": "2.22.3",
- "@liff/server-api": "2.22.3",
- "@liff/use": "2.22.3",
- "@liff/util": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/init": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/init/-/init-2.22.3.tgz",
- "integrity": "sha512-k0X50vrp+DBHgUHJjVE0uE7kGdzc+1iJ5xvMJxkeeN4MVURRaPpkDXrysi/uEKveHF41Z15f/KH28m/mdibCXg==",
- "dependencies": {
- "@liff/check-availability": "2.22.3",
- "@liff/close-window": "2.22.3",
- "@liff/consts": "2.22.3",
- "@liff/extensions": "2.22.3",
- "@liff/get-line-version": "2.22.3",
- "@liff/get-os": "2.22.3",
- "@liff/hooks": "2.22.3",
- "@liff/i18n": "2.22.3",
- "@liff/is-api-available": "2.22.3",
- "@liff/is-in-client": "2.22.3",
- "@liff/is-logged-in": "2.22.3",
- "@liff/is-sub-window": "2.22.3",
- "@liff/logger": "2.22.3",
- "@liff/login": "2.22.3",
- "@liff/logout": "2.22.3",
- "@liff/message-bus": "2.22.3",
- "@liff/native-bridge": "2.22.3",
- "@liff/ready": "2.22.3",
- "@liff/server-api": "2.22.3",
- "@liff/store": "2.22.3",
- "@liff/sub-window": "2.22.3",
- "@liff/types": "2.22.3",
- "@liff/use": "2.22.3",
- "@liff/util": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/is-api-available": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/is-api-available/-/is-api-available-2.22.3.tgz",
- "integrity": "sha512-+BI2OVKDm41L4SKmfDNtP+4AuVwJ63mIF7Dw37IMHQy07QLyIpKLLI548FzwqaA+3dDOSpCZEv0ubAkOE+5l5Q==",
- "dependencies": {
- "@liff/consts": "2.22.3",
- "@liff/get-line-version": "2.22.3",
- "@liff/is-in-client": "2.22.3",
- "@liff/is-logged-in": "2.22.3",
- "@liff/is-sub-window": "2.22.3",
- "@liff/store": "2.22.3",
- "@liff/use": "2.22.3",
- "@liff/util": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/is-in-client": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/is-in-client/-/is-in-client-2.22.3.tgz",
- "integrity": "sha512-DOO4RFz0x3vhL4ysa9kekYtSwaSQI4x1dB8dQ4vUYk62XGWfnl/kzoxwK98E+ecNvBPSbCgAKSfqkWZn8efEXw==",
- "dependencies": {
- "@liff/consts": "2.22.3",
- "@liff/use": "2.22.3",
- "@liff/util": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/is-logged-in": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/is-logged-in/-/is-logged-in-2.22.3.tgz",
- "integrity": "sha512-4AS3uMjBj9OtuCkpNOcl5MKBW4aCxi2eQPnb25mFc3WVwu+60lGdIqYOfL6w+lmu8XbDHMDuB+9uRKnBNjNslQ==",
- "dependencies": {
- "@liff/store": "2.22.3",
- "@liff/use": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/is-sub-window": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/is-sub-window/-/is-sub-window-2.22.3.tgz",
- "integrity": "sha512-XqFvCRUSkw/dNkuX5b8BJwY2ZyAeQDKFh11WD1q7V3K3FC4VhhzC0dRourw49SEAqsiAj17bcNW85FtN0v4+3g==",
- "dependencies": {
- "@liff/consts": "2.22.3",
- "@liff/is-in-client": "2.22.3",
- "@liff/store": "2.22.3",
- "@liff/use": "2.22.3",
- "@liff/util": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/liff-types": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/liff-types/-/liff-types-2.22.3.tgz",
- "integrity": "sha512-KPgJIp9ND+ieRHf3I+CBFBjGYLCt3HbXenr5WqlUuPFRtHGX6mqt0Md/8ZwEcCIBB7/I2q0z6C6UlLIYsdu2NQ==",
- "dependencies": {
- "@liff/analytics": "2.22.3",
- "@liff/close-window": "2.22.3",
- "@liff/get-friendship": "2.22.3",
- "@liff/get-language": "2.22.3",
- "@liff/get-line-version": "2.22.3",
- "@liff/get-os": "2.22.3",
- "@liff/get-profile": "2.22.3",
- "@liff/get-version": "2.22.3",
- "@liff/i18n": "2.22.3",
- "@liff/init": "2.22.3",
- "@liff/is-api-available": "2.22.3",
- "@liff/is-in-client": "2.22.3",
- "@liff/is-logged-in": "2.22.3",
- "@liff/is-sub-window": "2.22.3",
- "@liff/login": "2.22.3",
- "@liff/logout": "2.22.3",
- "@liff/native-bridge": "2.22.3",
- "@liff/open-window": "2.22.3",
- "@liff/permanent-link": "2.22.3",
- "@liff/permission": "2.22.3",
- "@liff/ready": "2.22.3",
- "@liff/scan-code-v2": "2.22.3",
- "@liff/send-messages": "2.22.3",
- "@liff/share-target-picker": "2.22.3",
- "@liff/store": "2.22.3",
- "@liff/sub-window": "2.22.3",
- "@liff/use": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/logger": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/logger/-/logger-2.22.3.tgz",
- "integrity": "sha512-AwZfgI5Eg8zeFfiO8S4ly33puQYMiiUGWH2/bkUtFap5sPdrsut7FIbCNNDaGm9GpVPME7moeUlf6YrpIjieIQ==",
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/login": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/login/-/login-2.22.3.tgz",
- "integrity": "sha512-LD4W+qCsbehLPQyoMgznTeUMN2RVvW+Pv3NY2mIEJ3jlj9AwrUWhEb6+Y9bArQw6nl269RbS9Fg842H0iaQLPQ==",
- "dependencies": {
- "@liff/consts": "2.22.3",
- "@liff/get-version": "2.22.3",
- "@liff/hooks": "2.22.3",
- "@liff/is-in-client": "2.22.3",
- "@liff/is-sub-window": "2.22.3",
- "@liff/logger": "2.22.3",
- "@liff/server-api": "2.22.3",
- "@liff/store": "2.22.3",
- "@liff/sub-window": "2.22.3",
- "@liff/use": "2.22.3",
- "@liff/util": "2.22.3",
- "tiny-sha256": "^1.0.2"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/logout": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/logout/-/logout-2.22.3.tgz",
- "integrity": "sha512-aFar9jlOwg+jjmxNoIw5F62lLO9H1UwVCk/NYumi6kM5QuruuAHbwKTPmYWMNNDF5D9/+lRG/LGTstmwFFFVBw==",
- "dependencies": {
- "@liff/store": "2.22.3",
- "@liff/use": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/message-bus": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/message-bus/-/message-bus-2.22.3.tgz",
- "integrity": "sha512-CR/E1Fkh+mWEx7+vk0u4QLwFPUlE9doDm/twKkkmdYkWbzDSNid+Hg2ifwABT0/hOgi5Z8BWqBz/B5b39sqGUw==",
- "dependencies": {
- "@liff/consts": "2.22.3",
- "@liff/store": "2.22.3",
- "@liff/util": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/native-bridge": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/native-bridge/-/native-bridge-2.22.3.tgz",
- "integrity": "sha512-q1GHTdAj0zt7a4fW224fXUa9aWMIlo/7zj6oZ+yGhPajiMsm/CTq0Zz7QBX8H2e699ScBSvjskqOzP+Dvp4APg==",
- "dependencies": {
- "@liff/consts": "2.22.3",
- "@liff/logger": "2.22.3",
- "@liff/store": "2.22.3",
- "@liff/types": "2.22.3",
- "@liff/util": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/open-window": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/open-window/-/open-window-2.22.3.tgz",
- "integrity": "sha512-xtPy+v8rRvnaSzXhTDfl/GdeMCIvz3xd0AI5RjlQ/+XQR8zPz8JG4qUPMk4W9mUFrUCwE19BBbnk2pm9YeZN2Q==",
- "dependencies": {
- "@liff/consts": "2.22.3",
- "@liff/get-line-version": "2.22.3",
- "@liff/get-os": "2.22.3",
- "@liff/is-in-client": "2.22.3",
- "@liff/native-bridge": "2.22.3",
- "@liff/types": "2.22.3",
- "@liff/use": "2.22.3",
- "@liff/util": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/permanent-link": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/permanent-link/-/permanent-link-2.22.3.tgz",
- "integrity": "sha512-ZyHy6RnSVPqUtRiljEt8G86AXzYMCde7Xrpr/Ncrao6Sb6wQ7cPNLkIMYgvKUluqNtmwP5nsFBR8rkqAPFdsag==",
- "dependencies": {
- "@liff/consts": "2.22.3",
- "@liff/server-api": "2.22.3",
- "@liff/store": "2.22.3",
- "@liff/use": "2.22.3",
- "@liff/util": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/permission": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/permission/-/permission-2.22.3.tgz",
- "integrity": "sha512-j96QmxPxyI2A7ResOY5jnloUHLb+3hAuW0oc5ZYK1RHumsm1gATvESe7u+s5hYOhQ5mhXLY6WLVXpLcj8YB8sA==",
- "dependencies": {
- "@liff/consts": "2.22.3",
- "@liff/is-api-available": "2.22.3",
- "@liff/is-in-client": "2.22.3",
- "@liff/server-api": "2.22.3",
- "@liff/store": "2.22.3",
- "@liff/sub-window": "2.22.3",
- "@liff/use": "2.22.3",
- "@liff/util": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/ready": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/ready/-/ready-2.22.3.tgz",
- "integrity": "sha512-4W9vyTDOksNAN9/h+NV1+2peUK48AE06FsZ2YTgFGQ6Z0ct0iq3wyZHaw4BzDb4zEzMt1yfUoodKb92c09T86g==",
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/scan-code": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/scan-code/-/scan-code-2.22.3.tgz",
- "integrity": "sha512-HnIOTIsBDxs6+hcqNAJgj5NCkrexcD4K+4GhLxVSumYp2h640nEVYcs8x+DqIwQZa/ShHwE06mBL95p2SA4/0Q==",
- "dependencies": {
- "@liff/types": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/scan-code-v2": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/scan-code-v2/-/scan-code-v2-2.22.3.tgz",
- "integrity": "sha512-kviiLAS5FHzXkZNLYr0akZuuLpA1ETSENsiV5eqALUyNH2l0XguEoqNs1TA77jIdUHj4g8EAZeQ0s12jsDZnaA==",
- "dependencies": {
- "@liff/consts": "2.22.3",
- "@liff/is-api-available": "2.22.3",
- "@liff/sub-window": "2.22.3",
- "@liff/use": "2.22.3",
- "@liff/util": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/send-messages": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/send-messages/-/send-messages-2.22.3.tgz",
- "integrity": "sha512-znBxydpZfPKEjnl8dgC8CIXETxgSc1zWd5VDRmItADhJT/C9hHVNp8+QMccTiv8VZHH6hQqAnlljhxb3y1KfHw==",
- "dependencies": {
- "@liff/consts": "2.22.3",
- "@liff/get-line-version": "2.22.3",
- "@liff/get-os": "2.22.3",
- "@liff/permission": "2.22.3",
- "@liff/server-api": "2.22.3",
- "@liff/use": "2.22.3",
- "@liff/util": "2.22.3",
- "@line/bot-sdk": "^7.0.0"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/server-api": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/server-api/-/server-api-2.22.3.tgz",
- "integrity": "sha512-Z7SXZtSiTpOp9V5f4Rej8BDiqlPRrzF+Xxx7rPC3n6WO7asHq9GdpnGYm6lwlf7oVgNbY6T1xJC33lXR8Pk9Sg==",
- "dependencies": {
- "@liff/consts": "2.22.3",
- "@liff/store": "2.22.3",
- "@liff/util": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/share-target-picker": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/share-target-picker/-/share-target-picker-2.22.3.tgz",
- "integrity": "sha512-gUDyX4wp2EtgW2wk260CVm3tLaIBZamqQD44zvD3d3079sNXXvfXwj3hRILlUp39jFBTGdemt4nDy+ZE8VpytA==",
- "dependencies": {
- "@liff/analytics": "2.22.3",
- "@liff/consts": "2.22.3",
- "@liff/get-line-version": "2.22.3",
- "@liff/get-os": "2.22.3",
- "@liff/is-api-available": "2.22.3",
- "@liff/is-in-client": "2.22.3",
- "@liff/is-logged-in": "2.22.3",
- "@liff/is-sub-window": "2.22.3",
- "@liff/logger": "2.22.3",
- "@liff/send-messages": "2.22.3",
- "@liff/server-api": "2.22.3",
- "@liff/store": "2.22.3",
- "@liff/types": "2.22.3",
- "@liff/use": "2.22.3",
- "@liff/util": "2.22.3",
- "@liff/window-postmessage": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/store": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/store/-/store-2.22.3.tgz",
- "integrity": "sha512-8DHjpqAvDVrqkA8CMGCtOj/ZO+/dNHCjr1dYMOjHeEpjjf6iGTHym+UGnRYxj8zMSBDk+ujAhdw8Y8dNKm4/aQ==",
- "dependencies": {
- "@liff/consts": "2.22.3",
- "@liff/is-in-client": "2.22.3",
- "@liff/types": "2.22.3",
- "@liff/use": "2.22.3",
- "@liff/util": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/sub-window": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/sub-window/-/sub-window-2.22.3.tgz",
- "integrity": "sha512-uwi4HizVCcyZ1eIE+un6U0aIgsHvDvYnpdA8s12iOJ3FCbMBQH5fEfsAJLj+32+KXRWhbEF0U5MGA7E5iBWNGg==",
- "dependencies": {
- "@liff/close-window": "2.22.3",
- "@liff/consts": "2.22.3",
- "@liff/get-os": "2.22.3",
- "@liff/is-api-available": "2.22.3",
- "@liff/is-in-client": "2.22.3",
- "@liff/is-sub-window": "2.22.3",
- "@liff/logger": "2.22.3",
- "@liff/message-bus": "2.22.3",
- "@liff/server-api": "2.22.3",
- "@liff/store": "2.22.3",
- "@liff/use": "2.22.3",
- "@liff/util": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/types": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/types/-/types-2.22.3.tgz",
- "integrity": "sha512-fWff3gSuwWpdAgFG1HrbPjwaADat5YJkErm3k+m9uH99uZ3FmufBR0MeM6kFUttixOEnZAKjHDj2BIrQ8PC+Dw=="
- },
- "node_modules/@liff/use": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/use/-/use-2.22.3.tgz",
- "integrity": "sha512-C5M2M4ihDP8sIQc28F2NWIr8wsbdHRZ03qv1PcBKoCYlQoJSkyTAbNrzy5anhGSVTTRiR2gAqkcwTRm5cI+rxA==",
- "dependencies": {
- "@liff/hooks": "2.22.3",
- "@liff/logger": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/util": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/util/-/util-2.22.3.tgz",
- "integrity": "sha512-1QLw1pY4BH7LbQyBNpQmFW3eZYGG0pPS4msZYPOQd7J8gq/ENRYmkhxR5BkKYcGUAWD8T9FYeMEyKIGm0OVhbA==",
- "dependencies": {
- "@liff/consts": "2.22.3",
- "@liff/logger": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@liff/window-postmessage": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@liff/window-postmessage/-/window-postmessage-2.22.3.tgz",
- "integrity": "sha512-WHbTysbLlPAEpEedYnU6ttTg0B54T9urJ64piRByrjfZ7w1DKdS7c34AcyvpNeG0JwZ3wyxaPLms6kjCFOXaVg==",
- "dependencies": {
- "@liff/consts": "2.22.3",
- "@liff/logger": "2.22.3",
- "@liff/util": "2.22.3"
- },
- "peerDependencies": {
- "tslib": "^2.3.0"
- }
- },
- "node_modules/@line/bot-sdk": {
- "version": "7.5.2",
- "resolved": "https://registry.npmjs.org/@line/bot-sdk/-/bot-sdk-7.5.2.tgz",
- "integrity": "sha512-mMaDnr+mOqQDLYJcUp+fQwZklg/LoOZzNILlWdsj2IFD2nXF+HhAm3KEy5tyUx629Y2bCx6nv9Jl0UlMwBiAiw==",
- "dependencies": {
- "@types/body-parser": "^1.19.2",
- "@types/node": "^16.0.0",
- "axios": "^0.27.0",
- "body-parser": "^1.20.0",
- "file-type": "^16.5.4",
- "form-data": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@line/bot-sdk/node_modules/@types/node": {
- "version": "16.18.46",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.46.tgz",
- "integrity": "sha512-Mnq3O9Xz52exs3mlxMcQuA7/9VFe/dXcrgAyfjLkABIqxXKOgBRjyazTxUbjsxDa4BP7hhPliyjVTP9RDP14xg=="
- },
- "node_modules/@line/bot-sdk/node_modules/axios": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
- "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
- "dependencies": {
- "follow-redirects": "^1.14.9",
- "form-data": "^4.0.0"
- }
- },
- "node_modules/@line/liff": {
- "version": "2.22.3",
- "resolved": "https://registry.npmjs.org/@line/liff/-/liff-2.22.3.tgz",
- "integrity": "sha512-wRNvH7jgqlKjPT+tn17sdoYAA28W9TOFShOzOiJhJhYYIg4/wmVKDMquTi7kKBFZZT4eum7TLX9lTcSn24tAzw==",
- "dependencies": {
- "@liff/analytics": "2.22.3",
- "@liff/close-window": "2.22.3",
- "@liff/consts": "2.22.3",
- "@liff/core": "2.22.3",
- "@liff/extensions": "2.22.3",
- "@liff/get-friendship": "2.22.3",
- "@liff/get-language": "2.22.3",
- "@liff/get-line-version": "2.22.3",
- "@liff/get-os": "2.22.3",
- "@liff/get-profile": "2.22.3",
- "@liff/get-version": "2.22.3",
- "@liff/hooks": "2.22.3",
- "@liff/i18n": "2.22.3",
- "@liff/init": "2.22.3",
- "@liff/is-api-available": "2.22.3",
- "@liff/is-in-client": "2.22.3",
- "@liff/is-logged-in": "2.22.3",
- "@liff/is-sub-window": "2.22.3",
- "@liff/liff-types": "2.22.3",
- "@liff/login": "2.22.3",
- "@liff/logout": "2.22.3",
- "@liff/native-bridge": "2.22.3",
- "@liff/open-window": "2.22.3",
- "@liff/permanent-link": "2.22.3",
- "@liff/permission": "2.22.3",
- "@liff/ready": "2.22.3",
- "@liff/scan-code-v2": "2.22.3",
- "@liff/send-messages": "2.22.3",
- "@liff/server-api": "2.22.3",
- "@liff/share-target-picker": "2.22.3",
- "@liff/store": "2.22.3",
- "@liff/sub-window": "2.22.3",
- "@liff/use": "2.22.3",
- "@liff/util": "2.22.3",
- "tslib": "^2.3.0",
- "whatwg-fetch": "^3.0.0"
- }
- },
- "node_modules/@miragejs/pretender-node-polyfill": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/@miragejs/pretender-node-polyfill/-/pretender-node-polyfill-0.1.2.tgz",
- "integrity": "sha512-M/BexG/p05C5lFfMunxo/QcgIJnMT2vDVCd00wNqK2ImZONIlEETZwWJu1QtLxtmYlSHlCFl3JNzp0tLe7OJ5g=="
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@popperjs/core": {
- "version": "2.11.8",
- "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
- "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
- "peer": true,
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/popperjs"
- }
- },
- "node_modules/@protobufjs/aspromise": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
- "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="
- },
- "node_modules/@protobufjs/base64": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
- "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
- },
- "node_modules/@protobufjs/codegen": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
- "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
- },
- "node_modules/@protobufjs/eventemitter": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
- "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="
- },
- "node_modules/@protobufjs/fetch": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
- "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
- "dependencies": {
- "@protobufjs/aspromise": "^1.1.1",
- "@protobufjs/inquire": "^1.1.0"
- }
- },
- "node_modules/@protobufjs/float": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
- "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="
- },
- "node_modules/@protobufjs/inquire": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
- "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="
- },
- "node_modules/@protobufjs/path": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
- "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="
- },
- "node_modules/@protobufjs/pool": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
- "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="
- },
- "node_modules/@protobufjs/utf8": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
- "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="
- },
- "node_modules/@rc-component/color-picker": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-1.4.1.tgz",
- "integrity": "sha512-vh5EWqnsayZa/JwUznqDaPJz39jznx/YDbyBuVJntv735tKXKwEUZZb2jYEldOg+NKWZwtALjGMrNeGBmqFoEw==",
- "dependencies": {
- "@babel/runtime": "^7.10.1",
- "@ctrl/tinycolor": "^3.6.0",
- "classnames": "^2.2.6",
- "rc-util": "^5.30.0"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/@rc-component/context": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/@rc-component/context/-/context-1.4.0.tgz",
- "integrity": "sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==",
- "dependencies": {
- "@babel/runtime": "^7.10.1",
- "rc-util": "^5.27.0"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/@rc-component/mini-decimal": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz",
- "integrity": "sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==",
- "dependencies": {
- "@babel/runtime": "^7.18.0"
- },
- "engines": {
- "node": ">=8.x"
- }
- },
- "node_modules/@rc-component/mutate-observer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz",
- "integrity": "sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==",
- "dependencies": {
- "@babel/runtime": "^7.18.0",
- "classnames": "^2.3.2",
- "rc-util": "^5.24.4"
- },
- "engines": {
- "node": ">=8.x"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/@rc-component/portal": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-1.1.2.tgz",
- "integrity": "sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==",
- "dependencies": {
- "@babel/runtime": "^7.18.0",
- "classnames": "^2.3.2",
- "rc-util": "^5.24.4"
- },
- "engines": {
- "node": ">=8.x"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/@rc-component/tour": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/@rc-component/tour/-/tour-1.10.0.tgz",
- "integrity": "sha512-voV0BKaTJbewB9LLgAHQ7tAGG7rgDkKQkZo82xw2gIk542hY+o7zwoqdN16oHhIKk7eG/xi+mdXrONT62Dt57A==",
- "dependencies": {
- "@babel/runtime": "^7.18.0",
- "@rc-component/portal": "^1.0.0-9",
- "@rc-component/trigger": "^1.3.6",
- "classnames": "^2.3.2",
- "rc-util": "^5.24.4"
- },
- "engines": {
- "node": ">=8.x"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/@rc-component/trigger": {
- "version": "1.18.2",
- "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-1.18.2.tgz",
- "integrity": "sha512-jRLYgFgjLEPq3MvS87fIhcfuywFSRDaDrYw1FLku7Cm4esszvzTbA0JBsyacAyLrK9rF3TiHFcvoEDMzoD3CTA==",
- "dependencies": {
- "@babel/runtime": "^7.23.2",
- "@rc-component/portal": "^1.1.0",
- "classnames": "^2.3.2",
- "rc-motion": "^2.0.0",
- "rc-resize-observer": "^1.3.1",
- "rc-util": "^5.38.0"
- },
- "engines": {
- "node": ">=8.x"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/@remix-run/router": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.8.0.tgz",
- "integrity": "sha512-mrfKqIHnSZRyIzBcanNJmVQELTnX+qagEDlcKO90RgRBVOZGSGvZKeDihTRfWcqoDn5N/NkUcwWTccnpN18Tfg==",
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/@swc/core": {
- "version": "1.3.80",
- "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.80.tgz",
- "integrity": "sha512-yX2xV5I/lYswHHR+44TPvzBgq3/Y8N1YWpTQADYuvSiX3Jxyvemk5Jpx3rRtigYb8WBkWAAf2i5d5ZJ2M7hhgw==",
- "dev": true,
- "hasInstallScript": true,
- "dependencies": {
- "@swc/types": "^0.1.3"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/swc"
- },
- "optionalDependencies": {
- "@swc/core-darwin-arm64": "1.3.80",
- "@swc/core-darwin-x64": "1.3.80",
- "@swc/core-linux-arm-gnueabihf": "1.3.80",
- "@swc/core-linux-arm64-gnu": "1.3.80",
- "@swc/core-linux-arm64-musl": "1.3.80",
- "@swc/core-linux-x64-gnu": "1.3.80",
- "@swc/core-linux-x64-musl": "1.3.80",
- "@swc/core-win32-arm64-msvc": "1.3.80",
- "@swc/core-win32-ia32-msvc": "1.3.80",
- "@swc/core-win32-x64-msvc": "1.3.80"
- },
- "peerDependencies": {
- "@swc/helpers": "^0.5.0"
- },
- "peerDependenciesMeta": {
- "@swc/helpers": {
- "optional": true
- }
- }
- },
- "node_modules/@swc/core-darwin-arm64": {
- "version": "1.3.80",
- "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.80.tgz",
- "integrity": "sha512-rhoFTcQMUGfO7IkfOnopPSF6O0/aVJ58B7KueIKbvrMe6YvSfFj9QfObELFjYCcrJZTvUWBhig0QrsfPIiUphA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-darwin-x64": {
- "version": "1.3.80",
- "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.80.tgz",
- "integrity": "sha512-0dOLedFpVXe+ugkKHXsqSxMKqvQYfFtibWbrZ7j8wOaErzSGPr0VpyWvepNVb9s046725kPXSw+fsGhqZR8wrw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-linux-arm-gnueabihf": {
- "version": "1.3.80",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.80.tgz",
- "integrity": "sha512-QIjwP3PtDeHBDkwF6+ZZqdUsqAhORbMpxrw2jq3mHe4lQrxBttSFTq018vlMRo2mFEorOvXdadzaD9m+NymPrw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-linux-arm64-gnu": {
- "version": "1.3.80",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.80.tgz",
- "integrity": "sha512-cg8WriIueab58ZwkzXmIACnjSzFLzOBwxlC9k65gPXMNgCjab2YbqEYvAbjBqneuqaao02gW6tad2uhjgYaExw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-linux-arm64-musl": {
- "version": "1.3.80",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.80.tgz",
- "integrity": "sha512-AhdCQ7QKx5mWrtpaOA1mFRiWWvuiiUtspvo0QSpspDetRKTND1rlf/3UB5+gp0kCeCNUTsVmJWU7fIA9ICZtXA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-linux-x64-gnu": {
- "version": "1.3.80",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.80.tgz",
- "integrity": "sha512-+2e5oni1vOrLIjM5Q2/GIzK/uS2YEtuJqnjPvCK8SciRJsSl8OgVsRvyCDbmKeZNtJ2Q+o/O2AQ2w1qpAJG6jg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-linux-x64-musl": {
- "version": "1.3.80",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.80.tgz",
- "integrity": "sha512-8OK9IlI1zpWOm7vIp1iXmZSEzLAwFpqhsGSEhxPavpOx2m54kLFdPcw/Uv3n461f6TCtszIxkGq1kSqBUdfUBA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-win32-arm64-msvc": {
- "version": "1.3.80",
- "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.80.tgz",
- "integrity": "sha512-RKhatwiAGlffnF6z2Mm3Ddid0v3KB+uf5m/Gc7N9zO/EUAV0PnHRuYuZSGyqodHmGFC+mK8YrCooFCEmHL9n+w==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-win32-ia32-msvc": {
- "version": "1.3.80",
- "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.80.tgz",
- "integrity": "sha512-3jiiZzU/kaw7k4zUp1yMq1QiUe4wJVtCEXIhf+fKuBsIwm7rdvyK/+PIx5KHnZy4TGQnYczKBRhJA5nuBcrUCQ==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-win32-x64-msvc": {
- "version": "1.3.80",
- "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.80.tgz",
- "integrity": "sha512-2eZtIoIWQBWqykfms92Zd37lveYOBWQTZjdooBGlsLHtcoQLkNpf1NXmR6TKY0yy8q6Yl3OhPvY+izjmO08MSg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/types": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.4.tgz",
- "integrity": "sha512-z/G02d+59gyyUb7KYhKi9jOhicek6QD2oMaotUyG+lUkybpXoV49dY9bj7Ah5Q+y7knK2jU67UTX9FyfGzaxQg==",
- "dev": true
- },
- "node_modules/@tokenizer/token": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz",
- "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A=="
- },
- "node_modules/@types/body-parser": {
- "version": "1.19.2",
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
- "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
- "dependencies": {
- "@types/connect": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/connect": {
- "version": "3.4.35",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
- "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/hoist-non-react-statics": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
- "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==",
- "dev": true,
- "dependencies": {
- "@types/react": "*",
- "hoist-non-react-statics": "^3.3.0"
- }
- },
- "node_modules/@types/js-cookie": {
- "version": "2.2.7",
- "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-2.2.7.tgz",
- "integrity": "sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA=="
- },
- "node_modules/@types/json-schema": {
- "version": "7.0.12",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz",
- "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==",
- "devOptional": true
- },
- "node_modules/@types/json5": {
- "version": "0.0.29",
- "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
- "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
- "peer": true
- },
- "node_modules/@types/lodash": {
- "version": "4.14.197",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.197.tgz",
- "integrity": "sha512-BMVOiWs0uNxHVlHBgzTIqJYmj+PgCo4euloGF+5m4okL3rEYzM2EEv78mw8zWSMM57dM7kVIgJ2QDvwHSoCI5g=="
- },
- "node_modules/@types/node": {
- "version": "20.2.5",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.2.5.tgz",
- "integrity": "sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ=="
- },
- "node_modules/@types/prop-types": {
- "version": "15.7.5",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
- "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
- "dev": true
- },
- "node_modules/@types/react": {
- "version": "18.2.21",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.21.tgz",
- "integrity": "sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==",
- "dev": true,
- "dependencies": {
- "@types/prop-types": "*",
- "@types/scheduler": "*",
- "csstype": "^3.0.2"
- }
- },
- "node_modules/@types/react-dom": {
- "version": "18.2.7",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz",
- "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==",
- "dev": true,
- "dependencies": {
- "@types/react": "*"
- }
- },
- "node_modules/@types/scheduler": {
- "version": "0.16.3",
- "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz",
- "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==",
- "dev": true
- },
- "node_modules/@types/semver": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.1.tgz",
- "integrity": "sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==",
- "devOptional": true
- },
- "node_modules/@types/styled-components": {
- "version": "5.1.26",
- "resolved": "https://registry.npmjs.org/@types/styled-components/-/styled-components-5.1.26.tgz",
- "integrity": "sha512-KuKJ9Z6xb93uJiIyxo/+ksS7yLjS1KzG6iv5i78dhVg/X3u5t1H7juRWqVmodIdz6wGVaIApo1u01kmFRdJHVw==",
- "dev": true,
- "dependencies": {
- "@types/hoist-non-react-statics": "*",
- "@types/react": "*",
- "csstype": "^3.0.2"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.5.0.tgz",
- "integrity": "sha512-2pktILyjvMaScU6iK3925uvGU87E+N9rh372uGZgiMYwafaw9SXq86U04XPq3UH6tzRvNgBsub6x2DacHc33lw==",
- "devOptional": true,
- "dependencies": {
- "@eslint-community/regexpp": "^4.5.1",
- "@typescript-eslint/scope-manager": "6.5.0",
- "@typescript-eslint/type-utils": "6.5.0",
- "@typescript-eslint/utils": "6.5.0",
- "@typescript-eslint/visitor-keys": "6.5.0",
- "debug": "^4.3.4",
- "graphemer": "^1.4.0",
- "ignore": "^5.2.4",
- "natural-compare": "^1.4.0",
- "semver": "^7.5.4",
- "ts-api-utils": "^1.0.1"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha",
- "eslint": "^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/parser": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.5.0.tgz",
- "integrity": "sha512-LMAVtR5GN8nY0G0BadkG0XIe4AcNMeyEy3DyhKGAh9k4pLSMBO7rF29JvDBpZGCmp5Pgz5RLHP6eCpSYZJQDuQ==",
- "devOptional": true,
- "dependencies": {
- "@typescript-eslint/scope-manager": "6.5.0",
- "@typescript-eslint/types": "6.5.0",
- "@typescript-eslint/typescript-estree": "6.5.0",
- "@typescript-eslint/visitor-keys": "6.5.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/scope-manager": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.5.0.tgz",
- "integrity": "sha512-A8hZ7OlxURricpycp5kdPTH3XnjG85UpJS6Fn4VzeoH4T388gQJ/PGP4ole5NfKt4WDVhmLaQ/dBLNDC4Xl/Kw==",
- "devOptional": true,
- "dependencies": {
- "@typescript-eslint/types": "6.5.0",
- "@typescript-eslint/visitor-keys": "6.5.0"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/type-utils": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.5.0.tgz",
- "integrity": "sha512-f7OcZOkRivtujIBQ4yrJNIuwyCQO1OjocVqntl9dgSIZAdKqicj3xFDqDOzHDlGCZX990LqhLQXWRnQvsapq8A==",
- "devOptional": true,
- "dependencies": {
- "@typescript-eslint/typescript-estree": "6.5.0",
- "@typescript-eslint/utils": "6.5.0",
- "debug": "^4.3.4",
- "ts-api-utils": "^1.0.1"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/types": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.5.0.tgz",
- "integrity": "sha512-eqLLOEF5/lU8jW3Bw+8auf4lZSbbljHR2saKnYqON12G/WsJrGeeDHWuQePoEf9ro22+JkbPfWQwKEC5WwLQ3w==",
- "devOptional": true,
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/typescript-estree": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.5.0.tgz",
- "integrity": "sha512-q0rGwSe9e5Kk/XzliB9h2LBc9tmXX25G0833r7kffbl5437FPWb2tbpIV9wAATebC/018pGa9fwPDuvGN+LxWQ==",
- "devOptional": true,
- "dependencies": {
- "@typescript-eslint/types": "6.5.0",
- "@typescript-eslint/visitor-keys": "6.5.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.5.4",
- "ts-api-utils": "^1.0.1"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/utils": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.5.0.tgz",
- "integrity": "sha512-9nqtjkNykFzeVtt9Pj6lyR9WEdd8npPhhIPM992FWVkZuS6tmxHfGVnlUcjpUP2hv8r4w35nT33mlxd+Be1ACQ==",
- "devOptional": true,
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@types/json-schema": "^7.0.12",
- "@types/semver": "^7.5.0",
- "@typescript-eslint/scope-manager": "6.5.0",
- "@typescript-eslint/types": "6.5.0",
- "@typescript-eslint/typescript-estree": "6.5.0",
- "semver": "^7.5.4"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/@typescript-eslint/visitor-keys": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.5.0.tgz",
- "integrity": "sha512-yCB/2wkbv3hPsh02ZS8dFQnij9VVQXJMN/gbQsaaY+zxALkZnxa/wagvLEFsAWMPv7d7lxQmNsIzGU1w/T/WyA==",
- "devOptional": true,
- "dependencies": {
- "@typescript-eslint/types": "6.5.0",
- "eslint-visitor-keys": "^3.4.1"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@vitejs/plugin-react-swc": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.3.2.tgz",
- "integrity": "sha512-VJFWY5sfoZerQRvJrh518h3AcQt6f/yTuWn4/TRB+dqmYU0NX1qz7qM5Wfd+gOQqUzQW4gxKqKN3KpE/P3+zrA==",
- "dev": true,
- "dependencies": {
- "@swc/core": "^1.3.61"
- },
- "peerDependencies": {
- "vite": "^4"
- }
- },
- "node_modules/@xobotyi/scrollbar-width": {
- "version": "1.9.5",
- "resolved": "https://registry.npmjs.org/@xobotyi/scrollbar-width/-/scrollbar-width-1.9.5.tgz",
- "integrity": "sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ=="
- },
- "node_modules/acorn": {
- "version": "8.10.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
- "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==",
- "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==",
- "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==",
- "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==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/antd": {
- "version": "5.11.3",
- "resolved": "https://registry.npmjs.org/antd/-/antd-5.11.3.tgz",
- "integrity": "sha512-+aXlytJCsp8Thag+MAMCDsDciwTl7w3bexHiojGgFOaSJPuIktN5yrLb9GCLar3fkTyGVAaxnkJm4JLGbAz3Xg==",
- "dependencies": {
- "@ant-design/colors": "^7.0.0",
- "@ant-design/cssinjs": "^1.17.5",
- "@ant-design/icons": "^5.2.6",
- "@ant-design/react-slick": "~1.0.2",
- "@babel/runtime": "^7.18.3",
- "@ctrl/tinycolor": "^3.6.1",
- "@rc-component/color-picker": "~1.4.1",
- "@rc-component/mutate-observer": "^1.1.0",
- "@rc-component/tour": "~1.10.0",
- "@rc-component/trigger": "^1.18.2",
- "classnames": "^2.3.2",
- "copy-to-clipboard": "^3.3.3",
- "dayjs": "^1.11.1",
- "qrcode.react": "^3.1.0",
- "rc-cascader": "~3.20.0",
- "rc-checkbox": "~3.1.0",
- "rc-collapse": "~3.7.1",
- "rc-dialog": "~9.3.4",
- "rc-drawer": "~6.5.2",
- "rc-dropdown": "~4.1.0",
- "rc-field-form": "~1.40.0",
- "rc-image": "~7.5.0",
- "rc-input": "~1.3.6",
- "rc-input-number": "~8.4.0",
- "rc-mentions": "~2.9.1",
- "rc-menu": "~9.12.2",
- "rc-motion": "^2.9.0",
- "rc-notification": "~5.3.0",
- "rc-pagination": "~3.7.0",
- "rc-picker": "~3.14.6",
- "rc-progress": "~3.5.1",
- "rc-rate": "~2.12.0",
- "rc-resize-observer": "^1.4.0",
- "rc-segmented": "~2.2.2",
- "rc-select": "~14.10.0",
- "rc-slider": "~10.4.0",
- "rc-steps": "~6.0.1",
- "rc-switch": "~4.1.0",
- "rc-table": "~7.36.0",
- "rc-tabs": "~12.13.1",
- "rc-textarea": "~1.5.3",
- "rc-tooltip": "~6.1.2",
- "rc-tree": "~5.8.2",
- "rc-tree-select": "~5.15.0",
- "rc-upload": "~4.3.5",
- "rc-util": "^5.38.1",
- "scroll-into-view-if-needed": "^3.1.0",
- "throttle-debounce": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/ant-design"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/antd/node_modules/throttle-debounce": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.0.tgz",
- "integrity": "sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==",
- "engines": {
- "node": ">=12.22"
- }
- },
- "node_modules/anymatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/are-passive-events-supported": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/are-passive-events-supported/-/are-passive-events-supported-1.1.1.tgz",
- "integrity": "sha512-5wnvlvB/dTbfrCvJ027Y4L4gW/6Mwoy1uFSavney0YO++GU+0e/flnjiBBwH+1kh7xNCgCOGvmJC3s32joYbww=="
- },
- "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=="
- },
- "node_modules/array-buffer-byte-length": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
- "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "is-array-buffer": "^3.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array-includes": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz",
- "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "get-intrinsic": "^1.1.3",
- "is-string": "^1.0.7"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array-tree-filter": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz",
- "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw=="
- },
- "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==",
- "devOptional": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/array.prototype.findlastindex": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz",
- "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==",
- "peer": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "es-shim-unscopables": "^1.0.0",
- "get-intrinsic": "^1.1.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array.prototype.flat": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz",
- "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "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.1",
- "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz",
- "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "es-shim-unscopables": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array.prototype.tosorted": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz",
- "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "es-shim-unscopables": "^1.0.0",
- "get-intrinsic": "^1.1.3"
- }
- },
- "node_modules/arraybuffer.prototype.slice": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz",
- "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==",
- "dependencies": {
- "array-buffer-byte-length": "^1.0.0",
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "get-intrinsic": "^1.2.1",
- "is-array-buffer": "^3.0.2",
- "is-shared-array-buffer": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/async-validator": {
- "version": "4.2.5",
- "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz",
- "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg=="
- },
- "node_modules/asynciterator.prototype": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz",
- "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==",
- "dependencies": {
- "has-symbols": "^1.0.3"
- }
- },
- "node_modules/asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
- },
- "node_modules/available-typed-arrays": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
- "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/axios": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.0.tgz",
- "integrity": "sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==",
- "dependencies": {
- "follow-redirects": "^1.15.0",
- "form-data": "^4.0.0",
- "proxy-from-env": "^1.1.0"
- }
- },
- "node_modules/babel-plugin-styled-components": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.4.tgz",
- "integrity": "sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.22.5",
- "@babel/helper-module-imports": "^7.22.5",
- "@babel/plugin-syntax-jsx": "^7.22.5",
- "lodash": "^4.17.21",
- "picomatch": "^2.3.1"
- },
- "peerDependencies": {
- "styled-components": ">= 2"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
- },
- "node_modules/base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/big-integer": {
- "version": "1.6.51",
- "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz",
- "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==",
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/body-parser": {
- "version": "1.20.2",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
- "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
- "dependencies": {
- "bytes": "3.1.2",
- "content-type": "~1.0.5",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "on-finished": "2.4.1",
- "qs": "6.11.0",
- "raw-body": "2.5.2",
- "type-is": "~1.6.18",
- "unpipe": "1.0.0"
- },
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
- "node_modules/body-parser/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/body-parser/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- },
- "node_modules/bootstrap": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.2.tgz",
- "integrity": "sha512-D32nmNWiQHo94BKHLmOrdjlL05q1c8oxbtBphQFb9Z5to6eGRDCm0QgeaZ4zFBHzfg2++rqa2JkqCcxDy0sH0g==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/twbs"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/bootstrap"
- }
- ],
- "peerDependencies": {
- "@popperjs/core": "^2.11.8"
- }
- },
- "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==",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/breakpoint-sass": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/breakpoint-sass/-/breakpoint-sass-3.0.0.tgz",
- "integrity": "sha512-qxJqSfTaOHI+RCGzvKWVRwwC2hMIaS0KV1b+asqWUFxdLv/yKNADF7AtT1uNnkt2VxSMZ2csM22CSc+Hez+EIg==",
- "peerDependencies": {
- "sass": "^1.25"
- }
- },
- "node_modules/broadcast-channel": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/broadcast-channel/-/broadcast-channel-3.7.0.tgz",
- "integrity": "sha512-cIAKJXAxGJceNZGTZSBzMxzyOn72cVgPnKx4dc6LRjQgbaJUQqhy5rzL3zbMxkMWsGKkv2hSFkPRMEXfoMZ2Mg==",
- "dependencies": {
- "@babel/runtime": "^7.7.2",
- "detect-node": "^2.1.0",
- "js-sha3": "0.8.0",
- "microseconds": "0.2.0",
- "nano-time": "1.0.0",
- "oblivious-set": "1.0.0",
- "rimraf": "3.0.2",
- "unload": "2.2.0"
- }
- },
- "node_modules/browserslist": {
- "version": "4.21.10",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz",
- "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==",
- "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"
- }
- ],
- "peer": true,
- "dependencies": {
- "caniuse-lite": "^1.0.30001517",
- "electron-to-chromium": "^1.4.477",
- "node-releases": "^2.0.13",
- "update-browserslist-db": "^1.0.11"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- }
- },
- "node_modules/buffer": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
- "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
- }
- },
- "node_modules/buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "node_modules/bytes": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
- "dependencies": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/camelize": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz",
- "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/caniuse-lite": {
- "version": "1.0.30001524",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001524.tgz",
- "integrity": "sha512-Jj917pJtYg9HSJBF95HVX3Cdr89JUyLT4IZ8SvM5aDRni95swKgYi3TgYLH5hnGfPE/U1dg6IfZ50UsIlLkwSA==",
- "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"
- }
- ],
- "peer": true
- },
- "node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/chokidar/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/classnames": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz",
- "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw=="
- },
- "node_modules/cliui": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/cliui/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
- },
- "node_modules/cliui/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/clsx": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz",
- "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
- },
- "node_modules/combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dependencies": {
- "delayed-stream": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/compute-scroll-into-view": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz",
- "integrity": "sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg=="
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
- },
- "node_modules/content-type": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
- "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/convert-source-map": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
- "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
- "peer": true
- },
- "node_modules/copy-text-to-clipboard": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz",
- "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/copy-to-clipboard": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz",
- "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==",
- "dependencies": {
- "toggle-selection": "^1.0.6"
- }
- },
- "node_modules/core-js": {
- "version": "3.32.1",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.32.1.tgz",
- "integrity": "sha512-lqufgNn9NLnESg5mQeYsxQP5w7wrViSj0jr/kv6ECQiByzQkrn1MKvV0L3acttpDqfQrHLwr2KCMgX5b8X+lyQ==",
- "hasInstallScript": true,
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/core-js"
- }
- },
- "node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/css-color-keywords": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz",
- "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/css-in-js-utils": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz",
- "integrity": "sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==",
- "dependencies": {
- "hyphenate-style-name": "^1.0.3"
- }
- },
- "node_modules/css-to-react-native": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz",
- "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==",
- "dependencies": {
- "camelize": "^1.0.0",
- "css-color-keywords": "^1.0.0",
- "postcss-value-parser": "^4.0.2"
- }
- },
- "node_modules/css-tree": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
- "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
- "dependencies": {
- "mdn-data": "2.0.14",
- "source-map": "^0.6.1"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/csstype": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
- "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
- },
- "node_modules/date-fns": {
- "version": "2.30.0",
- "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz",
- "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==",
- "dependencies": {
- "@babel/runtime": "^7.21.0"
- },
- "engines": {
- "node": ">=0.11"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/date-fns"
- }
- },
- "node_modules/dayjs": {
- "version": "1.11.9",
- "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz",
- "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA=="
- },
- "node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/deep-freeze": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/deep-freeze/-/deep-freeze-0.0.1.tgz",
- "integrity": "sha512-Z+z8HiAvsGwmjqlphnHW5oz6yWlOwu6EQfFTjmeTWlDeda3FS2yv3jhq35TX/ewmsnqB+RX2IdsIOyjJCQN5tg=="
- },
- "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=="
- },
- "node_modules/deepmerge": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz",
- "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/define-properties": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz",
- "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==",
- "dependencies": {
- "has-property-descriptors": "^1.0.0",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/depd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/destroy": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
- "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
- "node_modules/detect-node": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
- "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g=="
- },
- "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==",
- "devOptional": 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==",
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/dom7": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/dom7/-/dom7-4.0.6.tgz",
- "integrity": "sha512-emjdpPLhpNubapLFdjNL9tP06Sr+GZkrIHEXLWvOGsytACUrkbeIdjO5g77m00BrHTznnlcNqgmn7pCN192TBA==",
- "dependencies": {
- "ssr-window": "^4.0.0"
- }
- },
- "node_modules/eastasianwidth": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
- "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
- },
- "node_modules/ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
- },
- "node_modules/electron-to-chromium": {
- "version": "1.4.504",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.504.tgz",
- "integrity": "sha512-cSMwIAd8yUh54VwitVRVvHK66QqHWE39C3DRj8SWiXitEpVSY3wNPD9y1pxQtLIi4w3UdzF9klLsmuPshz09DQ==",
- "peer": true
- },
- "node_modules/emoji-regex": {
- "version": "10.2.1",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.2.1.tgz",
- "integrity": "sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA=="
- },
- "node_modules/enhanced-resolve": {
- "version": "5.15.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz",
- "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==",
- "dependencies": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/equals": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/equals/-/equals-1.0.5.tgz",
- "integrity": "sha512-wI15a6ZoaaXPv+55+Vh2Kqn3+efKRv8QPtcGTjW5xmanMnQzESdAt566jevtMZyt3W/jwLDTzXpMph5ECDJ2zg==",
- "dependencies": {
- "jkroso-type": "1"
- }
- },
- "node_modules/error-stack-parser": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz",
- "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==",
- "dependencies": {
- "stackframe": "^1.3.4"
- }
- },
- "node_modules/es-abstract": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz",
- "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==",
- "dependencies": {
- "array-buffer-byte-length": "^1.0.0",
- "arraybuffer.prototype.slice": "^1.0.1",
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "es-set-tostringtag": "^2.0.1",
- "es-to-primitive": "^1.2.1",
- "function.prototype.name": "^1.1.5",
- "get-intrinsic": "^1.2.1",
- "get-symbol-description": "^1.0.0",
- "globalthis": "^1.0.3",
- "gopd": "^1.0.1",
- "has": "^1.0.3",
- "has-property-descriptors": "^1.0.0",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3",
- "internal-slot": "^1.0.5",
- "is-array-buffer": "^3.0.2",
- "is-callable": "^1.2.7",
- "is-negative-zero": "^2.0.2",
- "is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.2",
- "is-string": "^1.0.7",
- "is-typed-array": "^1.1.10",
- "is-weakref": "^1.0.2",
- "object-inspect": "^1.12.3",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.5.0",
- "safe-array-concat": "^1.0.0",
- "safe-regex-test": "^1.0.0",
- "string.prototype.trim": "^1.2.7",
- "string.prototype.trimend": "^1.0.6",
- "string.prototype.trimstart": "^1.0.6",
- "typed-array-buffer": "^1.0.0",
- "typed-array-byte-length": "^1.0.0",
- "typed-array-byte-offset": "^1.0.0",
- "typed-array-length": "^1.0.4",
- "unbox-primitive": "^1.0.2",
- "which-typed-array": "^1.1.10"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/es-iterator-helpers": {
- "version": "1.0.14",
- "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.14.tgz",
- "integrity": "sha512-JgtVnwiuoRuzLvqelrvN3Xu7H9bu2ap/kQ2CrM62iidP8SKuD99rWU3CJy++s7IVL2qb/AjXPGR/E7i9ngd/Cw==",
- "dependencies": {
- "asynciterator.prototype": "^1.0.0",
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "es-set-tostringtag": "^2.0.1",
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.2.1",
- "globalthis": "^1.0.3",
- "has-property-descriptors": "^1.0.0",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3",
- "internal-slot": "^1.0.5",
- "iterator.prototype": "^1.1.0",
- "safe-array-concat": "^1.0.0"
- }
- },
- "node_modules/es-set-tostringtag": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz",
- "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==",
- "dependencies": {
- "get-intrinsic": "^1.1.3",
- "has": "^1.0.3",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-shim-unscopables": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
- "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
- "dependencies": {
- "has": "^1.0.3"
- }
- },
- "node_modules/es-to-primitive": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
- "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
- "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.18.20",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
- "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
- "dev": true,
- "hasInstallScript": true,
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=12"
- },
- "optionalDependencies": {
- "@esbuild/android-arm": "0.18.20",
- "@esbuild/android-arm64": "0.18.20",
- "@esbuild/android-x64": "0.18.20",
- "@esbuild/darwin-arm64": "0.18.20",
- "@esbuild/darwin-x64": "0.18.20",
- "@esbuild/freebsd-arm64": "0.18.20",
- "@esbuild/freebsd-x64": "0.18.20",
- "@esbuild/linux-arm": "0.18.20",
- "@esbuild/linux-arm64": "0.18.20",
- "@esbuild/linux-ia32": "0.18.20",
- "@esbuild/linux-loong64": "0.18.20",
- "@esbuild/linux-mips64el": "0.18.20",
- "@esbuild/linux-ppc64": "0.18.20",
- "@esbuild/linux-riscv64": "0.18.20",
- "@esbuild/linux-s390x": "0.18.20",
- "@esbuild/linux-x64": "0.18.20",
- "@esbuild/netbsd-x64": "0.18.20",
- "@esbuild/openbsd-x64": "0.18.20",
- "@esbuild/sunos-x64": "0.18.20",
- "@esbuild/win32-arm64": "0.18.20",
- "@esbuild/win32-ia32": "0.18.20",
- "@esbuild/win32-x64": "0.18.20"
- }
- },
- "node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/eslint": {
- "version": "8.48.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz",
- "integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@eslint-community/regexpp": "^4.6.1",
- "@eslint/eslintrc": "^2.1.2",
- "@eslint/js": "8.48.0",
- "@humanwhocodes/config-array": "^0.11.10",
- "@humanwhocodes/module-importer": "^1.0.1",
- "@nodelib/fs.walk": "^1.2.8",
- "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-import-resolver-node": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz",
- "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==",
- "peer": true,
- "dependencies": {
- "debug": "^3.2.7",
- "is-core-module": "^2.13.0",
- "resolve": "^1.22.4"
- }
- },
- "node_modules/eslint-import-resolver-node/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "peer": true,
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/eslint-import-resolver-typescript": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.0.tgz",
- "integrity": "sha512-QTHR9ddNnn35RTxlaEnx2gCxqFlF2SEN0SE2d17SqwyM7YOSI2GHWRYp5BiRkObTUNYPupC/3Fq2a0PpT+EKpg==",
- "dependencies": {
- "debug": "^4.3.4",
- "enhanced-resolve": "^5.12.0",
- "eslint-module-utils": "^2.7.4",
- "fast-glob": "^3.3.1",
- "get-tsconfig": "^4.5.0",
- "is-core-module": "^2.11.0",
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": "^14.18.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts"
- },
- "peerDependencies": {
- "eslint": "*",
- "eslint-plugin-import": "*"
- }
- },
- "node_modules/eslint-module-utils": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz",
- "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==",
- "dependencies": {
- "debug": "^3.2.7"
- },
- "engines": {
- "node": ">=4"
- },
- "peerDependenciesMeta": {
- "eslint": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-module-utils/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/eslint-plugin-import": {
- "version": "2.28.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz",
- "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==",
- "peer": true,
- "dependencies": {
- "array-includes": "^3.1.6",
- "array.prototype.findlastindex": "^1.2.2",
- "array.prototype.flat": "^1.3.1",
- "array.prototype.flatmap": "^1.3.1",
- "debug": "^3.2.7",
- "doctrine": "^2.1.0",
- "eslint-import-resolver-node": "^0.3.7",
- "eslint-module-utils": "^2.8.0",
- "has": "^1.0.3",
- "is-core-module": "^2.13.0",
- "is-glob": "^4.0.3",
- "minimatch": "^3.1.2",
- "object.fromentries": "^2.0.6",
- "object.groupby": "^1.0.0",
- "object.values": "^1.1.6",
- "semver": "^6.3.1",
- "tsconfig-paths": "^3.14.2"
- },
- "engines": {
- "node": ">=4"
- },
- "peerDependencies": {
- "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8"
- }
- },
- "node_modules/eslint-plugin-import/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "peer": true,
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/eslint-plugin-import/node_modules/doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "peer": true,
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/eslint-plugin-import/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "peer": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/eslint-plugin-react": {
- "version": "7.33.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz",
- "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==",
- "dependencies": {
- "array-includes": "^3.1.6",
- "array.prototype.flatmap": "^1.3.1",
- "array.prototype.tosorted": "^1.1.1",
- "doctrine": "^2.1.0",
- "es-iterator-helpers": "^1.0.12",
- "estraverse": "^5.3.0",
- "jsx-ast-utils": "^2.4.1 || ^3.0.0",
- "minimatch": "^3.1.2",
- "object.entries": "^1.1.6",
- "object.fromentries": "^2.0.6",
- "object.hasown": "^1.1.2",
- "object.values": "^1.1.6",
- "prop-types": "^15.8.1",
- "resolve": "^2.0.0-next.4",
- "semver": "^6.3.1",
- "string.prototype.matchall": "^4.0.8"
- },
- "engines": {
- "node": ">=4"
- },
- "peerDependencies": {
- "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
- }
- },
- "node_modules/eslint-plugin-react-hooks": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz",
- "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==",
- "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.3",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.3.tgz",
- "integrity": "sha512-Hh0wv8bUNY877+sI0BlCUlsS0TYYQqvzEwJsJJPM2WF4RnTStSnSR3zdJYa2nPOJgg3UghXi54lVyMSmpCalzA==",
- "dev": true,
- "peerDependencies": {
- "eslint": ">=7"
- }
- },
- "node_modules/eslint-plugin-react/node_modules/doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/eslint-plugin-react/node_modules/resolve": {
- "version": "2.0.0-next.4",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz",
- "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==",
- "dependencies": {
- "is-core-module": "^2.9.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/eslint-plugin-react/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/eslint-plugin-unused-imports": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-3.0.0.tgz",
- "integrity": "sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==",
- "dependencies": {
- "eslint-rule-composer": "^0.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "peerDependencies": {
- "@typescript-eslint/eslint-plugin": "^6.0.0",
- "eslint": "^8.0.0"
- },
- "peerDependenciesMeta": {
- "@typescript-eslint/eslint-plugin": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-rule-composer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz",
- "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==",
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "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==",
- "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==",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "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==",
- "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==",
- "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==",
- "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==",
- "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==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/events": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
- "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
- "engines": {
- "node": ">=0.8.x"
- }
- },
- "node_modules/fake-xml-http-request": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/fake-xml-http-request/-/fake-xml-http-request-2.1.2.tgz",
- "integrity": "sha512-HaFMBi7r+oEC9iJNpc3bvcW7Z7iLmM26hPDmlb0mFwyANSsOQAtJxbdWsXITKOzZUyMYK0zYCv3h5yDj9TsiXg=="
- },
- "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=="
- },
- "node_modules/fast-glob": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
- "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==",
- "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==",
- "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=="
- },
- "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=="
- },
- "node_modules/fast-loops": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/fast-loops/-/fast-loops-1.1.3.tgz",
- "integrity": "sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g=="
- },
- "node_modules/fast-shallow-equal": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fast-shallow-equal/-/fast-shallow-equal-1.0.0.tgz",
- "integrity": "sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw=="
- },
- "node_modules/fastest-stable-stringify": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/fastest-stable-stringify/-/fastest-stable-stringify-2.0.2.tgz",
- "integrity": "sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q=="
- },
- "node_modules/fastq": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
- "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/faye-websocket": {
- "version": "0.11.4",
- "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz",
- "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==",
- "dependencies": {
- "websocket-driver": ">=0.5.1"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/file-entry-cache": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
- "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
- "dependencies": {
- "flat-cache": "^3.0.4"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- }
- },
- "node_modules/file-type": {
- "version": "16.5.4",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.4.tgz",
- "integrity": "sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==",
- "dependencies": {
- "readable-web-to-node-stream": "^3.0.0",
- "strtok3": "^6.2.4",
- "token-types": "^4.1.1"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/file-type?sponsor=1"
- }
- },
- "node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/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==",
- "dependencies": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/firebase": {
- "version": "10.5.2",
- "resolved": "https://registry.npmjs.org/firebase/-/firebase-10.5.2.tgz",
- "integrity": "sha512-LLCig21TBYdByMbGJt5YmUzzk2HpsFCsIUTvOteQjW9BUh40IrSP2+dZi9IvT8RlztM3zcH+TNZ0jOsOaa7GMQ==",
- "dependencies": {
- "@firebase/analytics": "0.10.0",
- "@firebase/analytics-compat": "0.2.6",
- "@firebase/app": "0.9.22",
- "@firebase/app-check": "0.8.0",
- "@firebase/app-check-compat": "0.3.7",
- "@firebase/app-compat": "0.2.22",
- "@firebase/app-types": "0.9.0",
- "@firebase/auth": "1.3.2",
- "@firebase/auth-compat": "0.4.8",
- "@firebase/database": "1.0.1",
- "@firebase/database-compat": "1.0.1",
- "@firebase/firestore": "4.3.2",
- "@firebase/firestore-compat": "0.3.21",
- "@firebase/functions": "0.10.0",
- "@firebase/functions-compat": "0.3.5",
- "@firebase/installations": "0.6.4",
- "@firebase/installations-compat": "0.2.4",
- "@firebase/messaging": "0.12.4",
- "@firebase/messaging-compat": "0.2.4",
- "@firebase/performance": "0.6.4",
- "@firebase/performance-compat": "0.2.4",
- "@firebase/remote-config": "0.4.4",
- "@firebase/remote-config-compat": "0.2.4",
- "@firebase/storage": "0.11.2",
- "@firebase/storage-compat": "0.3.2",
- "@firebase/util": "1.9.3"
- }
- },
- "node_modules/fitty": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/fitty/-/fitty-2.3.7.tgz",
- "integrity": "sha512-yucQBzDD8sRa8EXfHu4/h9vNDFHUXpYtC+nydtBRfLSjzToCEvacy4qiBJyihgUVrqpXB+Kp5kWCbROSrePd2g=="
- },
- "node_modules/flat-cache": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz",
- "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==",
- "dependencies": {
- "flatted": "^3.2.7",
- "keyv": "^4.5.3",
- "rimraf": "^3.0.2"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/flatted": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
- "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ=="
- },
- "node_modules/follow-redirects": {
- "version": "1.15.2",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
- "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/RubenVerborgh"
- }
- ],
- "engines": {
- "node": ">=4.0"
- },
- "peerDependenciesMeta": {
- "debug": {
- "optional": true
- }
- }
- },
- "node_modules/for-each": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
- "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
- "dependencies": {
- "is-callable": "^1.1.3"
- }
- },
- "node_modules/form-data": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
- "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
- },
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
- },
- "node_modules/function.prototype.name": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz",
- "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==",
- "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://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
- "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/gensync": {
- "version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
- "peer": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "node_modules/get-intrinsic": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
- "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
- "dependencies": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-symbol-description": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
- "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-tsconfig": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.0.tgz",
- "integrity": "sha512-pmjiZ7xtB8URYm74PlGJozDNyhvsVLUcpBa8DZBG3bWHwaHa9bPiRpiSfovw+fjhwONSCWKRyk+JQHEGZmMrzw==",
- "dependencies": {
- "resolve-pkg-maps": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
- }
- },
- "node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "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==",
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/globals": {
- "version": "13.21.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz",
- "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==",
- "dependencies": {
- "type-fest": "^0.20.2"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/globalthis": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
- "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
- "dependencies": {
- "define-properties": "^1.1.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "devOptional": true,
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/gopd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
- "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
- "dependencies": {
- "get-intrinsic": "^1.1.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
- },
- "node_modules/graphemer": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
- "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="
- },
- "node_modules/gsap": {
- "version": "3.12.2",
- "resolved": "https://registry.npmjs.org/gsap/-/gsap-3.12.2.tgz",
- "integrity": "sha512-EkYnpG8qHgYBFAwsgsGEqvT1WUidX0tt/ijepx7z8EUJHElykg91RvW1XbkT59T0gZzzszOpjQv7SE41XuIXyQ=="
- },
- "node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/has-bigints": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
- "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/has-property-descriptors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
- "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
- "dependencies": {
- "get-intrinsic": "^1.1.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
- "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
- "dependencies": {
- "has-symbols": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/hoist-non-react-statics": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
- "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
- "dependencies": {
- "react-is": "^16.7.0"
- }
- },
- "node_modules/http-errors": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
- "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
- "dependencies": {
- "depd": "2.0.0",
- "inherits": "2.0.4",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "toidentifier": "1.0.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/http-parser-js": {
- "version": "0.5.8",
- "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz",
- "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q=="
- },
- "node_modules/hyphenate-style-name": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz",
- "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ=="
- },
- "node_modules/iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/idb": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz",
- "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ=="
- },
- "node_modules/ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/ignore": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
- "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/immer": {
- "version": "9.0.21",
- "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz",
- "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/immer"
- }
- },
- "node_modules/immutable": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz",
- "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA=="
- },
- "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==",
- "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==",
- "engines": {
- "node": ">=0.8.19"
- }
- },
- "node_modules/inflected": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/inflected/-/inflected-2.1.0.tgz",
- "integrity": "sha512-hAEKNxvHf2Iq3H60oMBHkB4wl5jn3TPF3+fXek/sRwAB5gP9xWs4r7aweSF95f99HFoz69pnZTcu8f0SIHV18w=="
- },
- "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==",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "node_modules/inline-style-prefixer": {
- "version": "6.0.4",
- "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-6.0.4.tgz",
- "integrity": "sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==",
- "dependencies": {
- "css-in-js-utils": "^3.1.0",
- "fast-loops": "^1.1.3"
- }
- },
- "node_modules/internal-slot": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz",
- "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==",
- "dependencies": {
- "get-intrinsic": "^1.2.0",
- "has": "^1.0.3",
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/is-array-buffer": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz",
- "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.0",
- "is-typed-array": "^1.1.10"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-async-function": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz",
- "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==",
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-bigint": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
- "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
- "dependencies": {
- "has-bigints": "^1.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-boolean-object": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
- "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
- "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://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
- "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.13.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz",
- "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==",
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-date-object": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
- "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
- "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://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-finalizationregistry": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz",
- "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==",
- "dependencies": {
- "call-bind": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-generator-function": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
- "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-map": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz",
- "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-negative-zero": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
- "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-number-object": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
- "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
- "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://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-regex": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
- "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
- "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.2",
- "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz",
- "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-shared-array-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
- "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
- "dependencies": {
- "call-bind": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-string": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
- "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-symbol": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
- "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
- "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.12",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz",
- "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==",
- "dependencies": {
- "which-typed-array": "^1.1.11"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-weakmap": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz",
- "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-weakref": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
- "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
- "dependencies": {
- "call-bind": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-weakset": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz",
- "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/isarray": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
- "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
- },
- "node_modules/iterator.prototype": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.0.tgz",
- "integrity": "sha512-rjuhAk1AJ1fssphHD0IFV6TWL40CwRZ53FrztKx43yk2v6rguBYsY4Bj1VU4HmoMmKwZUlx7mfnhDf9cOp4YTw==",
- "dependencies": {
- "define-properties": "^1.1.4",
- "get-intrinsic": "^1.1.3",
- "has-symbols": "^1.0.3",
- "has-tostringtag": "^1.0.0",
- "reflect.getprototypeof": "^1.0.3"
- }
- },
- "node_modules/jkroso-type": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/jkroso-type/-/jkroso-type-1.1.1.tgz",
- "integrity": "sha512-zZgay+fPG6PgMUrpyFADmQmvLo39+AZa7Gc5pZhev2RhDxwANEq2etwD8d0e6rTg5NkwOIlQmaEmns3draC6Ng=="
- },
- "node_modules/js-cookie": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz",
- "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ=="
- },
- "node_modules/js-sha3": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz",
- "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q=="
- },
- "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==",
- "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==",
- "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=="
- },
- "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=="
- },
- "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=="
- },
- "node_modules/json2mq": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz",
- "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==",
- "dependencies": {
- "string-convert": "^0.2.0"
- }
- },
- "node_modules/json5": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
- "peer": true,
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/jsx-ast-utils": {
- "version": "3.3.5",
- "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz",
- "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==",
- "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.3",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz",
- "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==",
- "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==",
- "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==",
- "dependencies": {
- "p-locate": "^5.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
- },
- "node_modules/lodash.assign": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
- "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw=="
- },
- "node_modules/lodash.camelcase": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
- "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA=="
- },
- "node_modules/lodash.clonedeep": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
- "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ=="
- },
- "node_modules/lodash.compact": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash.compact/-/lodash.compact-3.0.1.tgz",
- "integrity": "sha512-2ozeiPi+5eBXW1CLtzjk8XQFhQOEMwwfxblqeq6EGyTxZJ1bPATqilY0e6g2SLQpP4KuMeuioBhEnWz5Pr7ICQ=="
- },
- "node_modules/lodash.find": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz",
- "integrity": "sha512-yaRZoAV3Xq28F1iafWN1+a0rflOej93l1DQUejs3SZ41h2O9UJBoS9aueGjPDgAl4B6tPC0NuuchLKaDQQ3Isg=="
- },
- "node_modules/lodash.flatten": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
- "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g=="
- },
- "node_modules/lodash.forin": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.forin/-/lodash.forin-4.4.0.tgz",
- "integrity": "sha512-APldePP4yvGhMcplVxv9L+exdLHMRHRhH1Q9O70zRJMm9HbTm6zxaihXtNl+ICOBApeFWoH7jNmFr/L4XfWeiQ=="
- },
- "node_modules/lodash.get": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
- "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ=="
- },
- "node_modules/lodash.has": {
- "version": "4.5.2",
- "resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz",
- "integrity": "sha512-rnYUdIo6xRCJnQmbVFEwcxF144erlD+M3YcJUVesflU9paQaE8p+fJDcIQrlMYbxoANFL+AB9hZrzSBBk5PL+g=="
- },
- "node_modules/lodash.invokemap": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.invokemap/-/lodash.invokemap-4.6.0.tgz",
- "integrity": "sha512-CfkycNtMqgUlfjfdh2BhKO/ZXrP8ePOX5lEU/g0R3ItJcnuxWDwokMGKx1hWcfOikmyOVx6X9IwWnDGlgKl61w=="
- },
- "node_modules/lodash.isempty": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz",
- "integrity": "sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg=="
- },
- "node_modules/lodash.isequal": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
- "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ=="
- },
- "node_modules/lodash.isfunction": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz",
- "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw=="
- },
- "node_modules/lodash.isinteger": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
- "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA=="
- },
- "node_modules/lodash.isplainobject": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
- "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="
- },
- "node_modules/lodash.lowerfirst": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/lodash.lowerfirst/-/lodash.lowerfirst-4.3.1.tgz",
- "integrity": "sha512-UUKX7VhP1/JL54NXg2aq/E1Sfnjjes8fNYTNkPU8ZmsaVeBvPHKdbNaN79Re5XRL01u6wbq3j0cbYZj71Fcu5w=="
- },
- "node_modules/lodash.map": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz",
- "integrity": "sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q=="
- },
- "node_modules/lodash.mapvalues": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz",
- "integrity": "sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ=="
- },
- "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=="
- },
- "node_modules/lodash.pick": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
- "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q=="
- },
- "node_modules/lodash.snakecase": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz",
- "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw=="
- },
- "node_modules/lodash.throttle": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
- "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ=="
- },
- "node_modules/lodash.uniq": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
- "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ=="
- },
- "node_modules/lodash.uniqby": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz",
- "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww=="
- },
- "node_modules/lodash.values": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-4.3.0.tgz",
- "integrity": "sha512-r0RwvdCv8id9TUblb/O7rYPwVy6lerCbcawrfdo9iC/1t1wsNMJknO79WNBgwkH0hIeJ08jmvvESbFpNb4jH0Q=="
- },
- "node_modules/long": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
- "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q=="
- },
- "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": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "devOptional": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/lz-string": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz",
- "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==",
- "bin": {
- "lz-string": "bin/bin.js"
- }
- },
- "node_modules/match-sorter": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.1.tgz",
- "integrity": "sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==",
- "dependencies": {
- "@babel/runtime": "^7.12.5",
- "remove-accents": "0.4.2"
- }
- },
- "node_modules/mdn-data": {
- "version": "2.0.14",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
- "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow=="
- },
- "node_modules/media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dependencies": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/microseconds": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/microseconds/-/microseconds-0.2.0.tgz",
- "integrity": "sha512-n7DHHMjR1avBbSpsTBj6fmMGh2AGrifVV4e+WYc3Q9lO+xnSZ3NyhcBND3vzzatt05LFhoKFRxrIyklmLlUtyA=="
- },
- "node_modules/mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dependencies": {
- "mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "peer": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/miragejs": {
- "version": "0.1.47",
- "resolved": "https://registry.npmjs.org/miragejs/-/miragejs-0.1.47.tgz",
- "integrity": "sha512-99tuCbIAlMhNhyF3s5d3+5/FdJ7O4jSq/5e3e+sDv7L8dZdwJuwutXe0pobJ7hm6yRChTDjK+Nn8dZZd175wbg==",
- "dependencies": {
- "@miragejs/pretender-node-polyfill": "^0.1.0",
- "inflected": "^2.0.4",
- "lodash.assign": "^4.2.0",
- "lodash.camelcase": "^4.3.0",
- "lodash.clonedeep": "^4.5.0",
- "lodash.compact": "^3.0.1",
- "lodash.find": "^4.6.0",
- "lodash.flatten": "^4.4.0",
- "lodash.forin": "^4.4.0",
- "lodash.get": "^4.4.2",
- "lodash.has": "^4.5.2",
- "lodash.invokemap": "^4.6.0",
- "lodash.isempty": "^4.4.0",
- "lodash.isequal": "^4.5.0",
- "lodash.isfunction": "^3.0.9",
- "lodash.isinteger": "^4.0.4",
- "lodash.isplainobject": "^4.0.6",
- "lodash.lowerfirst": "^4.3.1",
- "lodash.map": "^4.6.0",
- "lodash.mapvalues": "^4.6.0",
- "lodash.pick": "^4.4.0",
- "lodash.snakecase": "^4.1.1",
- "lodash.uniq": "^4.5.0",
- "lodash.uniqby": "^4.7.0",
- "lodash.values": "^4.3.0",
- "pretender": "^3.4.7"
- },
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "node_modules/moment": {
- "version": "2.29.4",
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
- "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- },
- "node_modules/mutation-observer": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/mutation-observer/-/mutation-observer-1.0.3.tgz",
- "integrity": "sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA=="
- },
- "node_modules/nano-css": {
- "version": "5.3.5",
- "resolved": "https://registry.npmjs.org/nano-css/-/nano-css-5.3.5.tgz",
- "integrity": "sha512-vSB9X12bbNu4ALBu7nigJgRViZ6ja3OU7CeuiV1zMIbXOdmkLahgtPmh3GBOlDxbKY0CitqlPdOReGlBLSp+yg==",
- "dependencies": {
- "css-tree": "^1.1.2",
- "csstype": "^3.0.6",
- "fastest-stable-stringify": "^2.0.2",
- "inline-style-prefixer": "^6.0.0",
- "rtl-css-js": "^1.14.0",
- "sourcemap-codec": "^1.4.8",
- "stacktrace-js": "^2.0.2",
- "stylis": "^4.0.6"
- },
- "peerDependencies": {
- "react": "*",
- "react-dom": "*"
- }
- },
- "node_modules/nano-time": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/nano-time/-/nano-time-1.0.0.tgz",
- "integrity": "sha512-flnngywOoQ0lLQOTRNexn2gGSNuM9bKj9RZAWSzhQ+UJYaAFG9bac4DW9VHjUAzrOaIcajHybCTHe/bkvozQqA==",
- "dependencies": {
- "big-integer": "^1.6.16"
- }
- },
- "node_modules/nanoid": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
- "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
- "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=="
- },
- "node_modules/node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
- "node_modules/node-releases": {
- "version": "2.0.13",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
- "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==",
- "peer": true
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/nosleep.js": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/nosleep.js/-/nosleep.js-0.12.0.tgz",
- "integrity": "sha512-9d1HbpKLh3sdWlhXMhU6MMH+wQzKkrgfRkYV0EBdvt99YJfj0ilCJrWRDYG2130Tm4GXbEoTCx5b34JSaP+HhA=="
- },
- "node_modules/numeral": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz",
- "integrity": "sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA==",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-inspect": {
- "version": "1.12.3",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
- "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.assign": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
- "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "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.7",
- "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz",
- "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.fromentries": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz",
- "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object.groupby": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz",
- "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==",
- "peer": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1"
- }
- },
- "node_modules/object.hasown": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz",
- "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==",
- "dependencies": {
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object.values": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz",
- "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/oblivious-set": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/oblivious-set/-/oblivious-set-1.0.0.tgz",
- "integrity": "sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw=="
- },
- "node_modules/on-finished": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
- "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
- "dependencies": {
- "ee-first": "1.1.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/optionator": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
- "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
- "dependencies": {
- "@aashutoshrathi/word-wrap": "^1.2.3",
- "deep-is": "^0.1.3",
- "fast-levenshtein": "^2.0.6",
- "levn": "^0.4.1",
- "prelude-ls": "^1.2.1",
- "type-check": "^0.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "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==",
- "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==",
- "dependencies": {
- "callsites": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/path": {
- "version": "0.12.7",
- "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz",
- "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==",
- "dependencies": {
- "process": "^0.11.1",
- "util": "^0.10.3"
- }
- },
- "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==",
- "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==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
- },
- "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==",
- "devOptional": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/peek-readable": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz",
- "integrity": "sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
- }
- },
- "node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/postcss": {
- "version": "8.4.28",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz",
- "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==",
- "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.6",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
- "node_modules/postcss-value-parser": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
- },
- "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==",
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/pretender": {
- "version": "3.4.7",
- "resolved": "https://registry.npmjs.org/pretender/-/pretender-3.4.7.tgz",
- "integrity": "sha512-jkPAvt1BfRi0RKamweJdEcnjkeu7Es8yix3bJ+KgBC5VpG/Ln4JE3hYN6vJym4qprm8Xo5adhWpm3HCoft1dOw==",
- "dependencies": {
- "fake-xml-http-request": "^2.1.2",
- "route-recognizer": "^0.3.3"
- }
- },
- "node_modules/process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
- "engines": {
- "node": ">= 0.6.0"
- }
- },
- "node_modules/prop-types": {
- "version": "15.8.1",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
- "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
- "dependencies": {
- "loose-envify": "^1.4.0",
- "object-assign": "^4.1.1",
- "react-is": "^16.13.1"
- }
- },
- "node_modules/protobufjs": {
- "version": "7.2.5",
- "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.5.tgz",
- "integrity": "sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==",
- "hasInstallScript": true,
- "dependencies": {
- "@protobufjs/aspromise": "^1.1.2",
- "@protobufjs/base64": "^1.1.2",
- "@protobufjs/codegen": "^2.0.4",
- "@protobufjs/eventemitter": "^1.1.0",
- "@protobufjs/fetch": "^1.1.0",
- "@protobufjs/float": "^1.0.2",
- "@protobufjs/inquire": "^1.1.0",
- "@protobufjs/path": "^1.1.2",
- "@protobufjs/pool": "^1.1.0",
- "@protobufjs/utf8": "^1.1.0",
- "@types/node": ">=13.7.0",
- "long": "^5.0.0"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/proxy-from-env": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
- },
- "node_modules/punycode": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
- "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/pure-react-carousel": {
- "version": "1.30.1",
- "resolved": "https://registry.npmjs.org/pure-react-carousel/-/pure-react-carousel-1.30.1.tgz",
- "integrity": "sha512-B1qi62hZk0OFqRR4cTjtgIeOn/Ls5wo+HsLtrXT4jVf5et8ldBHSt+6LsYRJN86Or8dm+XbnJNEHy6WDJ0/DQw==",
- "dependencies": {
- "@babel/runtime": "^7.5.5",
- "deep-freeze": "0.0.1",
- "deepmerge": "^2.2.1",
- "equals": "^1.0.5",
- "prop-types": "^15.6.2"
- },
- "peerDependencies": {
- "react": "15.x || 16.x || 17.x || 18.x",
- "react-dom": "15.x || 16.x || 17.x || 18.x"
- }
- },
- "node_modules/qrcode.react": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/qrcode.react/-/qrcode.react-3.1.0.tgz",
- "integrity": "sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==",
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
- }
- },
- "node_modules/qs": {
- "version": "6.11.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
- "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
- "dependencies": {
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/raw-body": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
- "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
- "dependencies": {
- "bytes": "3.1.2",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/rc-cascader": {
- "version": "3.20.0",
- "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.20.0.tgz",
- "integrity": "sha512-lkT9EEwOcYdjZ/jvhLoXGzprK1sijT3/Tp4BLxQQcHDZkkOzzwYQC9HgmKoJz0K7CukMfgvO9KqHeBdgE+pELw==",
- "dependencies": {
- "@babel/runtime": "^7.12.5",
- "array-tree-filter": "^2.1.0",
- "classnames": "^2.3.1",
- "rc-select": "~14.10.0",
- "rc-tree": "~5.8.1",
- "rc-util": "^5.37.0"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-checkbox": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.1.0.tgz",
- "integrity": "sha512-PAwpJFnBa3Ei+5pyqMMXdcKYKNBMS+TvSDiLdDnARnMJHC8ESxwPfm4Ao1gJiKtWLdmGfigascnCpwrHFgoOBQ==",
- "dependencies": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.3.2",
- "rc-util": "^5.25.2"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-collapse": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.7.1.tgz",
- "integrity": "sha512-N/7ejyiTf3XElNJBBpxqnZBUuMsQWEOPjB2QkfNvZ/Ca54eAvJXuOD1EGbCWCk2m7v/MSxku7mRpdeaLOCd4Gg==",
- "dependencies": {
- "@babel/runtime": "^7.10.1",
- "classnames": "2.x",
- "rc-motion": "^2.3.4",
- "rc-util": "^5.27.0"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-dialog": {
- "version": "9.3.4",
- "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.3.4.tgz",
- "integrity": "sha512-975X3018GhR+EjZFbxA2Z57SX5rnu0G0/OxFgMMvZK4/hQWEm3MHaNvP4wXpxYDoJsp+xUvVW+GB9CMMCm81jA==",
- "dependencies": {
- "@babel/runtime": "^7.10.1",
- "@rc-component/portal": "^1.0.0-8",
- "classnames": "^2.2.6",
- "rc-motion": "^2.3.0",
- "rc-util": "^5.21.0"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-drawer": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-6.5.2.tgz",
- "integrity": "sha512-QckxAnQNdhh4vtmKN0ZwDf3iakO83W9eZcSKWYYTDv4qcD2fHhRAZJJ/OE6v2ZlQ2kSqCJX5gYssF4HJFvsEPQ==",
- "dependencies": {
- "@babel/runtime": "^7.10.1",
- "@rc-component/portal": "^1.1.1",
- "classnames": "^2.2.6",
- "rc-motion": "^2.6.1",
- "rc-util": "^5.36.0"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-dropdown": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.1.0.tgz",
- "integrity": "sha512-VZjMunpBdlVzYpEdJSaV7WM7O0jf8uyDjirxXLZRNZ+tAC+NzD3PXPEtliFwGzVwBBdCmGuSqiS9DWcOLxQ9tw==",
- "dependencies": {
- "@babel/runtime": "^7.18.3",
- "@rc-component/trigger": "^1.7.0",
- "classnames": "^2.2.6",
- "rc-util": "^5.17.0"
- },
- "peerDependencies": {
- "react": ">=16.11.0",
- "react-dom": ">=16.11.0"
- }
- },
- "node_modules/rc-field-form": {
- "version": "1.40.0",
- "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.40.0.tgz",
- "integrity": "sha512-OM3N01X2BYFGJDJcwpk9/BBtlwgveE7eh2SQAKIxVCt9KVWlODYJ9ypTHQdxchfDbeJKJKxMBFXlLAmyvlgPHg==",
- "dependencies": {
- "@babel/runtime": "^7.18.0",
- "async-validator": "^4.1.0",
- "rc-util": "^5.32.2"
- },
- "engines": {
- "node": ">=8.x"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-image": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-7.5.0.tgz",
- "integrity": "sha512-GVR/GX8MF/tC2nZ913heGCa/99FU4UkMjXXOj55gY8vF6yjPoZ21MusH2ZG2Y/mNMM1Cnkujp1kRdAzR7/KYTg==",
- "dependencies": {
- "@babel/runtime": "^7.11.2",
- "@rc-component/portal": "^1.0.2",
- "classnames": "^2.2.6",
- "rc-dialog": "~9.3.4",
- "rc-motion": "^2.6.2",
- "rc-util": "^5.34.1"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-input": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-1.3.6.tgz",
- "integrity": "sha512-/HjTaKi8/Ts4zNbYaB5oWCquxFyFQO4Co1MnMgoCeGJlpe7k8Eir2HN0a0F9IHDmmo+GYiGgPpz7w/d/krzsJA==",
- "dependencies": {
- "@babel/runtime": "^7.11.1",
- "classnames": "^2.2.1",
- "rc-util": "^5.18.1"
- },
- "peerDependencies": {
- "react": ">=16.0.0",
- "react-dom": ">=16.0.0"
- }
- },
- "node_modules/rc-input-number": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-8.4.0.tgz",
- "integrity": "sha512-B6rziPOLRmeP7kcS5qbdC5hXvvDHYKV4vUxmahevYx2E6crS2bRi0xLDjhJ0E1HtOWo8rTmaE2EBJAkTCZOLdA==",
- "dependencies": {
- "@babel/runtime": "^7.10.1",
- "@rc-component/mini-decimal": "^1.0.1",
- "classnames": "^2.2.5",
- "rc-input": "~1.3.5",
- "rc-util": "^5.28.0"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-mentions": {
- "version": "2.9.1",
- "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-2.9.1.tgz",
- "integrity": "sha512-cZuElWr/5Ws0PXx1uxobxfYh4mqUw2FitfabR62YnWgm+WAfDyXZXqZg5DxXW+M1cgVvntrQgDDd9LrihrXzew==",
- "dependencies": {
- "@babel/runtime": "^7.22.5",
- "@rc-component/trigger": "^1.5.0",
- "classnames": "^2.2.6",
- "rc-input": "~1.3.5",
- "rc-menu": "~9.12.0",
- "rc-textarea": "~1.5.0",
- "rc-util": "^5.34.1"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-menu": {
- "version": "9.12.2",
- "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.12.2.tgz",
- "integrity": "sha512-NzloFH2pRUYmQ3S/YbJAvRkgCZaLvq0sRa5rgJtuIHLfPPprNHNyepeSlT64+dbVqI4qRWL44VN0lUCldCbbfg==",
- "dependencies": {
- "@babel/runtime": "^7.10.1",
- "@rc-component/trigger": "^1.17.0",
- "classnames": "2.x",
- "rc-motion": "^2.4.3",
- "rc-overflow": "^1.3.1",
- "rc-util": "^5.27.0"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-motion": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.0.tgz",
- "integrity": "sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ==",
- "dependencies": {
- "@babel/runtime": "^7.11.1",
- "classnames": "^2.2.1",
- "rc-util": "^5.21.0"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-notification": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-5.3.0.tgz",
- "integrity": "sha512-WCf0uCOkZ3HGfF0p1H4Sgt7aWfipxORWTPp7o6prA3vxwtWhtug3GfpYls1pnBp4WA+j8vGIi5c2/hQRpGzPcQ==",
- "dependencies": {
- "@babel/runtime": "^7.10.1",
- "classnames": "2.x",
- "rc-motion": "^2.9.0",
- "rc-util": "^5.20.1"
- },
- "engines": {
- "node": ">=8.x"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-overflow": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.3.2.tgz",
- "integrity": "sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==",
- "dependencies": {
- "@babel/runtime": "^7.11.1",
- "classnames": "^2.2.1",
- "rc-resize-observer": "^1.0.0",
- "rc-util": "^5.37.0"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-pagination": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-3.7.0.tgz",
- "integrity": "sha512-IxSzKapd13L91/195o1TPkKnCNw8gIR25UP1GCW/7c7n/slhld4npu2j2PB9IWjXm4SssaAaSAt2lscYog7wzg==",
- "dependencies": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.1",
- "rc-util": "^5.32.2"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-picker": {
- "version": "3.14.6",
- "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-3.14.6.tgz",
- "integrity": "sha512-AdKKW0AqMwZsKvIpwUWDUnpuGKZVrbxVTZTNjcO+pViGkjC1EBcjMgxVe8tomOEaIHJL5Gd13vS8Rr3zzxWmag==",
- "dependencies": {
- "@babel/runtime": "^7.10.1",
- "@rc-component/trigger": "^1.5.0",
- "classnames": "^2.2.1",
- "rc-util": "^5.30.0"
- },
- "engines": {
- "node": ">=8.x"
- },
- "peerDependencies": {
- "date-fns": ">= 2.x",
- "dayjs": ">= 1.x",
- "luxon": ">= 3.x",
- "moment": ">= 2.x",
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- },
- "peerDependenciesMeta": {
- "date-fns": {
- "optional": true
- },
- "dayjs": {
- "optional": true
- },
- "luxon": {
- "optional": true
- },
- "moment": {
- "optional": true
- }
- }
- },
- "node_modules/rc-progress": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.5.1.tgz",
- "integrity": "sha512-V6Amx6SbLRwPin/oD+k1vbPrO8+9Qf8zW1T8A7o83HdNafEVvAxPV5YsgtKFP+Ud5HghLj33zKOcEHrcrUGkfw==",
- "dependencies": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.6",
- "rc-util": "^5.16.1"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-rate": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.12.0.tgz",
- "integrity": "sha512-g092v5iZCdVzbjdn28FzvWebK2IutoVoiTeqoLTj9WM7SjA/gOJIw5/JFZMRyJYYVe1jLAU2UhAfstIpCNRozg==",
- "dependencies": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.5",
- "rc-util": "^5.0.1"
- },
- "engines": {
- "node": ">=8.x"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-resize-observer": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz",
- "integrity": "sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==",
- "dependencies": {
- "@babel/runtime": "^7.20.7",
- "classnames": "^2.2.1",
- "rc-util": "^5.38.0",
- "resize-observer-polyfill": "^1.5.1"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-segmented": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.2.2.tgz",
- "integrity": "sha512-Mq52M96QdHMsNdE/042ibT5vkcGcD5jxKp7HgPC2SRofpia99P5fkfHy1pEaajLMF/kj0+2Lkq1UZRvqzo9mSA==",
- "dependencies": {
- "@babel/runtime": "^7.11.1",
- "classnames": "^2.2.1",
- "rc-motion": "^2.4.4",
- "rc-util": "^5.17.0"
- },
- "peerDependencies": {
- "react": ">=16.0.0",
- "react-dom": ">=16.0.0"
- }
- },
- "node_modules/rc-select": {
- "version": "14.10.0",
- "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.10.0.tgz",
- "integrity": "sha512-TsIJTYafTTapCA32LLNpx/AD6ntepR1TG8jEVx35NiAAWCPymhUfuca8kRcUNd3WIGVMDcMKn9kkphoxEz+6Ag==",
- "dependencies": {
- "@babel/runtime": "^7.10.1",
- "@rc-component/trigger": "^1.5.0",
- "classnames": "2.x",
- "rc-motion": "^2.0.1",
- "rc-overflow": "^1.3.1",
- "rc-util": "^5.16.1",
- "rc-virtual-list": "^3.5.2"
- },
- "engines": {
- "node": ">=8.x"
- },
- "peerDependencies": {
- "react": "*",
- "react-dom": "*"
- }
- },
- "node_modules/rc-slider": {
- "version": "10.4.0",
- "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-10.4.0.tgz",
- "integrity": "sha512-ZlpWjFhOlEf0w4Ng31avFBkXNNBj60NAcTPaIoiCxBkJ29wOtHSPMqv9PZeEoqmx64bpJkgK7kPa47HG4LPzww==",
- "dependencies": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.5",
- "rc-util": "^5.27.0"
- },
- "engines": {
- "node": ">=8.x"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-steps": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-6.0.1.tgz",
- "integrity": "sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==",
- "dependencies": {
- "@babel/runtime": "^7.16.7",
- "classnames": "^2.2.3",
- "rc-util": "^5.16.1"
- },
- "engines": {
- "node": ">=8.x"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-switch": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-4.1.0.tgz",
- "integrity": "sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==",
- "dependencies": {
- "@babel/runtime": "^7.21.0",
- "classnames": "^2.2.1",
- "rc-util": "^5.30.0"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-table": {
- "version": "7.36.0",
- "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.36.0.tgz",
- "integrity": "sha512-3xVcdCC5OLeOOhaCg+5Lps2oPreM/GWXmUXWTSX4p6vF7F76ABM4dfPpMJ9Dnf5yGRyh+8pe7FRyhRVnWw2H/w==",
- "dependencies": {
- "@babel/runtime": "^7.10.1",
- "@rc-component/context": "^1.4.0",
- "classnames": "^2.2.5",
- "rc-resize-observer": "^1.1.0",
- "rc-util": "^5.37.0",
- "rc-virtual-list": "^3.11.1"
- },
- "engines": {
- "node": ">=8.x"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-tabs": {
- "version": "12.13.1",
- "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-12.13.1.tgz",
- "integrity": "sha512-83u3l2QkO0UznCzdBLEk9WnNcT+imtmDmMT993sUUEOGnNQAmqOdev0XjeqrcvsAMe9CDpAWDFd7L/RZw+LVJQ==",
- "dependencies": {
- "@babel/runtime": "^7.11.2",
- "classnames": "2.x",
- "rc-dropdown": "~4.1.0",
- "rc-menu": "~9.12.0",
- "rc-motion": "^2.6.2",
- "rc-resize-observer": "^1.0.0",
- "rc-util": "^5.34.1"
- },
- "engines": {
- "node": ">=8.x"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-textarea": {
- "version": "1.5.3",
- "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-1.5.3.tgz",
- "integrity": "sha512-oH682ghHx++stFNYrosPRBfwsypywrTXpaD0/5Z8MPkUOnyOQUaY9ueL9tMu6BP1LfsuYQ1VLpg5OtshViLNgA==",
- "dependencies": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.1",
- "rc-input": "~1.3.5",
- "rc-resize-observer": "^1.0.0",
- "rc-util": "^5.27.0"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-tooltip": {
- "version": "6.1.2",
- "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.1.2.tgz",
- "integrity": "sha512-89zwvybvCxGJu3+gGF8w5AXd4HHk6hIN7K0vZbkzjilVaEAIWPqc1fcyeUeP71n3VCcw7pTL9LyFupFbrx8gHw==",
- "dependencies": {
- "@babel/runtime": "^7.11.2",
- "@rc-component/trigger": "^1.18.0",
- "classnames": "^2.3.1"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-tree": {
- "version": "5.8.2",
- "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.8.2.tgz",
- "integrity": "sha512-xH/fcgLHWTLmrSuNphU8XAqV7CdaOQgm4KywlLGNoTMhDAcNR3GVNP6cZzb0GrKmIZ9yae+QLot/cAgUdPRMzg==",
- "dependencies": {
- "@babel/runtime": "^7.10.1",
- "classnames": "2.x",
- "rc-motion": "^2.0.1",
- "rc-util": "^5.16.1",
- "rc-virtual-list": "^3.5.1"
- },
- "engines": {
- "node": ">=10.x"
- },
- "peerDependencies": {
- "react": "*",
- "react-dom": "*"
- }
- },
- "node_modules/rc-tree-select": {
- "version": "5.15.0",
- "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.15.0.tgz",
- "integrity": "sha512-YJHfdO6azFnR0/JuNBZLDptGE4/RGfVeHAafUIYcm2T3RBkL1O8aVqiHvwIyLzdK59ry0NLrByd+3TkfpRM+9Q==",
- "dependencies": {
- "@babel/runtime": "^7.10.1",
- "classnames": "2.x",
- "rc-select": "~14.10.0",
- "rc-tree": "~5.8.1",
- "rc-util": "^5.16.1"
- },
- "peerDependencies": {
- "react": "*",
- "react-dom": "*"
- }
- },
- "node_modules/rc-upload": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.3.5.tgz",
- "integrity": "sha512-EHlKJbhkgFSQHliTj9v/2K5aEuFwfUQgZARzD7AmAPOneZEPiCNF3n6PEWIuqz9h7oq6FuXgdR67sC5BWFxJbA==",
- "dependencies": {
- "@babel/runtime": "^7.18.3",
- "classnames": "^2.2.5",
- "rc-util": "^5.2.0"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-util": {
- "version": "5.38.1",
- "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.38.1.tgz",
- "integrity": "sha512-e4ZMs7q9XqwTuhIK7zBIVFltUtMSjphuPPQXHoHlzRzNdOwUxDejo0Zls5HYaJfRKNURcsS/ceKVULlhjBrxng==",
- "dependencies": {
- "@babel/runtime": "^7.18.3",
- "react-is": "^18.2.0"
- },
- "peerDependencies": {
- "react": ">=16.9.0",
- "react-dom": ">=16.9.0"
- }
- },
- "node_modules/rc-util/node_modules/react-is": {
- "version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
- "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
- },
- "node_modules/rc-virtual-list": {
- "version": "3.11.3",
- "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.11.3.tgz",
- "integrity": "sha512-tu5UtrMk/AXonHwHxUogdXAWynaXsrx1i6dsgg+lOo/KJSF8oBAcprh1z5J3xgnPJD5hXxTL58F8s8onokdt0Q==",
- "dependencies": {
- "@babel/runtime": "^7.20.0",
- "classnames": "^2.2.6",
- "rc-resize-observer": "^1.0.0",
- "rc-util": "^5.36.0"
- },
- "engines": {
- "node": ">=8.x"
- },
- "peerDependencies": {
- "react": "*",
- "react-dom": "*"
- }
- },
- "node_modules/react": {
- "version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
- "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
- "dependencies": {
- "loose-envify": "^1.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/react-countdown": {
- "version": "2.3.5",
- "resolved": "https://registry.npmjs.org/react-countdown/-/react-countdown-2.3.5.tgz",
- "integrity": "sha512-K26ENYEesMfPxhRRtm1r+Pf70SErrvW3g4CArLi/x6MPFjgfDFYePT4UghEj8p2nI0cqVV7/JjDgjyr//U60Og==",
- "dependencies": {
- "prop-types": "^15.7.2"
- },
- "peerDependencies": {
- "react": ">= 15",
- "react-dom": ">= 15"
- }
- },
- "node_modules/react-device-detect": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/react-device-detect/-/react-device-detect-2.2.3.tgz",
- "integrity": "sha512-buYY3qrCnQVlIFHrC5UcUoAj7iANs/+srdkwsnNjI7anr3Tt7UY6MqNxtMLlr0tMBied0O49UZVK8XKs3ZIiPw==",
- "dependencies": {
- "ua-parser-js": "^1.0.33"
- },
- "peerDependencies": {
- "react": ">= 0.14.0",
- "react-dom": ">= 0.14.0"
- }
- },
- "node_modules/react-dom": {
- "version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
- "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
- "dependencies": {
- "loose-envify": "^1.1.0",
- "scheduler": "^0.23.0"
- },
- "peerDependencies": {
- "react": "^18.2.0"
- }
- },
- "node_modules/react-draggable": {
- "version": "4.4.5",
- "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-4.4.5.tgz",
- "integrity": "sha512-OMHzJdyJbYTZo4uQE393fHcqqPYsEtkjfMgvCHr6rejT+Ezn4OZbNyGH50vv+SunC1RMvwOTSWkEODQLzw1M9g==",
- "dependencies": {
- "clsx": "^1.1.1",
- "prop-types": "^15.8.1"
- },
- "peerDependencies": {
- "react": ">= 16.3.0",
- "react-dom": ">= 16.3.0"
- }
- },
- "node_modules/react-fast-marquee": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/react-fast-marquee/-/react-fast-marquee-1.6.0.tgz",
- "integrity": "sha512-jtuwT9SNjrqxnE7lGZ8mTL1I8Q4+9G4aBta2p+y2Pa3SjR17QROblwrLICyM8rbjQFHgHawTHcaH9HvoVO2NOA==",
- "peerDependencies": {
- "react": ">= 16.8.0 || 18.0.0",
- "react-dom": ">= 16.8.0 || 18.0.0"
- }
- },
- "node_modules/react-fitty": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/react-fitty/-/react-fitty-1.0.1.tgz",
- "integrity": "sha512-mO+Sbon+bO8Kazv38qu3uwi52vYDdty6P8fla91TkQEc2KwfZjNLT4j31cXix3ZTlBMWmavWAu5SfG6J9SpaFQ==",
- "dependencies": {
- "fitty": "2"
- },
- "engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "react": ">=16.8"
- }
- },
- "node_modules/react-iframe": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/react-iframe/-/react-iframe-1.8.5.tgz",
- "integrity": "sha512-F4cQJGs3ydaG6fJWfuz9yLwOU0Trzl6kttXuUG+vYwosH8enOOFxZWEDQCSbNVO8ayjfYZeqLxEvdvcsSy4GvA==",
- "dependencies": {
- "object-assign": "^4.1.1"
- },
- "peerDependencies": {
- "react": ">=16.x.x"
- }
- },
- "node_modules/react-infinite-scroll-component": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/react-infinite-scroll-component/-/react-infinite-scroll-component-6.1.0.tgz",
- "integrity": "sha512-SQu5nCqy8DxQWpnUVLx7V7b7LcA37aM7tvoWjTLZp1dk6EJibM5/4EJKzOnl07/BsM1Y40sKLuqjCwwH/xV0TQ==",
- "dependencies": {
- "throttle-debounce": "^2.1.0"
- },
- "peerDependencies": {
- "react": ">=16.0.0"
- }
- },
- "node_modules/react-infinite-scroll-component/node_modules/throttle-debounce": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.3.0.tgz",
- "integrity": "sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/react-is": {
- "version": "16.13.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
- },
- "node_modules/react-query": {
- "version": "3.39.3",
- "resolved": "https://registry.npmjs.org/react-query/-/react-query-3.39.3.tgz",
- "integrity": "sha512-nLfLz7GiohKTJDuT4us4X3h/8unOh+00MLb2yJoGTPjxKs2bc1iDhkNx2bd5MKklXnOD3NrVZ+J2UXujA5In4g==",
- "dependencies": {
- "@babel/runtime": "^7.5.5",
- "broadcast-channel": "^3.4.1",
- "match-sorter": "^6.0.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/tannerlinsley"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
- },
- "peerDependenciesMeta": {
- "react-dom": {
- "optional": true
- },
- "react-native": {
- "optional": true
- }
- }
- },
- "node_modules/react-router": {
- "version": "6.15.0",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.15.0.tgz",
- "integrity": "sha512-NIytlzvzLwJkCQj2HLefmeakxxWHWAP+02EGqWEZy+DgfHHKQMUoBBjUQLOtFInBMhWtb3hiUy6MfFgwLjXhqg==",
- "dependencies": {
- "@remix-run/router": "1.8.0"
- },
- "engines": {
- "node": ">=14.0.0"
- },
- "peerDependencies": {
- "react": ">=16.8"
- }
- },
- "node_modules/react-router-dom": {
- "version": "6.15.0",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.15.0.tgz",
- "integrity": "sha512-aR42t0fs7brintwBGAv2+mGlCtgtFQeOzK0BM1/OiqEzRejOZtpMZepvgkscpMUnKb8YO84G7s3LsHnnDNonbQ==",
- "dependencies": {
- "@remix-run/router": "1.8.0",
- "react-router": "6.15.0"
- },
- "engines": {
- "node": ">=14.0.0"
- },
- "peerDependencies": {
- "react": ">=16.8",
- "react-dom": ">=16.8"
- }
- },
- "node_modules/react-scroll": {
- "version": "1.8.9",
- "resolved": "https://registry.npmjs.org/react-scroll/-/react-scroll-1.8.9.tgz",
- "integrity": "sha512-9m7ztraiX/l6L7erzYAD3fhnveNckei6/NkWfqwN2e0FRdoE2W6Pk4oi2Nah7mWpPCPAeIgegfaqZACTimPOwg==",
- "dependencies": {
- "lodash.throttle": "^4.1.1",
- "prop-types": "^15.7.2"
- },
- "peerDependencies": {
- "react": "^15.5.4 || ^16.0.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^15.5.4 || ^16.0.0 || ^17.0.0 || ^18.0.0"
- }
- },
- "node_modules/react-spinners": {
- "version": "0.13.8",
- "resolved": "https://registry.npmjs.org/react-spinners/-/react-spinners-0.13.8.tgz",
- "integrity": "sha512-3e+k56lUkPj0vb5NDXPVFAOkPC//XyhKPJjvcGjyMNPWsBKpplfeyialP74G7H7+It7KzhtET+MvGqbKgAqpZA==",
- "peerDependencies": {
- "react": "^16.0.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0"
- }
- },
- "node_modules/react-timer-hook": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/react-timer-hook/-/react-timer-hook-3.0.7.tgz",
- "integrity": "sha512-ATpNcU+PQRxxfNBPVqce2+REtjGAlwmfoNQfcEBMZFxPj0r3GYdKhyPHdStvqrejejEi0QvqaJZjy2lBlFvAsA==",
- "peerDependencies": {
- "react": ">=16.8.0"
- }
- },
- "node_modules/react-universal-interface": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/react-universal-interface/-/react-universal-interface-0.6.2.tgz",
- "integrity": "sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==",
- "peerDependencies": {
- "react": "*",
- "tslib": "*"
- }
- },
- "node_modules/react-use": {
- "version": "17.4.0",
- "resolved": "https://registry.npmjs.org/react-use/-/react-use-17.4.0.tgz",
- "integrity": "sha512-TgbNTCA33Wl7xzIJegn1HndB4qTS9u03QUwyNycUnXaweZkE4Kq2SB+Yoxx8qbshkZGYBDvUXbXWRUmQDcZZ/Q==",
- "dependencies": {
- "@types/js-cookie": "^2.2.6",
- "@xobotyi/scrollbar-width": "^1.9.5",
- "copy-to-clipboard": "^3.3.1",
- "fast-deep-equal": "^3.1.3",
- "fast-shallow-equal": "^1.0.0",
- "js-cookie": "^2.2.1",
- "nano-css": "^5.3.1",
- "react-universal-interface": "^0.6.2",
- "resize-observer-polyfill": "^1.5.1",
- "screenfull": "^5.1.0",
- "set-harmonic-interval": "^1.0.1",
- "throttle-debounce": "^3.0.1",
- "ts-easing": "^0.2.0",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
- }
- },
- "node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/readable-web-to-node-stream": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz",
- "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==",
- "dependencies": {
- "readable-stream": "^3.6.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
- }
- },
- "node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/reflect.getprototypeof": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.3.tgz",
- "integrity": "sha512-TTAOZpkJ2YLxl7mVHWrNo3iDMEkYlva/kgFcXndqMgbo/AZUmmavEkdXV+hXtE4P8xdyEKRzalaFqZVuwIk/Nw==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "get-intrinsic": "^1.1.1",
- "globalthis": "^1.0.3",
- "which-builtin-type": "^1.1.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/regenerator-runtime": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
- "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA=="
- },
- "node_modules/regexp.prototype.flags": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz",
- "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "functions-have-names": "^1.2.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/remove-accents": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz",
- "integrity": "sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA=="
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/resize-observer-polyfill": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
- "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
- },
- "node_modules/resolve": {
- "version": "1.22.4",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz",
- "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==",
- "peer": 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://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/resolve-pkg-maps": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
- "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
- "funding": {
- "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
- }
- },
- "node_modules/reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "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==",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/rollup": {
- "version": "3.28.1",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.1.tgz",
- "integrity": "sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==",
- "dev": true,
- "bin": {
- "rollup": "dist/bin/rollup"
- },
- "engines": {
- "node": ">=14.18.0",
- "npm": ">=8.0.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/route-recognizer": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/route-recognizer/-/route-recognizer-0.3.4.tgz",
- "integrity": "sha512-2+MhsfPhvauN1O8KaXpXAOfR/fwe8dnUXVM+xw7yt40lJRfPVQxV6yryZm0cgRvAj5fMF/mdRZbL2ptwbs5i2g=="
- },
- "node_modules/rtl-css-js": {
- "version": "1.16.1",
- "resolved": "https://registry.npmjs.org/rtl-css-js/-/rtl-css-js-1.16.1.tgz",
- "integrity": "sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==",
- "dependencies": {
- "@babel/runtime": "^7.1.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==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/rxjs": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
- "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
- "dependencies": {
- "tslib": "^2.1.0"
- }
- },
- "node_modules/safe-array-concat": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz",
- "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.0",
- "has-symbols": "^1.0.3",
- "isarray": "^2.0.5"
- },
- "engines": {
- "node": ">=0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/safe-regex-test": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
- "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.3",
- "is-regex": "^1.1.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
- },
- "node_modules/sass": {
- "version": "1.66.1",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.66.1.tgz",
- "integrity": "sha512-50c+zTsZOJVgFfTgwwEzkjA3/QACgdNsKueWPyAR0mRINIvLAStVQBbPg14iuqEQ74NPDbXzJARJ/O4SI1zftA==",
- "dependencies": {
- "chokidar": ">=3.0.0 <4.0.0",
- "immutable": "^4.0.0",
- "source-map-js": ">=0.6.2 <2.0.0"
- },
- "bin": {
- "sass": "sass.js"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/scheduler": {
- "version": "0.23.0",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
- "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
- "dependencies": {
- "loose-envify": "^1.1.0"
- }
- },
- "node_modules/screenfull": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/screenfull/-/screenfull-5.2.0.tgz",
- "integrity": "sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==",
- "engines": {
- "node": ">=0.10.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/scroll-into-view-if-needed": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz",
- "integrity": "sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==",
- "dependencies": {
- "compute-scroll-into-view": "^3.0.2"
- }
- },
- "node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
- "devOptional": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/set-harmonic-interval": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/set-harmonic-interval/-/set-harmonic-interval-1.0.1.tgz",
- "integrity": "sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g==",
- "engines": {
- "node": ">=6.9"
- }
- },
- "node_modules/setprototypeof": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
- },
- "node_modules/shallowequal": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
- "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="
- },
- "node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
- "dependencies": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "devOptional": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/source-map-js": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
- "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/source-map-support": {
- "version": "0.5.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
- "dev": true,
- "optional": true,
- "peer": true,
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "node_modules/sourcemap-codec": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
- "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
- "deprecated": "Please use @jridgewell/sourcemap-codec instead"
- },
- "node_modules/ssr-window": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-4.0.2.tgz",
- "integrity": "sha512-ISv/Ch+ig7SOtw7G2+qkwfVASzazUnvlDTwypdLoPoySv+6MqlOV10VwPSE6EWkGjhW50lUmghPmpYZXMu/+AQ=="
- },
- "node_modules/stack-generator": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz",
- "integrity": "sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==",
- "dependencies": {
- "stackframe": "^1.3.4"
- }
- },
- "node_modules/stackframe": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz",
- "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw=="
- },
- "node_modules/stacktrace-gps": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz",
- "integrity": "sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==",
- "dependencies": {
- "source-map": "0.5.6",
- "stackframe": "^1.3.4"
- }
- },
- "node_modules/stacktrace-gps/node_modules/source-map": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
- "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/stacktrace-js": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-2.0.2.tgz",
- "integrity": "sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==",
- "dependencies": {
- "error-stack-parser": "^2.0.6",
- "stack-generator": "^2.0.5",
- "stacktrace-gps": "^3.0.4"
- }
- },
- "node_modules/statuses": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
- "node_modules/string-convert": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz",
- "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A=="
- },
- "node_modules/string-width": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-6.1.0.tgz",
- "integrity": "sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==",
- "dependencies": {
- "eastasianwidth": "^0.2.0",
- "emoji-regex": "^10.2.1",
- "strip-ansi": "^7.0.1"
- },
- "engines": {
- "node": ">=16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/string-width/node_modules/ansi-regex": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
- "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
- "node_modules/string-width/node_modules/strip-ansi": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
- "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
- },
- "node_modules/string.prototype.matchall": {
- "version": "4.0.9",
- "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.9.tgz",
- "integrity": "sha512-6i5hL3MqG/K2G43mWXWgP+qizFW/QH/7kCNN13JrJS5q48FN5IKksLDscexKP3dnmB6cdm9jlNgAsWNLpSykmA==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1",
- "has-symbols": "^1.0.3",
- "internal-slot": "^1.0.5",
- "regexp.prototype.flags": "^1.5.0",
- "side-channel": "^1.0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/string.prototype.trim": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz",
- "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/string.prototype.trimend": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz",
- "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/string.prototype.trimstart": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz",
- "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
- "peer": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/strtok3": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz",
- "integrity": "sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==",
- "dependencies": {
- "@tokenizer/token": "^0.3.0",
- "peek-readable": "^4.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
- }
- },
- "node_modules/styled-components": {
- "version": "5.3.6",
- "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.6.tgz",
- "integrity": "sha512-hGTZquGAaTqhGWldX7hhfzjnIYBZ0IXQXkCYdvF1Sq3DsUaLx6+NTHC5Jj1ooM2F68sBiVz3lvhfwQs/S3l6qg==",
- "hasInstallScript": true,
- "dependencies": {
- "@babel/helper-module-imports": "^7.0.0",
- "@babel/traverse": "^7.4.5",
- "@emotion/is-prop-valid": "^1.1.0",
- "@emotion/stylis": "^0.8.4",
- "@emotion/unitless": "^0.7.4",
- "babel-plugin-styled-components": ">= 1.12.0",
- "css-to-react-native": "^3.0.0",
- "hoist-non-react-statics": "^3.0.0",
- "shallowequal": "^1.1.0",
- "supports-color": "^5.5.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/styled-components"
- },
- "peerDependencies": {
- "react": ">= 16.8.0",
- "react-dom": ">= 16.8.0",
- "react-is": ">= 16.8.0"
- }
- },
- "node_modules/styled-components/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==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/styled-components/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==",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/stylis": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.0.tgz",
- "integrity": "sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ=="
- },
- "node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/swiper": {
- "version": "8.4.5",
- "resolved": "https://registry.npmjs.org/swiper/-/swiper-8.4.5.tgz",
- "integrity": "sha512-zveyEFBBv4q1sVkbJHnuH4xCtarKieavJ4SxP0QEHvdpPLJRuD7j/Xg38IVVLbp7Db6qrPsLUePvxohYx39Agw==",
- "funding": [
- {
- "type": "patreon",
- "url": "https://www.patreon.com/swiperjs"
- },
- {
- "type": "open_collective",
- "url": "http://opencollective.com/swiper"
- }
- ],
- "hasInstallScript": true,
- "dependencies": {
- "dom7": "^4.0.4",
- "ssr-window": "^4.0.2"
- },
- "engines": {
- "node": ">= 4.7.0"
- }
- },
- "node_modules/tapable": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/terser": {
- "version": "5.19.2",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz",
- "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "dependencies": {
- "@jridgewell/source-map": "^0.3.3",
- "acorn": "^8.8.2",
- "commander": "^2.20.0",
- "source-map-support": "~0.5.20"
- },
- "bin": {
- "terser": "bin/terser"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/terser/node_modules/commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "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=="
- },
- "node_modules/throttle-debounce": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-3.0.1.tgz",
- "integrity": "sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/tiny-sha256": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/tiny-sha256/-/tiny-sha256-1.0.2.tgz",
- "integrity": "sha512-IdsPtu8eJ0SwuCWUFm2euFH3jJvtpGQC0VpZNZlqxRvQ2zGvSjbXDO+4T8Rm5ETsmCQHHvKUGds69bJYrlb3Tg=="
- },
- "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==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/toggle-selection": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
- "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ=="
- },
- "node_modules/toidentifier": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
- "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/token-types": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz",
- "integrity": "sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==",
- "dependencies": {
- "@tokenizer/token": "^0.3.0",
- "ieee754": "^1.2.1"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
- }
- },
- "node_modules/tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
- },
- "node_modules/ts-api-utils": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.2.tgz",
- "integrity": "sha512-Cbu4nIqnEdd+THNEsBdkolnOXhg0I8XteoHaEKgvsxpsbWda4IsUut2c187HxywQCvveojow0Dgw/amxtSKVkQ==",
- "devOptional": true,
- "engines": {
- "node": ">=16.13.0"
- },
- "peerDependencies": {
- "typescript": ">=4.2.0"
- }
- },
- "node_modules/ts-easing": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/ts-easing/-/ts-easing-0.2.0.tgz",
- "integrity": "sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ=="
- },
- "node_modules/ts-key-enum": {
- "version": "2.0.12",
- "resolved": "https://registry.npmjs.org/ts-key-enum/-/ts-key-enum-2.0.12.tgz",
- "integrity": "sha512-Ety4IvKMaeG34AyXMp5r11XiVZNDRL+XWxXbVVJjLvq2vxKRttEANBE7Za1bxCAZRdH2/sZT6jFyyTWxXz28hw=="
- },
- "node_modules/tsconfig-paths": {
- "version": "3.14.2",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz",
- "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==",
- "peer": true,
- "dependencies": {
- "@types/json5": "^0.0.29",
- "json5": "^1.0.2",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
- }
- },
- "node_modules/tsconfig-paths/node_modules/json5": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
- "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
- "peer": true,
- "dependencies": {
- "minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
- }
- },
- "node_modules/tslib": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
- "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
- },
- "node_modules/type-check": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "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==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
- "dependencies": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/typed-array-buffer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz",
- "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.1",
- "is-typed-array": "^1.1.10"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/typed-array-byte-length": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz",
- "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "has-proto": "^1.0.1",
- "is-typed-array": "^1.1.10"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/typed-array-byte-offset": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz",
- "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==",
- "dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "has-proto": "^1.0.1",
- "is-typed-array": "^1.1.10"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/typed-array-length": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
- "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "is-typed-array": "^1.1.9"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/typescript": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
- "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
- "devOptional": true,
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=14.17"
- }
- },
- "node_modules/ua-parser-js": {
- "version": "1.0.35",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz",
- "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/ua-parser-js"
- },
- {
- "type": "paypal",
- "url": "https://paypal.me/faisalman"
- }
- ],
- "engines": {
- "node": "*"
- }
- },
- "node_modules/unbox-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
- "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
- "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/unload": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/unload/-/unload-2.2.0.tgz",
- "integrity": "sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA==",
- "dependencies": {
- "@babel/runtime": "^7.6.2",
- "detect-node": "^2.0.4"
- }
- },
- "node_modules/unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/update-browserslist-db": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz",
- "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==",
- "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"
- }
- ],
- "peer": true,
- "dependencies": {
- "escalade": "^3.1.1",
- "picocolors": "^1.0.0"
- },
- "bin": {
- "update-browserslist-db": "cli.js"
- },
- "peerDependencies": {
- "browserslist": ">= 4.21.0"
- }
- },
- "node_modules/uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/use-immer": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/use-immer/-/use-immer-0.9.0.tgz",
- "integrity": "sha512-/L+enLi0nvuZ6j4WlyK0US9/ECUtV5v9RUbtxnn5+WbtaXYUaOBoKHDNL9I5AETdurQ4rIFIj/s+Z5X80ATyKw==",
- "peerDependencies": {
- "immer": ">=2.0.0",
- "react": "^16.8.0 || ^17.0.1 || ^18.0.0"
- }
- },
- "node_modules/use-isomorphic-layout-effect": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz",
- "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==",
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
- "node_modules/use-latest": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz",
- "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==",
- "dependencies": {
- "use-isomorphic-layout-effect": "^1.1.1"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
- "node_modules/use-onclickoutside": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/use-onclickoutside/-/use-onclickoutside-0.4.1.tgz",
- "integrity": "sha512-hAo1viJ9D2mPffUig4EWCwE4as7fq84HANk3MCkY3rhXk5oMl0mjLCLF/OhzWIhTaITcAcDDcnaxRdMHPq+sww==",
- "dependencies": {
- "are-passive-events-supported": "^1.1.1",
- "use-latest": "^1.2.1"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
- }
- },
- "node_modules/use-reducer-async": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/use-reducer-async/-/use-reducer-async-2.1.1.tgz",
- "integrity": "sha512-oPSFzOIEPgMenQkMHzqeRgsQLSpcyGkspAnyTWP4l1tKlt31wMVMz6wWj6g/jea/Ms7lRvBz4AL+Okt83Tntig==",
- "peerDependencies": {
- "react": ">=16.8.0"
- }
- },
- "node_modules/util": {
- "version": "0.10.4",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
- "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
- "dependencies": {
- "inherits": "2.0.3"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
- },
- "node_modules/util/node_modules/inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="
- },
- "node_modules/uuid": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
- "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
- "bin": {
- "uuid": "dist/bin/uuid"
- }
- },
- "node_modules/vconsole": {
- "version": "3.15.1",
- "resolved": "https://registry.npmjs.org/vconsole/-/vconsole-3.15.1.tgz",
- "integrity": "sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==",
- "dependencies": {
- "@babel/runtime": "^7.17.2",
- "copy-text-to-clipboard": "^3.0.1",
- "core-js": "^3.11.0",
- "mutation-observer": "^1.0.3"
- }
- },
- "node_modules/vite": {
- "version": "4.4.9",
- "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz",
- "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==",
- "dev": true,
- "dependencies": {
- "esbuild": "^0.18.10",
- "postcss": "^8.4.27",
- "rollup": "^3.27.1"
- },
- "bin": {
- "vite": "bin/vite.js"
- },
- "engines": {
- "node": "^14.18.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/vitejs/vite?sponsor=1"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- },
- "peerDependencies": {
- "@types/node": ">= 14",
- "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/webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
- },
- "node_modules/websocket-driver": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
- "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==",
- "dependencies": {
- "http-parser-js": ">=0.5.1",
- "safe-buffer": ">=5.1.0",
- "websocket-extensions": ">=0.1.1"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/websocket-extensions": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
- "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/whatwg-fetch": {
- "version": "3.6.18",
- "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.18.tgz",
- "integrity": "sha512-ltN7j66EneWn5TFDO4L9inYC1D+Czsxlrw2SalgjMmEMkLfA5SIZxEFdE6QtHFiiM6Q7WL32c7AkI3w6yxM84Q=="
- },
- "node_modules/whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/which-boxed-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
- "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
- "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://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz",
- "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==",
- "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.1",
- "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz",
- "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==",
- "dependencies": {
- "is-map": "^2.0.1",
- "is-set": "^2.0.1",
- "is-weakmap": "^2.0.1",
- "is-weakset": "^2.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/which-typed-array": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz",
- "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==",
- "dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrap-ansi/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
- },
- "node_modules/wrap-ansi/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "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=="
- },
- "node_modules/y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "devOptional": true
- },
- "node_modules/yargs": {
- "version": "17.7.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
- "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
- "dependencies": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/yargs/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
- },
- "node_modules/yargs/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "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==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- }
- }
-}
diff --git a/package.json b/package.json
index f6a5b4e..03aa641 100644
--- a/package.json
+++ b/package.json
@@ -1,100 +1,34 @@
{
- "name": "lp-react",
+ "name": "lpbot",
"private": true,
- "version": "0.0.1",
+ "version": "0.0.0",
"type": "module",
- "homepage": "./",
"scripts": {
"start": "npm run dev",
- "dev": "vite --host --port 8000",
- "build": "tsc && vite build",
+ "dev": "vite",
+ "build": "tsc -b && vite build",
+ "lint": "eslint .",
"preview": "vite preview"
},
"dependencies": {
- "@fortawesome/fontawesome-free": "^6.4.0",
- "@jridgewell/sourcemap-codec": "^1.4.15",
- "@line/liff": "^2.22.3",
- "@types/lodash": "^4.14.197",
- "@types/node": "^20.2.5",
- "antd": "^5.11.3",
- "axios": "^1.5.0",
- "bootstrap": "^5.3.0",
- "breakpoint-sass": "^3.0.0",
- "buffer": "^6.0.3",
- "classnames": "^2.3.2",
- "date-fns": "^2.30.0",
- "dayjs": "^1.11.9",
- "eslint-import-resolver-typescript": "^3.6.0",
- "eslint-plugin-react": "^7.33.2",
- "eslint-plugin-unused-imports": "^3.0.0",
- "events": "^3.3.0",
- "firebase": "^10.5.2",
- "gsap": "^3.12.2",
- "immer": "^9.0.21",
- "lodash": "^4.17.21",
- "lz-string": "^1.5.0",
- "miragejs": "^0.1.47",
- "moment": "^2.29.4",
- "nosleep.js": "^0.12.0",
- "numeral": "^2.0.6",
- "path": "^0.12.7",
- "pure-react-carousel": "^1.30.1",
- "react": "^18.2.0",
- "react-countdown": "^2.3.5",
- "react-device-detect": "^2.2.3",
- "react-dom": "^18.2.0",
- "react-draggable": "^4.4.5",
- "react-fast-marquee": "^1.6.0",
- "react-fitty": "^1.0.1",
- "react-iframe": "^1.8.5",
- "react-infinite-scroll-component": "^6.1.0",
- "react-query": "^3.39.3",
- "react-router-dom": "^6.15.0",
- "react-scroll": "^1.8.9",
- "react-spinners": "^0.13.8",
- "react-timer-hook": "^3.0.7",
- "react-use": "^17.4.0",
- "rxjs": "^7.8.1",
- "sass": "^1.66.1",
- "string-width": "^6.1.0",
- "styled-components": "^5.3.6",
- "swiper": "^8.4.5",
- "ts-key-enum": "^2.0.12",
- "use-immer": "^0.9.0",
- "use-onclickoutside": "^0.4.1",
- "use-reducer-async": "^2.1.1",
- "uuid": "^9.0.0",
- "vconsole": "^3.15.1"
+ "antd": "^6.0.1",
+ "dayjs": "^1.11.19",
+ "react": "^19.2.0",
+ "react-dom": "^19.2.0",
+ "react-router-dom": "^7.10.1"
},
"devDependencies": {
- "@types/react": "^18.2.15",
- "@types/react-dom": "^18.2.7",
- "@types/styled-components": "^5.1.26",
- "@typescript-eslint/eslint-plugin": "^6.0.0",
- "@typescript-eslint/parser": "^6.0.0",
- "@vitejs/plugin-react-swc": "^3.3.2",
- "eslint": "^8.45.0",
- "eslint-plugin-react-hooks": "^4.6.0",
- "eslint-plugin-react-refresh": "^0.4.3",
- "typescript": "^5.0.2",
- "vite": "^4.4.5"
- },
- "eslintConfig": {
- "extends": [
- "react-app",
- "react-app/jest"
- ]
- },
- "browserslist": {
- "production": [
- ">0.2%",
- "not dead",
- "not op_mini all"
- ],
- "development": [
- "last 1 chrome version",
- "last 1 firefox version",
- "last 1 safari version"
- ]
+ "@eslint/js": "^9.39.1",
+ "@types/node": "^24.10.1",
+ "@types/react": "^19.2.5",
+ "@types/react-dom": "^19.2.3",
+ "@vitejs/plugin-react-swc": "^4.2.2",
+ "eslint": "^9.39.1",
+ "eslint-plugin-react-hooks": "^7.0.1",
+ "eslint-plugin-react-refresh": "^0.4.24",
+ "globals": "^16.5.0",
+ "typescript": "~5.9.3",
+ "typescript-eslint": "^8.46.4",
+ "vite": "^7.2.4"
}
-}
\ No newline at end of file
+}
diff --git a/src/App.tsx b/src/App.tsx
new file mode 100644
index 0000000..6533ed1
--- /dev/null
+++ b/src/App.tsx
@@ -0,0 +1,31 @@
+import { JSX, useContext } from "react";
+import { Navigate, Route, BrowserRouter as Router, Routes } from "react-router-dom";
+import { GameItemsContext, GameItemsProvider } from "./context/GameItemsContext";
+import LobbyPage from "./pages/LobbyPage";
+import LoginPage from "./pages/LoginPage";
+
+function RequireAuth({ children }: { children: JSX.Element }) {
+ const { player } = useContext(GameItemsContext);
+ return player.token ? children : ;
+}
+
+export default function App() {
+ return (
+
+
+
+ } />
+
+
+
+ }
+ />
+ } />
+
+
+
+ );
+}
diff --git a/src/Common/DataReceived/MainControlData.ts b/src/Common/DataReceived/MainControlData.ts
index 2663056..51230eb 100644
--- a/src/Common/DataReceived/MainControlData.ts
+++ b/src/Common/DataReceived/MainControlData.ts
@@ -1,5 +1,5 @@
import { CoroutineV2 } from "@/Engine/CatanEngine/CoroutineV2/CoroutineV2";
-import { INetResponse } from "@/Engine/CatanEngine/NetManagerV2/Core/INetResponse";
+import type { INetResponse } from "@/Engine/CatanEngine/NetManagerV2/Core/INetResponse";
import { gameSync } from "@/utils/setRPCData";
import MainControl from "../MainControl/MainControl";
import CSMessage from "../Message/CSMessage";
diff --git a/src/Common/MainControl/MainControl.ts b/src/Common/MainControl/MainControl.ts
index b35f07b..eff7837 100644
--- a/src/Common/MainControl/MainControl.ts
+++ b/src/Common/MainControl/MainControl.ts
@@ -1,11 +1,9 @@
import { Action } from "@/Engine/CatanEngine/CSharp/System/Action";
-import { INetResponse } from "@/Engine/CatanEngine/NetManagerV2/Core/INetResponse";
+import type { INetResponse } from "@/Engine/CatanEngine/NetManagerV2/Core/INetResponse";
import { NetConnector } from "@/Engine/CatanEngine/NetManagerV2/NetConnector";
import { NetManager } from "@/Engine/CatanEngine/NetManagerV2/NetManager";
import { TableManager } from "@/Engine/CatanEngine/TableV3/TableManager";
-import BaseSingleton from "@/Engine/Utils/Singleton/BaseSingleton";
-import BusinessTypeSetting from "@/_BusinessTypeSetting/BusinessTypeSetting";
-import { Tools } from "@/utils/Tools";
+import BaseSingleton from "@/Engine/CatanEngine/Utils/Singleton/BaseSingleton";
export class MainControl extends BaseSingleton() {
/** 每次啟動APP */
@@ -32,11 +30,11 @@ export class MainControl extends BaseSingleton() {
//#region 網路相關
/**連線(目前沒有重連機制) */
- public * ConnectAsync() {
+ public * ConnectAsync(host: string, port: number) {
if (NetManager.IsConnected) {
return;
}
- this._conn = new NetConnector(BusinessTypeSetting.UseHost, BusinessTypeSetting.UsePort);
+ this._conn = new NetConnector(host, port);
this._conn.OnDataReceived.AddCallback(this._onNetDataReceived, this);
this._conn.OnDisconnected.AddCallback(this._onNetDisconnected, this);
NetManager.Initialize(this._conn);
@@ -84,21 +82,15 @@ export class MainControl extends BaseSingleton() {
* @param formname 設定檔名稱
*/
public static async DownloadFormSetting(formname: string): Promise {
- // http://patch-dev.online-bj.com/shared/jsons/slot_050.json
let fileUrl: string = `${formname}.json`;
if (import.meta.env.PROD) {
- // fileUrl = "https://patch.sdegaming.com/slot2/patch/_Release/shared/jsons/" + fileUrl;
fileUrl = "https://sd2-dev-patch.sdegaming.com/_Debug/shared/jsons/" + fileUrl;
- // fileUrl = "https://patch.sdegaming.com/slot2/patch/_Release/shared/jsons/" + fileUrl;
- // fileUrl = "http://patch-dev.online-bj.com/shared/jsons/" + fileUrl;
- // fileUrl = "http://jianmiau.tk/_BJ_Source/BJ-Internal-Dev/shared/jsons/" + fileUrl;
} else {
fileUrl = "./shared/jsons/" + fileUrl;
}
fileUrl = fileUrl + "?v=" + Date.now();
let isDownloading: boolean = true;
let xhr: XMLHttpRequest = new XMLHttpRequest();
- // xhr.withCredentials = true;
xhr.onreadystatechange = function (): void {
if (xhr.readyState === 4 && (xhr.status >= 200 && xhr.status < 400)) {
let res: any = {};
@@ -110,9 +102,6 @@ export class MainControl extends BaseSingleton() {
};
xhr.open("GET", fileUrl);
xhr.send();
- while (isDownloading) {
- await Tools.Sleep(100);
- }
}
//#endregion
diff --git a/src/Common/Message/CSMessage.ts b/src/Common/Message/CSMessage.ts
deleted file mode 100644
index 22b1669..0000000
--- a/src/Common/Message/CSMessage.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-import { IConfirmMessageData, modalObj } from "@/UIControl/ModalContext";
-
-/** 訊息框相關 */
-export default class CSMessage {
- public static Record: IConfirmMessageData[] = [];
-
- /** 一個按鈕的訊息框 */
- public static CreateYesMsg(content: string, yesCallback: () => void = null, enterStr: string = null, title: string = null, textAlign: "center" | "left" | "right" = null) {
- enterStr = enterStr ? enterStr : "確認";
- let data: IConfirmMessageData = {
- title: title,
- content: content,
- isShowCancel: false,
- handleConfirm: yesCallback,
- enterStr: enterStr,
- textAlign: textAlign
- };
- const { handleOpen } = modalObj;
- handleOpen(data);
- }
-
- /** 兩個按鈕的訊息框 */
- public static CreateYesNoMsg(content: string, yesCallback: () => void = null, noCallback: () => void = null, enterStr: string = null, title: string = null, cancelStr: string = null, textAlign: "center" | "left" | "right" = null) {
- enterStr = enterStr ? enterStr : "確認";
- cancelStr = cancelStr ? cancelStr : "取消";
- let data: IConfirmMessageData = {
- title: title,
- content: content,
- isShowCancel: true,
- handleConfirm: yesCallback,
- handleCancel: noCallback,
- enterStr: enterStr,
- cancelStr: cancelStr,
- textAlign: textAlign
- };
- const { handleOpen } = modalObj;
- handleOpen(data);
- }
-
- /** 網路錯誤訊息 */
- public static NetError(method: string, state: number, str: string = ""): void {
- let error = String.Format("[{0}] state:{1} {2}", method, state, str);
- console.debug("網路錯誤訊息: ", error);
- }
-}
\ No newline at end of file
diff --git a/src/Common/Message/CSMessage.tsx b/src/Common/Message/CSMessage.tsx
new file mode 100644
index 0000000..fe24b3e
--- /dev/null
+++ b/src/Common/Message/CSMessage.tsx
@@ -0,0 +1,34 @@
+import { Modal } from "antd";
+
+/** 訊息框相關 */
+export default class CSMessage {
+ /** 一個按鈕的訊息框 */
+ public static CreateYesMsg(content: string, yesCallback: (() => void) | null = null, enterStr: string | null = null, title: string | null = null, textAlign: "center" | "left" | "right" | null = null) {
+ Modal.info({
+ title: title || "訊息",
+ content: {content}
,
+ okText: enterStr || "確認",
+ onOk: yesCallback || (() => { }),
+ });
+ }
+
+ /** 兩個按鈕的訊息框 */
+ public static CreateYesNoMsg(content: string, yesCallback: (() => void) | null = null, noCallback: (() => void) | null = null, enterStr: string | null = null, title: string | null = null, cancelStr: string | null = null, textAlign: "center" | "left" | "right" | null = null) {
+ Modal.confirm({
+ title: title || "確認",
+ content: {content}
,
+ okText: enterStr || "確認",
+ cancelText: cancelStr || "取消",
+ onOk: yesCallback || (() => { }),
+ onCancel: noCallback || (() => { }),
+ });
+ }
+
+ /** 網路錯誤訊息 */
+ public static NetError(method: string, state: number, str: string = ""): void {
+ const error = String.Format("[{0}] state:{1} {2}", method, state, str);
+ console.debug("網路錯誤訊息: ", error);
+ // 同時彈出訊息
+ this.CreateYesMsg(error, null, "關閉", "網路錯誤");
+ }
+}
diff --git a/src/Common/System/SystemEventBase.ts b/src/Common/System/SystemEventBase.ts
deleted file mode 100644
index e78c9c2..0000000
--- a/src/Common/System/SystemEventBase.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import SystemEventManager from "./SystemEventManager";
-
-/** 系統事件底層 */
-export default class SystemEventBase {
- constructor() {
- SystemEventManager.AddSystem(this);
- }
-
- public get name(): string { return this.constructor.name; }
-
- /** 首次進入大廳 */
- public ImplementFirstEnteringLobby(): void { }
-
- /** 進入大廳 */
- public ImplementEnteringLobby(): void { }
-
- /** 關閉商城頁 */
- public ImplementCloseMall(): void { }
-
- /** 離開機台 */
- public ImplementLeaveSlot(slotID: number): void { }
-}
\ No newline at end of file
diff --git a/src/Common/System/SystemEventManager.ts b/src/Common/System/SystemEventManager.ts
deleted file mode 100644
index 02d5454..0000000
--- a/src/Common/System/SystemEventManager.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-import SystemEventBase from "./SystemEventBase";
-
-/** 系統事件管理 */
-export default class SystemEventManager {
- private static systems: Map = new Map();
-
- public static AddSystem(system: SystemEventBase): void {
- this.systems.set(system.name, system);
- }
-
- public static DestroySystem(system: SystemEventBase): void {
- this.systems.delete(system.name);
- }
-
- /** 首次進入大廳 */
- public static FirstEnteringLobby(): void {
- SystemEventManager.systems.forEach(system => system.ImplementFirstEnteringLobby());
- }
-
- /** 進入大廳 */
- public static EnteringLobby(): void {
- SystemEventManager.systems.forEach(system => system.ImplementEnteringLobby());
- }
-
- /** 關閉商城頁 */
- public static CloseMall(): void {
- SystemEventManager.systems.forEach(system => system.ImplementCloseMall());
- }
-
- /** 離開機台 */
- public static LeaveSlot(slotID: number): void {
- SystemEventManager.systems.forEach(system => system.ImplementLeaveSlot(slotID));
- }
-}
diff --git a/src/Engine/CatanEngine/CSharp/String.ts b/src/Engine/CatanEngine/CSharp/String.ts
new file mode 100644
index 0000000..ad83796
--- /dev/null
+++ b/src/Engine/CatanEngine/CSharp/String.ts
@@ -0,0 +1,16 @@
+interface StringConstructor {
+ IsNullOrEmpty: (value: string) => boolean;
+ Format: (format: string, ...args: any[]) => string;
+}
+
+String.IsNullOrEmpty = function (value: string): boolean {
+ return value === undefined || value === null || value.trim() === '';
+};
+
+String.Format = function (format: string, ...args: any[]): string {
+ return format.replace(/{(\d+)}/g, (match, index) => {
+ let value = args[index];
+ if (value === null || value === undefined) return '';
+ return '' + value;
+ });
+}
diff --git a/src/Engine/CatanEngine/CSharp/System/Action.ts b/src/Engine/CatanEngine/CSharp/System/Action.ts
index 3231b81..e681833 100644
--- a/src/Engine/CatanEngine/CSharp/System/Action.ts
+++ b/src/Engine/CatanEngine/CSharp/System/Action.ts
@@ -2,124 +2,124 @@
* 回呼函數: fnname (arg: TArg): void
*/
interface ActionCallback {
- (arg: TArg): void;
+ (arg: TArg): void;
}
interface Struct {
- callback: ActionCallback;
- target: any;
- once?: boolean;
+ callback: ActionCallback;
+ target: any;
+ once?: boolean;
}
export class Action {
- private _queue: Struct[] = [];
+ private _queue: Struct[] = [];
- /**
- * 監聽事件
- * @param callback 回呼函數: fnname (arg: TArg): void
- * @param bindTarget 回呼時this綁定的對象
- */
- AddCallback(callback: ActionCallback, bindTarget?: any) {
- let q = >{
- callback: callback,
- target: bindTarget
- };
- this._queue.push(q);
- }
+ /**
+ * 監聽事件
+ * @param callback 回呼函數: fnname (arg: TArg): void
+ * @param bindTarget 回呼時this綁定的對象
+ */
+ AddCallback(callback: ActionCallback, bindTarget?: any) {
+ let q = > {
+ callback: callback,
+ target: bindTarget
+ };
+ this._queue.push(q);
+ }
- /**
- * 監聽事件 (一次性)
- * @param callback 回呼函數: fnname (arg: TArg): void
- * @param bindTarget 回呼時this綁定的對象
- */
- AddCallbackOnce(callback: ActionCallback, bindTarget?: any) {
- let q = >{
- callback: callback,
- target: bindTarget,
- once: true
- };
- this._queue.push(q);
- }
+ /**
+ * 監聽事件 (一次性)
+ * @param callback 回呼函數: fnname (arg: TArg): void
+ * @param bindTarget 回呼時this綁定的對象
+ */
+ AddCallbackOnce(callback: ActionCallback, bindTarget?: any) {
+ let q = > {
+ callback: callback,
+ target: bindTarget,
+ once: true
+ };
+ this._queue.push(q);
+ }
- /**
- * 移除事件
- * @param callback
- */
- RemoveByCallback(callback: ActionCallback) {
- let index = this._queue.length;
- if (index > 0) {
- while (index--) {
- let q = this._queue[index];
- if (!q.callback || q.callback === callback) {
- q.callback = undefined;
- this._queue.splice(index, 1);
- }
- }
- }
- }
+ /**
+ * 移除事件
+ * @param callback
+ */
+ RemoveByCallback(callback: ActionCallback) {
+ let index = this._queue.length;
+ if (index > 0) {
+ while (index--) {
+ let q = this._queue[index];
+ if (!q.callback || q.callback === callback) {
+ q.callback = undefined;
+ this._queue.splice(index, 1);
+ }
+ }
+ }
+ }
+
+ /**
+ * 移除事件
+ * @param bindTarget 回呼時this綁定的對象
+ */
+ RemoveByBindTarget(bindTarget: any) {
+ let index = this._queue.length;
+ if (index > 0) {
+ while (index--) {
+ let q = this._queue[index];
+ if (!q.callback || q.target === bindTarget) {
+ q.callback = undefined;
+ this._queue.splice(index, 1);
+ }
+ }
+ }
+ }
- /**
- * 移除事件
- * @param bindTarget 回呼時this綁定的對象
- */
- RemoveByBindTarget(bindTarget: any) {
- let index = this._queue.length;
- if (index > 0) {
- while (index--) {
- let q = this._queue[index];
- if (!q.callback || q.target === bindTarget) {
- q.callback = undefined;
- this._queue.splice(index, 1);
- }
- }
- }
- }
+ /**
+ * 移除全部事件
+ */
+ RemoveAllCallbacks() {
+ this._queue.forEach(q => q.callback = undefined);
+ this._queue.length = 0;
+ }
- /**
- * 移除全部事件
- */
- RemoveAllCallbacks() {
- this._queue.forEach(q => q.callback = undefined);
- this._queue.length = 0;
- }
+ /**
+ * 發送事件
+ * @param arg 參數
+ */
+ DispatchCallback(arg: TArg) {
+ let index = this._queue.length;
+ if (index > 0) {
+ let cleanRemoved = false;
+ this._queue.slice().forEach(q => {
+ if (!q.callback) {
+ cleanRemoved = true;
+ return;
+ }
- /**
- * 發送事件
- * @param arg 參數
- */
- DispatchCallback(arg: TArg) {
- let index = this._queue.length;
- if (index > 0) {
- let cleanRemoved = false;
- this._queue.slice().forEach(q => {
- if (!q.callback) {
- cleanRemoved = true;
- return;
- }
+ if (q.target) {
+ q.callback.call(q.target, arg);
+ } else {
+ q.callback(arg);
+ }
- if (q.target) {
- q.callback.call(q.target, arg);
- } else {
- q.callback(arg);
- }
+ if (q.once) {
+ q.callback = undefined;
+ cleanRemoved = true;
+ }
+ });
- if (q.once) {
- q.callback = undefined;
- cleanRemoved = true;
- }
- });
-
- if (cleanRemoved) {
- index = this._queue.length;
- if (index > 0) {
- while (index--) {
- let q = this._queue[index];
- if (!q.callback) {
- this._queue.splice(index, 1);
- }
- }
- }
- }
- }
- }
+ if (cleanRemoved) {
+ index = this._queue.length;
+ if (index > 0) {
+ while (index--) {
+ let q = this._queue[index];
+ if (!q.callback) {
+ this._queue.splice(index, 1);
+ }
+ }
+ }
+ }
+ }
+ }
}
diff --git a/src/Engine/CatanEngine/CSharp/System/ActionWithType.ts b/src/Engine/CatanEngine/CSharp/System/ActionWithType.ts
index 6a0ae28..1a078ee 100644
--- a/src/Engine/CatanEngine/CSharp/System/ActionWithType.ts
+++ b/src/Engine/CatanEngine/CSharp/System/ActionWithType.ts
@@ -2,164 +2,165 @@
* 回呼函數: fnname (arg: TArg): void
*/
interface ActionCallback {
- (arg: TArg): void;
+ (arg: TArg): void;
}
interface Struct {
- callback: ActionCallback;
- target: any;
- type: TType;
- once?: boolean;
+ callback: ActionCallback;
+ target: any;
+ type: TType;
+ once?: boolean;
}
export class ActionWithType {
- private _queue: Struct[] = [];
+ private _queue: Struct[] = [];
- /**
- * 監聽事件
- * @param callback 回呼函數: fnname (arg: TArg): void
- * @param bindTarget 回呼時this綁定的對象
- */
- AddCallback(type: TType, callback: ActionCallback, bindTarget?: any) {
- let q = >{
- callback: callback,
- target: bindTarget,
- type: type
- };
- this._queue.push(q);
- }
+ /**
+ * 監聽事件
+ * @param callback 回呼函數: fnname (arg: TArg): void
+ * @param bindTarget 回呼時this綁定的對象
+ */
+ AddCallback(type: TType, callback: ActionCallback, bindTarget?: any) {
+ let q = > {
+ callback: callback,
+ target: bindTarget,
+ type: type
+ };
+ this._queue.push(q);
+ }
- /**
- * 監聽事件 (一次性)
- * @param callback 回呼函數: fnname (arg: TArg): void
- * @param bindTarget 回呼時this綁定的對象
- */
- AddCallbackOnce(type: TType, callback: ActionCallback, bindTarget?: any) {
- let q = >{
- callback: callback,
- target: bindTarget,
- type: type,
- once: true
- };
- this._queue.push(q);
- }
+ /**
+ * 監聽事件 (一次性)
+ * @param callback 回呼函數: fnname (arg: TArg): void
+ * @param bindTarget 回呼時this綁定的對象
+ */
+ AddCallbackOnce(type: TType, callback: ActionCallback, bindTarget?: any) {
+ let q = > {
+ callback: callback,
+ target: bindTarget,
+ type: type,
+ once: true
+ };
+ this._queue.push(q);
+ }
- /**
- * 移除事件
- * @param callback
- */
- RemoveByCallback(callback: ActionCallback) {
- let index = this._queue.length;
- if (index > 0) {
- while (index--) {
- let q = this._queue[index];
- if (!q.callback || q.callback === callback) {
- q.callback = undefined;
- this._queue.splice(index, 1);
- }
- }
- }
- }
+ /**
+ * 移除事件
+ * @param callback
+ */
+ RemoveByCallback(callback: ActionCallback) {
+ let index = this._queue.length;
+ if (index > 0) {
+ while (index--) {
+ let q = this._queue[index];
+ if (!q.callback || q.callback === callback) {
+ q.callback = undefined;
+ this._queue.splice(index, 1);
+ }
+ }
+ }
+ }
+
+ /**
+ * 移除事件
+ * @param bindTarget 回呼時this綁定的對象
+ */
+ RemoveByBindTarget(bindTarget: any) {
+ let index = this._queue.length;
+ if (index > 0) {
+ while (index--) {
+ let q = this._queue[index];
+ if (!q.callback || q.target === bindTarget) {
+ q.callback = undefined;
+ this._queue.splice(index, 1);
+ }
+ }
+ }
+ }
+
+ /**
+ * 移除事件
+ * @param type 事件類型
+ */
+ RemoveByType(type: TType) {
+ let index = this._queue.length;
+ if (index > 0) {
+ while (index--) {
+ let q = this._queue[index];
+ if (!q.callback || q.type === type) {
+ q.callback = undefined;
+ this._queue.splice(index, 1);
+ }
+ }
+ }
+ }
- /**
- * 移除事件
- * @param bindTarget 回呼時this綁定的對象
- */
- RemoveByBindTarget(bindTarget: any) {
- let index = this._queue.length;
- if (index > 0) {
- while (index--) {
- let q = this._queue[index];
- if (!q.callback || q.target === bindTarget) {
- q.callback = undefined;
- this._queue.splice(index, 1);
- }
- }
- }
- }
+ /**
+ * 移除事件
+ * @param type 事件類型
+ * @param callback
+ */
+ RemoveCallback(type:TType, callback: ActionCallback) {
+ let index = this._queue.length;
+ if (index > 0) {
+ while (index--) {
+ let q = this._queue[index];
+ if (!q.callback || (q.type === type && q.callback === callback)) {
+ q.callback = undefined;
+ this._queue.splice(index, 1);
+ }
+ }
+ }
+ }
- /**
- * 移除事件
- * @param type 事件類型
- */
- RemoveByType(type: TType) {
- let index = this._queue.length;
- if (index > 0) {
- while (index--) {
- let q = this._queue[index];
- if (!q.callback || q.type === type) {
- q.callback = undefined;
- this._queue.splice(index, 1);
- }
- }
- }
- }
+ /**
+ * 移除全部事件
+ */
+ RemoveAllCallbacks() {
+ this._queue.forEach(q => q.callback = undefined);
+ this._queue.length = 0;
+ }
- /**
- * 移除事件
- * @param type 事件類型
- * @param callback
- */
- RemoveCallback(type: TType, callback: ActionCallback) {
- let index = this._queue.length;
- if (index > 0) {
- while (index--) {
- let q = this._queue[index];
- if (!q.callback || (q.type === type && q.callback === callback)) {
- q.callback = undefined;
- this._queue.splice(index, 1);
- }
- }
- }
- }
+ /**
+ * 發送事件
+ * @param type 事件類型
+ * @param arg 參數
+ */
+ DispatchCallback(type: TType, arg: TArg) {
+ let index = this._queue.length;
+ if (index > 0) {
+ let cleanRemoved = false;
+ this._queue.slice().forEach(q => {
+ if (!q.callback)
+ {
+ cleanRemoved = true;
+ return;
+ }
+ if (q.type !== type) return;
- /**
- * 移除全部事件
- */
- RemoveAllCallbacks() {
- this._queue.forEach(q => q.callback = undefined);
- this._queue.length = 0;
- }
+ if (q.target) {
+ q.callback.call(q.target, arg);
+ } else {
+ q.callback(arg);
+ }
+
+ if (q.once) {
+ q.callback = undefined;
+ cleanRemoved = true;
+ }
+ });
- /**
- * 發送事件
- * @param type 事件類型
- * @param arg 參數
- */
- DispatchCallback(type: TType, arg: TArg) {
- let index = this._queue.length;
- if (index > 0) {
- let cleanRemoved = false;
- this._queue.slice().forEach(q => {
- if (!q.callback) {
- cleanRemoved = true;
- return;
- }
- if (q.type !== type) return;
-
- if (q.target) {
- q.callback.call(q.target, arg);
- } else {
- q.callback(arg);
- }
-
- if (q.once) {
- q.callback = undefined;
- cleanRemoved = true;
- }
- });
-
- if (cleanRemoved) {
- index = this._queue.length;
- if (index > 0) {
- while (index--) {
- let q = this._queue[index];
- if (!q.callback) {
- this._queue.splice(index, 1);
- }
- }
- }
- }
- }
- }
+ if (cleanRemoved) {
+ index = this._queue.length;
+ if (index > 0) {
+ while (index--) {
+ let q = this._queue[index];
+ if (!q.callback) {
+ this._queue.splice(index, 1);
+ }
+ }
+ }
+ }
+ }
+ }
}
diff --git a/src/Engine/CatanEngine/CSharp/System/ActionWithType2.ts b/src/Engine/CatanEngine/CSharp/System/ActionWithType2.ts
index 24c19db..33e8c75 100644
--- a/src/Engine/CatanEngine/CSharp/System/ActionWithType2.ts
+++ b/src/Engine/CatanEngine/CSharp/System/ActionWithType2.ts
@@ -2,164 +2,165 @@
* 回呼函數: fnname (type: TType, arg: TArg): void
*/
interface ActionCallback {
- (type: TType, arg: TArg): void;
+ (type: TType, arg: TArg): void;
}
interface Struct {
- callback: ActionCallback;
- target: any;
- type: TType;
- once?: boolean;
+ callback: ActionCallback;
+ target: any;
+ type: TType;
+ once?: boolean;
}
export class ActionWithType2 {
- private _queue: Struct[] = [];
+ private _queue: Struct[] = [];
- /**
- * 監聽事件
- * @param callback 回呼函數: fnname (type: TType, arg: TArg): void
- * @param bindTarget 回呼時this綁定的對象
- */
- AddCallback(type: TType, callback: ActionCallback, bindTarget?: any) {
- let q = >{
- callback: callback,
- target: bindTarget,
- type: type
- };
- this._queue.push(q);
- }
+ /**
+ * 監聽事件
+ * @param callback 回呼函數: fnname (type: TType, arg: TArg): void
+ * @param bindTarget 回呼時this綁定的對象
+ */
+ AddCallback(type: TType, callback: ActionCallback, bindTarget?: any) {
+ let q = > {
+ callback: callback,
+ target: bindTarget,
+ type: type
+ };
+ this._queue.push(q);
+ }
- /**
- * 監聽事件 (一次性)
- * @param callback 回呼函數: fnname (type: TType, arg: TArg): void
- * @param bindTarget 回呼時this綁定的對象
- */
- AddCallbackOnce(type: TType, callback: ActionCallback, bindTarget?: any) {
- let q = >{
- callback: callback,
- target: bindTarget,
- type: type,
- once: true
- };
- this._queue.push(q);
- }
+ /**
+ * 監聽事件 (一次性)
+ * @param callback 回呼函數: fnname (type: TType, arg: TArg): void
+ * @param bindTarget 回呼時this綁定的對象
+ */
+ AddCallbackOnce(type: TType, callback: ActionCallback, bindTarget?: any) {
+ let q = > {
+ callback: callback,
+ target: bindTarget,
+ type: type,
+ once: true
+ };
+ this._queue.push(q);
+ }
- /**
- * 移除事件
- * @param callback
- */
- RemoveByCallback(callback: ActionCallback) {
- let index = this._queue.length;
- if (index > 0) {
- while (index--) {
- let q = this._queue[index];
- if (!q.callback || q.callback === callback) {
- q.callback = undefined;
- this._queue.splice(index, 1);
- }
- }
- }
- }
+ /**
+ * 移除事件
+ * @param callback
+ */
+ RemoveByCallback(callback: ActionCallback) {
+ let index = this._queue.length;
+ if (index > 0) {
+ while (index--) {
+ let q = this._queue[index];
+ if (!q.callback || q.callback === callback) {
+ q.callback = undefined;
+ this._queue.splice(index, 1);
+ }
+ }
+ }
+ }
+
+ /**
+ * 移除事件
+ * @param bindTarget 回呼時this綁定的對象
+ */
+ RemoveByBindTarget(bindTarget: any) {
+ let index = this._queue.length;
+ if (index > 0) {
+ while (index--) {
+ let q = this._queue[index];
+ if (!q.callback || q.target === bindTarget) {
+ q.callback = undefined;
+ this._queue.splice(index, 1);
+ }
+ }
+ }
+ }
+
+ /**
+ * 移除事件
+ * @param type 事件類型
+ */
+ RemoveByType(type: TType) {
+ let index = this._queue.length;
+ if (index > 0) {
+ while (index--) {
+ let q = this._queue[index];
+ if (!q.callback || q.type === type) {
+ q.callback = undefined;
+ this._queue.splice(index, 1);
+ }
+ }
+ }
+ }
- /**
- * 移除事件
- * @param bindTarget 回呼時this綁定的對象
- */
- RemoveByBindTarget(bindTarget: any) {
- let index = this._queue.length;
- if (index > 0) {
- while (index--) {
- let q = this._queue[index];
- if (!q.callback || q.target === bindTarget) {
- q.callback = undefined;
- this._queue.splice(index, 1);
- }
- }
- }
- }
+ /**
+ * 移除事件
+ * @param type 事件類型
+ * @param callback
+ */
+ RemoveCallback(type:TType, callback: ActionCallback) {
+ let index = this._queue.length;
+ if (index > 0) {
+ while (index--) {
+ let q = this._queue[index];
+ if (!q.callback || (q.type === type && q.callback === callback)) {
+ q.callback = undefined;
+ this._queue.splice(index, 1);
+ }
+ }
+ }
+ }
- /**
- * 移除事件
- * @param type 事件類型
- */
- RemoveByType(type: TType) {
- let index = this._queue.length;
- if (index > 0) {
- while (index--) {
- let q = this._queue[index];
- if (!q.callback || q.type === type) {
- q.callback = undefined;
- this._queue.splice(index, 1);
- }
- }
- }
- }
+ /**
+ * 移除全部事件
+ */
+ RemoveAllCallbacks() {
+ this._queue.forEach(q => q.callback = undefined);
+ this._queue.length = 0;
+ }
- /**
- * 移除事件
- * @param type 事件類型
- * @param callback
- */
- RemoveCallback(type: TType, callback: ActionCallback) {
- let index = this._queue.length;
- if (index > 0) {
- while (index--) {
- let q = this._queue[index];
- if (!q.callback || (q.type === type && q.callback === callback)) {
- q.callback = undefined;
- this._queue.splice(index, 1);
- }
- }
- }
- }
+ /**
+ * 發送事件
+ * @param type 事件類型
+ * @param arg 參數
+ */
+ DispatchCallback(type: TType, arg: TArg) {
+ let index = this._queue.length;
+ if (index > 0) {
+ let cleanRemoved = false;
+ this._queue.slice().forEach(q => {
+ if (!q.callback)
+ {
+ cleanRemoved = true;
+ return;
+ }
+ if (q.type !== type) return;
- /**
- * 移除全部事件
- */
- RemoveAllCallbacks() {
- this._queue.forEach(q => q.callback = undefined);
- this._queue.length = 0;
- }
+ if (q.target) {
+ q.callback.call(q.target, type, arg);
+ } else {
+ q.callback(type, arg);
+ }
+
+ if (q.once) {
+ q.callback = undefined;
+ cleanRemoved = true;
+ }
+ });
- /**
- * 發送事件
- * @param type 事件類型
- * @param arg 參數
- */
- DispatchCallback(type: TType, arg: TArg) {
- let index = this._queue.length;
- if (index > 0) {
- let cleanRemoved = false;
- this._queue.slice().forEach(q => {
- if (!q.callback) {
- cleanRemoved = true;
- return;
- }
- if (q.type !== type) return;
-
- if (q.target) {
- q.callback.call(q.target, type, arg);
- } else {
- q.callback(type, arg);
- }
-
- if (q.once) {
- q.callback = undefined;
- cleanRemoved = true;
- }
- });
-
- if (cleanRemoved) {
- index = this._queue.length;
- if (index > 0) {
- while (index--) {
- let q = this._queue[index];
- if (!q.callback) {
- this._queue.splice(index, 1);
- }
- }
- }
- }
- }
- }
+ if (cleanRemoved) {
+ index = this._queue.length;
+ if (index > 0) {
+ while (index--) {
+ let q = this._queue[index];
+ if (!q.callback) {
+ this._queue.splice(index, 1);
+ }
+ }
+ }
+ }
+ }
+ }
}
diff --git a/src/Engine/CatanEngine/CSharp/System/Text/Encoding.ts b/src/Engine/CatanEngine/CSharp/System/Text/Encoding.ts
index 37ae6c1..25f60ed 100644
--- a/src/Engine/CatanEngine/CSharp/System/Text/Encoding.ts
+++ b/src/Engine/CatanEngine/CSharp/System/Text/Encoding.ts
@@ -46,30 +46,61 @@ export module Encoding.UTF8 {
}
export function GetString(array: Uint8Array) {
- let str = "";
- let i = 0, len = array.length;
- while (i < len) {
- let c = array[i++];
- switch (c >> 4) {
- case 0:
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- str += String.fromCharCode(c);
- break;
- case 12:
- case 13:
- str += String.fromCharCode(((c & 0x1F) << 6) | (array[i++] & 0x3F));
- break;
- case 14:
- str += String.fromCharCode(((c & 0x0F) << 12) | ((array[i++] & 0x3F) << 6) | ((array[i++] & 0x3F) << 0));
- break;
- }
+ var charCache = new Array(128);
+ var codePt, byte1;
+ var result = [];
+ var buffLen = array.length;
+ var charFromCodePt = String.fromCodePoint || String.fromCharCode;
+ for (var i = 0; i < buffLen;) {
+ byte1 = array[i++];
+
+ if (byte1 <= 0x7F) {
+ codePt = byte1;
+ } else if (byte1 <= 0xDF) {
+ codePt = ((byte1 & 0x1F) << 6) | (array[i++] & 0x3F);
+ } else if (byte1 <= 0xEF) {
+ codePt = ((byte1 & 0x0F) << 12) | ((array[i++] & 0x3F) << 6) | (array[i++] & 0x3F);
+ } else if (String.fromCodePoint) {
+ codePt = ((byte1 & 0x07) << 18) | ((array[i++] & 0x3F) << 12) | ((array[i++] & 0x3F) << 6) | (array[i++] & 0x3F);
+ } else {
+ codePt = 63; // Cannot convert four byte code points, so use "?" instead
+ i += 3;
+ }
+ result.push(charCache[codePt] || (charCache[codePt] = charFromCodePt(codePt)));
+ }
+ return result.join('');
+ }
+
+ /**
+ * 是否非中英文
+ * @param {string} msg 訊息
+ */
+ export function IsNotChineseOrEnglish(str: string): boolean {
+ var regExp: RegExp = /^[\u3105-\u312c\u4e00-\u9fff\uff10-\uff19\uFF21-\uFF3AA-Za-z0-9_]+$/;
+ if (str.match(regExp)) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ export function b64EncodeUnicode(str) {
+ return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function (match, p1) {
+ //@ts-ignore
+ return String.fromCharCode('0x' + p1);
+ }));
+ }
+ export function b64DecodeUnicode(str) {
+ return decodeURIComponent(atob(str).split('').map(function (c) {
+ return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
+ }).join(''));
+ }
+ export function isBase64(str) {
+ if (str === '' || str.trim() === '') { return false; }
+ try {
+ return btoa(atob(str)) == str;
+ } catch (err) {
+ return false;
}
- return str;
}
}
\ No newline at end of file
diff --git a/src/Engine/CatanEngine/CSharp/System/Text/Encoding.ts.meta b/src/Engine/CatanEngine/CSharp/System/Text/Encoding.ts.meta
deleted file mode 100644
index 5dd8375..0000000
--- a/src/Engine/CatanEngine/CSharp/System/Text/Encoding.ts.meta
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "ver": "1.1.0",
- "uuid": "43bf5724-e939-4189-b981-c32ef694e5a5",
- "importer": "typescript",
- "isPlugin": false,
- "loadPluginInWeb": true,
- "loadPluginInNative": true,
- "loadPluginInEditor": false,
- "subMetas": {}
-}
\ No newline at end of file
diff --git a/src/Engine/CatanEngine/CoroutineV2/CancellationTokenSource.ts b/src/Engine/CatanEngine/CoroutineV2/CancellationTokenSource.ts
index ef9ec11..6b264b9 100644
--- a/src/Engine/CatanEngine/CoroutineV2/CancellationTokenSource.ts
+++ b/src/Engine/CatanEngine/CoroutineV2/CancellationTokenSource.ts
@@ -1,44 +1,43 @@
const CANCEL = Symbol();
export interface CancellationToken {
- readonly IsCancellationRequested: boolean;
-
- ThrowIfCancellationRequested(): void;
+ readonly IsCancellationRequested: boolean;
+ ThrowIfCancellationRequested(): void;
}
export class CancellationTokenSource {
- readonly Token: CancellationToken;
+ readonly Token: CancellationToken;
- constructor() {
- this.Token = new CancellationTokenImpl();
- }
+ constructor() {
+ this.Token = new CancellationTokenImpl();
+ }
- Cancel() {
- this.Token[CANCEL]();
- }
+ Cancel() {
+ this.Token[CANCEL]();
+ }
}
export class TaskCancelledException extends Error {
- constructor() {
- super("Task Cancelled");
- Reflect.setPrototypeOf(this, TaskCancelledException.prototype);
- }
+ constructor() {
+ super("Task Cancelled");
+ Reflect.setPrototypeOf(this, TaskCancelledException.prototype);
+ }
}
class CancellationTokenImpl implements CancellationToken {
- IsCancellationRequested: boolean;
+ IsCancellationRequested: boolean;
- constructor() {
- this.IsCancellationRequested = false;
- }
+ constructor() {
+ this.IsCancellationRequested = false;
+ }
- ThrowIfCancellationRequested() {
- if (this.IsCancellationRequested) {
- throw new TaskCancelledException();
- }
- }
+ ThrowIfCancellationRequested() {
+ if (this.IsCancellationRequested) {
+ throw new TaskCancelledException();
+ }
+ }
- [CANCEL]() {
- this.IsCancellationRequested = true;
- }
+ [CANCEL]() {
+ this.IsCancellationRequested = true;
+ }
}
diff --git a/src/Engine/CatanEngine/CoroutineV2/Core/ActionEnumerator.ts b/src/Engine/CatanEngine/CoroutineV2/Core/ActionEnumerator.ts
index 0ee257f..ddd1dae 100644
--- a/src/Engine/CatanEngine/CoroutineV2/Core/ActionEnumerator.ts
+++ b/src/Engine/CatanEngine/CoroutineV2/Core/ActionEnumerator.ts
@@ -1,17 +1,17 @@
import { BaseEnumerator } from "./BaseEnumerator";
export class ActionEnumerator extends BaseEnumerator {
- private _action: Function;
+ private _action: Function;
- constructor(action: Function) {
- super();
- this._action = action;
- }
+ constructor(action: Function) {
+ super();
+ this._action = action;
+ }
- next(value?: any): IteratorResult {
- if (this._action) {
- this._action();
- }
- return { done: true, value: undefined };
- }
+ next(value?: any): IteratorResult {
+ if (this._action) {
+ this._action();
+ }
+ return { done: true, value: undefined };
+ }
}
diff --git a/src/Engine/CatanEngine/CoroutineV2/Core/BaseEnumerator.ts b/src/Engine/CatanEngine/CoroutineV2/Core/BaseEnumerator.ts
index 75c0840..1dce314 100644
--- a/src/Engine/CatanEngine/CoroutineV2/Core/BaseEnumerator.ts
+++ b/src/Engine/CatanEngine/CoroutineV2/Core/BaseEnumerator.ts
@@ -7,15 +7,6 @@ let ParallelEnumeratorClass: typeof import("./ParallelEnumerator").ParallelEnume
let WaitTimeEnumeratorClass: typeof import("./WaitTimeEnumerator").WaitTimeEnumerator = null;
let ActionEnumeratorClass: typeof import("./ActionEnumerator").ActionEnumerator = null;
-/**
- * 使用前初始場景第一個事件一定要先Init過
- * @example
- * 而且不能同時間有其他onLoad在跑,放start可以
- * @example
- * protected async onLoad(): Promise {
- * await BaseEnumerator.Init();
- * }
- */
export abstract class BaseEnumerator implements IEnumeratorV2 {
public nextEnumerator: BaseEnumerator;
@@ -51,9 +42,7 @@ export abstract class BaseEnumerator implements IEnumeratorV2 {
}
Then(iterator: Iterator): IEnumeratorV2 {
- if (!iterator) {
- return this;
- }
+ if (!iterator) return this;
if (iterator instanceof BaseEnumerator) {
BaseEnumerator.getLastEnumerator(this).nextEnumerator = iterator;
@@ -106,32 +95,22 @@ export abstract class BaseEnumerator implements IEnumeratorV2 {
module LazyLoad {
export function EnumeratorExecutor(enumerator: BaseEnumerator, target: any) {
- let newclass = new EnumeratorExecutorClass(enumerator, target);
- return newclass;
- // return new (require("./EnumeratorExecutor") as typeof import("./EnumeratorExecutor")).EnumeratorExecutor(enumerator, target);
+ return new EnumeratorExecutorClass(enumerator, target);
}
export function SingleEnumerator(iterator: Iterator) {
- let newclass: any = new SingleEnumeratorClass(iterator);
- return newclass;
- // return new (require("./SingleEnumerator") as typeof import("./SingleEnumerator")).SingleEnumerator(iterator);
+ return new SingleEnumeratorClass(iterator);
}
export function ParallelEnumerator(...iterators: Iterator[]) {
- let newclass: any = new ParallelEnumeratorClass(iterators);
- return newclass;
- // return new (require("./ParallelEnumerator") as typeof import("./ParallelEnumerator")).ParallelEnumerator(iterators);
+ return new ParallelEnumeratorClass(iterators);
}
export function WaitTimeEnumerator(seconds: number) {
- let newclass: any = new WaitTimeEnumeratorClass(seconds);
- return newclass;
- // return new (require("./WaitTimeEnumerator") as typeof import("./WaitTimeEnumerator")).WaitTimeEnumerator(seconds);
+ return new WaitTimeEnumeratorClass(seconds);
}
export function ActionEnumerator(action: Function) {
- let newclass: any = new ActionEnumeratorClass(action);
- return newclass;
- // return new (require("./ActionEnumerator") as typeof import("./ActionEnumerator")).ActionEnumerator(action);
+ return new ActionEnumeratorClass(action);
}
}
\ No newline at end of file
diff --git a/src/Engine/CatanEngine/CoroutineV2/Core/CoroutineExecutor.ts b/src/Engine/CatanEngine/CoroutineV2/Core/CoroutineExecutor.ts
index cbfdd4c..7736595 100644
--- a/src/Engine/CatanEngine/CoroutineV2/Core/CoroutineExecutor.ts
+++ b/src/Engine/CatanEngine/CoroutineV2/Core/CoroutineExecutor.ts
@@ -10,24 +10,23 @@ export class CoroutineExecutor {
private _nextExecutors: EnumeratorExecutor[] = [];
private _isRunning: boolean = false;
private _cleanRemoved: boolean = false;
- private _scheduler: NodeJS.Timeout = null;
+ private _scheduler: number;
private _time: number = 0;
constructor() {
this._time = new Date().getTime();
- console.debug("[CoroutineV2] Coroutines Start");
+ // console.debug("[CoroutineV2] Coroutines Start");
this._scheduler = setInterval(this.update.bind(this), 1 / 60);
}
StartCoroutine(executor: EnumeratorExecutor) {
executor.next(0);
- // TODO: 這邊要考量next後馬上接BaseEnumerator/Iterator的情形
+ //TODO: 這邊要考量next後馬上接BaseEnumerator/Iterator的情形
if (!this._isRunning) {
this._executors.push(executor);
-
if (!this._scheduler) {
- console.debug("[CoroutineV2] Coroutines Start");
+ // console.debug("[CoroutineV2] Coroutines Start");
this._time = new Date().getTime();
this._scheduler = setInterval(this.update.bind(this), 1 / 60);
} else {
@@ -54,9 +53,9 @@ export class CoroutineExecutor {
}
}
- update() {
+ update(delta: number) {
const time: number = new Date().getTime();
- const delta: number = (time - this._time) / 1000;
+ delta = (time - this._time) / 1000;
this._time = time;
if (this._nextExecutors.length) {
this._executors.push(...this._nextExecutors);
@@ -78,7 +77,7 @@ export class CoroutineExecutor {
}
if (this._executors.length == 0) {
- console.debug("[CoroutineV2] All Coroutines Done");
+ cc.log("[CoroutineV2] All Coroutines Done");
clearInterval(this._scheduler);
this._scheduler = null;
return;
diff --git a/src/Engine/CatanEngine/CoroutineV2/Core/EnumeratorExecutor.ts b/src/Engine/CatanEngine/CoroutineV2/Core/EnumeratorExecutor.ts
index 5ebe234..2506711 100644
--- a/src/Engine/CatanEngine/CoroutineV2/Core/EnumeratorExecutor.ts
+++ b/src/Engine/CatanEngine/CoroutineV2/Core/EnumeratorExecutor.ts
@@ -3,165 +3,167 @@ import { BaseEnumerator } from "./BaseEnumerator";
import { SingleEnumerator } from "./SingleEnumerator";
export class EnumeratorExecutor implements IEnumeratorV2Started {
- public Current: any;
+ public Current: any;
- public target: any;
- public pauseFlag: boolean;
- public doneFlag: boolean;
- public childFlag: boolean;
- public asyncFlag: boolean;
- public error: any;
+ public target: any;
+ public pauseFlag: boolean;
+ public doneFlag: boolean;
+ public childFlag: boolean;
+ public asyncFlag: boolean;
+ public error: any;
- private _executor: EnumeratorExecutor;
- private _enumerator: BaseEnumerator;
+ private _executor: EnumeratorExecutor;
+ private _enumerator: BaseEnumerator;
- constructor(enumerator: BaseEnumerator, target: any) {
- this.target = target;
- this._enumerator = enumerator;
- }
+ constructor(enumerator: BaseEnumerator, target: any) {
+ this.target = target;
+ this._enumerator = enumerator;
+ }
- next(delta?: any): IteratorResult {
- if (this._executor && this._executor.doneFlag) {
- this._executor = null;
- }
+ next(delta?: any): IteratorResult {
+ if (this._executor && this._executor.doneFlag) {
+ this._executor = null;
+ }
- if (this.doneFlag || (!this._enumerator && !this._executor)) {
- this.doneFlag = true;
- return { done: true, value: undefined };
- }
+ if (this.doneFlag || (!this._enumerator && !this._executor)) {
+ this.doneFlag = true;
+ return { done: true, value: undefined };
+ }
- if (this.asyncFlag || this.pauseFlag) return { done: false, value: undefined };
+ if (this.asyncFlag || this.pauseFlag) return { done: false, value: undefined };
- let result: IteratorResult;
+ let result: IteratorResult;
- if (this._executor) {
- result = this._executor.next(delta);
- this.Current = this._executor.Current;
- if (this._executor.doneFlag) {
- this._executor = null;
- } else {
- result.done = false;
- return result;
- }
- }
+ if (this._executor) {
+ result = this._executor.next(delta);
+ this.Current = this._executor.Current;
+ if (this._executor.doneFlag) {
+ this._executor = null;
+ } else {
+ result.done = false;
+ return result;
+ }
+ }
+
+ if (!this._enumerator) {
+ this.doneFlag = true;
+ return { done: true, value: undefined };
+ }
- if (!this._enumerator) {
- this.doneFlag = true;
- return { done: true, value: undefined };
- }
+ try {
+ result = this._enumerator.next(delta);
+ let value = result.value;
+ let done = result.done;
- try {
- result = this._enumerator.next(delta);
- let value = result.value;
- let done = result.done;
+ if (value) {
+ // Iterator
+ if (typeof value[Symbol.iterator] === 'function') {
+ value = new SingleEnumerator(>value);
+ }
- if (value) {
- // Iterator
- if (typeof value[Symbol.iterator] === "function") {
- value = new SingleEnumerator(>value);
- }
+ if (value instanceof BaseEnumerator) {
+ if (!done) {
+ BaseEnumerator.getLastEnumerator(value).nextEnumerator = this._enumerator;
+ }
+ this._enumerator = value;
+ result = this._enumerator.next(delta);
+ value = result.value;
+ done = result.done;
+
+ if (value) {
+ // Iterator again
+ if (typeof value[Symbol.iterator] === 'function') {
+ value = new SingleEnumerator(>value);
+ }
+
+ if (value instanceof BaseEnumerator) {
+ if (!done) {
+ BaseEnumerator.getLastEnumerator(value).nextEnumerator = this._enumerator;
+ }
+ this._enumerator = value;
+ result.done = false;
+ done = false;
+ }
+ }
+ }
+
+ if (value instanceof EnumeratorExecutor) {
+ if (done) {
+ this._enumerator = this._enumerator.nextEnumerator;
+ }
+ value.childFlag = true;
+ result.done = false;
+ done = false;
+ this._executor = value;
+ } else if (Promise.resolve(value) === value) {
+ this.asyncFlag = true;
+ result.done = false;
+ done = false;
+ (>value)
+ .then(v => {
+ this.asyncFlag = false;
+ this.Current = v;
+ if (done) {
+ this._enumerator = this._enumerator.nextEnumerator;
+ }
+ })
+ .catch(e => {
+ this.asyncFlag = false;
+ this.doneFlag = true;
+ this._enumerator = null;
+ this.error = e;
+ if (e instanceof Error) {
+ cc.error(e.stack);
+ } else {
+ cc.error(`Error: ${JSON.stringify(e)}`);
+ }
+ });
+ }
- if (value instanceof BaseEnumerator) {
- if (!done) {
- BaseEnumerator.getLastEnumerator(value).nextEnumerator = this._enumerator;
- }
- this._enumerator = value;
- result = this._enumerator.next(delta);
- value = result.value;
- done = result.done;
+ this.Current = value;
+ }
+
+ if (done) {
+ this._enumerator = this._enumerator.nextEnumerator;
+ if (this._enumerator) {
+ result.done = false;
+ }
+ }
+ }
+ catch (e)
+ {
+ this.doneFlag = true;
+ this.error = e;
+ if (e instanceof Error) {
+ cc.error(e.stack);
+ } else {
+ cc.error(`Error: ${JSON.stringify(e)}`);
+ }
+ result = { done: true, value: e };
+ }
- if (value) {
- // Iterator again
- if (typeof value[Symbol.iterator] === "function") {
- value = new SingleEnumerator(>value);
- }
+ return result;
+ }
- if (value instanceof BaseEnumerator) {
- if (!done) {
- BaseEnumerator.getLastEnumerator(value).nextEnumerator = this._enumerator;
- }
- this._enumerator = value;
- result.done = false;
- done = false;
- }
- }
- }
+ Stop(): void {
+ this.doneFlag = true;
+ if (this._executor) {
+ this._executor.Stop();
+ }
+ }
- if (value instanceof EnumeratorExecutor) {
- if (done) {
- this._enumerator = this._enumerator.nextEnumerator;
- }
- value.childFlag = true;
- result.done = false;
- done = false;
- this._executor = value;
- } else if (Promise.resolve(value) === value) {
- this.asyncFlag = true;
- result.done = false;
- done = false;
- (>value)
- .then(v => {
- this.asyncFlag = false;
- this.Current = v;
- if (done) {
- this._enumerator = this._enumerator.nextEnumerator;
- }
- })
- .catch(e => {
- this.asyncFlag = false;
- this.doneFlag = true;
- this._enumerator = null;
- this.error = e;
- if (e instanceof Error) {
- console.error(e.stack);
- } else {
- console.error(`Error: ${ JSON.stringify(e) }`);
- }
- });
- }
+ Pause(): void {
+ this.pauseFlag = true;
+ if (this._executor) {
+ this._executor.Pause();
+ }
+ }
- this.Current = value;
- }
-
- if (done) {
- this._enumerator = this._enumerator.nextEnumerator;
- if (this._enumerator) {
- result.done = false;
- }
- }
- } catch (e) {
- this.doneFlag = true;
- this.error = e;
- if (e instanceof Error) {
- console.error(e.stack);
- } else {
- console.error(`Error: ${ JSON.stringify(e) }`);
- }
- result = { done: true, value: e };
- }
-
- return result;
- }
-
- Stop(): void {
- this.doneFlag = true;
- if (this._executor) {
- this._executor.Stop();
- }
- }
-
- Pause(): void {
- this.pauseFlag = true;
- if (this._executor) {
- this._executor.Pause();
- }
- }
-
- Resume(): void {
- this.pauseFlag = false;
- if (this._executor) {
- this._executor.Resume();
- }
- }
+ Resume(): void {
+ this.pauseFlag = false;
+ if (this._executor) {
+ this._executor.Resume();
+ }
+ }
}
diff --git a/src/Engine/CatanEngine/CoroutineV2/Core/ParallelEnumerator.ts b/src/Engine/CatanEngine/CoroutineV2/Core/ParallelEnumerator.ts
index 43387e4..5aa146e 100644
--- a/src/Engine/CatanEngine/CoroutineV2/Core/ParallelEnumerator.ts
+++ b/src/Engine/CatanEngine/CoroutineV2/Core/ParallelEnumerator.ts
@@ -3,44 +3,44 @@ import { EnumeratorExecutor } from "./EnumeratorExecutor";
import { SingleEnumerator } from "./SingleEnumerator";
export class ParallelEnumerator extends BaseEnumerator {
- private _executors: EnumeratorExecutor[] = [];
+ private _executors: EnumeratorExecutor[] = [];
- constructor(iterators: Iterator[]) {
- super();
- if (iterators && iterators.length) {
- for (let iterator of iterators) {
- if (iterator instanceof BaseEnumerator) {
- this._executors.push(new EnumeratorExecutor(iterator, null));
- } else {
- this._executors.push(new EnumeratorExecutor(new SingleEnumerator(iterator), null));
- }
- }
- }
- }
+ constructor(iterators: Iterator[]) {
+ super();
+ if (iterators && iterators.length) {
+ for (let iterator of iterators) {
+ if (iterator instanceof BaseEnumerator) {
+ this._executors.push(new EnumeratorExecutor(iterator, null));
+ } else {
+ this._executors.push(new EnumeratorExecutor(new SingleEnumerator(iterator), null));
+ }
+ }
+ }
+ }
- next(value?: any): IteratorResult {
- if (this._executors.length) {
- // 先移除[doneFlag=true]協程
- let index = this._executors.length;
- while (index--) {
- let r = this._executors[index];
- if (r.doneFlag) {
- this._executors.splice(index, 1);
- }
- }
+ next(value?: any): IteratorResult {
+ if (this._executors.length) {
+ // 先移除[doneFlag=true]協程
+ let index = this._executors.length;
+ while (index--) {
+ let r = this._executors[index];
+ if (r.doneFlag) {
+ this._executors.splice(index, 1);
+ }
+ }
- if (this._executors.length == 0) {
- return { done: true, value: undefined };
- }
+ if (this._executors.length == 0) {
+ return { done: true, value: undefined };
+ }
- // 執行協程
- for (let r of this._executors) {
- r.next(value);
- }
+ // 執行協程
+ for (let r of this._executors) {
+ r.next(value);
+ }
- return { done: false, value: undefined };
- }
+ return { done: false, value: undefined };
+ }
- return { done: true, value: undefined };
- }
+ return { done: true, value: undefined };
+ }
}
diff --git a/src/Engine/CatanEngine/CoroutineV2/Core/SingleEnumerator.ts b/src/Engine/CatanEngine/CoroutineV2/Core/SingleEnumerator.ts
index fc51ed0..10eae34 100644
--- a/src/Engine/CatanEngine/CoroutineV2/Core/SingleEnumerator.ts
+++ b/src/Engine/CatanEngine/CoroutineV2/Core/SingleEnumerator.ts
@@ -1,18 +1,18 @@
import { BaseEnumerator } from "./BaseEnumerator";
export class SingleEnumerator extends BaseEnumerator {
- private _iterator: Iterator;
+ private _iterator: Iterator;
- constructor(iterator: Iterator) {
- super();
- this._iterator = iterator;
- }
+ constructor(iterator: Iterator) {
+ super();
+ this._iterator = iterator;
+ }
- next(value?: any): IteratorResult {
- if (!this._iterator) {
- return { done: true, value: undefined };
- }
+ next(value?: any): IteratorResult {
+ if (!this._iterator) {
+ return { done: true, value: undefined };
+ }
- return this._iterator.next(value);
- }
+ return this._iterator.next(value);
+ }
}
diff --git a/src/Engine/CatanEngine/CoroutineV2/Core/WaitTimeEnumerator.ts b/src/Engine/CatanEngine/CoroutineV2/Core/WaitTimeEnumerator.ts
index 604d60e..04d7b2e 100644
--- a/src/Engine/CatanEngine/CoroutineV2/Core/WaitTimeEnumerator.ts
+++ b/src/Engine/CatanEngine/CoroutineV2/Core/WaitTimeEnumerator.ts
@@ -1,21 +1,21 @@
import { BaseEnumerator } from "./BaseEnumerator";
export class WaitTimeEnumerator extends BaseEnumerator {
- private _seconds: number;
+ private _seconds: number;
- constructor(seconds: number) {
- super();
- this._seconds = seconds;
- }
+ constructor(seconds: number) {
+ super();
+ this._seconds = seconds;
+ }
- next(value?: any): IteratorResult {
- let delta = value as number;
- this._seconds -= delta;
+ next(value?: any): IteratorResult {
+ let delta = value as number;
+ this._seconds -= delta;
- if (this._seconds <= 0) {
- return { done: true, value: 0 };
- } else {
- return { done: false, value: this._seconds };
- }
- }
+ if (this._seconds <= 0) {
+ return { done: true, value: 0 };
+ } else {
+ return { done: false, value: this._seconds };
+ }
+ }
}
diff --git a/src/Engine/CatanEngine/CoroutineV2/CoroutineExample.ts b/src/Engine/CatanEngine/CoroutineV2/CoroutineExample.ts
deleted file mode 100644
index 5c4a3af..0000000
--- a/src/Engine/CatanEngine/CoroutineV2/CoroutineExample.ts
+++ /dev/null
@@ -1,133 +0,0 @@
-import { CoroutineV2 } from "./CoroutineV2";
-
-export default class CoroutineExample {
- private _obj: Object = { "a": true };
- private _obj2: Object = { "b": true };
-
- private _num: number = 3;
-
- /**
- *
- */
- constructor() {
- CoroutineV2.Single(this.Test1_1()).Start();
- }
-
- *Test1_1() {
- yield null;
- yield* this.Test1_2();
- // CoroutineV2.Single(this.Test1_3()).Start(this);
- yield this.Test1_3();
- }
-
- *Test1_2() {
- yield null;
- }
-
- *Test1_3() {
- yield this.Test1_3_1();
- yield CoroutineV2.Single(this.Test1_4()).Start(this._obj);
- // yield CoroutineV2.Single(this.Test1_4()); //.Start(this);
- // yield *this.Test1_4();
- console.log("main wait 3");
- yield CoroutineV2.WaitTime(2);
- console.log("done");
- }
-
- *Test1_3_1() {
- yield this.Test1_3_2();
- yield CoroutineV2.WaitTime(1);
- console.log("Test1_3_1.1");
- yield CoroutineV2.WaitTime(1);
- console.log("Test1_3_1.2");
- }
-
- *Test1_3_2() {
- yield this.Test1_3_3();
- yield CoroutineV2.WaitTime(1);
- console.log("Test1_3_2.1");
- yield CoroutineV2.WaitTime(1);
- console.log("Test1_3_2.2");
- yield CoroutineV2.WaitTime(1);
- console.log("Test1_3_2.3");
- }
-
- *Test1_3_3() {
- yield CoroutineV2.WaitTime(1);
- console.log("Test1_3_3.1");
- yield CoroutineV2.WaitTime(1);
- console.log("Test1_3_3.2");
- yield CoroutineV2.WaitTime(1);
- console.log("Test1_3_3.3");
- }
-
- *Test1_4() {
- this._num++;
- console.log(`WaitTime2 ${this._num}`);
- yield CoroutineV2.WaitTime(2).Start(this._obj2);
- this._num++;
- console.log(`WaitTime2 ${this._num}`);
- yield CoroutineV2.WaitTime(2).Start(this._obj2);
- this._num++;
- console.log(`WaitTime2 ${this._num}`);
- }
-
- *Test2_1() {
- console.log("111");
- CoroutineV2.Single(this.Test2_2()).Start(this);
- console.log("333");
- }
-
- *Test2_2() {
- console.log("222");
- return;
- }
-
- *Coroutine1(start: number, end: number) {
- for (let i = start; i <= end; i++) {
- // yield CoroutineV2.WaitTime(1).Start(); // Start()可以省略, 會由外層啟動
- // yield CoroutineV2.WaitTime(1).Start(this); // target也可以省略, 由外層的target控制
-
- yield CoroutineV2.WaitTime(1).Start();
- console.log(`C1 => ${i}`);
-
- // 嵌套
- yield CoroutineV2
- .WaitTime(1)
- .ThenParallel(
- // 再嵌套
- CoroutineV2.Action(() => console.log("start parallel")),
- this.Coroutine2(10, 2),
- this.Coroutine2(20, 2),
- )
- .ThenAction(() => console.log("end parallel"))
- .Start();
-
- // Promise
- yield this.loadItemAsync("settings.json");
- }
- }
-
- *Coroutine2(num: number, repeat: number) {
- for (let i = 0; i < repeat; i++) {
- //yield CoroutineV2.WaitTime(2);
- yield 0;
- console.log(`C2: ${num}`);
- // yield CoroutineV2.WaitTime(1);
- }
- }
-
- actionCallback() {
- console.log("action callback 2");
- }
-
- loadItemAsync(id: string): Promise<{ id: string }> {
- return new Promise((resolve) => {
- console.log("loading item start:", id);
- setTimeout(() => {
- resolve({ id: id });
- console.log("loading item done:", id);
- }, 3000);
- });
- }
-}
diff --git a/src/Engine/CatanEngine/CoroutineV2/CoroutineV2.ts b/src/Engine/CatanEngine/CoroutineV2/CoroutineV2.ts
index 75d2157..5606b57 100644
--- a/src/Engine/CatanEngine/CoroutineV2/CoroutineV2.ts
+++ b/src/Engine/CatanEngine/CoroutineV2/CoroutineV2.ts
@@ -1,75 +1,75 @@
-import { ActionEnumerator } from "./Core/ActionEnumerator";
-import { BaseEnumerator } from "./Core/BaseEnumerator";
-import { CoroutineExecutor } from "./Core/CoroutineExecutor";
-import { ParallelEnumerator } from "./Core/ParallelEnumerator";
-import { SingleEnumerator } from "./Core/SingleEnumerator";
-import { WaitTimeEnumerator } from "./Core/WaitTimeEnumerator";
import { IEnumeratorV2, IEnumeratorV2Started } from "./IEnumeratorV2";
+import { BaseEnumerator } from "./Core/BaseEnumerator";
+import { SingleEnumerator } from "./Core/SingleEnumerator";
+import { ParallelEnumerator } from "./Core/ParallelEnumerator";
+import { WaitTimeEnumerator } from "./Core/WaitTimeEnumerator";
+import { ActionEnumerator } from "./Core/ActionEnumerator";
+import { CoroutineExecutor } from "./Core/CoroutineExecutor";
export module CoroutineV2 {
- /**
- * 啟動一般協程
- */
- export function StartCoroutine(iterator: Iterator, target?: any): IEnumeratorV2Started {
- return Single(iterator).Start(target);
- }
+ /**
+ * 啟動一般協程
+ */
+ export function StartCoroutine(iterator: Iterator, target?: any): IEnumeratorV2Started {
+ return Single(iterator).Start(target);
+ }
- /**
- * 依據IEnumeratorV2.Start(target)綁定的目標, 來停止協程
- * @param target
- */
- export function StopCoroutinesBy(target: any) {
- CoroutineExecutor.instance.StopCoroutineBy(target);
- }
+ /**
+ * 依據IEnumeratorV2.Start(target)綁定的目標, 來停止協程
+ * @param target
+ */
+ export function StopCoroutinesBy(target: any) {
+ CoroutineExecutor.instance.StopCoroutineBy(target);
+ }
- /**
- * 單一協程
- */
- export function Single(iterator: Iterator): IEnumeratorV2 {
- if (iterator instanceof BaseEnumerator) {
- return iterator;
- } else {
- return new SingleEnumerator(iterator);
- }
- }
+ /**
+ * 單一協程
+ */
+ export function Single(iterator: Iterator): IEnumeratorV2 {
+ if (iterator instanceof BaseEnumerator) {
+ return iterator;
+ } else {
+ return new SingleEnumerator(iterator);
+ }
+ }
- /**
- * 平行協程
- */
- export function Parallel(...iterators: Iterator[]): IEnumeratorV2 {
- return new ParallelEnumerator(iterators);
- }
+ /**
+ * 平行協程
+ */
+ export function Parallel(...iterators: Iterator[]): IEnumeratorV2 {
+ return new ParallelEnumerator(iterators);
+ }
- /**
- * 序列協程
- */
- export function Serial(...iterators: Iterator[]): IEnumeratorV2 {
- let [iterator, ...others] = iterators;
- if (iterator instanceof BaseEnumerator) {
- return iterator.ThenSerial(...others);
- } else {
- return new SingleEnumerator(iterator).ThenSerial(...others);
- }
- }
+ /**
+ * 序列協程
+ */
+ export function Serial(...iterators: Iterator[]): IEnumeratorV2 {
+ let [iterator, ...others] = iterators;
+ if (iterator instanceof BaseEnumerator) {
+ return iterator.ThenSerial(...others);
+ } else {
+ return new SingleEnumerator(iterator).ThenSerial(...others);
+ }
+ }
- /**
- * 執行方法協程
- * @param action 方法
- * @param delaySeconds 延遲秒數
- */
- export function Action(action: Function, delaySeconds?: number): IEnumeratorV2 {
- if (delaySeconds > 0) {
- return new WaitTimeEnumerator(delaySeconds).Then(new ActionEnumerator(action));
- } else {
- return new ActionEnumerator(action);
- }
- }
+ /**
+ * 執行方法協程
+ * @param action 方法
+ * @param delaySeconds 延遲秒數
+ */
+ export function Action(action: Function, delaySeconds?: number): IEnumeratorV2 {
+ if (delaySeconds > 0) {
+ return new WaitTimeEnumerator(delaySeconds).Then(new ActionEnumerator(action));
+ } else {
+ return new ActionEnumerator(action);
+ }
+ }
- /**
- * 等待時間協程
- * @param seconds 秒數
- */
- export function WaitTime(seconds: number): IEnumeratorV2 {
- return new WaitTimeEnumerator(seconds);
- }
+ /**
+ * 等待時間協程
+ * @param seconds 秒數
+ */
+ export function WaitTime(seconds: number): IEnumeratorV2 {
+ return new WaitTimeEnumerator(seconds);
+ }
}
\ No newline at end of file
diff --git a/src/Engine/CatanEngine/CoroutineV2/IEnumeratorV2.ts b/src/Engine/CatanEngine/CoroutineV2/IEnumeratorV2.ts
index 2f872cb..c684c4d 100644
--- a/src/Engine/CatanEngine/CoroutineV2/IEnumeratorV2.ts
+++ b/src/Engine/CatanEngine/CoroutineV2/IEnumeratorV2.ts
@@ -1,23 +1,16 @@
export interface IEnumeratorV2 extends Iterator {
- Start(target?: any): IEnumeratorV2Started;
-
- Then(iterator: Iterator): IEnumeratorV2;
-
- ThenSerial(...iterators: Iterator[]): IEnumeratorV2;
-
- ThenParallel(...iterators: Iterator[]): IEnumeratorV2;
-
- ThenAction(action: Function, delaySeconds?: number): IEnumeratorV2;
-
- ThenWaitTime(seconds: number): IEnumeratorV2;
+ Start(target?: any): IEnumeratorV2Started;
+ Then(iterator: Iterator): IEnumeratorV2;
+ ThenSerial(...iterators: Iterator[]): IEnumeratorV2;
+ ThenParallel(...iterators: Iterator[]): IEnumeratorV2;
+ ThenAction(action: Function, delaySeconds?: number): IEnumeratorV2;
+ ThenWaitTime(seconds: number): IEnumeratorV2;
}
export interface IEnumeratorV2Started {
- readonly Current: any;
+ readonly Current: any;
- Pause(): void;
-
- Resume(): void;
-
- Stop(): void;
+ Pause(): void;
+ Resume(): void;
+ Stop(): void;
}
diff --git a/src/Engine/CatanEngine/TableV3/Core/ITableJson.ts b/src/Engine/CatanEngine/TableV3/Core/ITableJson.ts
index a1a8f58..4a80f78 100644
--- a/src/Engine/CatanEngine/TableV3/Core/ITableJson.ts
+++ b/src/Engine/CatanEngine/TableV3/Core/ITableJson.ts
@@ -1,4 +1,4 @@
export interface ITableJson {
- cols: string[],
- rows: any[],
+ cols: string[],
+ rows: any[],
}
diff --git a/src/Engine/CatanEngine/TableV3/Core/ITableRow.ts b/src/Engine/CatanEngine/TableV3/Core/ITableRow.ts
index b8f4b5c..bdc2290 100644
--- a/src/Engine/CatanEngine/TableV3/Core/ITableRow.ts
+++ b/src/Engine/CatanEngine/TableV3/Core/ITableRow.ts
@@ -1,10 +1,10 @@
export interface ITableRow {
- Id: number;
+ Id: number;
}
/**
* 表沒有欄位
*/
export class WithoutRow implements ITableRow {
- Id: number;
+ Id: number;
}
\ No newline at end of file
diff --git a/src/Engine/CatanEngine/TableV3/Core/TableBase.ts b/src/Engine/CatanEngine/TableV3/Core/TableBase.ts
index b0ff96c..b26163f 100644
--- a/src/Engine/CatanEngine/TableV3/Core/TableBase.ts
+++ b/src/Engine/CatanEngine/TableV3/Core/TableBase.ts
@@ -1,30 +1,21 @@
import { ITableRow } from "./ITableRow";
export abstract class TableBase extends Array {
- constructor() {
- super();
- Object.setPrototypeOf(this, new.target.prototype);
- }
+ constructor() {
+ super();
+ Object.setPrototypeOf(this, new.target.prototype);
+ }
- /** 欄位數量 */
- public get Count(): number {
- return this.length;
- }
-
- /** 取得全部鍵值 */
- public get Keys(): string[] {
- return Object.keys(this);
- }
-
- /** 取得全部欄位值 */
- public get Rows(): Array {
- return Object["values"](this);
- }
-
- // public get Rows(): Array { return this; }
-
- /** 是否包含該Id值的欄位 */
- public ContainsRow(id: number): boolean {
- return id in this;
- }
+ /**欄位數量 */
+ public get Count(): number { return this.length; }
+ /**取得全部鍵值 */
+ public get Keys(): string[] { return Object.keys(this); }
+ /**取得全部欄位值 */
+ public get Rows(): Array { return Object["values"](this); }
+ // public get Rows(): Array { return this; }
+
+ /**是否包含該Id值的欄位 */
+ public ContainsRow(id: number): boolean {
+ return id in this;
+ }
}
\ No newline at end of file
diff --git a/src/Engine/CatanEngine/TableV3/Examples/CSSettingsV3Example.ts b/src/Engine/CatanEngine/TableV3/Examples/CSSettingsV3Example.ts
index e6b5793..1bb0392 100644
--- a/src/Engine/CatanEngine/TableV3/Examples/CSSettingsV3Example.ts
+++ b/src/Engine/CatanEngine/TableV3/Examples/CSSettingsV3Example.ts
@@ -1,13 +1,13 @@
import { TableManager } from "../TableManager";
import { StringExampleTableRow, StringTableExample } from "./Tables/StringTableExample";
+const { ccclass } = cc._decorator;
+
+@ccclass()
export default class CSSettingsV3Example {
private static _stringExample: StringTableExample;
-
/** 共用_字串表#string.xlsx */
- public static get StringExample(): StringTableExample {
- return this._stringExample = this._stringExample || TableManager.InitTable("#string", StringTableExample, StringExampleTableRow);
- }
+ public static get StringExample(): StringTableExample { return this._stringExample = this._stringExample || TableManager.InitTable("#string", StringTableExample, StringExampleTableRow); }
}
diff --git a/src/Engine/CatanEngine/TableV3/Examples/TableUseExample.ts b/src/Engine/CatanEngine/TableV3/Examples/TableUseExample.ts
deleted file mode 100644
index cfb6e23..0000000
--- a/src/Engine/CatanEngine/TableV3/Examples/TableUseExample.ts
+++ /dev/null
@@ -1,78 +0,0 @@
-import CSSettingsV3Example from "./CSSettingsV3Example";
-import { StringExampleTable } from "./Tables/StringTableExample";
-
-export default class TableUseExample {
-
- start() {
-
- // #region StringExample表
- console.log("----------------#stringExample");
- console.log(CSSettingsV3Example.StringExample instanceof StringExampleTable); // true
- console.log(Array.isArray(CSSettingsV3Example.StringExample)); // true, 所以Array相關的方法都可以拿來操作
-
- console.log(CSSettingsV3Example.StringExample.length);
- console.log(CSSettingsV3Example.StringExample.Count); // 跟length一樣
-
- console.log(CSSettingsV3Example.StringExample.ContainsRow(11)); // 是否包含id=11的Row
- console.log(11 in CSSettingsV3Example.StringExample); // 同上
-
- console.log(CSSettingsV3Example.StringExample[1].MsgZnCh);
- console.log(CSSettingsV3Example.StringExample[1]["MsgZnCh"]); // 同上
- console.log(CSSettingsV3Example["StringExample"][1]["MsgZnCh"]); // 同上
-
- console.log("----------------");
- for (let row of CSSettingsV3Example.StringExample) {
- if (row) { // 如果Row沒有連號, 那有可能取到undefined值, 要先判斷, 不想判斷就用 CSSettings.StringExample.Rows
- console.log(row.Id, row.MsgZnCh);
- }
- }
-
- console.log("----------------");
- for (let id of CSSettingsV3Example.StringExample.Keys) {
- console.log(id); // 只會列出有值的id, undefined會跳過
- }
-
- console.log("----------------");
- for (let row of CSSettingsV3Example.StringExample.Rows) {
- console.log(row.Id, row.MsgZnCh); // 只會列出有值的Row, undefined會跳過
- }
- // #endregion
-
- // #region StringExample表 #StringFilter表
- console.log("----------------#stringExample#string_filter");
- // console.log(CSSettings.StringExample.StringFilter instanceof StringFilterTable); // true
- console.log(Array.isArray(CSSettingsV3Example.StringExample.StringFilter)); // true, 所以Array相關的方法都可以拿來操作
-
- console.log(CSSettingsV3Example.StringExample.StringFilter.length);
- console.log(CSSettingsV3Example.StringExample.StringFilter.Count); // 跟length一樣
-
- console.log(CSSettingsV3Example.StringExample.StringFilter.ContainsRow(11)); // 是否包含id=11的Row
- console.log(11 in CSSettingsV3Example.StringExample.StringFilter); // 同上
-
- console.log(CSSettingsV3Example.StringExample.StringFilter[1].FilterWord);
- console.log(CSSettingsV3Example.StringExample.StringFilter[1]["FilterWord"]); // 同上
- console.log(CSSettingsV3Example["StringExample"]["StringFilter"][1]["FilterWord"]); // 同上
-
- console.log("----------------");
- for (let row of CSSettingsV3Example.StringExample.StringFilter) {
- if (row) { // 如果Row沒有連號, 那有可能取到undefined值, 要先判斷, 不想判斷就用 CSSettings.StringExample.StringFilter.Rows
- console.log(row.Id, row.FilterWord);
- }
- }
-
- console.log("----------------");
- for (let id of CSSettingsV3Example.StringExample.StringFilter.Keys) {
- console.log(id); // 只會列出有值的id, undefined會跳過
- }
-
- console.log("----------------");
- for (let row of CSSettingsV3Example.StringExample.StringFilter.Rows) {
- console.log(row.Id, row.FilterWord); // 只會列出有值的Row, undefined會跳過
- }
- // #endregion
-
- console.log("----------------");
- // CSSettingsV3.ResetTables(); // 重置表
-
- }
-}
diff --git a/src/Engine/CatanEngine/TableV3/Examples/Tables/StringTableExample.ts b/src/Engine/CatanEngine/TableV3/Examples/Tables/StringTableExample.ts
index d9329e8..c13e845 100644
--- a/src/Engine/CatanEngine/TableV3/Examples/Tables/StringTableExample.ts
+++ b/src/Engine/CatanEngine/TableV3/Examples/Tables/StringTableExample.ts
@@ -8,18 +8,14 @@ import { TableManager } from "../../TableManager";
*/
export class StringTableExample extends TableBase {
private _stringFilter: StringFilterTable;
-
/** 共用_字串表#string.xlsx > #string_filter */
- public get StringFilter(): StringFilterTable {
- return this._stringFilter = this._stringFilter || TableManager.InitTable("#string#string_filter", StringFilterTable, StringFilterTableRow);
- }
+ public get StringFilter(): StringFilterTable { return this._stringFilter = this._stringFilter || TableManager.InitTable("#string#string_filter", StringFilterTable, StringFilterTableRow); }
}
/**
* #string
*/
-export class StringExampleTable extends TableBase {
-}
+export class StringExampleTable extends TableBase {}
export class StringExampleTableRow implements ITableRow {
/** 編號 */
@@ -39,8 +35,7 @@ export class StringExampleTableRow implements ITableRow {
/**
* #string_filter
*/
-export class StringFilterTable extends TableBase {
-}
+export class StringFilterTable extends TableBase {}
export class StringFilterTableRow implements ITableRow {
/** 編號 */
diff --git a/src/utils/ArrayExtension.ts b/src/Engine/CatanEngine/Utils/CCExtensions/ArrayExtension.ts
similarity index 92%
rename from src/utils/ArrayExtension.ts
rename to src/Engine/CatanEngine/Utils/CCExtensions/ArrayExtension.ts
index 4c40afb..fe37632 100644
--- a/src/utils/ArrayExtension.ts
+++ b/src/Engine/CatanEngine/Utils/CCExtensions/ArrayExtension.ts
@@ -1,140 +1,132 @@
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
-declare interface Array {
- /**
- * 移除一個值並且回傳
- * @param index
- */
- ExRemoveAt(index: number): T
-
- /**
- * 移除全部值(注意. 參考的也會被清空)
- * @example
- *
- * let bar: number[] = [1, 2, 3];
- * let bar2: number[] = bar;
- * bar.Clear();
- * console.log(bar, bar2);
- *
- * // {
- * // "bar": [],
- * // "bar2": []
- * // }
- */
- Clear(): void
-
- /**
- * 拷貝
- * PS. pass by value 多維陣列也OK
- */
- Copy(): T[]
-
- /**
- * 物件陣列排序,asc&key陣列長度請一樣
- * PS. boolean 帶false是先true在false
- * @link JavaScript Object 排序 http://www.eion.com.tw/Blogger/?Pid=1170#:~:text=JavaScript%20Object%20排序
- * @param asc 是否升序排列(小到大)
- * @param key 需排序的key(優先順序左到右)(沒有就放空)
- */
- ObjectSort(asc?: boolean[], key?: string[]): T[]
-
- /**
- * 設計給ArrayforHoldButton使用
- * Add a none persistent listener to the UnityEvent.
- * @param call Callback function.
- */
- // eslint-disable-next-line @typescript-eslint/ban-types
- AddListener(call: Function): void
-}
-
-Array.prototype.ExRemoveAt ||
- Object.defineProperty(Array.prototype, "ExRemoveAt", {
- enumerable: false,
- value: function (index: number): any {
- const item: any = this.splice(index, 1);
- return item[0];
- },
- });
-
-Array.prototype.Clear ||
- Object.defineProperty(Array.prototype, "Clear", {
- enumerable: false,
- value: function (): void {
- this.length = 0;
-
- // let foo: number[] = [1, 2, 3];
- // let bar: number[] = [1, 2, 3];
- // let foo2: number[] = foo;
- // let bar2: number[] = bar;
- // foo = [];
- // bar.length = 0;
- // console.log(foo, bar, foo2, bar2);
-
- // {
- // "foo": [],
- // "bar": [],
- // "foo2": [
- // 1,
- // 2,
- // 3
- // ],
- // "bar2": []
- // }
- },
- });
-
-Array.prototype.Copy ||
- Object.defineProperty(Array.prototype, "Copy", {
- enumerable: false,
- value: function (): any[] {
- return Array.from(this);
- },
- });
-
-Array.prototype.ObjectSort ||
- Object.defineProperty(Array.prototype, "ObjectSort", {
- enumerable: false,
- /**
- * @param asc 是否升序排列(小到大)
- * @param key 需排序的key(優先順序左到右)(沒有就放空)
- */
- value: function (asc: boolean[] = [true], key?: string[]): any[] {
- if (this.length === 0) {
- return this;
- } else if (!key || key.length === 0) {
- console.error("ObjectSort key error");
- return this;
- } else if (asc.length !== key.length) {
- console.error(
- `ObjectSort key asc error asc.length: ${asc.length}, key.length: ${key.length}`,
- );
- return this;
- }
- for (let i: number = 0; i < key.length; i++) {
- const keyname: string = key[i];
- if (this[0][keyname] === undefined) {
- console.error(`ObjectSort has not key[${i}]: ${keyname}`);
- return this;
- }
- }
- const count: number = key ? key.length : 1;
- let arr: any[];
- for (let i: number = count - 1; i >= 0; i--) {
- arr = this.sort(function (a: any, b: any): 1 | -1 {
- let mya: any = a;
- let myb: any = b;
- if (key) {
- mya = a[key[i]];
- myb = b[key[i]];
- }
-
- // 加個等於數字相同不要再去排序到
- if (asc[i]) {
- return mya >= myb ? 1 : -1;
- } else {
- return mya <= myb ? 1 : -1;
- }
- });
- }
- return arr;
- },
- });
+// eslint-disable-next-line @typescript-eslint/no-unused-vars
+declare interface Array {
+ /**
+ * 移除一個值並且回傳
+ * @param index
+ */
+ ExRemoveAt(index: number): T
+
+ /**
+ * 移除全部值(注意. 參考的也會被清空)
+ * @example
+ *
+ * let bar: number[] = [1, 2, 3];
+ * let bar2: number[] = bar;
+ * bar.Clear();
+ * console.log(bar, bar2);
+ *
+ * // {
+ * // "bar": [],
+ * // "bar2": []
+ * // }
+ */
+ Clear(): void
+
+ /**
+ * 拷貝
+ * PS. pass by value 多維陣列也OK
+ */
+ Copy(): T[]
+
+ /**
+ * 物件陣列排序,asc&key陣列長度請一樣
+ * PS. boolean 帶false是先true在false
+ * @link JavaScript Object 排序 http://www.eion.com.tw/Blogger/?Pid=1170#:~:text=JavaScript%20Object%20排序
+ * @param asc 是否升序排列(小到大)
+ * @param key 需排序的key(優先順序左到右)(沒有就放空)
+ */
+ ObjectSort(asc?: boolean[], key?: string[]): T[]
+}
+
+Array.prototype.ExRemoveAt ||
+ Object.defineProperty(Array.prototype, "ExRemoveAt", {
+ enumerable: false,
+ value: function (index: number): any {
+ const item: any = this.splice(index, 1);
+ return item[0];
+ },
+ });
+
+Array.prototype.Clear ||
+ Object.defineProperty(Array.prototype, "Clear", {
+ enumerable: false,
+ value: function (): void {
+ this.length = 0;
+
+ // let foo: number[] = [1, 2, 3];
+ // let bar: number[] = [1, 2, 3];
+ // let foo2: number[] = foo;
+ // let bar2: number[] = bar;
+ // foo = [];
+ // bar.length = 0;
+ // console.log(foo, bar, foo2, bar2);
+
+ // {
+ // "foo": [],
+ // "bar": [],
+ // "foo2": [
+ // 1,
+ // 2,
+ // 3
+ // ],
+ // "bar2": []
+ // }
+ },
+ });
+
+Array.prototype.Copy ||
+ Object.defineProperty(Array.prototype, "Copy", {
+ enumerable: false,
+ value: function (): any[] {
+ return Array.from(this);
+ },
+ });
+
+Array.prototype.ObjectSort ||
+ Object.defineProperty(Array.prototype, "ObjectSort", {
+ enumerable: false,
+ /**
+ * @param asc 是否升序排列(小到大)
+ * @param key 需排序的key(優先順序左到右)(沒有就放空)
+ */
+ value: function (asc: boolean[] = [true], key?: string[]): any[] {
+ if (this.length === 0) {
+ return this;
+ } else if (!key || key.length === 0) {
+ console.error("ObjectSort key error");
+ return this;
+ } else if (asc.length !== key.length) {
+ console.error(
+ `ObjectSort key asc error asc.length: ${asc.length}, key.length: ${key.length}`,
+ );
+ return this;
+ }
+ for (let i: number = 0; i < key.length; i++) {
+ const keyname: string = key[i];
+ if (this[0][keyname] === undefined) {
+ console.error(`ObjectSort has not key[${i}]: ${keyname}`);
+ return this;
+ }
+ }
+ const count: number = key ? key.length : 1;
+ let arr: any[];
+ for (let i: number = count - 1; i >= 0; i--) {
+ arr = this.sort(function (a: any, b: any): 1 | -1 {
+ let mya: any = a;
+ let myb: any = b;
+ if (key) {
+ mya = a[key[i]];
+ myb = b[key[i]];
+ }
+
+ // 加個等於數字相同不要再去排序到
+ if (asc[i]) {
+ return mya >= myb ? 1 : -1;
+ } else {
+ return mya <= myb ? 1 : -1;
+ }
+ });
+ }
+ return arr;
+ },
+ });
\ No newline at end of file
diff --git a/src/utils/NumberExtension.ts b/src/Engine/CatanEngine/Utils/CCExtensions/NumberExtension.ts
similarity index 64%
rename from src/utils/NumberExtension.ts
rename to src/Engine/CatanEngine/Utils/CCExtensions/NumberExtension.ts
index 945072c..2da3e6c 100644
--- a/src/utils/NumberExtension.ts
+++ b/src/Engine/CatanEngine/Utils/CCExtensions/NumberExtension.ts
@@ -1,54 +1,46 @@
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
+
declare interface Number {
/**
* 金額每三位數(千)加逗號, 並且補到小數點第2位
* 輸出 41,038,560.00
* @param precision 補到小數點第幾位
- * @param isPadZero 是否要補零(預設FALSE)
+ * @param isPadZero 是否要補零
* */
ExFormatNumberWithComma(precision?: number, isPadZero?: boolean): string;
-
/**
* 基本4位數(9,999-999B-T)
* */
ExTransferToBMK(precision?: number, offset?: number): string;
-
/**
* 數字轉字串, 頭補0
* @param size
*/
Pad(size: number): string;
-
/**
* 四捨五入到小數點第X位 (同server計算規則)
* @param precision
*/
ExToNumRoundDecimal(precision: number): number;
-
/**
* 無條件捨去到小數點第X位
* @param precision
*/
ExToNumFloorDecimal(precision: number): number;
-
/**
* 無條件捨去強制保留X位小數,如:2,會在2後面補上00.即2.00
* @param precision 補到小數點第幾位
- * @param isPadZero 是否要補零(預設FALSE)
+ * @param isPadZero 是否要補零
*/
ExToStringFloorDecimal(precision: number, isPadZero?: boolean): string;
-
/**
* 取整數)
*/
ExToInt(): number;
-
/**
* 小數轉整數(支援科學符號)
*/
Float2Fixed(): number;
-
/**
* 數字長度(支援科學符號)
*/
@@ -59,45 +51,45 @@ declare interface Number {
}
-Number.prototype.ExFormatNumberWithComma || Object.defineProperty(Number.prototype, "ExFormatNumberWithComma", {
+Number.prototype.ExFormatNumberWithComma || Object.defineProperty(Number.prototype, 'ExFormatNumberWithComma', {
enumerable: false,
- value: function (precision: number = 2, isPadZero: boolean = false) {
+ value: function (precision: number, isPadZero: boolean) {
// let arr = String(this).split('.');
- const arr = this.ExToStringFloorDecimal(precision, isPadZero).split(".");
- let num = arr[0], result = "";
+ let arr = this.ExToStringFloorDecimal(precision, isPadZero).split('.');
+ let num = arr[0], result = '';
while (num.length > 3) {
- result = "," + num.slice(-3) + result;
+ result = ',' + num.slice(-3) + result;
num = num.slice(0, num.length - 3);
}
if (num.length > 0) result = num + result;
- return arr[1] ? result + "." + arr[1] : result;
+ return arr[1] ? result + '.' + arr[1] : result;
}
-});
+})
-Number.prototype.ExTransferToBMK || Object.defineProperty(Number.prototype, "ExTransferToBMK", {
+Number.prototype.ExTransferToBMK || Object.defineProperty(Number.prototype, 'ExTransferToBMK', {
enumerable: false,
- value: function (precision: number = 2, offset: number = 0) {
- /** 千 */
- const MONEY_1K: number = 1000;
- /** 萬 */
+ value: function (precision: number, offset: number) {
+ /**千 */
+ let MONEY_1K: number = 1000;
+ /**萬 */
// let MONEY_10K: number = 10000;
- /** 十萬 */
+ /**十萬 */
// let MONEY_100K: number = 100000;
- /** 百萬 */
- const MONEY_1M: number = 1000000;
- /** 千萬 */
+ /**百萬 */
+ let MONEY_1M: number = 1000000;
+ /**千萬 */
// let MONEY_10M: number = 10000000;
- /** 億 */
+ /**億 */
// let MONEY_100M: number = 100000000;
- /** 十億 */
- const MONEY_1B: number = 1000000000;
- /** 百億 */
+ /**十億 */
+ let MONEY_1B: number = 1000000000;
+ /**百億 */
// let MONEY_10B: number = 10000000000;
- /** 千億 */
+ /**千億 */
// let MONEY_100B: number = 100000000000;
- /** 兆 */
+ /**兆 */
// let MONEY_1T: number = 1000000000000;
offset = Math.pow(10, offset);
// if (this >= MONEY_1T * offset) {
@@ -106,87 +98,90 @@ Number.prototype.ExTransferToBMK || Object.defineProperty(Number.prototype, "ExT
// return (~~(this / MONEY_1T)).ExFormatNumberWithComma(0) + "T";
// }
if (this >= MONEY_1B * offset) {
- // 1,000B~900,000B
- // 1B~900B
+ //1,000B~900,000B
+ //1B~900B
return (this / MONEY_1B).ExFormatNumberWithComma(3, false) + "B";
- } else if (this >= MONEY_1M * offset) {
- // 1,000M~900,000M
- // 1M~900M
+ }
+ else if (this >= MONEY_1M * offset) {
+ //1,000M~900,000M
+ //1M~900M
return (this / MONEY_1M).ExFormatNumberWithComma(3, false) + "M";
- } else if (this >= MONEY_1K * offset) {
- // 1,000K~900,000K
- // 1K~90K
+ }
+ else if (this >= MONEY_1K * offset) {
+ //1,000K~900,000K
+ //1K~90K
return (this / MONEY_1K).ExFormatNumberWithComma(3, false) + "K";
- } else {
- // 0~9,000,000
- // 0~9,000
+ }
+ else {
+ //0~9,000,000
+ //0~9,000
return this.ExFormatNumberWithComma(precision);
}
}
-});
-Number.prototype.Pad || Object.defineProperty(Number.prototype, "Pad", {
+})
+Number.prototype.Pad || Object.defineProperty(Number.prototype, 'Pad', {
enumerable: false,
value: function (size: number) {
let s = this + "";
while (s.length < size) s = "0" + s;
return s;
}
-});
-Number.prototype.ExToNumRoundDecimal || Object.defineProperty(Number.prototype, "ExToNumRoundDecimal", {
+})
+Number.prototype.ExToNumRoundDecimal || Object.defineProperty(Number.prototype, 'ExToNumRoundDecimal', {
enumerable: false,
value: function (precision: number) {
return Math.round(Math.round(this * Math.pow(10, (precision || 0) + 1)) / 10) / Math.pow(10, (precision || 0));
}
-});
-Number.prototype.ExToInt || Object.defineProperty(Number.prototype, "ExToInt", {
+})
+Number.prototype.ExToInt || Object.defineProperty(Number.prototype, 'ExToInt', {
enumerable: false,
value: function () {
return ~~this;
}
-});
-Number.prototype.ExToNumFloorDecimal || Object.defineProperty(Number.prototype, "ExToNumFloorDecimal", {
+})
+Number.prototype.ExToNumFloorDecimal || Object.defineProperty(Number.prototype, 'ExToNumFloorDecimal', {
enumerable: false,
value: function (precision: number) {
- const str = this.toPrecision(12);
- const dotPos = str.indexOf(".");
- return dotPos == -1 ? this : +`${ str.substr(0, dotPos + 1 + precision) }`;
+ let str = this.toPrecision(12);
+ let dotPos = str.indexOf('.');
+ return dotPos == -1 ? this : +`${str.substr(0, dotPos + 1 + precision)}`;
}
-});
-Number.prototype.ExToStringFloorDecimal || Object.defineProperty(Number.prototype, "ExToStringFloorDecimal", {
+})
+Number.prototype.ExToStringFloorDecimal || Object.defineProperty(Number.prototype, 'ExToStringFloorDecimal', {
enumerable: false,
- value: function (precision: number, isPadZero: boolean = false) {
+ value: function (precision: number, isPadZero: boolean) {
// 取小數點第X位
- const f = this.ExToNumFloorDecimal(precision);
+ let f = this.ExToNumFloorDecimal(precision);
let s = f.toString();
// 補0
if (isPadZero) {
- let rs = s.indexOf(".");
+ let rs = s.indexOf('.');
if (rs < 0) {
rs = s.length;
- s += ".";
+ s += '.';
}
while (s.length <= rs + precision) {
- s += "0";
+ s += '0';
}
}
return s;
}
-});
-Number.prototype.Float2Fixed || Object.defineProperty(Number.prototype, "Float2Fixed", {
+})
+Number.prototype.Float2Fixed || Object.defineProperty(Number.prototype, 'Float2Fixed', {
enumerable: false,
value: function () {
- if (this.toString().indexOf("e") === -1) {
- return Number(this.toString().replace(".", ""));
+ if (this.toString().indexOf('e') === -1) {
+ return Number(this.toString().replace('.', ''));
}
const dLen = this.DigitLength();
return dLen > 0 ? +parseFloat((this * Math.pow(10, dLen)).toPrecision(12)) : this;
}
-});
-Number.prototype.DigitLength || Object.defineProperty(Number.prototype, "DigitLength", {
+})
+Number.prototype.DigitLength || Object.defineProperty(Number.prototype, 'DigitLength', {
enumerable: false,
value: function () {
const eSplit = this.toString().split(/[eE]/);
- const len = (eSplit[0].split(".")[1] || "").length - (+(eSplit[1] || 0));
+ const len = (eSplit[0].split('.')[1] || '').length - (+(eSplit[1] || 0));
return len > 0 ? len : 0;
}
-});
+})
diff --git a/src/Engine/Utils/Singleton/BaseSingleton.ts b/src/Engine/CatanEngine/Utils/Singleton/BaseSingleton.ts
similarity index 73%
rename from src/Engine/Utils/Singleton/BaseSingleton.ts
rename to src/Engine/CatanEngine/Utils/Singleton/BaseSingleton.ts
index 9cff221..54a4889 100644
--- a/src/Engine/Utils/Singleton/BaseSingleton.ts
+++ b/src/Engine/CatanEngine/Utils/Singleton/BaseSingleton.ts
@@ -9,18 +9,18 @@
export default function BaseSingleton() {
class BaseSingleton {
public constructor() {
- if ((this)._instance == null) {
- BaseSingleton._instance = this;
+ if ((this as any)._instance == null) {
+ BaseSingleton._instance = this as any;
}
}
private static _instance: BaseSingleton = null;
public static get Instance(): T {
- return (this)._instance;
+ return (this as any)._instance;
}
/** 銷毀 */
public Destroy(): void {
- (this)._instance = null;
+ (this as any)._instance = null;
}
}
return BaseSingleton;
diff --git a/src/Engine/Data/LocalStorageData.ts b/src/Engine/Data/LocalStorageData.ts
deleted file mode 100644
index 8200bb1..0000000
--- a/src/Engine/Data/LocalStorageData.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * 本機系統記錄(切換帳號也不可刪除EX記錄音效開關)
- */
-export default class LocalStorageData {
- private static _instance: LocalStorageData = null;
- public static get Instance(): LocalStorageData {
- return LocalStorageData._instance;
- }
-
- constructor() {
- LocalStorageData._instance = this;
- }
-
- // =======================================================================================
- //
- public get CompileVersion(): string { return cc.sys.localStorage.getItem("CompileVersion"); }
- public set CompileVersion(value: string) { cc.sys.localStorage.setItem("CompileVersion", value.toString()); }
- //
- public get RemoteVerList(): string { return cc.sys.localStorage.getItem("RemoteVerList"); }
- public set RemoteVerList(value: string) { cc.sys.localStorage.setItem("RemoteVerList", value); }
- //
- public get LocalVerList(): string { return cc.sys.localStorage.getItem("LocalVerList"); }
- public set LocalVerList(value: string) { cc.sys.localStorage.setItem("LocalVerList", value); }
- //
- public get ComboDeviceID(): string { return cc.sys.localStorage.getItem("ComboDeviceID") || ""; }
- public set ComboDeviceID(value: string) { cc.sys.localStorage.setItem("ComboDeviceID", value); }
- //
- public get BundleUrl(): string { return cc.sys.localStorage.getItem("BundleUrl"); }
- public set BundleUrl(value: string) { cc.sys.localStorage.setItem("BundleUrl", value); }
- //
- public get Language(): string { return cc.sys.localStorage.getItem("language"); }
- public set Language(value: string) { cc.sys.localStorage.setItem("language", value); }
- //
- public get MusicType(): string { return cc.sys.localStorage.getItem("MusicType"); }
- public set MusicType(value: string) { cc.sys.localStorage.setItem("MusicType", value); }
- //
- public get SoundType(): string { return cc.sys.localStorage.getItem("SoundType"); }
- public set SoundType(value: string) { cc.sys.localStorage.setItem("SoundType", value); }
- //
- public get LvUpNotifyType(): boolean { return JSON.parse(cc.sys.localStorage.getItem("LvUpNotifyType")); }
- public set LvUpNotifyType(value: boolean) { cc.sys.localStorage.setItem("LvUpNotifyType", JSON.stringify(value)); }
- //
- public get WinNotifyType(): boolean { return JSON.parse(cc.sys.localStorage.getItem("WinNotifyType")); }
- public set WinNotifyType(value: boolean) { cc.sys.localStorage.setItem("WinNotifyType", JSON.stringify(value)); }
- //
- public get DownloadList_Preview(): string { return cc.sys.localStorage.getItem("DownloadList_Preview"); }
- public set DownloadList_Preview(value: string) { cc.sys.localStorage.setItem("DownloadList_Preview", value); }
- //
- public get AutoLogin(): number { return Number.parseInt(cc.sys.localStorage.getItem("AutoLogin")); }
- public set AutoLogin(value: number) { cc.sys.localStorage.setItem("AutoLogin", value); }
- //
- public get GameInfoData(): string[] { return JSON.parse(cc.sys.localStorage.getItem("GameInfoData")); }
- public set GameInfoData(value: string[]) { cc.sys.localStorage.setItem("GameInfoData", JSON.stringify(value)); }
- //
- public get LoginDays(): string[] { return JSON.parse(cc.sys.localStorage.getItem("LoginDays")); }
- public set LoginDays(value: string[]) { cc.sys.localStorage.setItem("LoginDays", JSON.stringify(value)); }
-}
\ No newline at end of file
diff --git a/src/Engine/Timer/Timer.ts b/src/Engine/Timer/Timer.ts
deleted file mode 100644
index 599c3b0..0000000
--- a/src/Engine/Timer/Timer.ts
+++ /dev/null
@@ -1,192 +0,0 @@
-import { NumberEx } from "@/utils/Number/NumberEx";
-import { CoroutineV2 } from "../CatanEngine/CoroutineV2/CoroutineV2";
-import { ActionWithType } from "../CatanEngine/CSharp/System/ActionWithType";
-
-class TimerEvent extends ActionWithType { }
-
-/**
- * 計時器(使用CoroutineV2)
- */
-export class Timer {
-
- //#region private
-
- /** 訊息資料 */
- private static Group: Map = new Map();
-
- //#endregion
-
- //#region static
-
- /**
- * 啟動計時
- * @param {number} time 計時(seconds)
- * @param {Function} callback Function
- * @param {any} type (選填) 可以識別的東西
- * @param {any} bindTarget (選填) 回呼時this綁定的對象
- * @example
- * Timer.Start(1, () => { console.log(`example`); });
- * Timer.Start(1, () => { console.log(`example`); }, "example");
- * Timer.Start(1, () => { console.log(`example`); }, "example", this);
- */
- public static Start(time: number, callback: Function, bindTarget?: any, type?: any): void {
- let self: typeof Timer = this;
- let thisType: any = type;
- if (!type) {
- thisType = callback;
- }
- if (Timer.Group.has(thisType)) {
- console.error(`Timer Start Error Timer.Group.has(${thisType})`);
- return;
- }
- let timerData: TimerDataClass = new TimerDataClass(thisType, time, callback, bindTarget);
- Timer.Group.set(thisType, timerData);
- let CoroutineFN: () => IterableIterator = function* (): IterableIterator {
- yield CoroutineV2.WaitTime(time).Start(bindTarget);
- if (Timer.Group.has(thisType)) {
- self._callback(timerData.Type, timerData.Callback, timerData.BindTarget);
- }
- };
- CoroutineV2.Single(CoroutineFN()).Start(bindTarget);
- }
-
- /**
- * 刪除計時 By Target
- * @param {any} target target
- * @example
- * Timer.ClearByTarget(this);
- */
- public static ClearByTarget(target: any): void {
- let timerDataGroup: TimerDataClass[] = [];
- Timer.Group.forEach(timerData => {
- if (timerData.BindTarget === target) {
- timerDataGroup.push(timerData);
- }
- });
- if (timerDataGroup.length === 0) {
- console.warn(`Timer Clear Error Timer.Group.has not target`);
- return;
- }
- for (let i: number = 0; i < timerDataGroup.length; i++) {
- let timerData: TimerDataClass = timerDataGroup[i];
- let type: any = timerData.Type;
- Timer.Group.delete(type);
- timerData = null;
- }
- CoroutineV2.StopCoroutinesBy(target);
- }
-
- /**
- * 刪除計時 By Type
- * @param PS 還是會吃效能在倒數 只是時間到不會執行
- * @param {any} type type
- * @example
- * Timer.ClearByType("example");
- */
- public static ClearByType(type: any): void {
- let timerDataGroup: TimerDataClass[] = [];
- Timer.Group.forEach(timerData => {
- if (timerData.Type === type) {
- timerDataGroup.push(timerData);
- }
- });
- if (timerDataGroup.length === 0) {
- console.warn(`Timer Clear Error Timer.Group.has not type`);
- return;
- }
- for (let i: number = 0; i < timerDataGroup.length; i++) {
- let timerData: TimerDataClass = timerDataGroup[i];
- let type: any = timerData.Type;
- Timer.Group.delete(type);
- }
- }
-
- /**
- * 結束計時時callback
- * @param {Function} callback Function
- */
- private static _callback(type: any, callback: Function, bindTarget: any): void {
- if (Timer.Group.has(type)) {
- Timer.Group.delete(type);
- }
- if (bindTarget) {
- callback.bind(bindTarget)();
- } else {
- callback();
- }
- }
-
- /**
- * 定時事件(時間用 updateTime秒跑一次fn)
- * @param startNum 起始index
- * @param endNum 結束index
- * @param updateTime 事件刷新間隔
- * @param callbackfn 事件
- * @example
- * let startNum: number = 10;
- * let endNum: number = 0;
- * let updateTime: number = 1;
- * yield CoroutineV2.Single(Timer.Timing(
- * startNum,
- * endNum,
- * updateTime,
- * (x: number) => {
- * console.log(`x: ${x}`);
- * }
- * )).Start(this);
- */
- public static *Timing(startNum: number, endNum: number, updateTime: number, callbackfn: Function): IterableIterator {
- let isIncrease: boolean = endNum >= startNum;
- let totalCount: number = Math.abs(endNum - startNum) + 1;
- let nowCount: number = NumberEx.divide(totalCount, updateTime);
- let diff: number = NumberEx.divide(totalCount, nowCount) * (isIncrease ? 1 : -1);
- let tempScore: number = startNum;
- callbackfn(startNum);
- while (true) {
- if (endNum !== tempScore) {
- yield CoroutineV2.WaitTime(updateTime);
- tempScore += diff;
- // 遞增
- if (isIncrease && tempScore > endNum) {
- tempScore = endNum;
- }
- // 遞減
- if (!isIncrease && tempScore < endNum) {
- tempScore = endNum;
- }
- callbackfn(Math.floor(tempScore));
- } else {
- break;
- }
- }
- }
-
- //#endregion
-}
-
-
-//#region Class
-
-/** Timer資料 */
-export class TimerDataClass {
- /** Type */
- public Type: any = null;
-
- /** Time */
- public Time: number = null;
-
- /** Callback */
- public Callback: Function = null;
-
- /** BindTarget */
- public BindTarget?: any = null;
-
- constructor(type: any, time: number, callback: Function, bindTarget?: any) {
- this.Type = type;
- this.Time = time;
- this.Callback = callback;
- this.BindTarget = bindTarget;
- }
-}
-
-// //#endregion
\ No newline at end of file
diff --git a/src/Engine/Utils/Audio/CSAudio.ts b/src/Engine/Utils/Audio/CSAudio.ts
deleted file mode 100644
index ad4efe9..0000000
--- a/src/Engine/Utils/Audio/CSAudio.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export default class CSAudio {
- private static _instance: CSAudio = null;
- public static get Instance(): CSAudio { return this._instance; }
- public AddClipsInfo(clips: Map, pathes: Map): void { }
-}
diff --git a/src/Engine/Utils/PSPS.ts b/src/Engine/Utils/PSPS.ts
deleted file mode 100644
index b2114fc..0000000
--- a/src/Engine/Utils/PSPS.ts
+++ /dev/null
@@ -1,120 +0,0 @@
-//#region Class
-
-import { CoroutineV2 } from "../../Engine/CatanEngine/CoroutineV2/CoroutineV2";
-
-/** 表演節目序列處理系統(playShow Sequence Processing System) */
-export default class PSPS {
- //#region public
-
- public ShowData: ShowDataClass[] = [];
-
- public IsRun: boolean = false;
-
- // /** 可以插隊時間 */
- // public CanCutInLineTime: number = null;
-
- //#endregion
-
- //#region private
-
- private _playShowFunction: (data: any) => IterableIterator = null;
-
- //#endregion
-
- //#region Lifecycle
-
- /**
- * 表演節目序列處理系統(PlayShow Sequence Processing System)
- * @param playShowFunction 要表演的函式
- * @example
- * let CoroutineFunction: (data: any) => IterableIterator = function* (data: any): IterableIterator {}
- * new PSPS(this.CoroutineFunction.bind(this));
- */
- constructor(playShowFunction: (data: any) => IterableIterator) {
- this.SetPlayShowFunction(playShowFunction);
- }
-
- public SetPlayShowFunction(playShowFunction: (data: any) => IterableIterator): void {
- this._playShowFunction = playShowFunction;
- }
-
- //#endregion
-
- //#region playShow
-
- /** 增加表演資料 */
- public PushPlayShowData(data: any, priority: number = 0): void {
- const playShowData: ShowDataClass = new ShowDataClass(data, priority);
- this.ShowData.push(playShowData);
- this.ShowData.ObjectSort([true], ["Priority"]);
- if (!this.IsRun) {
- CoroutineV2.Single(this._performanceShowData()).Start(this);
- }
- }
-
- /** 表演 */
- private *_performanceShowData(): IterableIterator {
- this.IsRun = true;
- if (this._playShowFunction) {
- const showData: ShowDataClass = this.ShowData.shift();
- const data: any = showData.Data;
- yield* this._playShowFunction(data);
- }
- if (this.ShowData.length > 0) {
- CoroutineV2.Single(this._performanceShowData()).Start(this);
- return;
- }
- this.StopPerformance();
- }
-
- /** 停止表演 */
- public StopPerformance(): void {
- this.IsRun = false;
- CoroutineV2.StopCoroutinesBy(this);
- }
-
- public ClearFromPriority(priority: any): void {
- let deleteDatas: ShowDataClass[] = [];
- for (let i: number = 0; i < this.ShowData.length; i++) {
- const showData: ShowDataClass = this.ShowData[i];
- if (showData.Priority === priority) {
- deleteDatas.push(showData);
- }
- }
- for (let i: number = 0; i < deleteDatas.length; i++) {
- const deleteData: ShowDataClass = deleteDatas[i];
- for (let j: number = 0; j < this.ShowData.length; j++) {
- const showData: ShowDataClass = this.ShowData[j];
- if (showData.Priority === deleteData.Priority) {
- this.ShowData.splice(j, 1);
- break;
- }
- }
- }
- }
-
- /** 清除所有表演 */
- public ClearPerformance(): void {
- this.IsRun = false;
- this.ShowData = [];
- CoroutineV2.StopCoroutinesBy(this);
- }
-
- //#endregion
-}
-
-/** ShowDataClass */
-export class ShowDataClass {
- /** 優先度(越低越前面) */
- public Priority: number = 0;
-
- /** Data */
- public Data: any = null;
-
- constructor(data: any, priority: number) {
- this.Data = data;
- this.Priority = priority;
- }
-}
-
-//#endregion
\ No newline at end of file
diff --git a/src/UI/Lobby.tsx b/src/UI/Lobby.tsx
deleted file mode 100644
index f4d305e..0000000
--- a/src/UI/Lobby.tsx
+++ /dev/null
@@ -1,32 +0,0 @@
-import { useGameItems } from "@/context/GameItemsContext";
-import { Layout } from "antd";
-import { useEffect } from "react";
-import { useNavigate } from "react-router-dom";
-import Player from "./Lobby/Player";
-import SlotList from "./Lobby/SlotList";
-
-const Lobby = () => {
- const { player, setPlayer } = useGameItems();
- const navigate = useNavigate();
- const { token } = player;
-
- function onLoad() {
- if (!token) {
- navigate(`/`);
- return;
- }
- }
-
- useEffect(() => {
- onLoad();
- }, []);
-
- return (
-
-
- {}
-
- );
-};
-
-export default Lobby;
\ No newline at end of file
diff --git a/src/UI/Lobby/Player.tsx b/src/UI/Lobby/Player.tsx
deleted file mode 100644
index 2d5dabd..0000000
--- a/src/UI/Lobby/Player.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-import { CurrencyManager } from "@/FormTableExt/Manage/Currency/CurrencyManager";
-import { useGameItems } from "@/context/GameItemsContext";
-import { useEffect } from "react";
-
-const Player = () => {
- const { player } = useGameItems();
- const { aId, name, m } = player;
-
- function onLoad() {
- }
-
- useEffect(() => {
- onLoad();
- }, []);
-
- return (
-
-
aId: {aId}
-
暱稱: {name}
-
金幣: {CurrencyManager.GetNumberWithComma(m)}
-
- );
-};
-
-export default Player;
-
-const siderStyle: React.CSSProperties = {
- fontSize: "1rem",
- color: "#000000",
- display: "flex",
- textAlign: "left",
- flexDirection: "column",
- justifyContent: "center",
- width: "20%"
-};
\ No newline at end of file
diff --git a/src/UI/Lobby/SDGame.tsx b/src/UI/Lobby/SDGame.tsx
deleted file mode 100644
index 4543410..0000000
--- a/src/UI/Lobby/SDGame.tsx
+++ /dev/null
@@ -1,283 +0,0 @@
-import MainControl from "@/Common/MainControl/MainControl";
-import CSMessage from "@/Common/Message/CSMessage";
-import { CoroutineV2 } from "@/Engine/CatanEngine/CoroutineV2/CoroutineV2";
-import { INetResponse } from "@/Engine/CatanEngine/NetManagerV2/Core/INetResponse";
-import { NetConnector } from "@/Engine/CatanEngine/NetManagerV2/NetConnector";
-import { NetManagerSD } from "@/Engine/CatanEngine/NetManagerV2/NetManagerSD";
-import CSSettingsSDV3 from "@/FormTableSD/CSSettingsSDV3";
-import { SlotsetTableRow } from "@/FormTableSD/Tables/SlotsetTable";
-import A from "@/components/CustomA";
-import { gameObj, useGameItems } from "@/context/GameItemsContext";
-import { SDAccountLoginRequest } from "@/define/Request/AccountRequest";
-import { SlotInRequest } from "@/define/Request/SlotRequest";
-import GameManager from "@/modules/GameManager";
-import { Button, Checkbox, Dropdown, Flex, Input, MenuProps } from "antd";
-import { CheckboxChangeEvent } from "antd/es/checkbox";
-import dayjs from "dayjs";
-import { ChangeEvent, useEffect, useState } from "react";
-
-const SDGame = (props: ISDGame) => {
- const { gameUrl, onClickSlotOut } = props;
- const { gameData } = useGameItems();
- const { nowSlotId } = gameData;
- const [, setRender] = useState(0);
- const [isOK, setIsOK] = useState(false);
- const [isSpin, setIsSpin] = useState(false);
- const [items, setItems] = useState([]);
- const [bet, setBet] = useState(0);
- const [delay, setDelay] = useState(0.1);
- const [isRatioStop, setIsRatioStop] = useState(false);
- const [ratioStop, setRatioStop] = useState(200);
- const [isCountStop, setIsCountStop] = useState(false);
- const [countStop, setCountStop] = useState(200);
- const [log, setLog] = useState([]);
- let conn: NetConnector = undefined;
-
- function* onLoad(): IterableIterator {
- reset();
- const url: URL = new URL(gameUrl);
- const queryParameters: URLSearchParams = new URLSearchParams(url.search);
- const token: string = queryParameters.get("token");
- const slotid: number = +queryParameters.get("slotid");
- const host: string = queryParameters.get("host");
- const port: number = 9005;
-
- GameManager.SlotData.SlotId = slotid;
- GameManager.SlotData.IsRatioStop = isRatioStop;
- GameManager.SlotData.RatioStop = ratioStop;
- GameManager.SlotData.IsCountStop = isCountStop;
- GameManager.SlotData.CountStop = countStop;
- conn = new NetConnector("https://" + host, port);
- conn.OnDataReceived.AddCallback(onNetDataReceived);
- conn.OnDisconnected.AddCallback(onNetDisconnected);
- loadJSON(slotid);
- setSlotClass();
- NetManagerSD.Initialize(conn);
- console.log("[SDsocket] connecting...");
- yield NetManagerSD.ConnectAsync();
- yield* login(token);
- yield* slotIn();
- }
-
- function onClose(): void {
- CoroutineV2.StopCoroutinesBy("Spin");
- reset();
- }
-
- function reset(): void {
- GameManager.SlotData.SlotId = undefined;
- GameManager.SlotData.SlotClass = undefined;
- GameManager.SlotData.IsSpin = undefined;
- GameManager.SlotData.NowBet = undefined;
- GameManager.SlotData.IsRatioStop = undefined;
- GameManager.SlotData.RatioStop = undefined;
- GameManager.SlotData.IsCountStop = undefined;
- GameManager.SlotData.CountStop = undefined;
- }
-
- function* login(token: string): IterableIterator {
- const req = new SDAccountLoginRequest(token);
- yield req.SendAsync(true);
- const resp = req.Result;
- if (!resp.IsValid) {
- CSMessage.NetError(resp.Method, resp.Status, "SD Account Login Fail");
- return;
- }
- }
-
- function* slotIn(): IterableIterator {
- let req: SlotInRequest = new SlotInRequest(GameManager.SlotData.SlotId);
- yield req.SendAsync(true);
- let resp: INetResponse = req.Result;
- if (resp.IsValid) {
- const br: number[] = resp.Data["br"];
- const db: number = resp.Data["db"];
- const betGroup: MenuProps["items"] = [];
- for (let i = 0; i < br.length; i++) {
- betGroup.push({
- key: i,
- label: (
- { setBet(br[i]); GameManager.SlotData.NowBet = br[i]; }}>
- {br[i]}
-
- ),
- });
- }
- setItems(betGroup);
- setBet(br[db]);
- GameManager.SlotData.NowBet = br[db];
- setIsOK(true);
- }
- }
-
- async function loadJSON(slotid: number) {
- let slotset: SlotsetTableRow = CSSettingsSDV3.Slotset[slotid];
- let formName: string[] = slotset.FormName;
- let parallel: Promise[] = [];
- for (let i: number = 0; i < formName.length; i++) {
- await MainControl.DownloadFormSetting(formName[i]);
- }
- // set Form
- await Promise.all(parallel);
- }
-
- async function setSlotClass() {
- let slot: any;
- const slotGroup: typeof import("../../define/Game/Base/Slot") = await import(/* @vite-ignore */`../../define/Game/Base/Slot`);
- try {
- slot = slotGroup[`Slot${GameManager.SlotData.SlotId}`];
- } catch (error) {
- //
- }
- if (!slot) {
- slot = slotGroup.SlotBase;
- }
- GameManager.SlotData.SlotClass = new slot(GameManager.SlotData.SlotId, AddLog);
- }
-
- async function OnClickSpin() {
- GameManager.SlotData.IsSpin = true;
- setIsSpin(true);
- CoroutineV2.Single(spin()).Start("Spin");
- }
-
- function OnClickStop() {
- GameManager.SlotData.IsSpin = false;
- setIsSpin(false);
- }
-
- function* spin(): IterableIterator {
- const { player } = gameObj;
- const { m: money } = player;
- if (money < GameManager.SlotData.NowBet) {
- noMoney();
- OnClickStop();
- return;
- }
- if (isCountStop) {
- if (GameManager.SlotData.CountStop <= 0) {
- OnClickStop();
- return;
- }
- GameManager.SlotData.CountStop--;
- setCountStop((v) => v - 1);
- }
- yield* GameManager.SlotData.SlotClass.Spin(bet, OnClickStop);
- yield CoroutineV2.WaitTime(delay);
- if (GameManager.SlotData.IsSpin) {
- yield* spin();
- } else {
- GameManager.SlotData.IsSpin = false;
- setIsSpin(false);
- }
- }
-
- function noMoney(): void {
- const { player } = gameObj;
- const { m: money } = player;
- GameManager.SlotData.IsSpin = false;
- AddLog(`金額不足: ${money}`);
- }
-
- function AddLog(s: string) {
- const todayTimeStr: string = dayjs().format("YYYY/MM/DD HH:mm:ss");
- setLog((v) => {
- if (v.length > 100) {
- v.pop();
- }
- v.unshift(`${todayTimeStr} ${s}`);
- return v;
- });
- setRender((v: number) => v + 1);
- }
-
- /**RPC回傳.若協定錯誤斷線.原因也會在這裡收到 */
- function onNetDataReceived(resp: INetResponse) {
- // MainControl.DataReceivedEvent.DispatchCallback([MainControl.DataType.ServerData, resp]);
- }
-
- /**只要連線中斷不管主被動都會走到這裡 */
- function onNetDisconnected() {
- console.warn("[socket] Disconnected");
- conn.OnDataReceived.RemoveAllCallbacks();
- // MainControl.DataReceivedEvent.DispatchCallback([MainControl.DataType.NetDisconnected]);
- }
-
- useEffect(() => {
- CoroutineV2.Single(onLoad()).Start();
-
- return onClose;
- }, []);
-
- return (<>
-
- {isOK &&
-
-
-
- 押注
-
-
-
-
-
-
- 延遲
- ) => setDelay(+e.target.value)} type="text" value={delay} placeholder={delay.toString()} style={{ width: "10%" }} />
- 秒
-
-
-
- 倍率
- { setIsRatioStop(e.target.checked); GameManager.SlotData.IsRatioStop = e.target.checked; }} />
- {isRatioStop && <>) => { setRatioStop(+e.target.value); GameManager.SlotData.RatioStop = +e.target.value; }} type="text" value={ratioStop} placeholder={ratioStop.toString()} style={{ width: "10%" }} />倍>}
-
-
-
- 轉數
- { setIsCountStop(e.target.checked); GameManager.SlotData.IsCountStop = e.target.checked; }} />
- {isCountStop && <>) => { setCountStop(+e.target.value); GameManager.SlotData.CountStop = +e.target.value; }} type="text" value={countStop} placeholder={countStop.toString()} style={{ width: "10%" }} />轉>}
-
-
-
- {isSpin
- ?
- :
- }
-
-
-
- {log.map((log: string, index: number) =>
{log}
)}
-
- }
-
-
- >);
-};
-
-export default SDGame;
-
-interface ISDGame {
- gameUrl: string;
- onClickSlotOut: () => void;
-}
-
-const siderStyle: React.CSSProperties = {
- fontSize: "1rem",
- color: "#000000",
- display: "flex",
- textAlign: "left",
- flexDirection: "column",
- justifyContent: "center",
- width: "100%"
-};
-
-const controlStyle: React.CSSProperties = {
- fontSize: "1rem",
- display: "flex",
- textAlign: "left",
- flexDirection: "column",
- justifyContent: "center",
- lineHeight: "30px",
- width: "30%"
-};
\ No newline at end of file
diff --git a/src/UI/Lobby/SlotList.tsx b/src/UI/Lobby/SlotList.tsx
deleted file mode 100644
index aaf7531..0000000
--- a/src/UI/Lobby/SlotList.tsx
+++ /dev/null
@@ -1,99 +0,0 @@
-import CSMessage from "@/Common/Message/CSMessage";
-import { CoroutineV2 } from "@/Engine/CatanEngine/CoroutineV2/CoroutineV2";
-import { INetResponse } from "@/Engine/CatanEngine/NetManagerV2/Core/INetResponse";
-import CSSettingsSDV3 from "@/FormTableSD/CSSettingsSDV3";
-import BusinessTypeSetting, { BusinessEnum } from "@/_BusinessTypeSetting/BusinessTypeSetting";
-import Image from "@/components/Image/Image";
-import { useGameItems } from "@/context/GameItemsContext";
-import { GameLaunchRequest, GameLeaveRequest, RpcGameLaunchResponse } from "@/define/Request/GameRequest";
-import { SlotData } from "@/define/gameData";
-import GameManager from "@/modules/GameManager";
-import { Button, Flex } from "antd";
-import { useEffect, useState } from "react";
-import SDGame from "./SDGame";
-
-const SlotList = () => {
- const { gameData, setGameData } = useGameItems();
- const { slotData, slotList, nowSlotId } = gameData;
- const [isGameIn, setIsGameIn] = useState(false);
- const [gameUrl, setGameUrl] = useState("");
-
- function onLoad() {
-
- }
-
- function* onClickSlotIn(slotId: number): IterableIterator {
- const data: SlotData = slotData[slotId];
- const [componyID] = data;
- const req: GameLaunchRequest = new GameLaunchRequest(componyID, slotId);
- yield req.SendAsync();
- const resp: INetResponse = req.Result;
- if (!resp.IsValid) {
- if (resp.Status === 18) {
- CSMessage.CreateYesMsg(CSSettingsSDV3.prototype.CommonString(16));
- }
- return;
- }
- setIsGameIn(true);
- GameManager.IsInGame = true;
- const url: string = resp.Data;
- setGameData({
- ...gameData,
- nowSlotId: slotId
- });
- const UseServerType = BusinessTypeSetting.UseServerType;
- const ServerType = BusinessEnum.ServerType[UseServerType];
- const SDType = BusinessEnum.ComponyType[ServerType];
- if (componyID === SDType) {
- setGameUrl(url);
- }
- else {
- window.open(url, "_blank");
- }
- }
-
- function onClickSlotOut() {
- const gameLeaveReq: GameLeaveRequest = new GameLeaveRequest(nowSlotId);
- gameLeaveReq.Send();
- setGameUrl("");
- setIsGameIn(false);
- GameManager.IsInGame = false;
- }
-
- useEffect(() => {
- onLoad();
- }, []);
-
- return (<>
- {isGameIn
- ? <>{gameUrl
- ?
- :
-
- }>
-
- :
-
- {slotList.map((slotId: number, index: number) =>
- { CoroutineV2.Single(onClickSlotIn(slotId)).Start(); }} style={{ cursor: "pointer" }} />
- )}
-
-
- }
- >);
-};
-
-export default SlotList;
-
-const contentStyle: React.CSSProperties = {
- fontSize: "1rem",
- minHeight: 120,
- lineHeight: "120px",
- color: "#000000",
- display: "flex",
- textAlign: "center",
- flexDirection: "column",
- justifyContent: "center",
- width: "100%"
-};
\ No newline at end of file
diff --git a/src/UI/Login.tsx b/src/UI/Login.tsx
deleted file mode 100644
index 059de86..0000000
--- a/src/UI/Login.tsx
+++ /dev/null
@@ -1,129 +0,0 @@
-import MainControl from "@/Common/MainControl/MainControl";
-import CSMessage from "@/Common/Message/CSMessage";
-import { CoroutineV2 } from "@/Engine/CatanEngine/CoroutineV2/CoroutineV2";
-import { INetResponse } from "@/Engine/CatanEngine/NetManagerV2/Core/INetResponse";
-import { BusinessEnum } from "@/_BusinessTypeSetting/BusinessTypeSetting";
-import { useGameItems } from "@/context/GameItemsContext";
-import { AccountLoginRequest } from "@/define/Request/AccountRequest";
-import { CommonAccountResponse, LineLoginRequest } from "@/define/Request/RegisterRequest";
-import { Button, Cascader } from "antd";
-import TextArea from "antd/es/input/TextArea";
-import React, { useState } from "react";
-import { useNavigate } from "react-router-dom";
-
-interface Option {
- value: string;
- label: string;
- children?: Option[];
-}
-
-const Login = () => {
- const { onLoad, player, setPlayer } = useGameItems();
- const navigate = useNavigate();
- const serverType: typeof BusinessEnum.ServerType = BusinessEnum.ServerType;
- const [type, setType] = useState(BusinessEnum.ServerType.Internal_Dev);
- const [isLogin, setIsLogin] = useState(false);
- let a = "eyJhbGciOiJIUzI1NiJ9.4cuoSq5_RMnvfG6JUOBADHNHNkZpxi4K7sdSatF6TPIix_mbPvQ_vuyNs_PMIGcFh3J3VJQJeT6V0VpR3BGhlYs9yibJBTV7KxZ66R_CYh_xyvDzT1tkMXNpSFvhO3S-eOqKBArpy17hMaw-pMmAyE3JqjGfNJMVjUsfnbLGbAY.sM-8P1-h9BlBvzixDjZZXmFaDEQKdfVilk7RqsDVJv4";
- if (import.meta.env.PROD) {
- a = "";
- }
- const [token, SetToken] = useState(a);
- const options: Option[] = [];
- for (let i = 0, names: string[] = Object.keys(serverType); i < names.length; i++) {
- const key: string = names[i];
- if (!Number.isNaN(+key)) {
- options.push({
- value: key,
- label: serverType[key],
- });
- }
- }
-
- async function onClickLogin() {
- if (!token) {
- CSMessage.CreateYesMsg("請輸入token");
- return;
- }
- setIsLogin(true);
- await onLoad(type);
- CoroutineV2.Single(login()).Start();
- }
-
- function* login() {
- yield* MainControl.Instance.ConnectAsync();
- yield* registerLineLogin();
- }
-
- function* registerLineLogin() {
- let req: LineLoginRequest = new LineLoginRequest(token);
- yield req.SendAsync(true);
- let resp: INetResponse = req.Result;
- if (!resp.IsValid) {
- //取得帳號失敗直接斷開SOCKET
- if (resp.Status != 12) {
- const msg: string = "Line Info Error. Error Code:" + req.Result.Status;
- CSMessage.CreateYesMsg(msg);
- setIsLogin(false);
- return;
- }
- console.warn("LINE帳號無綁定");
- setIsLogin(false);
- return;
- }
- yield* serverAccountLogin(resp.Data.id, resp.Data.pw);
- }
-
- /** 遊戲帳號登入取得玩家資料.統一登入時在刪除需要刪除的資料 */
- function* serverAccountLogin(a: string, pw: string, partner: string = null): IterableIterator {
- let hasAP: boolean = (a && a != "null" && a != "undefined" && pw && pw != "null" && pw != "undefined");
- if (!hasAP) {
- CSMessage.CreateYesMsg("沒有帳號或密碼.請確認回傳接值.");
- setIsLogin(false);
- return;
- }
- let req: AccountLoginRequest = new AccountLoginRequest(a, pw, partner);
- yield req.SendAsync(true);
- let resp: INetResponse = req.Result;
- if (!resp.IsValid) {
- CSMessage.CreateYesMsg("Login Account Error! Error Code : " + resp.Status);
- setIsLogin(false);
- return;
- }
- setPlayer({
- ...player,
- ...resp.Data,
- token: token
- });
- navigate(`/lobby/`);
- }
-
- return (
- <>{!isLogin &&
-
-
- setType(+v[0])} />
-
- Token:
-
- }>
- );
-};
-
-export default Login;
-
-const boxStyle: React.CSSProperties = {
- display: "flex",
- justifyContent: "center",
-};
-
-const boxStyle2: React.CSSProperties = {
- width: "50%",
- height: "100vh",
- display: "flex",
- alignItems: "center",
- justifyContent: "center",
- flexDirection: "column"
-};
\ No newline at end of file
diff --git a/src/UIControl/ModalContext.tsx b/src/UIControl/ModalContext.tsx
deleted file mode 100644
index 8c1455e..0000000
--- a/src/UIControl/ModalContext.tsx
+++ /dev/null
@@ -1,75 +0,0 @@
-import { Modal } from "antd";
-import { ReactNode, createContext, useContext, useState } from "react";
-
-type ModalProviderProps = {
- children: ReactNode;
-};
-const ModalContext = createContext(undefined);
-
-export function useModal() {
- return useContext(ModalContext);
-}
-
-export let modalObj: IModal = null;
-
-export function ModalProvider({ children }: ModalProviderProps) {
- const [isOpen, setIsOpen] = useState(false);
- const [confirmData, setConfirmData] = useState(undefined);
-
- function handleOpen(data: IConfirmMessageData): void {
- setConfirmData(data);
- setIsOpen(true);
- }
-
- const handleClose = () => setIsOpen(false);
-
- function handleConfirm(): void {
- confirmData?.handleConfirm && confirmData?.handleConfirm();
- handleClose();
- }
-
- function handleCancel(): void {
- confirmData?.handleCancel && confirmData?.handleCancel();
- handleClose();
- }
-
- const modal: IModal = modalObj = {
- isOpen,
- handleOpen,
- handleClose,
- confirmData,
- };
-
- return (
-
- {children}
-
- {confirmData?.content}
-
-
- );
-}
-
-
-export interface IModal {
- isOpen: boolean;
- handleOpen: (data: IConfirmMessageData) => void;
- handleClose: () => void;
- confirmData: IConfirmMessageData;
-}
-
-export interface IConfirmMessageData {
- title?: string;
- subTitle?: string;
- content?: string;
- enterStr?: string;
- cancelStr?: string;
- isShowCancel?: boolean;
- isOrangeButton?: boolean;
- isNeedClickConfirmClosePanel?: boolean;
- handleCancel?: () => unknown;
- handleConfirm?: (...args: any) => unknown;
- render?: (data?: any) => ReactNode;
- newRender?: (data?: any) => JSX.Element;
- textAlign?: "center" | "left" | "right";
-}
\ No newline at end of file
diff --git a/src/_BusinessTypeSetting/BusinessTypeSetting.ts b/src/_BusinessTypeSetting/BusinessTypeSetting.ts
index 090fc94..970323e 100644
--- a/src/_BusinessTypeSetting/BusinessTypeSetting.ts
+++ b/src/_BusinessTypeSetting/BusinessTypeSetting.ts
@@ -1,41 +1,3 @@
-export module BusinessEnum {
- export enum BusinessType {
- Type1 = "LP1",
- Type2 = "LP2"
- }
-
- export enum ServerType {
- /** 外版 */
- Out = 2,
- /** 內版開發(內網&4G) */
- Internal_Dev = 5,
- /** 外部商業DEMO(B2B) */
- Out_B2B = 6,
- /** QA */
- QA = 7,
- /** Test */
- Test = 8
- }
-
- export class ComponyType {
- /** 外版 */
- public static Out: number = 1;
- /** 內版開發(內網&4G) */
- public static Internal_Dev: number = 2;
- /** 外部商業DEMO(B2B) */
- public static Out_B2B: number = 2;
- /** QA */
- public static QA: number = 1;
- /** Test */
- public static Test: number = 1;
- }
-
- export enum LogoType {
- /** 完美(目前只有WEB) */
- // WM = 1
- }
-}
-
/**
產品商業類別設定檔
@explain 讀不同表就代表不同商業類別.要多開GIT並設定新測試環境
@@ -43,207 +5,43 @@ export module BusinessEnum {
*/
export default class BusinessTypeSetting {
/** 產品商業類別字串(組合判斷用) */
- public static readonly TYPE_BUSINESS: string = BusinessEnum.BusinessType.Type1;
+ public static readonly TYPE_BUSINESS: string = "LP1";
- /** 必要JSON載入結束 */
- public static GetLoadInitEnd(): boolean {
- return this.SetLoadInitEnd;
- }
+ // /** 必要JSON載入結束 */
+ // public static GetLoadInitEnd(): boolean {
+ // return this.SetLoadInitEnd;
+ // }
- public static SetLoadInitEnd: boolean = false;
+ // public static SetLoadInitEnd: boolean = false;
- /**
- * 執行環境ProductEnum.ServerType
- * @description 請統一從Cocos掛載Loading的面板去設定ServerType
- */
- public static UseServerType: BusinessEnum.ServerType = BusinessEnum.ServerType[import.meta.env.VITE_Deploy] as unknown as BusinessEnum.ServerType;
+ // /**
+ // * 執行環境ProductEnum.ServerType
+ // * @description 請統一從Cocos掛載Loading的面板去設定ServerType
+ // */
+ // public static UseServerType: BusinessEnum.ServerType = BusinessEnum.ServerType[import.meta.env.VITE_Deploy] as unknown as BusinessEnum.ServerType;
/** 連線IP(網頁版會接網址參數所以要多開變數直接指定) */
- public static UseHost: string = BusinessTypeSetting.GetHostUrl(BusinessTypeSetting.UseServerType);
+ public static UseHost: string;
/** 連接阜(網頁版會接網址參數所以要多開變數直接指定) */
- public static UsePort: number = BusinessTypeSetting.GetPortNum(BusinessTypeSetting.UseServerType);
+ public static UsePort: number;
- /** 資源伺服器網址 */
- public static UsePatch: string = BusinessTypeSetting.GetPatchUrl(BusinessTypeSetting.UseServerType);
+ // /** 資源伺服器網址 */
+ // public static UsePatch: string = BusinessTypeSetting.GetPatchUrl(BusinessTypeSetting.UseServerType);
/** 靜態伺服器網址 */
- public static UseDownloadUrl: string = BusinessTypeSetting.GetDownloadUrl(BusinessTypeSetting.UseServerType);
+ public static get UseDownloadUrl(): string { return BusinessTypeSetting.GetDownloadUrl() };
- /** Line Liff */
- public static UseLiffID: string = BusinessTypeSetting.GetLiffID(BusinessTypeSetting.UseServerType);
+ // /** Line Liff */
+ // public static UseLiffID: string = BusinessTypeSetting.GetLiffID(BusinessTypeSetting.UseServerType);
- /** Line Liff */
- public static UseLineID: string = BusinessTypeSetting.GetLineID(BusinessTypeSetting.UseServerType);
+ // /** Line Liff */
+ // public static UseLineID: string = BusinessTypeSetting.GetLineID(BusinessTypeSetting.UseServerType);
- /** 編譯版本 */
- public static get COMPILE_VERSION(): string {
- return BusinessTypeSetting.SET_COMPILE_VERSION;
+ public static GetDownloadUrl(): string {
+ const host = BusinessTypeSetting.UseHost.replace("https://", "");
+ return `https://static-${host}`;
}
-
- public static SET_COMPILE_VERSION: string = null;
-
- // =======================================================================================
- /** 網頁測試讀取對應資源的位置 */
- public static readonly FolderUrl: string = "shared/";
- public static readonly FolderUrlImg: string = "shared/img/";
- public static readonly FolderUrlBg: string = "shared/bg/";
- public static readonly FolderUrlJson: string = "shared/jsons/";
- public static readonly FolderUrlTxt: string = "shared/txt/";
- public static readonly FolderUrlLoading: string = "shared/loading/";
- public static readonly FolderUrlMp3: string = "shared/";
-
- /** Line */
- public static readonly LineFriendUrl: string = "https://line.me/R/ti/p/@";
- /** 原始Liff開啟方式(電腦也支援) */
- public static readonly LiffUrl: string = "https://liff.line.me/";
- /** 電腦開會導向Line官網 */
- public static readonly LiffUrlTypeA: string = "https://line.me/R/app/";
- /** 電腦無法打開 */
- public static readonly LiffUrlTypeB: string = "line://app/";
-
- /**
- * 取得PATH資原路徑
- * @param type 執行環境()
- * @returns
- */
- public static GetPatchUrl(type: BusinessEnum.ServerType): string {
- switch (type) {
- case BusinessEnum.ServerType.Out:
- return "https://patch.lybobet.com/";
-
- case BusinessEnum.ServerType.Internal_Dev:
- return "https://patch-dev.lybobet.com/";
-
- case BusinessEnum.ServerType.Out_B2B:
- return "https://patch-b2b.lybobet.com/";
-
- case BusinessEnum.ServerType.QA:
- return "https://patch-qa.lybobet.com/";
-
- case BusinessEnum.ServerType.Test:
- return "https://patch-testing.lybobet.com/";
- }
- }
-
- /**
- * 取得連線伺服器IP
- * @param type 執行環境
- * @returns
- */
- public static GetHostUrl(type: BusinessEnum.ServerType): string {
- switch (type) {
- case BusinessEnum.ServerType.Out:
- return "https://game.lybobet.com";
-
- case BusinessEnum.ServerType.Internal_Dev:
- return "https://dev.lybobet.com";
-
- case BusinessEnum.ServerType.QA:
- return "https://qa.lybobet.com";
-
- case BusinessEnum.ServerType.Test:
- return "https://testing.lybobet.com";
-
- case BusinessEnum.ServerType.Out_B2B:
- return "https://b2b.lybobet.com";
- }
- }
-
- /**
- * 取得伺服器連接端口
- * @param type 執行環境
- * @returns
- */
- public static GetPortNum(type: BusinessEnum.ServerType): number {
- switch (type) {
- case BusinessEnum.ServerType.Out:
- return 9005;
-
- case BusinessEnum.ServerType.Internal_Dev:
- return 9005;
-
- case BusinessEnum.ServerType.QA:
- return 9005;
-
- case BusinessEnum.ServerType.Test:
- return 9005;
-
- case BusinessEnum.ServerType.Out_B2B:
- return 9005;
-
- }
- }
-
- public static GetDownloadUrl(type: BusinessEnum.ServerType): string {
- switch (type) {
- case BusinessEnum.ServerType.Out:
- return "https://static.lybobet.com/";
-
- case BusinessEnum.ServerType.Internal_Dev:
- return "https://static-dev.lybobet.com/";
-
- case BusinessEnum.ServerType.QA:
- return "https://static-qa.lybobet.com/";
-
- case BusinessEnum.ServerType.Test:
- return "https://static-testing.lybobet.com/";
-
- case BusinessEnum.ServerType.Out_B2B:
- return "https://static-b2b.lybobet.com/";
- }
- }
-
- public static GetUploadUrl(type: BusinessEnum.ServerType): string {
- let port: string = ":9080";
- switch (type) {
- case BusinessEnum.ServerType.Internal_Dev: {
- let url: string = this.GetHostUrl(type);
- url = url.replace("http://", "");
- url = url.replace("https://", "");
- return "https://static-" + url + port;
- }
- default:
- return this.GetHostUrl(type) + port;
- }
- }
-
- public static GetLiffID(type: BusinessEnum.ServerType): string {
- switch (type) {
- case BusinessEnum.ServerType.Out:
- return "1657864491-kA7gnVMp";
-
- case BusinessEnum.ServerType.Internal_Dev:
- return "1657713613-we8Gk929";
-
- case BusinessEnum.ServerType.QA:
- return "1657864462-xM7dgPGK";
-
- case BusinessEnum.ServerType.Test:
- return "1657864500-N3YEgz6p";
-
- case BusinessEnum.ServerType.Out_B2B:
- return "1657864484-YeqWEV9O";
- }
- }
-
- public static GetLineID(type: BusinessEnum.ServerType): string {
- switch (type) {
- case BusinessEnum.ServerType.QA:
- case BusinessEnum.ServerType.Test:
- case BusinessEnum.ServerType.Out:
- return "070hdlum";
-
- case BusinessEnum.ServerType.Internal_Dev:
- return "349pbusa";
-
- case BusinessEnum.ServerType.Out_B2B:
- return "114pcwux";
- }
- }
-
- // =======================================================================================
-
}
export enum FileType {
diff --git a/src/components/CustomA.tsx b/src/components/CustomA.tsx
new file mode 100644
index 0000000..b55a5b6
--- /dev/null
+++ b/src/components/CustomA.tsx
@@ -0,0 +1,21 @@
+import { AnchorHTMLAttributes, JSX } from "react";
+
+/** 阻止a標籤的href產生網頁跳轉 */
+export default function A(props: IAnchor): JSX.Element {
+ const { useref, children, onClick } = props;
+
+ function handleClick(event: React.MouseEvent): void {
+ event.preventDefault(); // 阻止默认点击行为
+ onClick && onClick(event);
+ }
+
+ return (
+
+ {children}
+
+ );
+}
+
+interface IAnchor extends AnchorHTMLAttributes {
+ useref?: React.LegacyRef;
+}
\ No newline at end of file
diff --git a/src/components/CustomA/index.tsx b/src/components/CustomA/index.tsx
deleted file mode 100644
index 46815a5..0000000
--- a/src/components/CustomA/index.tsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import { AnchorHTMLAttributes } from "react";
-
-interface IAnchorProps extends AnchorHTMLAttributes {
- useRef?: React.LegacyRef
-}
-
-/** 阻止a標籤的href產生網頁跳轉 */
-export default function A(props: IAnchorProps) {
- const { useRef, children, onClick } = props;
-
- function handleClick(event: React.MouseEvent) {
- event.preventDefault(); // 阻止默认点击行为
- onClick && onClick(event);
- }
-
- return (
-
- {children}
-
- );
-}
diff --git a/src/components/Image/Image.tsx b/src/components/Image/Image.tsx
index 6fc2eae..8e5269b 100644
--- a/src/components/Image/Image.tsx
+++ b/src/components/Image/Image.tsx
@@ -1,5 +1,3 @@
-import { fallImg } from "@/utils";
-
interface AvatarProps extends React.ImgHTMLAttributes { }
/** 防止掉圖時 上個預設圖 */
@@ -12,4 +10,6 @@ const Image = (props: AvatarProps) => {
);
};
-export default Image;
\ No newline at end of file
+export default Image;
+
+const fallImg: string = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMIAAADDCAYAAADQvc6UAAABRWlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGASSSwoyGFhYGDIzSspCnJ3UoiIjFJgf8LAwSDCIMogwMCcmFxc4BgQ4ANUwgCjUcG3awyMIPqyLsis7PPOq3QdDFcvjV3jOD1boQVTPQrgSkktTgbSf4A4LbmgqISBgTEFyFYuLykAsTuAbJEioKOA7DkgdjqEvQHEToKwj4DVhAQ5A9k3gGyB5IxEoBmML4BsnSQk8XQkNtReEOBxcfXxUQg1Mjc0dyHgXNJBSWpFCYh2zi+oLMpMzyhRcASGUqqCZ16yno6CkYGRAQMDKMwhqj/fAIcloxgHQqxAjIHBEugw5sUIsSQpBobtQPdLciLEVJYzMPBHMDBsayhILEqEO4DxG0txmrERhM29nYGBddr//5/DGRjYNRkY/l7////39v///y4Dmn+LgeHANwDrkl1AuO+pmgAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAwqADAAQAAAABAAAAwwAAAAD9b/HnAAAHlklEQVR4Ae3dP3PTWBSGcbGzM6GCKqlIBRV0dHRJFarQ0eUT8LH4BnRU0NHR0UEFVdIlFRV7TzRksomPY8uykTk/zewQfKw/9znv4yvJynLv4uLiV2dBoDiBf4qP3/ARuCRABEFAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghgg0Aj8i0JO4OzsrPv69Wv+hi2qPHr0qNvf39+iI97soRIh4f3z58/u7du3SXX7Xt7Z2enevHmzfQe+oSN2apSAPj09TSrb+XKI/f379+08+A0cNRE2ANkupk+ACNPvkSPcAAEibACyXUyfABGm3yNHuAECRNgAZLuYPgEirKlHu7u7XdyytGwHAd8jjNyng4OD7vnz51dbPT8/7z58+NB9+/bt6jU/TI+AGWHEnrx48eJ/EsSmHzx40L18+fLyzxF3ZVMjEyDCiEDjMYZZS5wiPXnyZFbJaxMhQIQRGzHvWR7XCyOCXsOmiDAi1HmPMMQjDpbpEiDCiL358eNHurW/5SnWdIBbXiDCiA38/Pnzrce2YyZ4//59F3ePLNMl4PbpiL2J0L979+7yDtHDhw8vtzzvdGnEXdvUigSIsCLAWavHp/+qM0BcXMd/q25n1vF57TYBp0a3mUzilePj4+7k5KSLb6gt6ydAhPUzXnoPR0dHl79WGTNCfBnn1uvSCJdegQhLI1vvCk+fPu2ePXt2tZOYEV6/fn31dz+shwAR1sP1cqvLntbEN9MxA9xcYjsxS1jWR4AIa2Ibzx0tc44fYX/16lV6NDFLXH+YL32jwiACRBiEbf5KcXoTIsQSpzXx4N28Ja4BQoK7rgXiydbHjx/P25TaQAJEGAguWy0+2Q8PD6/Ki4R8EVl+bzBOnZY95fq9rj9zAkTI2SxdidBHqG9+skdw43borCXO/ZcJdraPWdv22uIEiLA4q7nvvCug8WTqzQveOH26fodo7g6uFe/a17W3+nFBAkRYENRdb1vkkz1CH9cPsVy/jrhr27PqMYvENYNlHAIesRiBYwRy0V+8iXP8+/fvX11Mr7L7ECueb/r48eMqm7FuI2BGWDEG8cm+7G3NEOfmdcTQw4h9/55lhm7DekRYKQPZF2ArbXTAyu4kDYB2YxUzwg0gi/41ztHnfQG26HbGel/crVrm7tNY+/1btkOEAZ2M05r4FB7r9GbAIdxaZYrHdOsgJ/wCEQY0J74TmOKnbxxT9n3FgGGWWsVdowHtjt9Nnvf7yQM2aZU/TIAIAxrw6dOnAWtZZcoEnBpNuTuObWMEiLAx1HY0ZQJEmHJ3HNvGCBBhY6jtaMoEiJB0Z29vL6ls58vxPcO8/zfrdo5qvKO+d3Fx8Wu8zf1dW4p/cPzLly/dtv9Ts/EbcvGAHhHyfBIhZ6NSiIBTo0LNNtScABFyNiqFCBChULMNNSdAhJyNSiECRCjUbEPNCRAhZ6NSiAARCjXbUHMCRMjZqBQiQIRCzTbUnAARcjYqhQgQoVCzDTUnQIScjUohAkQo1GxDzQkQIWejUogAEQo121BzAkTI2agUIkCEQs021JwAEXI2KoUIEKFQsw01J0CEnI1KIQJEKNRsQ80JECFno1KIABEKNdtQcwJEyNmoFCJAhELNNtScABFyNiqFCBChULMNNSdAhJyNSiECRCjUbEPNCRAhZ6NSiAARCjXbUHMCRMjZqBQiQIRCzTbUnAARcjYqhQgQoVCzDTUnQIScjUohAkQo1GxDzQkQIWejUogAEQo121BzAkTI2agUIkCEQs021JwAEXI2KoUIEKFQsw01J0CEnI1KIQJEKNRsQ80JECFno1KIABEKNdtQcwJEyNmoFCJAhELNNtScABFyNiqFCBChULMNNSdAhJyNSiECRCjUbEPNCRAhZ6NSiAARCjXbUHMCRMjZqBQiQIRCzTbUnAARcjYqhQgQoVCzDTUnQIScjUohAkQo1GxDzQkQIWejUogAEQo121BzAkTI2agUIkCEQs021JwAEXI2KoUIEKFQsw01J0CEnI1KIQJEKNRsQ80JECFno1KIABEKNdtQcwJEyNmoFCJAhELNNtScABFyNiqFCBChULMNNSdAhJyNSiEC/wGgKKC4YMA4TAAAAABJRU5ErkJggg==";
\ No newline at end of file
diff --git a/src/components/Lobby/Player.tsx b/src/components/Lobby/Player.tsx
new file mode 100644
index 0000000..b9920da
--- /dev/null
+++ b/src/components/Lobby/Player.tsx
@@ -0,0 +1,44 @@
+import { CurrencyManager } from "@/FormTableExt/Manage/Currency/CurrencyManager";
+import { GameItemsContext } from "@/context/GameItemsContext";
+import { useContext } from "react";
+
+const Player = () => {
+ const { player } = useContext(GameItemsContext);
+ const { aId, name, m } = player;
+
+ return (
+
+
玩家資訊
+
+
aId: {aId}
+
暱稱: {name}
+
金幣: {CurrencyManager.GetNumberWithComma(m)}
+
+
+ );
+};
+
+export default Player;
+
+const containerStyle: React.CSSProperties = {
+ display: "flex",
+ flexDirection: "column",
+ justifyContent: "flex-start",
+ alignItems: "flex-start",
+ gap: "12px",
+ width: "100%",
+};
+
+const titleStyle: React.CSSProperties = {
+ margin: 0,
+ fontSize: "1.2rem",
+ fontWeight: 600,
+};
+
+const infoStyle: React.CSSProperties = {
+ display: "flex",
+ flexDirection: "column",
+ gap: "8px",
+ fontSize: "1rem",
+ color: "#333",
+};
diff --git a/src/components/Lobby/SDGame.tsx b/src/components/Lobby/SDGame.tsx
new file mode 100644
index 0000000..1586b4f
--- /dev/null
+++ b/src/components/Lobby/SDGame.tsx
@@ -0,0 +1,337 @@
+import MainControl from "@/Common/MainControl/MainControl";
+import CSMessage from "@/Common/Message/CSMessage";
+import { GameItemsContext, gameObj } from "@/context/GameItemsContext";
+import { SDAccountLoginRequest } from "@/define/Request/AccountRequest";
+import { SlotInRequest } from "@/define/Request/SlotRequest";
+import { CoroutineV2 } from "@/Engine/CatanEngine/CoroutineV2/CoroutineV2";
+import { INetResponse } from "@/Engine/CatanEngine/NetManagerV2/Core/INetResponse";
+import { NetConnector } from "@/Engine/CatanEngine/NetManagerV2/NetConnector";
+import { NetManagerSD } from "@/Engine/CatanEngine/NetManagerV2/NetManagerSD";
+import CSSettingsSDV3 from "@/FormTableSD/CSSettingsSDV3";
+import { SlotsetTableRow } from "@/FormTableSD/Tables/SlotsetTable";
+import GameManager from "@/modules/GameManager";
+import {
+ Button,
+ Card,
+ Checkbox,
+ Divider,
+ Dropdown,
+ Input,
+ Space,
+} from "antd";
+import dayjs from "dayjs";
+import { ChangeEvent, useContext, useEffect, useState } from "react";
+import A from "../CustomA";
+
+const SDGame = (props: ISDGame) => {
+ const { gameUrl, onClickSlotOut } = props;
+ const { gameData } = useContext(GameItemsContext);
+ const { nowSlotId } = gameData;
+
+ const [, setRender] = useState(0);
+ const [isOK, setIsOK] = useState(false);
+ const [isSpin, setIsSpin] = useState(false);
+ const [items, setItems] = useState([]);
+ const [bet, setBet] = useState(0);
+ const [delay, setDelay] = useState(0.1);
+ const [isRatioStop, setIsRatioStop] = useState(false);
+ const [ratioStop, setRatioStop] = useState(200);
+ const [isCountStop, setIsCountStop] = useState(false);
+ const [countStop, setCountStop] = useState(200);
+ const [log, setLog] = useState([]);
+
+ let conn: NetConnector = undefined;
+
+ /* ------------------- 原本的 onLoad 流程不動 ------------------- */
+ function* onLoad(): IterableIterator {
+ reset();
+ const url = new URL(gameUrl);
+ const token = url.searchParams.get("token");
+ const slotid = +url.searchParams.get("slotid");
+ const host = url.searchParams.get("host");
+ const port = 9005;
+
+ GameManager.SlotData.SlotId = slotid;
+ GameManager.SlotData.IsRatioStop = isRatioStop;
+ GameManager.SlotData.RatioStop = ratioStop;
+ GameManager.SlotData.IsCountStop = isCountStop;
+ GameManager.SlotData.CountStop = countStop;
+
+ conn = new NetConnector("https://" + host, port);
+ conn.OnDataReceived.AddCallback(onNetDataReceived);
+ conn.OnDisconnected.AddCallback(onNetDisconnected);
+
+ loadJSON(slotid);
+ setSlotClass();
+
+ NetManagerSD.Initialize(conn);
+ yield NetManagerSD.ConnectAsync();
+ yield* login(token);
+ yield* slotIn();
+ }
+
+ function onClose() {
+ CoroutineV2.StopCoroutinesBy("Spin");
+ reset();
+ }
+
+ function reset() {
+ GameManager.SlotData.SlotId = undefined;
+ GameManager.SlotData.SlotClass = undefined;
+ GameManager.SlotData.IsSpin = undefined;
+ GameManager.SlotData.NowBet = undefined;
+ GameManager.SlotData.IsRatioStop = undefined;
+ GameManager.SlotData.RatioStop = undefined;
+ GameManager.SlotData.IsCountStop = undefined;
+ GameManager.SlotData.CountStop = undefined;
+ }
+
+ /* ------------------- 原本流程全部保留 ------------------- */
+ function* login(token: string): IterableIterator {
+ const req = new SDAccountLoginRequest(token);
+ yield req.SendAsync(true);
+ const resp = req.Result;
+ if (!resp.IsValid) {
+ CSMessage.NetError(resp.Method, resp.Status, "SD Account Login Fail");
+ return;
+ }
+ }
+
+ function* slotIn(): IterableIterator {
+ let req = new SlotInRequest(GameManager.SlotData.SlotId);
+ yield req.SendAsync(true);
+ let resp = req.Result;
+
+ if (resp.IsValid) {
+ const br: number[] = resp.Data["br"];
+ const db: number = resp.Data["db"];
+
+ setItems(
+ br.map((b: number, i: number) => ({
+ key: i,
+ label: (
+ { setBet(b); GameManager.SlotData.NowBet = b; }}>
+ {b}
+
+ ),
+ }))
+ );
+
+ setBet(br[db]);
+ GameManager.SlotData.NowBet = br[db];
+ setIsOK(true);
+ }
+ }
+
+ async function loadJSON(slotid: number) {
+ let slotset: SlotsetTableRow = CSSettingsSDV3.Slotset[slotid];
+ for (let name of slotset.FormName) {
+ await MainControl.DownloadFormSetting(name);
+ }
+ }
+
+ async function setSlotClass() {
+ let slotGroup = await import(`../../define/Game/Base/Slot`);
+ let slot = slotGroup[`Slot${GameManager.SlotData.SlotId}`] || slotGroup.SlotBase;
+ GameManager.SlotData.SlotClass = new slot(GameManager.SlotData.SlotId, AddLog);
+ }
+
+ /* ------------------- Spin, Stop 等邏輯不動 ------------------- */
+ async function OnClickSpin() {
+ GameManager.SlotData.IsSpin = true;
+ setIsSpin(true);
+ CoroutineV2.Single(spin()).Start("Spin");
+ }
+
+ function OnClickStop() {
+ GameManager.SlotData.IsSpin = false;
+ setIsSpin(false);
+ }
+
+ function* spin(): IterableIterator {
+ const { player } = gameObj;
+ if (player.m < GameManager.SlotData.NowBet) {
+ noMoney();
+ OnClickStop();
+ return;
+ }
+
+ if (isCountStop) {
+ if (GameManager.SlotData.CountStop <= 0) {
+ OnClickStop();
+ return;
+ }
+ GameManager.SlotData.CountStop--;
+ setCountStop((v) => v - 1);
+ }
+
+ yield* GameManager.SlotData.SlotClass.Spin(bet, OnClickStop);
+ yield CoroutineV2.WaitTime(delay);
+
+ if (GameManager.SlotData.IsSpin) {
+ yield* spin();
+ } else {
+ setIsSpin(false);
+ }
+ }
+
+ function noMoney() {
+ const { player } = gameObj;
+ AddLog(`金額不足:${player.m}`);
+ }
+
+ function AddLog(s: string) {
+ const time = dayjs().format("YYYY/MM/DD HH:mm:ss");
+ setLog((v) => {
+ if (v.length > 200) v.pop();
+ return [`${time} ${s}`, ...v];
+ });
+ setRender((v) => v + 1);
+ }
+
+ /* ------------------- socket callbacks ------------------- */
+ function onNetDataReceived(resp: INetResponse) { }
+ function onNetDisconnected() { conn?.OnDataReceived.RemoveAllCallbacks(); }
+
+ useEffect(() => {
+ CoroutineV2.Single(onLoad()).Start();
+ return onClose;
+ }, []);
+
+ /* ------------------- UI:僅改善畫面,不改邏輯 ------------------- */
+ return (
+
+
+ {/* 控制區 */}
+
+
+ {isOK && (
+
+
+ {/* 押注 */}
+
+
+
+
+
+
+
+ {/* 延遲 */}
+
+
+ ) => setDelay(+e.target.value)}
+ style={{ width: 100 }}
+ />
+ 秒
+
+
+ {/* 倍率停止 */}
+
+ { setIsRatioStop(e.target.checked); GameManager.SlotData.IsRatioStop = e.target.checked; }}
+ >
+ 倍率停止
+
+ {isRatioStop && (
+ { setRatioStop(+e.target.value); GameManager.SlotData.RatioStop = +e.target.value; }}
+ style={{ width: 100, marginLeft: 12 }}
+ />
+ )}
+
+
+ {/* 次數停止 */}
+
+ { setIsCountStop(e.target.checked); GameManager.SlotData.IsCountStop = e.target.checked; }}
+ >
+ 次數停止
+
+ {isCountStop && (
+ { setCountStop(+e.target.value); GameManager.SlotData.CountStop = +e.target.value; }}
+ style={{ width: 100, marginLeft: 12 }}
+ />
+ )}
+
+
+ {/* Spin / Stop */}
+
+ {isSpin ? (
+
+ ) : (
+
+ )}
+
+
+ )}
+
+
+
+
+
+
+ {/* 日誌區 */}
+
+
+ {log.map((text, i) => (
+
+ {text}
+
+ ))}
+
+
+
+ );
+};
+
+export default SDGame;
+
+/* ------------------- UI Style ------------------- */
+const rootStyle: React.CSSProperties = {
+ display: "flex",
+ gap: "16px",
+ height: "100vh",
+ padding: "16px",
+ boxSizing: "border-box",
+};
+
+const panelCardStyle: React.CSSProperties = {
+ width: "30%",
+ height: "100%",
+ overflowY: "auto",
+};
+
+const logCardStyle: React.CSSProperties = {
+ flex: 1,
+ height: "100%",
+ overflow: "hidden",
+};
+
+const logListStyle: React.CSSProperties = {
+ height: "100%",
+ overflowY: "scroll",
+ paddingRight: 8,
+};
+
+const labelStyle: React.CSSProperties = {
+ marginRight: 8,
+ fontWeight: 600,
+};
+
+interface ISDGame {
+ gameUrl: string;
+ onClickSlotOut: () => void;
+}
diff --git a/src/components/Lobby/SlotList.tsx b/src/components/Lobby/SlotList.tsx
new file mode 100644
index 0000000..6a09af0
--- /dev/null
+++ b/src/components/Lobby/SlotList.tsx
@@ -0,0 +1,126 @@
+import BusinessTypeSetting from "@/_BusinessTypeSetting/BusinessTypeSetting";
+import CSMessage from "@/Common/Message/CSMessage";
+import Image from "@/components/Image/Image";
+import { GameItemsContext, SlotData } from "@/context/GameItemsContext";
+import { GameLaunchRequest, GameLeaveRequest, RpcGameLaunchResponse } from "@/define/Request/GameRequest";
+import { CoroutineV2 } from "@/Engine/CatanEngine/CoroutineV2/CoroutineV2";
+import { INetResponse } from "@/Engine/CatanEngine/NetManagerV2/Core/INetResponse";
+import CSSettingsSDV3 from "@/FormTableSD/CSSettingsSDV3";
+import { Button, Card } from "antd";
+import { useContext, useState } from "react";
+import SDGame from "./SDGame";
+
+const SlotList = () => {
+ const { gameData, setGameData } = useContext(GameItemsContext);
+ const { slotData, slotList = [], nowSlotId } = gameData;
+ const [isGameIn, setIsGameIn] = useState(false);
+ const [gameUrl, setGameUrl] = useState("");
+
+ function* onClickSlotIn(slotId: number): IterableIterator {
+ const data: SlotData = slotData[slotId];
+ const [componyID] = data;
+ const req: GameLaunchRequest = new GameLaunchRequest(componyID, slotId);
+ yield req.SendAsync();
+ const resp: INetResponse = req.Result;
+
+ if (!resp.IsValid) {
+ if (resp.Status === 18) {
+ CSMessage.CreateYesMsg(CSSettingsSDV3.prototype.CommonString(16));
+ }
+ return;
+ }
+
+ setIsGameIn(true);
+ setGameData({ ...gameData, nowSlotId: slotId });
+
+ const url: string = resp.Data;
+ const SDType = 2;
+ if (componyID === SDType) {
+ setGameUrl(url);
+ } else {
+ window.open(url, "_blank");
+ }
+ }
+
+ function onClickSlotOut() {
+ const gameLeaveReq: GameLeaveRequest = new GameLeaveRequest(nowSlotId);
+ gameLeaveReq.Send();
+ setGameUrl("");
+ setIsGameIn(false);
+ }
+
+ // ===== styles =====
+ const gridStyle: React.CSSProperties = {
+ display: "grid",
+ gridTemplateColumns: "repeat(auto-fill, minmax(120px, 1fr))",
+ gap: "20px",
+ padding: "20px",
+ overflowY: "auto",
+ height: "100%",
+ };
+
+ const cardStyle: React.CSSProperties = {
+ borderRadius: "14px",
+ cursor: "pointer",
+ transition: "transform .15s ease, box-shadow .15s ease",
+ overflow: "hidden",
+ height: "120px"
+ };
+
+ const cardHover: React.CSSProperties = {
+ transform: "scale(1.05)",
+ boxShadow: "0 6px 18px rgba(0,0,0,0.2)",
+ };
+
+ return (
+ <>
+ {isGameIn ? (
+ <>
+ {gameUrl ? (
+
+ ) : (
+
+
+
+ )}
+ >
+ ) : (
+
+
+ {slotList.map((slotId: number) => (
+ Object.assign(e.currentTarget.style, cardHover)}
+ onMouseLeave={(e) =>
+ Object.assign(e.currentTarget.style, {
+ transform: "scale(1)",
+ boxShadow: "none",
+ })
+ }
+ onClick={() => CoroutineV2.Single(onClickSlotIn(slotId)).Start()}
+ >
+
+
+ ))}
+
+
+ )}
+ >
+ );
+};
+
+export default SlotList;
diff --git a/src/context/GameItemsContext.tsx b/src/context/GameItemsContext.tsx
index cf3a7ef..8027865 100644
--- a/src/context/GameItemsContext.tsx
+++ b/src/context/GameItemsContext.tsx
@@ -1,118 +1,50 @@
-import MainControlData from "@/Common/DataReceived/MainControlData";
-import MainControl, { DownloadForm } from "@/Common/MainControl/MainControl";
-import BusinessTypeSetting, { BusinessEnum } from "@/_BusinessTypeSetting/BusinessTypeSetting";
-import { GameData } from "@/define/gameData";
-import { PlayerData } from "@/define/playerData";
-import { IGameItems } from "@/types";
-import { ReactNode, createContext, useContext, useState } from "react";
+import { createContext, ReactNode, useState } from "react";
-type GameItemsProviderProps = {
- children: ReactNode;
-};
-const GameItemsContext = createContext(undefined);
+export let gameObj: GameItemsContextType = null;
-export function useGameItems() {
- return useContext(GameItemsContext);
-}
-export let gameObj: IGameItems = null;
+export const GameItemsContext = createContext({
+ player: null,
+ setPlayer: null,
+ gameData: null,
+ setGameData: null
+});
-export function GameItemsProvider({ children }: GameItemsProviderProps) {
- const [player, setPlayer] = useState(initPlayerData());
- const [gameData, setGameData] = useState(initGameData());
+export const GameItemsProvider = ({ children }: { children: ReactNode }) => {
+ const [player, setPlayer] = useState({});
+ const [gameData, setGameData] = useState({});
- const game: IGameItems = gameObj = {
- onLoad,
+ const game: GameItemsContextType = gameObj = {
player,
setPlayer,
gameData,
setGameData
};
- async function onLoad(serverType: BusinessEnum.ServerType) {
- new MainControl();
- new MainControlData();
- await Promise.all([
- // 設定執行環境
- setBusinessType(serverType),
-
- // // 設定LineTools環境
- // await setLineTools(),
-
- // DownloadForm
- await MainControl.DownloadForm(DownloadForm.FormType.Formread)
- ]);
- }
-
- /** 設定執行環境 */
- function setBusinessType(useServerType: BusinessEnum.ServerType): void {
- // 連線參數自定義
- const queryParameters = new URLSearchParams(location.search);
- const servertype: string = queryParameters.get("servertype") ?? useServerType.toString();
- const host: string = queryParameters.get("host");
- const port: string = queryParameters.get("port");
- const patch: string = queryParameters.get("patch");
- const downloadurl: string = queryParameters.get("downloadurl");
- const liffid: string = queryParameters.get("liffid");
- if (servertype) {
- // 自定預設環境
- BusinessTypeSetting.UseServerType = +servertype;
- BusinessTypeSetting.UseHost = BusinessTypeSetting.GetHostUrl(BusinessTypeSetting.UseServerType);
- BusinessTypeSetting.UsePort = BusinessTypeSetting.GetPortNum(BusinessTypeSetting.UseServerType);
- BusinessTypeSetting.UsePatch = BusinessTypeSetting.GetPatchUrl(BusinessTypeSetting.UseServerType);
- BusinessTypeSetting.UseDownloadUrl = BusinessTypeSetting.GetDownloadUrl(BusinessTypeSetting.UseServerType);
- BusinessTypeSetting.UseLiffID = BusinessTypeSetting.GetLiffID(BusinessTypeSetting.UseServerType);
- BusinessTypeSetting.UseLineID = BusinessTypeSetting.GetLineID(BusinessTypeSetting.UseServerType);
- }
- if (host) {
- // 自定連線1(有自定則無視UseServerType)
- BusinessTypeSetting.UseHost = host;
- }
- if (port) {
- // 自定連線2(有自定則無視UseServerType)
- BusinessTypeSetting.UsePort = +port;
- }
- if (patch) {
- // 自定連資源伺服器(有自定則無視UseServerType)
- BusinessTypeSetting.UsePatch = patch;
- }
- if (downloadurl) {
- // 自定連靜態伺服器(有自定則無視UseServerType)
- BusinessTypeSetting.UseDownloadUrl = downloadurl;
- }
- if (liffid) {
- // 自定連Line Liff(有自定則無視UseServerType)
- BusinessTypeSetting.UseLiffID = liffid;
- }
- return;
- }
-
return (
{children}
);
+};
+
+interface GameItemsContextType {
+ player: PlayerData;
+ setPlayer: (v: PlayerData) => void;
+ gameData: GameData;
+ setGameData: (v: GameData) => void;
}
-function initPlayerData(): PlayerData {
- return {
- token: undefined,
- aId: undefined,
- f: undefined,
- r: undefined,
- rf: undefined,
- name: undefined,
- a: undefined,
- m: 0,
- lp: undefined,
- tr: undefined,
- lct: undefined
- };
+export interface PlayerData {
+ id?: string;
+ pw?: string;
+ token?: string;
+ [key: string]: any;
}
-function initGameData(): GameData {
- return {
- slotData: [],
- slotList: [],
- nowSlotId: undefined,
- };
+interface GameData {
+ slotData?: SlotData[];
+ slotList?: number[];
+ nowSlotId?: number;
}
+
+export type SlotData = [componyID: number, slotId: number, vip: number, status: number, tag: number]
\ No newline at end of file
diff --git a/src/define/GameData.ts b/src/define/GameData.ts
deleted file mode 100644
index f92bdf7..0000000
--- a/src/define/GameData.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-interface GameData {
- slotData: SlotData[];
- slotList: number[];
- nowSlotId: number;
-}
-
-export type SlotData = [componyID: number, slotId: number, vip: number, status: number, tag: number]
-
-export { type GameData };
diff --git a/src/define/PlayerData.ts b/src/define/PlayerData.ts
deleted file mode 100644
index 09537d6..0000000
--- a/src/define/PlayerData.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-interface PlayerData {
- token: string;
- aId: number;
- f: number;
- r: number;
- rf: number;
- name: string;
- a: number;
- m: number;
- lp: number;
- tr: number;
- lct: number;
-}
-
-export { type PlayerData };
diff --git a/src/define/Request/AccountRequest.ts b/src/define/Request/AccountRequest.ts
index 288c16f..dcf2880 100644
--- a/src/define/Request/AccountRequest.ts
+++ b/src/define/Request/AccountRequest.ts
@@ -1,5 +1,5 @@
+import { NetRequest } from "@/Engine/CatanEngine/NetManagerV2/NetRequest";
import { NetRequestSD } from "@/Engine/CatanEngine/NetManagerV2/NetRequestSD";
-import { NetRequest } from "../../Engine/CatanEngine/NetManagerV2/NetRequest";
// =======================================================================================
/** 通用回傳SERVER創的遊戲帳號 */
diff --git a/src/index.css b/src/index.css
index f9df024..026d621 100644
--- a/src/index.css
+++ b/src/index.css
@@ -1,6 +1,74 @@
-body {
- margin: 0;
- padding: 0;
- height: 100vh;
- overflow: hidden;
- }
\ No newline at end of file
+:root {
+ font-family: 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;
+}
+
+#root {
+ width: 100%;
+ margin: 0;
+ padding: 0;
+}
+
+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/src/index.tsx b/src/index.tsx
index 904430f..60cf324 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -1,39 +1,27 @@
-import "@/FormTableExt/TableExt/CSSettingsV3Ext";
-import { GameItemsProvider } from "@/context/GameItemsContext";
-import "@/utils/ArrayExtension";
-import "@/utils/NumberExtension";
-import "@/utils/String";
-import type { Router } from "@remix-run/router";
-import dayjs from "dayjs";
-import "dayjs/locale/zh-tw";
-import ReactDOM from "react-dom/client";
-import { RouterProvider, createBrowserRouter, createHashRouter } from "react-router-dom";
-import { BaseEnumerator } from "./Engine/CatanEngine/CoroutineV2/Core/BaseEnumerator";
-import Lobby from "./UI/Lobby";
-import Login from "./UI/Login";
-import { ModalProvider } from "./UIControl/ModalContext";
-import "./index.css";
-import "./utils/catan";
+// index.tsx
+import 'antd/dist/reset.css'; // AntD 5.x 建議用 reset.css
+import { createRoot } from 'react-dom/client';
+import App from './App.tsx';
+import './Engine/CatanEngine/CSharp/String.ts';
+import { BaseEnumerator } from './Engine/CatanEngine/CoroutineV2/Core/BaseEnumerator.ts';
+import "./Engine/CatanEngine/Utils/CCExtensions/ArrayExtension.ts";
+import "./Engine/CatanEngine/Utils/CCExtensions/NumberExtension.ts";
+import './index.css';
+import './utils/catan.ts';
-BaseEnumerator.Init();
-dayjs.locale("zh-tw");
-const router = [
- {
- path: "/",
- element: ,
- },
- {
- path: "/lobby",
- element: ,
+// Router 與全局容器
+
+async function onLoad(): Promise {
+ BaseEnumerator.Init();
+ while (!BaseEnumerator.isInit) {
+ await sleep(100);
}
-];
-const browserRouter: Router = createBrowserRouter(router);
-const hashRouter: Router = createHashRouter(router);
-ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render(
-
-
-
-
-
-);
+ createRoot(document.getElementById('root')!).render();
+}
+
+function sleep(ms: number): Promise {
+ return new Promise((resolve) => setTimeout(resolve, ms));
+}
+
+onLoad();
diff --git a/src/modules/GameManager.ts b/src/modules/GameManager.ts
index 4f1dc47..b8e412e 100644
--- a/src/modules/GameManager.ts
+++ b/src/modules/GameManager.ts
@@ -1,12 +1,8 @@
import SlotData from "./data/SlotData";
-class GameManager {
+export default class GameManager {
/** SlotData */
- public readonly SlotData: SlotData = new SlotData();
+ public static SlotData: SlotData = new SlotData();
- public IsInGame: boolean = false;
+ public static IsInGame: boolean = false;
}
-
-export default new GameManager();
-
-export { GameManager };
diff --git a/src/pages/LobbyPage.tsx b/src/pages/LobbyPage.tsx
new file mode 100644
index 0000000..378a46f
--- /dev/null
+++ b/src/pages/LobbyPage.tsx
@@ -0,0 +1,41 @@
+import { GameItemsContext } from "@/context/GameItemsContext";
+import { Layout } from "antd";
+import { useContext, useEffect } from "react";
+import { useNavigate } from "react-router-dom";
+import Player from "../components/Lobby/Player";
+import SlotList from "../components/Lobby/SlotList";
+
+const { Content, Sider } = Layout;
+
+export default function LobbyPage() {
+ const { player } = useContext(GameItemsContext);
+ const navigate = useNavigate();
+ const { token } = player;
+
+ useEffect(() => {
+ if (!token) {
+ navigate("/login"); // 沒 token 導回登入
+ }
+ }, [token, navigate]);
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/pages/LoginPage.tsx b/src/pages/LoginPage.tsx
new file mode 100644
index 0000000..36e1a68
--- /dev/null
+++ b/src/pages/LoginPage.tsx
@@ -0,0 +1,158 @@
+import BusinessTypeSetting from "@/_BusinessTypeSetting/BusinessTypeSetting";
+import MainControlData from "@/Common/DataReceived/MainControlData";
+import GameManager from "@/modules/GameManager";
+import React, { useContext, useEffect, useState } from "react";
+import { useNavigate } from "react-router-dom";
+import MainControl, { DownloadForm } from "../Common/MainControl/MainControl";
+import CSMessage from "../Common/Message/CSMessage";
+import { GameItemsContext } from "../context/GameItemsContext";
+import { AccountLoginRequest, CommonAccountResponse, LineLoginRequest } from "../define/Request/AccountRequest";
+import { CoroutineV2 } from "../Engine/CatanEngine/CoroutineV2/CoroutineV2";
+import { INetResponse } from "../Engine/CatanEngine/NetManagerV2/Core/INetResponse";
+
+export default function LoginPage() {
+ const navigate = useNavigate();
+ const { player, setPlayer } = useContext(GameItemsContext);
+
+ const [server, setServer] = useState("https://dev.lybobet.com");
+ const [port, setPort] = useState("9005");
+ const [token, setToken] = useState("");
+ const [loading, setLoading] = useState(false);
+
+ useEffect(() => {
+ if (!MainControl.Instance) new MainControl();
+ new MainControlData();
+ new GameManager();
+ const savedToken = localStorage.getItem("token");
+ if (savedToken) setToken(savedToken);
+
+ // DownloadForm
+ MainControl.DownloadForm(DownloadForm.FormType.Formread)
+ }, []);
+
+ const handleChange = (setter: any) => (e: React.ChangeEvent) =>
+ setter(e.target.value);
+
+ const onClickLogin = async () => {
+ if (!server) return CSMessage.CreateYesMsg("請輸入 server");
+ if (!port) return CSMessage.CreateYesMsg("請輸入 port");
+ if (!token) return CSMessage.CreateYesMsg("請輸入 token");
+ if (loading) return;
+
+ setLoading(true);
+ BusinessTypeSetting.UseHost = server;
+ BusinessTypeSetting.UsePort = +port;
+ CoroutineV2.Single(login()).Start();
+ };
+
+ function* login() {
+ try {
+ localStorage.setItem("token", token);
+ yield* MainControl.Instance.ConnectAsync(BusinessTypeSetting.UseHost, BusinessTypeSetting.UsePort);
+ yield* registerLineLogin();
+ } finally {
+ setLoading(false);
+ }
+ }
+
+ function* registerLineLogin() {
+ const req = new LineLoginRequest(token);
+ yield req.SendAsync(true);
+ const resp: INetResponse = req.Result;
+
+ if (!resp.IsValid) {
+ if (resp.Status !== 12) CSMessage.CreateYesMsg("Line Info Error. Error Code: " + resp.Status);
+ else console.warn("LINE帳號無綁定");
+ return;
+ }
+
+ yield* serverAccountLogin(resp.Data.id, resp.Data.pw);
+ }
+
+ function* serverAccountLogin(a: string, pw: string, partner: string | null = null): IterableIterator {
+ const hasAP = a && a !== "null" && a !== "undefined" && pw && pw !== "null" && pw !== "undefined";
+ if (!hasAP) return CSMessage.CreateYesMsg("沒有帳號或密碼.請確認回傳接值.");
+
+ const req = new AccountLoginRequest(a, pw, partner);
+ yield req.SendAsync(true);
+ const resp: INetResponse = req.Result;
+
+ if (!resp.IsValid) return CSMessage.CreateYesMsg("Login Account Error! Error Code : " + resp.Status);
+
+ setPlayer({ ...player, ...resp.Data, token });
+ navigate("/lobby");
+ }
+
+ // ====== inline CSS ======
+ const containerStyle: React.CSSProperties = {
+ height: "100vh",
+ display: "flex",
+ justifyContent: "center",
+ alignItems: "center",
+ background: "transparent",
+ padding: "16px",
+ color: "#000000", // 文字黑色
+ };
+
+ const boxStyle: React.CSSProperties = {
+ background: "white", // 卡片內部保持白色
+ padding: "24px",
+ borderRadius: "16px",
+ width: "100%",
+ maxWidth: "400px",
+ boxShadow: "0 4px 12px rgba(0,0,0,0.15)",
+ display: "flex",
+ flexDirection: "column",
+ gap: "16px",
+ color: "#000000", // 卡片內文字黑色
+ };
+
+ const inputStyle: React.CSSProperties = {
+ width: "100%",
+ padding: "12px",
+ borderRadius: "12px",
+ border: "1px solid #d9d9d9",
+ fontSize: "1rem",
+ color: "#000000", // 輸入文字黑色
+ backgroundColor: "#ffffff", // 輸入框白色
+ };
+
+ const buttonStyle: React.CSSProperties = {
+ width: "100%",
+ padding: "12px",
+ borderRadius: "12px",
+ border: "none",
+ backgroundColor: loading ? "#a0a0a0" : "#1890ff",
+ color: "white",
+ cursor: loading ? "not-allowed" : "pointer",
+ fontSize: "1rem",
+ transition: "all 0.3s",
+ };
+
+ return (
+
+
+
登入
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/types/index.ts b/src/types/index.ts
deleted file mode 100644
index d5034c9..0000000
--- a/src/types/index.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { BusinessEnum } from "@/_BusinessTypeSetting/BusinessTypeSetting";
-import { GameData } from "@/define/gameData";
-import { PlayerData } from "@/define/playerData";
-
-export interface IGameItems {
- onLoad: (serverType: BusinessEnum.ServerType) => Promise;
- player: PlayerData;
- setPlayer: (v: PlayerData) => void;
- gameData: GameData;
- setGameData: (v: GameData) => void;
-}
\ No newline at end of file
diff --git a/src/utils/LineTools.ts b/src/utils/LineTools.ts
deleted file mode 100644
index b7474cb..0000000
--- a/src/utils/LineTools.ts
+++ /dev/null
@@ -1,565 +0,0 @@
-import BusinessTypeSetting from "@/_BusinessTypeSetting/BusinessTypeSetting";
-import liff from "@line/liff";
-/**
- * Line工具
- * @doc https://developers.line.biz/en/docs/messaging-api/message-types
- */
-export class LineTools {
- //#region Lifecycle
-
- public static async onLoad(): Promise {
- const hasToken: boolean = location.search.includes("token=") || location.hash.includes("token=");
- if (hasToken) {
- return;
- }
- await LineTools.init();
- const isLoggedIn: boolean = await LineTools.checkLogin();
- if (!isLoggedIn) {
- await LineTools.login();
- return;
- }
- console.debug(`[Line] Line is Login`);
- }
-
- //#endregion
-
- //#region Custom
-
- public static GetAccessToken(): string {
- const accessToken: string = liff.getAccessToken();
- return accessToken;
- }
-
- //#endregion
-
- //#region FriendShip
- /** 確認是否加官方賬號好友 */
- public static async CheckAddFriend(): Promise {
- const ans: boolean = (await liff.getFriendship()).friendFlag;
- return ans;
- }
-
- //#endregion
-
- //#region Custom Message
-
- /**
- * Text message
- * @param {string} text Message text. Max character limit: 5000
- * @doc https://developers.line.biz/en/reference/messaging-api/#text-message
- * @example LineTools.MakeText("Hello, world");
- */
- public static async MakeText(text: string): Promise {
- if (!text) {
- return false;
- }
- const data: any[] = [{
- "type": "text",
- "text": text
- }];
-
- return await LineTools._sendMessages(data);
- }
-
- /**
- * Text message
- * @deprecated 有問題用不了
- * @param {string} text Message text. Max character limit: 5000
- * @doc https://developers.line.biz/en/reference/messaging-api/#text-message
- * @LINE_Emoji https://developers.line.biz/en/docs/messaging-api/emoji-list/#line-emoji-definitions
- * @example LineTools.MakeText("Hello, world");
- */
- public static async MakeTextEmoji(text: string): Promise {
- if (!text) {
- return false;
- }
- const data: any[] = [{
- "type": "text",
- "text": "$$$ LINE emoji",
- "emojis": [
- {
- "index": 0,
- "productId": "5ac21a8c040ab15980c9b43f",
- "emojiId": "004"
- },
- {
- "index": 1,
- "productId": "5ac21a8c040ab15980c9b43f",
- "emojiId": "001"
- },
- {
- "index": 2,
- "productId": "5ac21a8c040ab15980c9b43f",
- "emojiId": "025"
- }
- ]
- }];
-
- return await LineTools._sendMessages(data);
- }
-
- /**
- * Sticker message
- * @param packageId Package ID for a set of stickers. For information on package IDs
- * @param stickerId Sticker ID. For a list of sticker IDs for stickers that can be sent with the Messaging API
- * @param isAnim isAnim
- * @doc https://developers.line.biz/en/reference/messaging-api/#audio-message
- * @example LineTools.MakeSticker(26162, 505588336, true);
- */
- public static async MakeSticker(packageId: string, stickerId: string, isAnim: boolean = false): Promise {
- if (!packageId || !stickerId) {
- return false;
- }
- let pngtype: string = "";
- if (isAnim) {
- pngtype = "/IOS/sticker@2x.png";
- } else {
- pngtype = "/IOS/sticker_animation@2x.png";
- }
-
- const data: any[] = [{
- "type": "template",
- "altText": "Sticker",
- "template": {
- "type": "image_carousel",
- "columns": [{
- "imageUrl": "https://stickershop.line-scdn.net/stickershop/v1/sticker/" + stickerId + pngtype,
- "action": {
- "type": "uri",
- "uri": "line://shop/sticker/detail/" + packageId
- }
- }]
- }
- }];
-
- return await LineTools._sendMessages(data);
- }
-
- /**
- * Image message
- * @param {string} originalContentUrl Image URL (Max character limit: 2000) HTTPS over TLS 1.2 or later JPEG or PNG Max image size: No limits Max file size: 10 MB
- * @param {string} previewImageUrl Preview image URL (Max character limit: 2000) HTTPS over TLS 1.2 or later JPEG or PNG Max image size: No limits Max file size: 1 MB
- * @doc https://developers.line.biz/en/reference/messaging-api/#image-message
- * @example LineTools.MakeImage("https://example.com/original.jpg", "https://example.com/preview.jpg");
- */
- public static async MakeImage(originalContentUrl: string, previewImageUrl: string = originalContentUrl): Promise {
- if (!originalContentUrl) {
- return false;
- }
- const data: any[] = [{
- "type": "image",
- "originalContentUrl": originalContentUrl,
- "previewImageUrl": previewImageUrl
- }];
-
- return await LineTools._sendMessages(data);
- }
-
- /**
- * Video message
- * If the video isn't playing properly, make sure the video is a supported file type and the HTTP server hosting the video supports HTTP range requests.
- * @param {string} originalContentUrl URL of video file (Max character limit: 2000) HTTPS over TLS 1.2 or later mp4 Max file size: 200 MB
- * @param {string} previewImageUrl URL of preview image (Max character limit: 2000) HTTPS over TLS 1.2 or later JPEG or PNG Max file size: 1 MB
- * @doc https://developers.line.biz/en/reference/messaging-api/#video-message
- */
- public static async MakeVideo(originalContentUrl: string, previewImageUrl: string): Promise {
- if (!originalContentUrl || !previewImageUrl) {
- return false;
- }
- const data: any[] = [{
- "type": "video",
- "originalContentUrl": originalContentUrl,
- "previewImageUrl": previewImageUrl
- }];
-
- return await LineTools._sendMessages(data);
- }
-
- /**
- * Audio message
- * @param {string} originalContentUrl URL of audio file (Max character limit: 2000) HTTPS over TLS 1.2 or later m4a Max file size: 200 MB
- * @param {number} duration Length of audio file (milliseconds)
- * @doc https://developers.line.biz/en/reference/messaging-api/#audio-message
- */
- public static async MakeAudio(originalContentUrl: string, duration: number = 60000): Promise {
- if (!originalContentUrl) {
- return false;
- }
- const data: any[] = [{
- "type": "audio",
- "originalContentUrl": originalContentUrl,
- "duration": duration
- }];
-
- return await LineTools._sendMessages(data);
- }
-
- /**
- * Buttons template
- * @param altText Alternative text. When a user receives a message, it will appear as an alternative to the template message in the notification or chat list of their device. Max character limit: 400
- * @param thumbnailImageUrl Image URL (Max character limit: 2,000) HTTPS over TLS 1.2 or later JPEG or PNG Max width: 1024px Max file size: 10 MB
- * @param title Title Max character limit: 40
- * @param text Message text Max character limit: 160 (no image or title) Max character limit: 60 (message with an image or title)
- * @param defaultAction Action when image, title or text area is tapped.
- * @param actions Action when tapped Max objects: 4
- * @param imageAspectRatio rectangle: 1.51:1
- * @param imageAspectRatio square: 1:1
- * @param imageSize cover: The image fills the entire image area. Parts of the image that do not fit in the area are not displayed.
- * @param imageSize contain: The entire image is displayed in the image area. A background is displayed in the unused areas to the left and right of vertical images and in the areas above and below horizontal images.
- * @doc https://developers.line.biz/en/reference/messaging-api/#buttons
- */
- public static async MakeTemplate(altText: string, thumbnailImageUrl: string, title: string, text: string, defaultAction: any = null, actions: any[] = [], imageAspectRatio: string = "square", imageSize: string = "cover"): Promise {
- if (actions.length === 0) {
- return false;
- }
-
- const data: any[] = [{
- "type": "template",
- "altText": altText,
- "template": {
- "type": "buttons",
- "thumbnailImageUrl": thumbnailImageUrl,
- "imageAspectRatio": imageAspectRatio,
- "imageSize": imageSize,
- "title": title,
- "text": text
- }
- }];
-
- if (defaultAction) {
- data["defaultAction"] = defaultAction;
- // data["defaultAction"] = {
- // "type": "uri",
- // "label": "View detail",
- // "uri": "http://example.com/page/123"
- // };
- }
-
- if (actions) {
- data["actions"] = actions;
- // data["actions"] = [{
- // "type": "uri",
- // "label": "立即玩",
- // "uri": "https://liff.line.me/1657713613-we8Gk929"
- // }];
- }
- return await LineTools._sendMessages(data);
- }
- //#region SendImageTemplate
- /**
- * MeProfile
- * @param altText Alternative text. When a user receives a message, it will appear as an alternative to the template message in the notification or chat list of their device. Max character limit: 400
- * @param text Message text Max character limit: 160 (no image or title) Max character limit: 60 (message with an image or title)
- * @simulator https://developers.line.biz/flex-simulator/
- */
- public static async MakeImageTemplate(altText: string, text?: string): Promise {
- let data: any[] = [{
- "type": "flex",
- "altText": altText,
- "contents":
- {
- "type": "bubble",
- "size": "giga",
- "body": {
- "type": "box",
- "layout": "vertical",
- "contents": [
- {
- "type": "image",
- "url": "https://scontent.ftpe8-3.fna.fbcdn.net/v/t39.30808-6/313961998_137927952344738_4107082514038089088_n.jpg?stp=dst-jpg_p526x296&_nc_cat=111&ccb=1-7&_nc_sid=730e14&_nc_ohc=3jmqu3srEAYAX9drH1H&_nc_ht=scontent.ftpe8-3.fna&oh=00_AfDe36ZgvY6aqmN3nge4Fmw9ZGuOwxdS5fj9eAMLe6wtBg&oe=63A4C088",
- "size": "full",
- "aspectMode": "cover"
- }
- ],
- "paddingAll": "none"
- },
- "action": {
- "type": "uri",
- "label": "action",
- "uri": `https://liff.line.me/${BusinessTypeSetting.UseLiffID}}`
- }
- }
- }];
- if (text) {
- data[0].contents.body.contents.push({
- "type": "text",
- "text": text,
- "size": "md",
- "align": "center",
- "color": "#0000FF",
- "margin": "50px",
- "gravity": "center",
- "offsetBottom": "20px"
- });
- }
-
- return await LineTools._sendMessages(data);
- }
- //#endregion
-
- //#region MakeShareBigWinGame
- /**
- * 分享遊戲
- * @param {number} slotID 遊戲編號
- * @param {number} ratio 倍率
- * @param {string} altText 列表顯示的訊息
- * @param {string} text 弟一行文字
- * @param {string} btnText 按鈕文字
- * @param {string} btnUrl 按鈕連結
- */
- public static async MakeShareBigWinGame(slotID: number, ratio: number, altText: string, text: string, btnText: string, ...param: any[]): Promise {
- text = String.Format(text, ratio);
- let data: any[] = [{
- "type": "flex",
- "altText": altText,
- "contents":
- {
- "type": "bubble",
- "size": "mega",
- "body": {
- "type": "box",
- "layout": "vertical",
- "contents": [
- {
- "type": "box",
- "layout": "vertical",
- "contents": [
- {
- "type": "image",
- "url": `${BusinessTypeSetting.UseDownloadUrl}game/${slotID}/s`,
- "position": "absolute",
- "offsetTop": "11%",
- "offsetStart": "71%",
- "size": "75px"
- },
- {
- "type": "image",
- "url": `${BusinessTypeSetting.UsePatch}shared/img/LineShareUI/ShareAward01.png`,
- "size": "full",
- "aspectRatio": "20:13",
- "aspectMode": "cover"
- }
- ],
- "paddingAll": "none"
- },
- {
- "type": "box",
- "layout": "vertical",
- "contents": [
- {
- "type": "text",
- "text": text,
- "weight": "bold",
- "size": "md",
- "align": "center",
- "wrap": true
- }
- ],
- "margin": "xl"
- }
- ],
- "paddingAll": "none"
- },
- "footer": {
- "type": "box",
- "layout": "vertical",
- "spacing": "sm",
- "contents": [
- {
- "type": "button",
- "style": "link",
- "height": "sm",
- "action": {
- "type": "uri",
- "label": btnText,
- "uri": `https://line.me/R/app/${BusinessTypeSetting.UseLiffID}/?gamein=${slotID}`
- }
- }
- ],
- "flex": 0
- },
- "action": {
- "type": "uri",
- "label": btnText,
- "uri": `https://line.me/R/app/${BusinessTypeSetting.UseLiffID}/?gamein=${slotID}`
- }
- }
- }];
-
- return await LineTools._sendMessages(data);
- }
-
- //#endregion
-
- //#region SelfProfile
- /**
- * MeProfile
- * @simulator https://developers.line.biz/flex-simulator/
- */
- public static async MeProfile(): Promise {
- const altText: string = "立即玩爆機娛樂城";
- // eslint-disable-next-line @typescript-eslint/typedef
- liff.getProfile().then(function (profileData): void {
- let statusMessage: string = profileData.statusMessage ?? "";
- if (statusMessage.length > 60) {
- statusMessage = "Status Message is to long! Max 60 words";
- }
- const data: any[] = [
- {
- "type": "flex",
- "altText": altText,
- "contents":
- {
- "type": "bubble",
- // "size": "giga",
- "size": "kilo",
- "body": {
- "type": "box",
- "layout": "vertical",
- "contents": [
- {
- "type": "image",
- "url": profileData.pictureUrl,
- "size": "full",
- "aspectMode": "cover"
- },
- {
- "type": "box",
- "layout": "vertical",
- "contents": [
- {
- "type": "text",
- "text": profileData.displayName,
- "weight": "bold",
- "size": "lg",
- "margin": "lg"
- },
- {
- "type": "text",
- "text": statusMessage,
- "size": "sm",
- "margin": "md",
- "wrap": true
- }
- ],
- "paddingEnd": "5%",
- "paddingStart": "5%"
- },
- {
- "type": "text",
- "text": "立即玩",
- "size": "md",
- "align": "center",
- "color": "#0000FF",
- "margin": "50px",
- "gravity": "center",
- "offsetBottom": "20px"
- }
- ],
- "paddingAll": "none"
- },
- "action": {
- "type": "uri",
- "label": "action",
- "uri": `https://liff.line.me/${BusinessTypeSetting.UseLiffID}`
- }
- }
- }
- ];
-
- LineTools._sendMessages(data);
- }).catch(function (error: any): void {
- alert(`[Line] Failed to getProfile: \n${error}`);
- });
- }
-
- public static async GetLineProfile(): Promise {
- return await liff.getProfile();
- }
-
- //#endregion
-
- /**
- * 傳送
- * @param {SendMessagesParams} messages
- * @param {boolean} isMultiple If you set the isMultiple property to true, the user can select multiple message recipients in the target picker. If you set it to false, the user can select only one friend as the message recipient. The default value is true.
- */
- private static async _sendMessages(messages: any[], isMultiple: boolean = true): Promise {
- // 這邊是為了防止token過期
- const isLoggedIn: boolean = await LineTools.checkLogin();
- if (!isLoggedIn) {
- await LineTools.login();
- }
- let isSuccess: boolean = false;
- if (liff.isApiAvailable("shareTargetPicker")) {
- try {
- const res = await liff.shareTargetPicker(messages, { isMultiple: isMultiple });
- if (res) {
- if (res.status === "success") {
- isSuccess = true;
- console.log(`[Line] 分享成功`);
- } else {
- console.error(`[Line] 分享失敗: \n${JSON.stringify(res)}`);
- }
- } else {
- console.log(`[Line] 分享取消`);
- }
- } catch (error) {
- console.error(`[Line] Failed to launch ShareTargetPicker: \n${error}`);
- }
- } else {
- alert("[Line] 你的 LINE App 暫時不支援 Share Target Picker");
- }
- return isSuccess;
- }
-
- private static sleep(ms: any): Promise {
- return new Promise((resolve) => setTimeout(resolve, ms));
- }
-
- private static async init(): Promise {
- const liffId: string = BusinessTypeSetting.UseLiffID;
- const myLIFF_STORE: Object = LineTools.getLIFF_STORE();
- await liff.init({ liffId: liffId });
- LineTools.setLIFF_STORE(myLIFF_STORE);
- }
-
- private static async checkLogin(): Promise {
- let isLoggedIn: boolean = liff.isLoggedIn();
- try {
- const a = await liff.getProfile();
- } catch (error) {
- isLoggedIn = false;
- }
- return isLoggedIn;
- }
-
- private static async login(): Promise {
- if (liff.isInClient()) {
- liff.login({ redirectUri: parent.location.href });
- } else {
- const search: string = location.search ? location.search : location.hash;
- const callbackURL: string = BusinessTypeSetting.UsePatch + "/" + search;
- liff.login({ redirectUri: callbackURL });
- }
- }
-
- private static getLIFF_STORE(): Object {
- const LIFF_STORE: Object = {};
- for (let i = 0; i < localStorage.length; i++) {
- const key = localStorage.key(i);
- if (key.includes("LIFF_STORE")) {
- LIFF_STORE[key] = localStorage.getItem(key);
- }
- }
- return LIFF_STORE;
- }
-
- private static setLIFF_STORE(LIFF_STORE: Object) {
- for (let i = 0, keys = Object.keys(LIFF_STORE); i < keys.length; i++) {
- const key = keys[i];
- const item = LIFF_STORE[key];
- localStorage.setItem(key, item);
- }
- }
-}
\ No newline at end of file
diff --git a/src/utils/PWANotification.ts b/src/utils/PWANotification.ts
deleted file mode 100644
index 2a39cd0..0000000
--- a/src/utils/PWANotification.ts
+++ /dev/null
@@ -1,99 +0,0 @@
-import BusinessTypeSetting, { BusinessEnum } from "@/_BusinessTypeSetting/BusinessTypeSetting";
-import { initializeApp } from "firebase/app";
-import { getMessaging, getToken } from "firebase/messaging";
-
-
-// Public Key:
-// BPxB0rLAHuETo-CFw6xe2_ZlQ8qm6WAg-i45UTStiYYU0pPYR1wuO0jwt8S_gRl_hYFNoI1l0l4vFksncHC5yUs
-
-// Private Key:
-// 2-dDtLj8ibIOj51RD9ASV3DtTjkmFQyn_zId3V4OtwA
-const applicationServerPublicKey: string = `BPxB0rLAHuETo-CFw6xe2_ZlQ8qm6WAg-i45UTStiYYU0pPYR1wuO0jwt8S_gRl_hYFNoI1l0l4vFksncHC5yUs`;
-const swjsPath: string = "./assets/sw.js";
-
-export function PWAOnLoad() {
- if (BusinessTypeSetting.UseServerType !== BusinessEnum.ServerType.Internal_Dev) {
- return;
- }
- if ("serviceWorker" in navigator) {
- navigator.serviceWorker
- .register(swjsPath)
- .then((reg: ServiceWorkerRegistration) => {
- console.debug("Service Worker Registered");
- askForNotificationPermission();
- setFCM(reg);
- });
- }
-}
-
-/**
- *
- * @url https://stackoverflow.com/questions/50399170/what-bearer-token-should-i-be-using-for-firebase-cloud-messaging-testing
- */
-function setFCM(reg: ServiceWorkerRegistration) {
- // Your web app's Firebase configuration
- // For Firebase JS SDK v7.20.0 and later, measurementId is optional
- const firebaseConfig = {
- apiKey: "AIzaSyAZ1Hkr-tmF5xqnNWy0jprXDy1xEZUyYy8",
- authDomain: "jm-webpush.firebaseapp.com",
- projectId: "jm-webpush",
- storageBucket: "jm-webpush.appspot.com",
- messagingSenderId: "903093229309",
- appId: "1:903093229309:web:54a3006e1e1afdeaefd094",
- measurementId: "G-SBKR7HBFBB"
- };
-
- // Initialize Firebase
- const app = initializeApp(firebaseConfig);
- // const analytics = getAnalytics(app);
-
- // Initialize Firebase Cloud Messaging and get a reference to the service
- const messaging = getMessaging(app);
-
- // Add the public key generated from the console here.
- getToken(messaging, { vapidKey: applicationServerPublicKey, serviceWorkerRegistration: reg }).then((currentToken) => {
- if (currentToken) {
- // Send the token to your server and update the UI if necessary
- console.debug(`[Test] Firebase Token: ${currentToken}`);
- } else {
- // Show permission request UI
- console.debug("[Test] No registration token available. Request permission to generate one.");
- // ...
- }
- }).catch((err) => {
- console.debug("[Test] An error occurred while retrieving token. ", err);
- // ...
- });
-}
-
-export function askForNotificationPermission() {
- if ("Notification" in window) {
- // console.log("Notification permission default status:", Notification.permission);
- Notification.requestPermission(function (result: NotificationPermission) {
- // 這裡result只會有兩種結果:一個是用戶允許(granted),另一個是用戶封鎖(denied)
- // console.log("Notification permission status:", status);
- if (result !== "granted") {
- console.log("No notification permission granted!");
- } else {
- displayConfirmNotification();
- }
- });
- }
-}
-
-function displayConfirmNotification() {
- // pushNotification("成功訂閱!! (from Service Worker)", "您已成功訂閱我們的推播服務!");
-}
-
-export function pushNotification(title: string, content: string) {
- if ("serviceWorker" in navigator && Notification.permission == "granted") {
- const options = {
- body: content,
- icon: "../img/jpg/logo512.jpg"
- };
- // navigator.serviceWorker.ready.then(function (swreg: ServiceWorkerRegistration) {
- navigator.serviceWorker.getRegistration(swjsPath).then(function (swreg: ServiceWorkerRegistration) {
- swreg.showNotification(title, options);
- });
- }
-}
\ No newline at end of file
diff --git a/src/utils/String.ts b/src/utils/String.ts
deleted file mode 100644
index 9c947f5..0000000
--- a/src/utils/String.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-declare global {
- interface StringConstructor {
- IsNullOrEmpty: (value: string) => boolean;
- Format: (format: string, ...args: any[]) => string;
- }
-}
-
-String.IsNullOrEmpty = function (value: string): boolean {
- return value === undefined || value === null || value.trim() === "";
-};
-
-String.Format = function (format: string, ...args: any[]): string {
- return format.replace(/{(\d+)}/g, (match, index) => {
- const value = args[index];
- if (value === null || value === undefined) return "";
- return "" + value;
- });
-};
-
-export {};
diff --git a/src/utils/Tools.ts b/src/utils/Tools.ts
deleted file mode 100644
index 0a94a8c..0000000
--- a/src/utils/Tools.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-
-export class Tools {
-
- //#region Custom
-
- public static Sleep(ms: any): Promise {
- return new Promise(resolve => setTimeout(resolve, ms));
- }
-
- //#endregion
-}
diff --git a/src/utils/catan.ts b/src/utils/catan.ts
index ab74332..6c42d85 100644
--- a/src/utils/catan.ts
+++ b/src/utils/catan.ts
@@ -1,49 +1,39 @@
-declare namespace cc { }
-declare namespace cc._decorator {
- // export function ccclass(name?: string): Function;
- // export function ccclass(_class?: Function): void;
-}
-declare let CC_PREVIEW: boolean;
-namespace cc._decorator {
- // export function ccclass(name?: string): Function { return () => { }; }
- export const ccclass: any = undefined;
-}
+// catan.ts
+export const cc = {
+ _decorator: {
+ ccclass: undefined as any,
+ },
-namespace cc {
- export class path {
- static basename(pathStr: string, extname?: string): any { }
- }
- export class sys {
- static localStorage: any;
- }
- export class AudioClip {
- name: string;
- }
- export class Prefab {
+ log(msg: string | any, ...subst: any[]) {
+ if ((window as any).CC_DEV) {
+ console.log(msg, ...subst);
+ }
+ },
- }
- export class Asset {
- constructor(name?: string) { }
- name: string;
- }
- export class assetManager {
- static loadRemote(url: string, onComplete: (err: Error, asset: T) => void): void { }
- }
- export class Node extends Asset {
- getChildByName(name: string): Node { return undefined; }
- ExAddChild(childObj: cc.Prefab | cc.Node, childActive?: boolean): cc.Node { return undefined; }
- setParent(value: Node): void { }
- active: boolean;
- children: Node[];
- }
- export function log(msg: string | any, ...subst: any[]): void {
- console.log(msg, ...subst);
- }
- export function warn(msg: string | any, ...subst: any[]): void {
- console.warn(msg, ...subst);
- }
- export function error(msg: string | any, ...subst: any[]): void {
- console.error(msg, ...subst);
- }
-}
-// export {};
\ No newline at end of file
+ warn(msg: string | any, ...subst: any[]) {
+ if ((window as any).CC_DEV) {
+ console.warn(msg, ...subst);
+ }
+ },
+
+ error(msg: string | any, ...subst: any[]) {
+ if ((window as any).CC_DEV) {
+ console.error(msg, ...subst);
+ }
+ },
+};
+
+// 將 cc 掛到全域
+(window as any).cc = cc;
+window["CC_DEV"] = window["CC_DEBUG"] = import.meta.env.DEV;
+
+// 全域常數
+export const CC_EDITOR = false;
+export const CC_PREVIEW = false;
+export const CC_DEV = true;
+export const CC_DEBUG = false;
+export const CC_BUILD = false;
+export const CC_JSB = false;
+export const CC_RUNTIME = true;
+export const CC_TEST = false;
+export const CC_WECHATGAME = false;
\ No newline at end of file
diff --git a/src/utils/catan1.d.ts b/src/utils/catan1.d.ts
new file mode 100644
index 0000000..0a94d76
--- /dev/null
+++ b/src/utils/catan1.d.ts
@@ -0,0 +1,81 @@
+
+declare namespace cc { }
+declare namespace cc._decorator {
+ // export function ccclass(name?: string): Function;
+ // export function ccclass(_class?: Function): void;
+}
+namespace cc._decorator {
+ // export function ccclass(name?: string): Function { return () => { }; }
+ export const ccclass: any = undefined;
+}
+
+namespace cc {
+ export function log(msg: string | any, ...subst: any[]): void {
+ if (CC_DEV) {
+ console.log(msg, ...subst);
+ }
+ }
+ export function warn(msg: string | any, ...subst: any[]): void {
+ if (CC_DEV) {
+ console.warn(msg, ...subst);
+ }
+ }
+ export function error(msg: string | any, ...subst: any[]): void {
+ if (CC_DEV) {
+ console.error(msg, ...subst);
+ }
+ }
+}
+
+/** Running in the editor. */
+declare const CC_EDITOR: boolean;
+/** Preview in browser or simulator. */
+declare const CC_PREVIEW: boolean;
+/** Running in the editor or preview. */
+declare const CC_DEV: boolean;
+/** Running in the editor or preview, or build in debug mode. */
+declare const CC_DEBUG: boolean;
+/** Running in published project. */
+declare const CC_BUILD: boolean;
+/** Running in native platforms (mobile app, desktop app, or simulator). */
+declare const CC_JSB: boolean;
+/** Running in runtime environments. */
+declare const CC_RUNTIME: boolean;
+/** Running in the engine's unit test. */
+declare const CC_TEST: boolean;
+/** Running in the WeChat Mini Game. */
+declare const CC_WECHATGAME: boolean;
+
+
+interface Window {
+ /**
+ * 註冊
+ * @param key key
+ * @param oskey oskey
+ */
+ VickingCallback(key: string, oskey: string): void;
+
+ /**
+ * Aid
+ * @param key key
+ */
+ GaSetUserAid(key: string): void;
+
+ /**
+ * VIP
+ * @param key key
+ */
+ GaSetUserVip(key: number): void;
+
+ /** 加到主畫面 */
+ GaSetClickAddToHome(): void;
+
+ /** 打開商店 */
+ GaSetClickShop(): void;
+
+ /** 前往MyCard */
+ MetaGoMyCard(): void;
+
+ MetaGoMyCard(item: any): void;
+
+}
diff --git a/src/utils/index.ts b/src/utils/index.ts
deleted file mode 100644
index 43226cf..0000000
--- a/src/utils/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export const fallImg: string = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMIAAADDCAYAAADQvc6UAAABRWlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGASSSwoyGFhYGDIzSspCnJ3UoiIjFJgf8LAwSDCIMogwMCcmFxc4BgQ4ANUwgCjUcG3awyMIPqyLsis7PPOq3QdDFcvjV3jOD1boQVTPQrgSkktTgbSf4A4LbmgqISBgTEFyFYuLykAsTuAbJEioKOA7DkgdjqEvQHEToKwj4DVhAQ5A9k3gGyB5IxEoBmML4BsnSQk8XQkNtReEOBxcfXxUQg1Mjc0dyHgXNJBSWpFCYh2zi+oLMpMzyhRcASGUqqCZ16yno6CkYGRAQMDKMwhqj/fAIcloxgHQqxAjIHBEugw5sUIsSQpBobtQPdLciLEVJYzMPBHMDBsayhILEqEO4DxG0txmrERhM29nYGBddr//5/DGRjYNRkY/l7////39v///y4Dmn+LgeHANwDrkl1AuO+pmgAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAwqADAAQAAAABAAAAwwAAAAD9b/HnAAAHlklEQVR4Ae3dP3PTWBSGcbGzM6GCKqlIBRV0dHRJFarQ0eUT8LH4BnRU0NHR0UEFVdIlFRV7TzRksomPY8uykTk/zewQfKw/9znv4yvJynLv4uLiV2dBoDiBf4qP3/ARuCRABEFAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghgg0Aj8i0JO4OzsrPv69Wv+hi2qPHr0qNvf39+iI97soRIh4f3z58/u7du3SXX7Xt7Z2enevHmzfQe+oSN2apSAPj09TSrb+XKI/f379+08+A0cNRE2ANkupk+ACNPvkSPcAAEibACyXUyfABGm3yNHuAECRNgAZLuYPgEirKlHu7u7XdyytGwHAd8jjNyng4OD7vnz51dbPT8/7z58+NB9+/bt6jU/TI+AGWHEnrx48eJ/EsSmHzx40L18+fLyzxF3ZVMjEyDCiEDjMYZZS5wiPXnyZFbJaxMhQIQRGzHvWR7XCyOCXsOmiDAi1HmPMMQjDpbpEiDCiL358eNHurW/5SnWdIBbXiDCiA38/Pnzrce2YyZ4//59F3ePLNMl4PbpiL2J0L979+7yDtHDhw8vtzzvdGnEXdvUigSIsCLAWavHp/+qM0BcXMd/q25n1vF57TYBp0a3mUzilePj4+7k5KSLb6gt6ydAhPUzXnoPR0dHl79WGTNCfBnn1uvSCJdegQhLI1vvCk+fPu2ePXt2tZOYEV6/fn31dz+shwAR1sP1cqvLntbEN9MxA9xcYjsxS1jWR4AIa2Ibzx0tc44fYX/16lV6NDFLXH+YL32jwiACRBiEbf5KcXoTIsQSpzXx4N28Ja4BQoK7rgXiydbHjx/P25TaQAJEGAguWy0+2Q8PD6/Ki4R8EVl+bzBOnZY95fq9rj9zAkTI2SxdidBHqG9+skdw43borCXO/ZcJdraPWdv22uIEiLA4q7nvvCug8WTqzQveOH26fodo7g6uFe/a17W3+nFBAkRYENRdb1vkkz1CH9cPsVy/jrhr27PqMYvENYNlHAIesRiBYwRy0V+8iXP8+/fvX11Mr7L7ECueb/r48eMqm7FuI2BGWDEG8cm+7G3NEOfmdcTQw4h9/55lhm7DekRYKQPZF2ArbXTAyu4kDYB2YxUzwg0gi/41ztHnfQG26HbGel/crVrm7tNY+/1btkOEAZ2M05r4FB7r9GbAIdxaZYrHdOsgJ/wCEQY0J74TmOKnbxxT9n3FgGGWWsVdowHtjt9Nnvf7yQM2aZU/TIAIAxrw6dOnAWtZZcoEnBpNuTuObWMEiLAx1HY0ZQJEmHJ3HNvGCBBhY6jtaMoEiJB0Z29vL6ls58vxPcO8/zfrdo5qvKO+d3Fx8Wu8zf1dW4p/cPzLly/dtv9Ts/EbcvGAHhHyfBIhZ6NSiIBTo0LNNtScABFyNiqFCBChULMNNSdAhJyNSiECRCjUbEPNCRAhZ6NSiAARCjXbUHMCRMjZqBQiQIRCzTbUnAARcjYqhQgQoVCzDTUnQIScjUohAkQo1GxDzQkQIWejUogAEQo121BzAkTI2agUIkCEQs021JwAEXI2KoUIEKFQsw01J0CEnI1KIQJEKNRsQ80JECFno1KIABEKNdtQcwJEyNmoFCJAhELNNtScABFyNiqFCBChULMNNSdAhJyNSiECRCjUbEPNCRAhZ6NSiAARCjXbUHMCRMjZqBQiQIRCzTbUnAARcjYqhQgQoVCzDTUnQIScjUohAkQo1GxDzQkQIWejUogAEQo121BzAkTI2agUIkCEQs021JwAEXI2KoUIEKFQsw01J0CEnI1KIQJEKNRsQ80JECFno1KIABEKNdtQcwJEyNmoFCJAhELNNtScABFyNiqFCBChULMNNSdAhJyNSiECRCjUbEPNCRAhZ6NSiAARCjXbUHMCRMjZqBQiQIRCzTbUnAARcjYqhQgQoVCzDTUnQIScjUohAkQo1GxDzQkQIWejUogAEQo121BzAkTI2agUIkCEQs021JwAEXI2KoUIEKFQsw01J0CEnI1KIQJEKNRsQ80JECFno1KIABEKNdtQcwJEyNmoFCJAhELNNtScABFyNiqFCBChULMNNSdAhJyNSiEC/wGgKKC4YMA4TAAAAABJRU5ErkJggg==";
\ No newline at end of file
diff --git a/src/utils/setRPCData.ts b/src/utils/setRPCData.ts
index 5359945..a5cb632 100644
--- a/src/utils/setRPCData.ts
+++ b/src/utils/setRPCData.ts
@@ -1,15 +1,14 @@
import CSMessage from "@/Common/Message/CSMessage";
-import { INetResponse } from "@/Engine/CatanEngine/NetManagerV2/Core/INetResponse";
import { gameObj } from "@/context/GameItemsContext";
import { GameInfoRequest } from "@/define/Request/GameRequest";
-import GameManager from "@/modules/GameManager";
+import { INetResponse } from "@/Engine/CatanEngine/NetManagerV2/Core/INetResponse";
export function* gameSync(): IterableIterator {
const { gameData, setGameData } = gameObj;
- if (GameManager.IsInGame) {
- // 不用同步資料,因為已經在遊戲中,所以不用同步資料。
- return;
- }
+ // if (GameManager.IsInGame) {
+ // // 不用同步資料,因為已經在遊戲中,所以不用同步資料。
+ // return;
+ // }
let req: GameInfoRequest = new GameInfoRequest();
yield req.SendAsync();
let resp: INetResponse = req.Result;
diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts
deleted file mode 100644
index 11f02fe..0000000
--- a/src/vite-env.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-///
diff --git a/src/zSbmoduleUpdate.bat b/src/zSbmoduleUpdate.bat
deleted file mode 100644
index 4d3e783..0000000
--- a/src/zSbmoduleUpdate.bat
+++ /dev/null
@@ -1,38 +0,0 @@
-@echo off
-title Git Working
-goto selectAll
-
-:selectAll
-echo ---------------------------------------------------
-set n=0
-echo 1.Ĥ@M׳]wһݤlxsw
-echo 2.ҦlxswIspQtPULL
-echo *`Nxsw]|۩Is.S~|۰
-
-set/p n= пܡG
-
-if "%n%"=="1" ( goto change )
-
-if "%n%"=="2" ( goto childupdate )
-goto exit
-
-:change
-echo Ĥ@M׳]wһݤlxsw
-echo.
-git.exe clone --progress -v "git@git.catan.com.tw:Line_Project_1/Plan-Form_Table.git" FormTable
-git.exe clone --progress -v "git@git.catan.com.tw:Frontend/FormTableExt.git" FormTableExt
-echo
-goto selectAll
-
-:childupdate
-echo ҦlxswIspQtPULL
-cd FormTable
-TortoiseGitProc -command:pull /closeonend:2
-echo path:FormTable done.
-cd ..
-cd FormTableExt
-TortoiseGitProc -command:pull /closeonend:2
-echo path:FormTableExt done.
-cd ..
-echo
-goto selectAll
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
index bd736c6..bb0e961 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,5 +1,6 @@
{
"compilerOptions": {
+ "module": "esnext",
"target": "es2015",
"lib": [
"dom",
@@ -7,23 +8,22 @@
"esnext"
],
"allowJs": true,
+ "experimentalDecorators": true,
"sourceMap": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": false,
"strictNullChecks": false,
- "forceConsistentCasingInFileNames": false,
- "noFallthroughCasesInSwitch": true,
- "module": "esnext",
+ "forceConsistentCasingInFileNames": true,
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": false,
+ "allowImportingTsExtensions": true,
+ "useDefineForClassFields": true,
"noEmit": true,
"jsx": "react-jsx",
- "types": [
- "node"
- ],
+ "types": ["vite/client"],
"paths": {
"@/*": [
"./src/*"
@@ -32,6 +32,7 @@
},
"include": [
"src",
+ "_BusinessTypeSetting"
],
"references": [
{
diff --git a/vite.config.d.ts b/vite.config.d.ts
deleted file mode 100644
index 340562a..0000000
--- a/vite.config.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-declare const _default: import("vite").UserConfig;
-export default _default;
diff --git a/vite.config.ts b/vite.config.ts
index 9d7fe82..3329d48 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -4,19 +4,16 @@ import { defineConfig } from "vite";
// https://vitejs.dev/config/
export default defineConfig({
- plugins: [react()],
+ server: { fs: { strict: false } },
+ plugins: [
+ react()
+ ],
define: {
"AppVersion": JSON.stringify(process.env.npm_package_version),
},
resolve: {
alias: [
{ find: "@", replacement: path.resolve(__dirname, "src") },
- { find: "@views", replacement: path.resolve(__dirname, "src/views") },
- { find: "@assets", replacement: path.resolve(__dirname, "src/assets") },
- { find: "@css", replacement: path.resolve(__dirname, "src/assets/css") },
- { find: "@less", replacement: path.resolve(__dirname, "src/assets/less") },
- { find: "@images", replacement: path.resolve(__dirname, "src/assets/images") },
- { find: "@components", replacement: path.resolve(__dirname, "src/components") },
],
},
publicDir: "build-templates",
@@ -24,5 +21,5 @@ export default defineConfig({
outDir: "./build"
},
base: "./",
- // envDir: "./viteEnv",
+ envDir: "./viteEnv",
});
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
new file mode 100644
index 0000000..09b4ed7
--- /dev/null
+++ b/yarn.lock
@@ -0,0 +1,2149 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@ant-design/colors@^8.0.0":
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-8.0.0.tgz#92b5aa1cd44896b62c7b67133b4d5a6a00266162"
+ integrity sha512-6YzkKCw30EI/E9kHOIXsQDHmMvTllT8STzjMb4K2qzit33RW2pqCJP0sk+hidBntXxE+Vz4n1+RvCTfBw6OErw==
+ dependencies:
+ "@ant-design/fast-color" "^3.0.0"
+
+"@ant-design/cssinjs-utils@^2.0.2":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@ant-design/cssinjs-utils/-/cssinjs-utils-2.0.2.tgz#5613c65e0ecb3ce354b9e2164ce91125bd2b5bdc"
+ integrity sha512-Mq3Hm6fJuQeFNKSp3+yT4bjuhVbdrsyXE2RyfpJFL0xiYNZdaJ6oFaE3zFrzmHbmvTd2Wp3HCbRtkD4fU+v2ZA==
+ dependencies:
+ "@ant-design/cssinjs" "^2.0.1"
+ "@babel/runtime" "^7.23.2"
+ "@rc-component/util" "^1.4.0"
+
+"@ant-design/cssinjs@^2.0.1":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@ant-design/cssinjs/-/cssinjs-2.0.1.tgz#a7742deba17d613769db6d1aa4cfa46222ccec45"
+ integrity sha512-Lw1Z4cUQxdMmTNir67gU0HCpTl5TtkKCJPZ6UBvCqzcOTl/QmMFB6qAEoj8qFl0CuZDX9qQYa3m9+rEKfaBSbA==
+ dependencies:
+ "@babel/runtime" "^7.11.1"
+ "@emotion/hash" "^0.8.0"
+ "@emotion/unitless" "^0.7.5"
+ "@rc-component/util" "^1.4.0"
+ clsx "^2.1.1"
+ csstype "^3.1.3"
+ stylis "^4.3.4"
+
+"@ant-design/fast-color@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@ant-design/fast-color/-/fast-color-3.0.0.tgz#fb5178203de825f284809538f5142203d0ef3d80"
+ integrity sha512-eqvpP7xEDm2S7dUzl5srEQCBTXZMmY3ekf97zI+M2DHOYyKdJGH0qua0JACHTqbkRnD/KHFQP9J1uMJ/XWVzzA==
+
+"@ant-design/icons-svg@^4.4.0":
+ version "4.4.2"
+ resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz#ed2be7fb4d82ac7e1d45a54a5b06d6cecf8be6f6"
+ integrity sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==
+
+"@ant-design/icons@^6.1.0":
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-6.1.0.tgz#97cc14a3c0528b8e2b37f41f232b019f2ca38c2c"
+ integrity sha512-KrWMu1fIg3w/1F2zfn+JlfNDU8dDqILfA5Tg85iqs1lf8ooyGlbkA+TkwfOKKgqpUmAiRY1PTFpuOU2DAIgSUg==
+ dependencies:
+ "@ant-design/colors" "^8.0.0"
+ "@ant-design/icons-svg" "^4.4.0"
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+
+"@ant-design/react-slick@~1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@ant-design/react-slick/-/react-slick-1.1.2.tgz#f84ce3e4d0dc941f02b16f1d1d6d7a371ffbb4f1"
+ integrity sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA==
+ dependencies:
+ "@babel/runtime" "^7.10.4"
+ classnames "^2.2.5"
+ json2mq "^0.2.0"
+ resize-observer-polyfill "^1.5.1"
+ throttle-debounce "^5.0.0"
+
+"@babel/code-frame@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be"
+ integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.27.1"
+ js-tokens "^4.0.0"
+ picocolors "^1.1.1"
+
+"@babel/compat-data@^7.27.2":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.5.tgz#a8a4962e1567121ac0b3b487f52107443b455c7f"
+ integrity sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==
+
+"@babel/core@^7.24.4":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.5.tgz#4c81b35e51e1b734f510c99b07dfbc7bbbb48f7e"
+ integrity sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==
+ dependencies:
+ "@babel/code-frame" "^7.27.1"
+ "@babel/generator" "^7.28.5"
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-module-transforms" "^7.28.3"
+ "@babel/helpers" "^7.28.4"
+ "@babel/parser" "^7.28.5"
+ "@babel/template" "^7.27.2"
+ "@babel/traverse" "^7.28.5"
+ "@babel/types" "^7.28.5"
+ "@jridgewell/remapping" "^2.3.5"
+ convert-source-map "^2.0.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.2"
+ json5 "^2.2.3"
+ semver "^6.3.1"
+
+"@babel/generator@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.5.tgz#712722d5e50f44d07bc7ac9fe84438742dd61298"
+ integrity sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==
+ dependencies:
+ "@babel/parser" "^7.28.5"
+ "@babel/types" "^7.28.5"
+ "@jridgewell/gen-mapping" "^0.3.12"
+ "@jridgewell/trace-mapping" "^0.3.28"
+ jsesc "^3.0.2"
+
+"@babel/helper-compilation-targets@^7.27.2":
+ version "7.27.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d"
+ integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==
+ dependencies:
+ "@babel/compat-data" "^7.27.2"
+ "@babel/helper-validator-option" "^7.27.1"
+ browserslist "^4.24.0"
+ lru-cache "^5.1.1"
+ semver "^6.3.1"
+
+"@babel/helper-globals@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674"
+ integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==
+
+"@babel/helper-module-imports@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204"
+ integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==
+ dependencies:
+ "@babel/traverse" "^7.27.1"
+ "@babel/types" "^7.27.1"
+
+"@babel/helper-module-transforms@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz#a2b37d3da3b2344fe085dab234426f2b9a2fa5f6"
+ integrity sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==
+ dependencies:
+ "@babel/helper-module-imports" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.27.1"
+ "@babel/traverse" "^7.28.3"
+
+"@babel/helper-string-parser@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687"
+ integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==
+
+"@babel/helper-validator-identifier@^7.27.1", "@babel/helper-validator-identifier@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4"
+ integrity sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==
+
+"@babel/helper-validator-option@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f"
+ integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==
+
+"@babel/helpers@^7.28.4":
+ version "7.28.4"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.4.tgz#fe07274742e95bdf7cf1443593eeb8926ab63827"
+ integrity sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==
+ dependencies:
+ "@babel/template" "^7.27.2"
+ "@babel/types" "^7.28.4"
+
+"@babel/parser@^7.24.4", "@babel/parser@^7.27.2", "@babel/parser@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.5.tgz#0b0225ee90362f030efd644e8034c99468893b08"
+ integrity sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==
+ dependencies:
+ "@babel/types" "^7.28.5"
+
+"@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.7", "@babel/runtime@^7.23.2", "@babel/runtime@^7.24.4", "@babel/runtime@^7.24.7", "@babel/runtime@^7.28.4":
+ version "7.28.4"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.28.4.tgz#a70226016fabe25c5783b2f22d3e1c9bc5ca3326"
+ integrity sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==
+
+"@babel/template@^7.27.2":
+ version "7.27.2"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d"
+ integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==
+ dependencies:
+ "@babel/code-frame" "^7.27.1"
+ "@babel/parser" "^7.27.2"
+ "@babel/types" "^7.27.1"
+
+"@babel/traverse@^7.27.1", "@babel/traverse@^7.28.3", "@babel/traverse@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.5.tgz#450cab9135d21a7a2ca9d2d35aa05c20e68c360b"
+ integrity sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==
+ dependencies:
+ "@babel/code-frame" "^7.27.1"
+ "@babel/generator" "^7.28.5"
+ "@babel/helper-globals" "^7.28.0"
+ "@babel/parser" "^7.28.5"
+ "@babel/template" "^7.27.2"
+ "@babel/types" "^7.28.5"
+ debug "^4.3.1"
+
+"@babel/types@^7.27.1", "@babel/types@^7.28.4", "@babel/types@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.5.tgz#10fc405f60897c35f07e85493c932c7b5ca0592b"
+ integrity sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==
+ dependencies:
+ "@babel/helper-string-parser" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.28.5"
+
+"@emotion/hash@^0.8.0":
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413"
+ integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==
+
+"@emotion/unitless@^0.7.5":
+ version "0.7.5"
+ resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed"
+ integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==
+
+"@esbuild/aix-ppc64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz#80fcbe36130e58b7670511e888b8e88a259ed76c"
+ integrity sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==
+
+"@esbuild/android-arm64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz#8aa4965f8d0a7982dc21734bf6601323a66da752"
+ integrity sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==
+
+"@esbuild/android-arm@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.12.tgz#300712101f7f50f1d2627a162e6e09b109b6767a"
+ integrity sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==
+
+"@esbuild/android-x64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.12.tgz#87dfb27161202bdc958ef48bb61b09c758faee16"
+ integrity sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==
+
+"@esbuild/darwin-arm64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz#79197898ec1ff745d21c071e1c7cc3c802f0c1fd"
+ integrity sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==
+
+"@esbuild/darwin-x64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz#146400a8562133f45c4d2eadcf37ddd09718079e"
+ integrity sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==
+
+"@esbuild/freebsd-arm64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz#1c5f9ba7206e158fd2b24c59fa2d2c8bb47ca0fe"
+ integrity sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==
+
+"@esbuild/freebsd-x64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz#ea631f4a36beaac4b9279fa0fcc6ca29eaeeb2b3"
+ integrity sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==
+
+"@esbuild/linux-arm64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz#e1066bce58394f1b1141deec8557a5f0a22f5977"
+ integrity sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==
+
+"@esbuild/linux-arm@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz#452cd66b20932d08bdc53a8b61c0e30baf4348b9"
+ integrity sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==
+
+"@esbuild/linux-ia32@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz#b24f8acc45bcf54192c7f2f3be1b53e6551eafe0"
+ integrity sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==
+
+"@esbuild/linux-loong64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz#f9cfffa7fc8322571fbc4c8b3268caf15bd81ad0"
+ integrity sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==
+
+"@esbuild/linux-mips64el@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz#575a14bd74644ffab891adc7d7e60d275296f2cd"
+ integrity sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==
+
+"@esbuild/linux-ppc64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz#75b99c70a95fbd5f7739d7692befe60601591869"
+ integrity sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==
+
+"@esbuild/linux-riscv64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz#2e3259440321a44e79ddf7535c325057da875cd6"
+ integrity sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==
+
+"@esbuild/linux-s390x@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz#17676cabbfe5928da5b2a0d6df5d58cd08db2663"
+ integrity sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==
+
+"@esbuild/linux-x64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz#0583775685ca82066d04c3507f09524d3cd7a306"
+ integrity sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==
+
+"@esbuild/netbsd-arm64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz#f04c4049cb2e252fe96b16fed90f70746b13f4a4"
+ integrity sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==
+
+"@esbuild/netbsd-x64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz#77da0d0a0d826d7c921eea3d40292548b258a076"
+ integrity sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==
+
+"@esbuild/openbsd-arm64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz#6296f5867aedef28a81b22ab2009c786a952dccd"
+ integrity sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==
+
+"@esbuild/openbsd-x64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz#f8d23303360e27b16cf065b23bbff43c14142679"
+ integrity sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==
+
+"@esbuild/openharmony-arm64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz#49e0b768744a3924be0d7fd97dd6ce9b2923d88d"
+ integrity sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==
+
+"@esbuild/sunos-x64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz#a6ed7d6778d67e528c81fb165b23f4911b9b13d6"
+ integrity sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==
+
+"@esbuild/win32-arm64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz#9ac14c378e1b653af17d08e7d3ce34caef587323"
+ integrity sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==
+
+"@esbuild/win32-ia32@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz#918942dcbbb35cc14fca39afb91b5e6a3d127267"
+ integrity sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==
+
+"@esbuild/win32-x64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz#9bdad8176be7811ad148d1f8772359041f46c6c5"
+ integrity sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==
+
+"@eslint-community/eslint-utils@^4.7.0", "@eslint-community/eslint-utils@^4.8.0":
+ version "4.9.0"
+ resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz#7308df158e064f0dd8b8fdb58aa14fa2a7f913b3"
+ integrity sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==
+ dependencies:
+ eslint-visitor-keys "^3.4.3"
+
+"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.12.1":
+ version "4.12.2"
+ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.2.tgz#bccdf615bcf7b6e8db830ec0b8d21c9a25de597b"
+ integrity sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==
+
+"@eslint/config-array@^0.21.1":
+ version "0.21.1"
+ resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.21.1.tgz#7d1b0060fea407f8301e932492ba8c18aff29713"
+ integrity sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==
+ dependencies:
+ "@eslint/object-schema" "^2.1.7"
+ debug "^4.3.1"
+ minimatch "^3.1.2"
+
+"@eslint/config-helpers@^0.4.2":
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.4.2.tgz#1bd006ceeb7e2e55b2b773ab318d300e1a66aeda"
+ integrity sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==
+ dependencies:
+ "@eslint/core" "^0.17.0"
+
+"@eslint/core@^0.17.0":
+ version "0.17.0"
+ resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.17.0.tgz#77225820413d9617509da9342190a2019e78761c"
+ integrity sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==
+ dependencies:
+ "@types/json-schema" "^7.0.15"
+
+"@eslint/eslintrc@^3.3.1":
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.3.3.tgz#26393a0806501b5e2b6a43aa588a4d8df67880ac"
+ integrity sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==
+ dependencies:
+ ajv "^6.12.4"
+ debug "^4.3.2"
+ espree "^10.0.1"
+ globals "^14.0.0"
+ ignore "^5.2.0"
+ import-fresh "^3.2.1"
+ js-yaml "^4.1.1"
+ minimatch "^3.1.2"
+ strip-json-comments "^3.1.1"
+
+"@eslint/js@9.39.1", "@eslint/js@^9.39.1":
+ version "9.39.1"
+ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.39.1.tgz#0dd59c3a9f40e3f1882975c321470969243e0164"
+ integrity sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==
+
+"@eslint/object-schema@^2.1.7":
+ version "2.1.7"
+ resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.7.tgz#6e2126a1347e86a4dedf8706ec67ff8e107ebbad"
+ integrity sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==
+
+"@eslint/plugin-kit@^0.4.1":
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz#9779e3fd9b7ee33571a57435cf4335a1794a6cb2"
+ integrity sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==
+ dependencies:
+ "@eslint/core" "^0.17.0"
+ levn "^0.4.1"
+
+"@humanfs/core@^0.19.1":
+ version "0.19.1"
+ resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77"
+ integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==
+
+"@humanfs/node@^0.16.6":
+ version "0.16.7"
+ resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.7.tgz#822cb7b3a12c5a240a24f621b5a2413e27a45f26"
+ integrity sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==
+ dependencies:
+ "@humanfs/core" "^0.19.1"
+ "@humanwhocodes/retry" "^0.4.0"
+
+"@humanwhocodes/module-importer@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
+ integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
+
+"@humanwhocodes/retry@^0.4.0", "@humanwhocodes/retry@^0.4.2":
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.3.tgz#c2b9d2e374ee62c586d3adbea87199b1d7a7a6ba"
+ integrity sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==
+
+"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5":
+ version "0.3.13"
+ resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f"
+ integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==
+ dependencies:
+ "@jridgewell/sourcemap-codec" "^1.5.0"
+ "@jridgewell/trace-mapping" "^0.3.24"
+
+"@jridgewell/remapping@^2.3.5":
+ version "2.3.5"
+ resolved "https://registry.yarnpkg.com/@jridgewell/remapping/-/remapping-2.3.5.tgz#375c476d1972947851ba1e15ae8f123047445aa1"
+ integrity sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==
+ dependencies:
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.24"
+
+"@jridgewell/resolve-uri@^3.1.0":
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6"
+ integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
+
+"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0":
+ version "1.5.5"
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba"
+ integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==
+
+"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.28":
+ version "0.3.31"
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz#db15d6781c931f3a251a3dac39501c98a6082fd0"
+ integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==
+ dependencies:
+ "@jridgewell/resolve-uri" "^3.1.0"
+ "@jridgewell/sourcemap-codec" "^1.4.14"
+
+"@rc-component/async-validator@^5.0.3":
+ version "5.0.4"
+ resolved "https://registry.yarnpkg.com/@rc-component/async-validator/-/async-validator-5.0.4.tgz#5291ad92f00a14b6766fc81735c234277f83e948"
+ integrity sha512-qgGdcVIF604M9EqjNF0hbUTz42bz/RDtxWdWuU5EQe3hi7M8ob54B6B35rOsvX5eSvIHIzT9iH1R3n+hk3CGfg==
+ dependencies:
+ "@babel/runtime" "^7.24.4"
+
+"@rc-component/cascader@~1.8.0":
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/@rc-component/cascader/-/cascader-1.8.0.tgz#4cf83f4fde4b08e7cff368a0a69ddac33407a118"
+ integrity sha512-AYcJ6zHWua/CPp2DK2Xebu6nhcbav5PcPVVwTRb7yJTuKuwnjlB81wgtPIEgMKRv42aH3hyMYZvFgKhuxuvKmg==
+ dependencies:
+ "@rc-component/select" "~1.2.0"
+ "@rc-component/tree" "~1.0.0"
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+
+"@rc-component/checkbox@~1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@rc-component/checkbox/-/checkbox-1.0.1.tgz#d9ff0e67e5e55be0cad597083d5e9d972cc4e567"
+ integrity sha512-08yTH8m+bSm8TOqbybbJ9KiAuIATti6bDs2mVeSfu4QfEnyeF6X0enHVvD1NEAyuBWEAo56QtLe++MYs2D9XiQ==
+ dependencies:
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+
+"@rc-component/collapse@~1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@rc-component/collapse/-/collapse-1.1.2.tgz#7e0ff96a8292600bf774584257c9dc283891aea3"
+ integrity sha512-ilBYk1dLLJHu5Q74dF28vwtKUYQ42ZXIIDmqTuVy4rD8JQVvkXOs+KixVNbweyuIEtJYJ7+t+9GVD9dPc6N02w==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ "@rc-component/motion" "^1.1.4"
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+
+"@rc-component/color-picker@~3.0.3":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@rc-component/color-picker/-/color-picker-3.0.3.tgz#5e37251efed0d7e82ce71b6a9a9d6b0aa9bd10f2"
+ integrity sha512-V7gFF9O7o5XwIWafdbOtqI4BUUkEUkgdBwp6favy3xajMX/2dDqytFaiXlcwrpq6aRyPLp5dKLAG5RFKLXMeGA==
+ dependencies:
+ "@ant-design/fast-color" "^3.0.0"
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+
+"@rc-component/context@^2.0.1":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@rc-component/context/-/context-2.0.1.tgz#88c7a565ae92c34a7f02f33c34b145e4039deed0"
+ integrity sha512-HyZbYm47s/YqtP6pKXNMjPEMaukyg7P0qVfgMLzr7YiFNMHbK2fKTAGzms9ykfGHSfyf75nBbgWw+hHkp+VImw==
+ dependencies:
+ "@rc-component/util" "^1.3.0"
+
+"@rc-component/dialog@~1.5.1":
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/@rc-component/dialog/-/dialog-1.5.1.tgz#c02f6109d4fdd3cdf4e74384837171342685f223"
+ integrity sha512-by4Sf/a3azcb89WayWuwG19/Y312xtu8N81HoVQQtnsBDylfs+dog98fTAvLinnpeoWG52m/M7QLRW6fXR3l1g==
+ dependencies:
+ "@rc-component/motion" "^1.1.3"
+ "@rc-component/portal" "^2.0.0"
+ "@rc-component/util" "^1.0.1"
+ clsx "^2.1.1"
+
+"@rc-component/drawer@~1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@rc-component/drawer/-/drawer-1.2.0.tgz#4e1b08beed21f02a8e31f47ea741ef14dcf5eff4"
+ integrity sha512-RZ8IoNUv/soNVMYIWdjelKXX/3LWhVrKUQAeoc966Y55cIGc+PQKni025xshsvTY/+ntq10wqlBw1WCi77MvYQ==
+ dependencies:
+ "@rc-component/motion" "^1.1.4"
+ "@rc-component/portal" "^2.0.0"
+ "@rc-component/util" "^1.2.1"
+ classnames "^2.2.6"
+
+"@rc-component/dropdown@~1.0.0", "@rc-component/dropdown@~1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@rc-component/dropdown/-/dropdown-1.0.2.tgz#c6010dac9e3ce0d7cf305523083d499dc779819e"
+ integrity sha512-6PY2ecUSYhDPhkNHHb4wfeAya04WhpmUSKzdR60G+kMNVUCX2vjT/AgTS0Lz0I/K6xrPMJ3enQbwVpeN3sHCgg==
+ dependencies:
+ "@rc-component/trigger" "^3.0.0"
+ "@rc-component/util" "^1.2.1"
+ clsx "^2.1.1"
+
+"@rc-component/form@~1.4.0":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@rc-component/form/-/form-1.4.0.tgz#bee504c182bbb768b5fb68809e82b69deef9aec0"
+ integrity sha512-C8MN/2wIaW9hSrCCtJmcgCkWTQNIspN7ARXLFA4F8PGr8Qxk39U5pS3kRK51/bUJNhb/fEtdFnaViLlISGKI2A==
+ dependencies:
+ "@rc-component/async-validator" "^5.0.3"
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+
+"@rc-component/image@~1.5.2":
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/@rc-component/image/-/image-1.5.2.tgz#46cd467466f8b5c9a682bbc96a04f15ad3688af6"
+ integrity sha512-SIbYLy0IrXqyhccpKktQEvpbBti/KwgG8V/E8GJa8ycwOQmuZaCP7b/C+eQlivn4KDWpfKfoOrLKHXmVlljDgg==
+ dependencies:
+ "@rc-component/motion" "^1.0.0"
+ "@rc-component/portal" "^2.0.0"
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+
+"@rc-component/input-number@~1.6.2":
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/@rc-component/input-number/-/input-number-1.6.2.tgz#ae04e1ee69393fc047588c632e7ce6e19faf617f"
+ integrity sha512-Gjcq7meZlCOiWN1t1xCC+7/s85humHVokTBI7PJgTfoyw5OWF74y3e6P8PHX104g9+b54jsodFIzyaj6p8LI9w==
+ dependencies:
+ "@rc-component/mini-decimal" "^1.0.1"
+ "@rc-component/util" "^1.4.0"
+ clsx "^2.1.1"
+
+"@rc-component/input@~1.1.0", "@rc-component/input@~1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@rc-component/input/-/input-1.1.2.tgz#5fdb55741c012a3f8847d7bd24e318ed1d02cc05"
+ integrity sha512-Q61IMR47piUBudgixJ30CciKIy9b1H95qe7GgEKOmSJVJXvFRWJllJfQry9tif+MX2cWFXWJf/RXz4kaCeq/Fg==
+ dependencies:
+ "@rc-component/util" "^1.4.0"
+ clsx "^2.1.1"
+
+"@rc-component/mentions@~1.5.5":
+ version "1.5.5"
+ resolved "https://registry.yarnpkg.com/@rc-component/mentions/-/mentions-1.5.5.tgz#3fbe90d929951dde410fe7f43a697399883dcce4"
+ integrity sha512-m39JW6ZyR0+foE1ojgOx2+GH8kMaJS279A2cI0vV0gIEZMp+2hOpPhJgKR7vMOGdhvkiXwgfM49EaPw30NonNw==
+ dependencies:
+ "@rc-component/input" "~1.1.0"
+ "@rc-component/menu" "~1.1.0"
+ "@rc-component/textarea" "~1.1.0"
+ "@rc-component/trigger" "^3.0.0"
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+
+"@rc-component/menu@~1.1.0", "@rc-component/menu@~1.1.5":
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/@rc-component/menu/-/menu-1.1.5.tgz#cee27d828867ba90c8a5cf17be2feae7dab4abb8"
+ integrity sha512-+TlOCjrvm0JFk3OtSbOLX4klXK1bBdwTSJeEg1lM8P0BfdJOYxLFmKyAoUILioP4dO2A9u+lZENZOleAmA4g+A==
+ dependencies:
+ "@rc-component/motion" "^1.1.4"
+ "@rc-component/trigger" "^3.0.0"
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+ rc-overflow "^1.3.1"
+
+"@rc-component/mini-decimal@^1.0.1":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz#7b7a362b14a0a54cb5bc6fd2b82731f29f11d9b0"
+ integrity sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==
+ dependencies:
+ "@babel/runtime" "^7.18.0"
+
+"@rc-component/motion@^1.0.0", "@rc-component/motion@^1.1.3", "@rc-component/motion@^1.1.4", "@rc-component/motion@~1.1.5":
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/@rc-component/motion/-/motion-1.1.6.tgz#f5ee7a6109457f1656cf65d1e9d9d755361e2c61"
+ integrity sha512-aEQobs/YA0kqRvHIPjQvOytdtdRVyhf/uXAal4chBjxDu6odHckExJzjn2D+Ju1aKK6hx3pAs6BXdV9+86xkgQ==
+ dependencies:
+ "@rc-component/util" "^1.2.0"
+ clsx "^2.1.1"
+
+"@rc-component/mutate-observer@^2.0.1":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@rc-component/mutate-observer/-/mutate-observer-2.0.1.tgz#78f54a23bff7c62b2137dfb67e063c1be6ac0652"
+ integrity sha512-AyarjoLU5YlxuValRi+w8JRH2Z84TBbFO2RoGWz9d8bSu0FqT8DtugH3xC3BV7mUwlmROFauyWuXFuq4IFbH+w==
+ dependencies:
+ "@rc-component/util" "^1.2.0"
+
+"@rc-component/notification@~1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@rc-component/notification/-/notification-1.2.0.tgz#dd7c7d50f1d3217bfbc75bc46259e212096855c5"
+ integrity sha512-OX3J+zVU7rvoJCikjrfW7qOUp7zlDeFBK2eA3SFbGSkDqo63Sl4Ss8A04kFP+fxHSxMDIS9jYVEZtU1FNCFuBA==
+ dependencies:
+ "@rc-component/motion" "^1.1.4"
+ "@rc-component/util" "^1.2.1"
+ clsx "^2.1.1"
+
+"@rc-component/pagination@~1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@rc-component/pagination/-/pagination-1.2.0.tgz#3a97abda8f1077f514e03a74b3b9c77f9e68499a"
+ integrity sha512-YcpUFE8dMLfSo6OARJlK6DbHHvrxz7pMGPGmC/caZSJJz6HRKHC1RPP001PRHCvG9Z/veD039uOQmazVuLJzlw==
+ dependencies:
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+
+"@rc-component/picker@~1.7.1":
+ version "1.7.1"
+ resolved "https://registry.yarnpkg.com/@rc-component/picker/-/picker-1.7.1.tgz#a906bfacf3871cadce19a2b5f5a1e2082c2ebaf2"
+ integrity sha512-u75rwgbYbH3M2+k22dWOCXv1YUtdb5bgrD7YXCV19H6qS6mUHxQOcqRVTU2JmUPKkq+TOaHC4kDgU83mN2G01w==
+ dependencies:
+ "@rc-component/resize-observer" "^1.0.0"
+ "@rc-component/trigger" "^3.6.15"
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+ rc-overflow "^1.3.2"
+
+"@rc-component/portal@^2.0.0":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@rc-component/portal/-/portal-2.0.1.tgz#330bc21e6f9c513a8b685615222c22e03ac7af1b"
+ integrity sha512-46KYuA7Udb1LAaLIdDrfmDz3wzyeEZxIURJCn+heoQVbhtW5PQkhBSQtRus+DUdsknmTFQulxSnqrbX3CI4yXw==
+ dependencies:
+ "@rc-component/util" "^1.2.1"
+ clsx "^2.1.1"
+
+"@rc-component/progress@~1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@rc-component/progress/-/progress-1.0.2.tgz#9aba5e24d3ca73a61a451fd041f5d03ca8907c62"
+ integrity sha512-WZUnH9eGxH1+xodZKqdrHke59uyGZSWgj5HBM5Kwk5BrTMuAORO7VJ2IP5Qbm9aH3n9x3IcesqHHR0NWPBC7fQ==
+ dependencies:
+ "@rc-component/util" "^1.2.1"
+ clsx "^2.1.1"
+
+"@rc-component/qrcode@~1.1.1":
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/@rc-component/qrcode/-/qrcode-1.1.1.tgz#909f181bb9a7469d32a6e96c7f35476d4bd92008"
+ integrity sha512-LfLGNymzKdUPjXUbRP+xOhIWY4jQ+YMj5MmWAcgcAq1Ij8XP7tRmAXqyuv96XvLUBE/5cA8hLFl9eO1JQMujrA==
+ dependencies:
+ "@babel/runtime" "^7.24.7"
+
+"@rc-component/rate@~1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@rc-component/rate/-/rate-1.0.1.tgz#836c3c0bea69047f4234383e2ce6ab83a02ee26a"
+ integrity sha512-bkXxeBqDpl5IOC7yL7GcSYjQx9G8H+6kLYQnNZWeBYq2OYIv1MONd6mqKTjnnJYpV0cQIU2z3atdW0j1kttpTw==
+ dependencies:
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+
+"@rc-component/resize-observer@^1.0.0", "@rc-component/resize-observer@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@rc-component/resize-observer/-/resize-observer-1.0.1.tgz#bd07c2ab29baa019bd83a0870c07f6902d2241a3"
+ integrity sha512-r+w+Mz1EiueGk1IgjB3ptNXLYSLZ5vnEfKHH+gfgj7JMupftyzvUUl3fRcMZe5uMM04x0n8+G2o/c6nlO2+Wag==
+ dependencies:
+ "@rc-component/util" "^1.2.0"
+
+"@rc-component/segmented@~1.2.3":
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/@rc-component/segmented/-/segmented-1.2.3.tgz#3a1b8d5daa2ecba6876062abb01424bbd512ef79"
+ integrity sha512-L7G4S6zUpqHclOXK0wKKN2/VyqHa9tfDNxkoFjWOTPtQ0ROFaBwZhbf1+9sdZfIFkxJkpcShAmDOMEIBaFFqkw==
+ dependencies:
+ "@babel/runtime" "^7.11.1"
+ "@rc-component/motion" "^1.1.4"
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+
+"@rc-component/select@~1.2.0", "@rc-component/select@~1.2.4":
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/@rc-component/select/-/select-1.2.5.tgz#234d41c3f9a38b4db26050c5fe64b78e9e55fe2b"
+ integrity sha512-n1LWDMLjd2VVAofZ8HAB4F1UpJHQ3A8+WB2nfIWdzmf1DMNc3+kwWtoZwSgu5gYYdgcT64a+pjsopaep4jfUdw==
+ dependencies:
+ "@rc-component/trigger" "^3.0.0"
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+ rc-overflow "^1.5.0"
+ rc-virtual-list "^3.5.2"
+
+"@rc-component/slider@~1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@rc-component/slider/-/slider-1.0.1.tgz#a869eb09be343cfc580b28608edb0b230ceb1f04"
+ integrity sha512-uDhEPU1z3WDfCJhaL9jfd2ha/Eqpdfxsn0Zb0Xcq1NGQAman0TWaR37OWp2vVXEOdV2y0njSILTMpTfPV1454g==
+ dependencies:
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+
+"@rc-component/steps@~1.2.2":
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/@rc-component/steps/-/steps-1.2.2.tgz#8440329540e987ccaed252e008972d0b63723d6f"
+ integrity sha512-/yVIZ00gDYYPHSY0JP+M+s3ZvuXLu2f9rEjQqiUDs7EcYsUYrpJ/1bLj9aI9R7MBR3fu/NGh6RM9u2qGfqp+Nw==
+ dependencies:
+ "@rc-component/util" "^1.2.1"
+ clsx "^2.1.1"
+
+"@rc-component/switch@~1.0.3":
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/@rc-component/switch/-/switch-1.0.3.tgz#d6efa8a17ca9c35f0838321c1cfe0b9adb954523"
+ integrity sha512-Jgi+EbOBquje/XNdofr7xbJQZPYJP+BlPfR0h+WN4zFkdtB2EWqEfvkXJWeipflwjWip0/17rNbxEAqs8hVHfw==
+ dependencies:
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+
+"@rc-component/table@~1.8.2":
+ version "1.8.2"
+ resolved "https://registry.yarnpkg.com/@rc-component/table/-/table-1.8.2.tgz#021755c329bae6988141f9be46646a7cdc784e9e"
+ integrity sha512-GUuuXIGx2M3KVEcqhze8cDs0cwkSby9VRnOrm6zbnryMFUr+WUL1eu7NA1j4Gi43Rd3/CIL8OmXhRdUz1L/Xug==
+ dependencies:
+ "@rc-component/context" "^2.0.1"
+ "@rc-component/resize-observer" "^1.0.0"
+ "@rc-component/util" "^1.1.0"
+ clsx "^2.1.1"
+ rc-virtual-list "^3.14.2"
+
+"@rc-component/tabs@~1.6.0":
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/@rc-component/tabs/-/tabs-1.6.0.tgz#8beb3dc4bed77e6eed592a36df70ff39a6f07269"
+ integrity sha512-2OY02yhS7E0y0Yr5LBI3o5KdM7h4yJ5lBR6V4PEC1dx/sUZggEw7vAHGCArqCcpsZ6pzjOGJbGiVhz7dSMiehA==
+ dependencies:
+ "@rc-component/dropdown" "~1.0.0"
+ "@rc-component/menu" "~1.1.0"
+ "@rc-component/motion" "^1.1.3"
+ "@rc-component/resize-observer" "^1.0.0"
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+
+"@rc-component/textarea@~1.1.0", "@rc-component/textarea@~1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@rc-component/textarea/-/textarea-1.1.2.tgz#2daa5dcb997840040fb8892b0d601ef28d9d1f37"
+ integrity sha512-9rMUEODWZDMovfScIEHXWlVZuPljZ2pd1LKNjslJVitn4SldEzq5vO1CL3yy3Dnib6zZal2r2DPtjy84VVpF6A==
+ dependencies:
+ "@rc-component/input" "~1.1.0"
+ "@rc-component/resize-observer" "^1.0.0"
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+
+"@rc-component/tooltip@~1.3.4":
+ version "1.3.4"
+ resolved "https://registry.yarnpkg.com/@rc-component/tooltip/-/tooltip-1.3.4.tgz#2e7a0d841bdee81695a66be3b9d2286545e0ceb5"
+ integrity sha512-wbxvH/UBVgGnpivBPDiGirNr2B9BhUBF4QJTWHK8hOMh6qWg/yf0g4UspH9+GlnSwSLoYOhcChmdLLFxSULBDQ==
+ dependencies:
+ "@rc-component/trigger" "^3.6.15"
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+
+"@rc-component/tour@~2.2.1":
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/@rc-component/tour/-/tour-2.2.1.tgz#608c5270443e329d13251072845e75b5e64b3067"
+ integrity sha512-BUCrVikGJsXli38qlJ+h2WyDD6dYxzDA9dV3o0ij6gYhAq6ooT08SUMWOikva9v4KZ2BEuluGl5bPcsjrSoBgQ==
+ dependencies:
+ "@rc-component/portal" "^2.0.0"
+ "@rc-component/trigger" "^3.0.0"
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+
+"@rc-component/tree-select@~1.3.1":
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/@rc-component/tree-select/-/tree-select-1.3.1.tgz#d8a21f56f7f5287e7021565be72020bf81746839"
+ integrity sha512-aWbsJ0c7Saqu4Fpn0RPx0EeprttyBbAeH1HQ8cG8vPHOrkG+kg4Wg3TWB+e5uVo36dneH8NJHfOICLzdblQEhA==
+ dependencies:
+ "@rc-component/select" "~1.2.0"
+ "@rc-component/tree" "~1.0.1"
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+
+"@rc-component/tree@~1.0.0", "@rc-component/tree@~1.0.1", "@rc-component/tree@~1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@rc-component/tree/-/tree-1.0.2.tgz#f2c163831a49e3363eb0667b2bd96a70db804d36"
+ integrity sha512-h4P2P3N004VmUonkBzhisjrwME2njSxmUzZPhkFHGllAzbcRUSUGSx0dvRr0FCxYYittpMpGUHE6OMvbVX2c8Q==
+ dependencies:
+ "@rc-component/motion" "^1.0.0"
+ "@rc-component/util" "^1.2.1"
+ clsx "^2.1.1"
+ rc-virtual-list "^3.5.1"
+
+"@rc-component/trigger@^3.0.0", "@rc-component/trigger@^3.6.15", "@rc-component/trigger@^3.7.1":
+ version "3.7.1"
+ resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-3.7.1.tgz#3b84eb77a6ea99f240b5fa4c06a2dea34b65d3d5"
+ integrity sha512-+YNP8FywxKJpdqzlAp6TN8UbSK6YsQtIs3kI13mHfm87qi3qUd5Q9AGW8Unfv76kXFUSu7U7D0FygRsGH+6MiA==
+ dependencies:
+ "@rc-component/motion" "^1.1.4"
+ "@rc-component/portal" "^2.0.0"
+ "@rc-component/resize-observer" "^1.0.0"
+ "@rc-component/util" "^1.2.1"
+ clsx "^2.1.1"
+
+"@rc-component/upload@~1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@rc-component/upload/-/upload-1.1.0.tgz#cb634587ffdf8a8a4a26a279fac06989fb47f593"
+ integrity sha512-LIBV90mAnUE6VK5N4QvForoxZc4XqEYZimcp7fk+lkE4XwHHyJWxpIXQQwMU8hJM+YwBbsoZkGksL1sISWHQxw==
+ dependencies:
+ "@rc-component/util" "^1.3.0"
+ clsx "^2.1.1"
+
+"@rc-component/util@^1.0.1", "@rc-component/util@^1.1.0", "@rc-component/util@^1.2.0", "@rc-component/util@^1.2.1", "@rc-component/util@^1.3.0", "@rc-component/util@^1.4.0":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@rc-component/util/-/util-1.4.0.tgz#7509c47b2f17e370be65c05e0e8c1aa743d674db"
+ integrity sha512-LQlShcJKu0p3JUTAenKrWtqVW0+c4PJKedOqEaef9gTVL70O3cG4xZJ7VXfm0blGzORKFEkd3oQGalaUBNZ3Lg==
+ dependencies:
+ is-mobile "^5.0.0"
+ react-is "^18.2.0"
+
+"@rolldown/pluginutils@1.0.0-beta.47":
+ version "1.0.0-beta.47"
+ resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.47.tgz#c282c4a8c39f3d6d2f1086aae09a34e6241f7a50"
+ integrity sha512-8QagwMH3kNCuzD8EWL8R2YPW5e4OrHNSAHRFDdmFqEwEaD/KcNKjVoumo+gP2vW5eKB2UPbM6vTYiGZX0ixLnw==
+
+"@rollup/rollup-android-arm-eabi@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz#7e478b66180c5330429dd161bf84dad66b59c8eb"
+ integrity sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==
+
+"@rollup/rollup-android-arm64@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz#2b025510c53a5e3962d3edade91fba9368c9d71c"
+ integrity sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==
+
+"@rollup/rollup-darwin-arm64@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz#3577c38af68ccf34c03e84f476bfd526abca10a0"
+ integrity sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==
+
+"@rollup/rollup-darwin-x64@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz#2bf5f2520a1f3b551723d274b9669ba5b75ed69c"
+ integrity sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==
+
+"@rollup/rollup-freebsd-arm64@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz#4bb9cc80252564c158efc0710153c71633f1927c"
+ integrity sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==
+
+"@rollup/rollup-freebsd-x64@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz#2301289094d49415a380cf942219ae9d8b127440"
+ integrity sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==
+
+"@rollup/rollup-linux-arm-gnueabihf@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz#1d03d776f2065e09fc141df7d143476e94acca88"
+ integrity sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==
+
+"@rollup/rollup-linux-arm-musleabihf@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz#8623de0e040b2fd52a541c602688228f51f96701"
+ integrity sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==
+
+"@rollup/rollup-linux-arm64-gnu@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz#ce2d1999bc166277935dde0301cde3dd0417fb6e"
+ integrity sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==
+
+"@rollup/rollup-linux-arm64-musl@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz#88c2523778444da952651a2219026416564a4899"
+ integrity sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==
+
+"@rollup/rollup-linux-loong64-gnu@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz#578ca2220a200ac4226c536c10c8cc6e4f276714"
+ integrity sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==
+
+"@rollup/rollup-linux-ppc64-gnu@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz#aa338d3effd4168a20a5023834a74ba2c3081293"
+ integrity sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==
+
+"@rollup/rollup-linux-riscv64-gnu@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz#16ba582f9f6cff58119aa242782209b1557a1508"
+ integrity sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==
+
+"@rollup/rollup-linux-riscv64-musl@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz#e404a77ebd6378483888b8064c703adb011340ab"
+ integrity sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==
+
+"@rollup/rollup-linux-s390x-gnu@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz#92ad52d306227c56bec43d96ad2164495437ffe6"
+ integrity sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==
+
+"@rollup/rollup-linux-x64-gnu@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz#fd0dea3bb9aa07e7083579f25e1c2285a46cb9fa"
+ integrity sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==
+
+"@rollup/rollup-linux-x64-musl@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz#37a3efb09f18d555f8afc490e1f0444885de8951"
+ integrity sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==
+
+"@rollup/rollup-openharmony-arm64@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz#c489bec9f4f8320d42c9b324cca220c90091c1f7"
+ integrity sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==
+
+"@rollup/rollup-win32-arm64-msvc@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz#152832b5f79dc22d1606fac3db946283601b7080"
+ integrity sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==
+
+"@rollup/rollup-win32-ia32-msvc@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz#54d91b2bb3bf3e9f30d32b72065a4e52b3a172a5"
+ integrity sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==
+
+"@rollup/rollup-win32-x64-gnu@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz#df9df03e61a003873efec8decd2034e7f135c71e"
+ integrity sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==
+
+"@rollup/rollup-win32-x64-msvc@4.53.3":
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz#38ae84f4c04226c1d56a3b17296ef1e0460ecdfe"
+ integrity sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==
+
+"@swc/core-darwin-arm64@1.15.3":
+ version "1.15.3"
+ resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.15.3.tgz#bd0bd3ab7730e3ffa64cf200c0ed7c572cbaba97"
+ integrity sha512-AXfeQn0CvcQ4cndlIshETx6jrAM45oeUrK8YeEY6oUZU/qzz0Id0CyvlEywxkWVC81Ajpd8TQQ1fW5yx6zQWkQ==
+
+"@swc/core-darwin-x64@1.15.3":
+ version "1.15.3"
+ resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.15.3.tgz#502b1e1c680df6b962265ca81a0c1a23e6ff070f"
+ integrity sha512-p68OeCz1ui+MZYG4wmfJGvcsAcFYb6Sl25H9TxWl+GkBgmNimIiRdnypK9nBGlqMZAcxngNPtnG3kEMNnvoJ2A==
+
+"@swc/core-linux-arm-gnueabihf@1.15.3":
+ version "1.15.3"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.15.3.tgz#e32cc6a2e06a75060d6f598ba2ca6f96c5c0cc43"
+ integrity sha512-Nuj5iF4JteFgwrai97mUX+xUOl+rQRHqTvnvHMATL/l9xE6/TJfPBpd3hk/PVpClMXG3Uvk1MxUFOEzM1JrMYg==
+
+"@swc/core-linux-arm64-gnu@1.15.3":
+ version "1.15.3"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.15.3.tgz#9b9861bc44059e393d4baf98b3cd3d6c4ea6f521"
+ integrity sha512-2Nc/s8jE6mW2EjXWxO/lyQuLKShcmTrym2LRf5Ayp3ICEMX6HwFqB1EzDhwoMa2DcUgmnZIalesq2lG3krrUNw==
+
+"@swc/core-linux-arm64-musl@1.15.3":
+ version "1.15.3"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.15.3.tgz#f6388743e5a159018bd468e8f710940b2614384b"
+ integrity sha512-j4SJniZ/qaZ5g8op+p1G9K1z22s/EYGg1UXIb3+Cg4nsxEpF5uSIGEE4mHUfA70L0BR9wKT2QF/zv3vkhfpX4g==
+
+"@swc/core-linux-x64-gnu@1.15.3":
+ version "1.15.3"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.15.3.tgz#15fea551c7a3aeb1bdc3ad5c652d73c9321ddba8"
+ integrity sha512-aKttAZnz8YB1VJwPQZtyU8Uk0BfMP63iDMkvjhJzRZVgySmqt/apWSdnoIcZlUoGheBrcqbMC17GGUmur7OT5A==
+
+"@swc/core-linux-x64-musl@1.15.3":
+ version "1.15.3"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.15.3.tgz#d3f17bab4ffcadbb47f135e6a14d6f3e401af289"
+ integrity sha512-oe8FctPu1gnUsdtGJRO2rvOUIkkIIaHqsO9xxN0bTR7dFTlPTGi2Fhk1tnvXeyAvCPxLIcwD8phzKg6wLv9yug==
+
+"@swc/core-win32-arm64-msvc@1.15.3":
+ version "1.15.3"
+ resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.15.3.tgz#9da386df7fed00b3473bcf4281ff3fcd14726d2c"
+ integrity sha512-L9AjzP2ZQ/Xh58e0lTRMLvEDrcJpR7GwZqAtIeNLcTK7JVE+QineSyHp0kLkO1rttCHyCy0U74kDTj0dRz6raA==
+
+"@swc/core-win32-ia32-msvc@1.15.3":
+ version "1.15.3"
+ resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.15.3.tgz#c398d4f0f10ffec2151a79733ee1ce86a945a1ea"
+ integrity sha512-B8UtogMzErUPDWUoKONSVBdsgKYd58rRyv2sHJWKOIMCHfZ22FVXICR4O/VwIYtlnZ7ahERcjayBHDlBZpR0aw==
+
+"@swc/core-win32-x64-msvc@1.15.3":
+ version "1.15.3"
+ resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.15.3.tgz#715596b034a654c82b03ef734a9b44c29bcd3a68"
+ integrity sha512-SpZKMR9QBTecHeqpzJdYEfgw30Oo8b/Xl6rjSzBt1g0ZsXyy60KLXrp6IagQyfTYqNYE/caDvwtF2FPn7pomog==
+
+"@swc/core@^1.13.5":
+ version "1.15.3"
+ resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.15.3.tgz#2d0a5c4ac4c180c3dbf2f6d5d958b9fcbaa9755f"
+ integrity sha512-Qd8eBPkUFL4eAONgGjycZXj1jFCBW8Fd+xF0PzdTlBCWQIV1xnUT7B93wUANtW3KGjl3TRcOyxwSx/u/jyKw/Q==
+ dependencies:
+ "@swc/counter" "^0.1.3"
+ "@swc/types" "^0.1.25"
+ optionalDependencies:
+ "@swc/core-darwin-arm64" "1.15.3"
+ "@swc/core-darwin-x64" "1.15.3"
+ "@swc/core-linux-arm-gnueabihf" "1.15.3"
+ "@swc/core-linux-arm64-gnu" "1.15.3"
+ "@swc/core-linux-arm64-musl" "1.15.3"
+ "@swc/core-linux-x64-gnu" "1.15.3"
+ "@swc/core-linux-x64-musl" "1.15.3"
+ "@swc/core-win32-arm64-msvc" "1.15.3"
+ "@swc/core-win32-ia32-msvc" "1.15.3"
+ "@swc/core-win32-x64-msvc" "1.15.3"
+
+"@swc/counter@^0.1.3":
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9"
+ integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==
+
+"@swc/types@^0.1.25":
+ version "0.1.25"
+ resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.25.tgz#b517b2a60feb37dd933e542d93093719e4cf1078"
+ integrity sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==
+ dependencies:
+ "@swc/counter" "^0.1.3"
+
+"@types/estree@1.0.8", "@types/estree@^1.0.6":
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e"
+ integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==
+
+"@types/json-schema@^7.0.15":
+ version "7.0.15"
+ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
+ integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
+
+"@types/node@^24.10.1":
+ version "24.10.1"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-24.10.1.tgz#91e92182c93db8bd6224fca031e2370cef9a8f01"
+ integrity sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==
+ dependencies:
+ undici-types "~7.16.0"
+
+"@types/react-dom@^19.2.3":
+ version "19.2.3"
+ resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-19.2.3.tgz#c1e305d15a52a3e508d54dca770d202cb63abf2c"
+ integrity sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==
+
+"@types/react@^19.2.5":
+ version "19.2.7"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-19.2.7.tgz#84e62c0f23e8e4e5ac2cadcea1ffeacccae7f62f"
+ integrity sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==
+ dependencies:
+ csstype "^3.2.2"
+
+"@typescript-eslint/eslint-plugin@8.48.1":
+ version "8.48.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.48.1.tgz#c772d1dbdd97cfddf85f5a161a97783233643631"
+ integrity sha512-X63hI1bxl5ohelzr0LY5coufyl0LJNthld+abwxpCoo6Gq+hSqhKwci7MUWkXo67mzgUK6YFByhmaHmUcuBJmA==
+ dependencies:
+ "@eslint-community/regexpp" "^4.10.0"
+ "@typescript-eslint/scope-manager" "8.48.1"
+ "@typescript-eslint/type-utils" "8.48.1"
+ "@typescript-eslint/utils" "8.48.1"
+ "@typescript-eslint/visitor-keys" "8.48.1"
+ graphemer "^1.4.0"
+ ignore "^7.0.0"
+ natural-compare "^1.4.0"
+ ts-api-utils "^2.1.0"
+
+"@typescript-eslint/parser@8.48.1":
+ version "8.48.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.48.1.tgz#4e3c66d9ec20683ec142417fafeadab61c479c3f"
+ integrity sha512-PC0PDZfJg8sP7cmKe6L3QIL8GZwU5aRvUFedqSIpw3B+QjRSUZeeITC2M5XKeMXEzL6wccN196iy3JLwKNvDVA==
+ dependencies:
+ "@typescript-eslint/scope-manager" "8.48.1"
+ "@typescript-eslint/types" "8.48.1"
+ "@typescript-eslint/typescript-estree" "8.48.1"
+ "@typescript-eslint/visitor-keys" "8.48.1"
+ debug "^4.3.4"
+
+"@typescript-eslint/project-service@8.48.1":
+ version "8.48.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.48.1.tgz#cfe1741613b9112d85ae766de9e09b27a7d3f2f1"
+ integrity sha512-HQWSicah4s9z2/HifRPQ6b6R7G+SBx64JlFQpgSSHWPKdvCZX57XCbszg/bapbRsOEv42q5tayTYcEFpACcX1w==
+ dependencies:
+ "@typescript-eslint/tsconfig-utils" "^8.48.1"
+ "@typescript-eslint/types" "^8.48.1"
+ debug "^4.3.4"
+
+"@typescript-eslint/scope-manager@8.48.1":
+ version "8.48.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.48.1.tgz#8bc70643e7cca57864b1ff95dd350fc27756bec0"
+ integrity sha512-rj4vWQsytQbLxC5Bf4XwZ0/CKd362DkWMUkviT7DCS057SK64D5lH74sSGzhI6PDD2HCEq02xAP9cX68dYyg1w==
+ dependencies:
+ "@typescript-eslint/types" "8.48.1"
+ "@typescript-eslint/visitor-keys" "8.48.1"
+
+"@typescript-eslint/tsconfig-utils@8.48.1", "@typescript-eslint/tsconfig-utils@^8.48.1":
+ version "8.48.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.48.1.tgz#68139ce2d258f984e2b33a95389158f1212af646"
+ integrity sha512-k0Jhs4CpEffIBm6wPaCXBAD7jxBtrHjrSgtfCjUvPp9AZ78lXKdTR8fxyZO5y4vWNlOvYXRtngSZNSn+H53Jkw==
+
+"@typescript-eslint/type-utils@8.48.1":
+ version "8.48.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.48.1.tgz#955bd3ddd648450f0a627925ff12ade63fb7516d"
+ integrity sha512-1jEop81a3LrJQLTf/1VfPQdhIY4PlGDBc/i67EVWObrtvcziysbLN3oReexHOM6N3jyXgCrkBsZpqwH0hiDOQg==
+ dependencies:
+ "@typescript-eslint/types" "8.48.1"
+ "@typescript-eslint/typescript-estree" "8.48.1"
+ "@typescript-eslint/utils" "8.48.1"
+ debug "^4.3.4"
+ ts-api-utils "^2.1.0"
+
+"@typescript-eslint/types@8.48.1", "@typescript-eslint/types@^8.48.1":
+ version "8.48.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.48.1.tgz#a9ff808f5f798f28767d5c0b015a88fa7ce46bd7"
+ integrity sha512-+fZ3LZNeiELGmimrujsDCT4CRIbq5oXdHe7chLiW8qzqyPMnn1puNstCrMNVAqwcl2FdIxkuJ4tOs/RFDBVc/Q==
+
+"@typescript-eslint/typescript-estree@8.48.1":
+ version "8.48.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.48.1.tgz#0d0e31fc47c5796c6463ab50cde19e1718d465b1"
+ integrity sha512-/9wQ4PqaefTK6POVTjJaYS0bynCgzh6ClJHGSBj06XEHjkfylzB+A3qvyaXnErEZSaxhIo4YdyBgq6j4RysxDg==
+ dependencies:
+ "@typescript-eslint/project-service" "8.48.1"
+ "@typescript-eslint/tsconfig-utils" "8.48.1"
+ "@typescript-eslint/types" "8.48.1"
+ "@typescript-eslint/visitor-keys" "8.48.1"
+ debug "^4.3.4"
+ minimatch "^9.0.4"
+ semver "^7.6.0"
+ tinyglobby "^0.2.15"
+ ts-api-utils "^2.1.0"
+
+"@typescript-eslint/utils@8.48.1":
+ version "8.48.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.48.1.tgz#6cf7b99e0943b33a983ef687b9a86b65578b5c32"
+ integrity sha512-fAnhLrDjiVfey5wwFRwrweyRlCmdz5ZxXz2G/4cLn0YDLjTapmN4gcCsTBR1N2rWnZSDeWpYtgLDsJt+FpmcwA==
+ dependencies:
+ "@eslint-community/eslint-utils" "^4.7.0"
+ "@typescript-eslint/scope-manager" "8.48.1"
+ "@typescript-eslint/types" "8.48.1"
+ "@typescript-eslint/typescript-estree" "8.48.1"
+
+"@typescript-eslint/visitor-keys@8.48.1":
+ version "8.48.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.48.1.tgz#247d4fe6dcc044f45b7f1c15110bf95e5d73b334"
+ integrity sha512-BmxxndzEWhE4TIEEMBs8lP3MBWN3jFPs/p6gPm/wkv02o41hI6cq9AuSmGAaTTHPtA1FTi2jBre4A9rm5ZmX+Q==
+ dependencies:
+ "@typescript-eslint/types" "8.48.1"
+ eslint-visitor-keys "^4.2.1"
+
+"@vitejs/plugin-react-swc@^4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@vitejs/plugin-react-swc/-/plugin-react-swc-4.2.2.tgz#9818ed54318dcb0f254f6322c6bfbd0fcec2b087"
+ integrity sha512-x+rE6tsxq/gxrEJN3Nv3dIV60lFflPj94c90b+NNo6n1QV1QQUTLoL0MpaOVasUZ0zqVBn7ead1B5ecx1JAGfA==
+ dependencies:
+ "@rolldown/pluginutils" "1.0.0-beta.47"
+ "@swc/core" "^1.13.5"
+
+acorn-jsx@^5.3.2:
+ version "5.3.2"
+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
+ integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
+
+acorn@^8.15.0:
+ version "8.15.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816"
+ integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
+
+ajv@^6.12.4:
+ version "6.12.6"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
+ integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+ 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"
+
+ansi-styles@^4.1.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+ dependencies:
+ color-convert "^2.0.1"
+
+antd@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/antd/-/antd-6.0.1.tgz#d3ac50c80d4e274d22340abea4e31c49c5446787"
+ integrity sha512-/kCH3057suoqe1D/JJ4lxvkESZWJr1+ISTbRnbxk99gXJWaxYp7pCX+4CZSdvVDKFpU1YBkzHn9/ZVNNyHImqQ==
+ dependencies:
+ "@ant-design/colors" "^8.0.0"
+ "@ant-design/cssinjs" "^2.0.1"
+ "@ant-design/cssinjs-utils" "^2.0.2"
+ "@ant-design/fast-color" "^3.0.0"
+ "@ant-design/icons" "^6.1.0"
+ "@ant-design/react-slick" "~1.1.2"
+ "@babel/runtime" "^7.28.4"
+ "@rc-component/cascader" "~1.8.0"
+ "@rc-component/checkbox" "~1.0.1"
+ "@rc-component/collapse" "~1.1.2"
+ "@rc-component/color-picker" "~3.0.3"
+ "@rc-component/dialog" "~1.5.1"
+ "@rc-component/drawer" "~1.2.0"
+ "@rc-component/dropdown" "~1.0.2"
+ "@rc-component/form" "~1.4.0"
+ "@rc-component/image" "~1.5.2"
+ "@rc-component/input" "~1.1.2"
+ "@rc-component/input-number" "~1.6.2"
+ "@rc-component/mentions" "~1.5.5"
+ "@rc-component/menu" "~1.1.5"
+ "@rc-component/motion" "~1.1.5"
+ "@rc-component/mutate-observer" "^2.0.1"
+ "@rc-component/notification" "~1.2.0"
+ "@rc-component/pagination" "~1.2.0"
+ "@rc-component/picker" "~1.7.1"
+ "@rc-component/progress" "~1.0.2"
+ "@rc-component/qrcode" "~1.1.1"
+ "@rc-component/rate" "~1.0.1"
+ "@rc-component/resize-observer" "^1.0.1"
+ "@rc-component/segmented" "~1.2.3"
+ "@rc-component/select" "~1.2.4"
+ "@rc-component/slider" "~1.0.1"
+ "@rc-component/steps" "~1.2.2"
+ "@rc-component/switch" "~1.0.3"
+ "@rc-component/table" "~1.8.2"
+ "@rc-component/tabs" "~1.6.0"
+ "@rc-component/textarea" "~1.1.2"
+ "@rc-component/tooltip" "~1.3.4"
+ "@rc-component/tour" "~2.2.1"
+ "@rc-component/tree" "~1.0.2"
+ "@rc-component/tree-select" "~1.3.1"
+ "@rc-component/trigger" "^3.7.1"
+ "@rc-component/upload" "~1.1.0"
+ "@rc-component/util" "^1.4.0"
+ clsx "^2.1.1"
+ dayjs "^1.11.11"
+ scroll-into-view-if-needed "^3.1.0"
+ throttle-debounce "^5.0.2"
+
+argparse@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
+ integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
+
+balanced-match@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+ integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+
+baseline-browser-mapping@^2.9.0:
+ version "2.9.2"
+ resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.9.2.tgz#0ae89ec3e10e07c368b77def89db8044409461d1"
+ integrity sha512-PxSsosKQjI38iXkmb3d0Y32efqyA0uW4s41u4IVBsLlWLhCiYNpH/AfNOVWRqCQBlD8TFJTz6OUWNd4DFJCnmw==
+
+brace-expansion@^1.1.7:
+ version "1.1.12"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843"
+ integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+brace-expansion@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7"
+ integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==
+ dependencies:
+ balanced-match "^1.0.0"
+
+browserslist@^4.24.0:
+ version "4.28.1"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.28.1.tgz#7f534594628c53c63101079e27e40de490456a95"
+ integrity sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==
+ dependencies:
+ baseline-browser-mapping "^2.9.0"
+ caniuse-lite "^1.0.30001759"
+ electron-to-chromium "^1.5.263"
+ node-releases "^2.0.27"
+ update-browserslist-db "^1.2.0"
+
+callsites@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+
+caniuse-lite@^1.0.30001759:
+ version "1.0.30001759"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001759.tgz#d569e7b010372c6b0ca3946e30dada0a2e9d5006"
+ integrity sha512-Pzfx9fOKoKvevQf8oCXoyNRQ5QyxJj+3O0Rqx2V5oxT61KGx8+n6hV/IUyJeifUci2clnmmKVpvtiqRzgiWjSw==
+
+chalk@^4.0.0:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
+ integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+classnames@^2.2.1, classnames@^2.2.5, classnames@^2.2.6:
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b"
+ integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==
+
+clsx@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999"
+ integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==
+
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+ dependencies:
+ color-name "~1.1.4"
+
+color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+compute-scroll-into-view@^3.0.2:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-3.1.1.tgz#02c3386ec531fb6a9881967388e53e8564f3e9aa"
+ integrity sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
+
+convert-source-map@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
+ integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
+
+cookie@^1.0.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/cookie/-/cookie-1.1.1.tgz#3bb9bdfc82369db9c2f69c93c9c3ceb310c88b3c"
+ integrity sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==
+
+cross-spawn@^7.0.6:
+ version "7.0.6"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f"
+ integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
+ dependencies:
+ path-key "^3.1.0"
+ shebang-command "^2.0.0"
+ which "^2.0.1"
+
+csstype@^3.1.3, csstype@^3.2.2:
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.2.3.tgz#ec48c0f3e993e50648c86da559e2610995cf989a"
+ integrity sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==
+
+dayjs@^1.11.11, dayjs@^1.11.19:
+ version "1.11.19"
+ resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.19.tgz#15dc98e854bb43917f12021806af897c58ae2938"
+ integrity sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==
+
+debug@^4.1.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
+ version "4.4.3"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a"
+ integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==
+ dependencies:
+ ms "^2.1.3"
+
+deep-is@^0.1.3:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
+ integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
+
+electron-to-chromium@^1.5.263:
+ version "1.5.265"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.265.tgz#ccea47940ee09d864f22fc7aadb2e992056ea0a5"
+ integrity sha512-B7IkLR1/AE+9jR2LtVF/1/6PFhY5TlnEHnlrKmGk7PvkJibg5jr+mLXLLzq3QYl6PA1T/vLDthQPqIPAlS/PPA==
+
+esbuild@^0.25.0:
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.12.tgz#97a1d041f4ab00c2fce2f838d2b9969a2d2a97a5"
+ integrity sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==
+ optionalDependencies:
+ "@esbuild/aix-ppc64" "0.25.12"
+ "@esbuild/android-arm" "0.25.12"
+ "@esbuild/android-arm64" "0.25.12"
+ "@esbuild/android-x64" "0.25.12"
+ "@esbuild/darwin-arm64" "0.25.12"
+ "@esbuild/darwin-x64" "0.25.12"
+ "@esbuild/freebsd-arm64" "0.25.12"
+ "@esbuild/freebsd-x64" "0.25.12"
+ "@esbuild/linux-arm" "0.25.12"
+ "@esbuild/linux-arm64" "0.25.12"
+ "@esbuild/linux-ia32" "0.25.12"
+ "@esbuild/linux-loong64" "0.25.12"
+ "@esbuild/linux-mips64el" "0.25.12"
+ "@esbuild/linux-ppc64" "0.25.12"
+ "@esbuild/linux-riscv64" "0.25.12"
+ "@esbuild/linux-s390x" "0.25.12"
+ "@esbuild/linux-x64" "0.25.12"
+ "@esbuild/netbsd-arm64" "0.25.12"
+ "@esbuild/netbsd-x64" "0.25.12"
+ "@esbuild/openbsd-arm64" "0.25.12"
+ "@esbuild/openbsd-x64" "0.25.12"
+ "@esbuild/openharmony-arm64" "0.25.12"
+ "@esbuild/sunos-x64" "0.25.12"
+ "@esbuild/win32-arm64" "0.25.12"
+ "@esbuild/win32-ia32" "0.25.12"
+ "@esbuild/win32-x64" "0.25.12"
+
+escalade@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5"
+ integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==
+
+escape-string-regexp@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
+ integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+
+eslint-plugin-react-hooks@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz#66e258db58ece50723ef20cc159f8aa908219169"
+ integrity sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==
+ dependencies:
+ "@babel/core" "^7.24.4"
+ "@babel/parser" "^7.24.4"
+ hermes-parser "^0.25.1"
+ zod "^3.25.0 || ^4.0.0"
+ zod-validation-error "^3.5.0 || ^4.0.0"
+
+eslint-plugin-react-refresh@^0.4.24:
+ version "0.4.24"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.24.tgz#6914e8757eb7d7ccc3efb9dbcc8a51feda71d89e"
+ integrity sha512-nLHIW7TEq3aLrEYWpVaJ1dRgFR+wLDPN8e8FpYAql/bMV2oBEfC37K0gLEGgv9fy66juNShSMV8OkTqzltcG/w==
+
+eslint-scope@^8.4.0:
+ version "8.4.0"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.4.0.tgz#88e646a207fad61436ffa39eb505147200655c82"
+ integrity sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==
+ dependencies:
+ esrecurse "^4.3.0"
+ estraverse "^5.2.0"
+
+eslint-visitor-keys@^3.4.3:
+ version "3.4.3"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
+ integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
+
+eslint-visitor-keys@^4.2.1:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz#4cfea60fe7dd0ad8e816e1ed026c1d5251b512c1"
+ integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==
+
+eslint@^9.39.1:
+ version "9.39.1"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.39.1.tgz#be8bf7c6de77dcc4252b5a8dcb31c2efff74a6e5"
+ integrity sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==
+ dependencies:
+ "@eslint-community/eslint-utils" "^4.8.0"
+ "@eslint-community/regexpp" "^4.12.1"
+ "@eslint/config-array" "^0.21.1"
+ "@eslint/config-helpers" "^0.4.2"
+ "@eslint/core" "^0.17.0"
+ "@eslint/eslintrc" "^3.3.1"
+ "@eslint/js" "9.39.1"
+ "@eslint/plugin-kit" "^0.4.1"
+ "@humanfs/node" "^0.16.6"
+ "@humanwhocodes/module-importer" "^1.0.1"
+ "@humanwhocodes/retry" "^0.4.2"
+ "@types/estree" "^1.0.6"
+ ajv "^6.12.4"
+ chalk "^4.0.0"
+ cross-spawn "^7.0.6"
+ debug "^4.3.2"
+ escape-string-regexp "^4.0.0"
+ eslint-scope "^8.4.0"
+ eslint-visitor-keys "^4.2.1"
+ espree "^10.4.0"
+ esquery "^1.5.0"
+ esutils "^2.0.2"
+ fast-deep-equal "^3.1.3"
+ file-entry-cache "^8.0.0"
+ find-up "^5.0.0"
+ glob-parent "^6.0.2"
+ ignore "^5.2.0"
+ imurmurhash "^0.1.4"
+ is-glob "^4.0.0"
+ json-stable-stringify-without-jsonify "^1.0.1"
+ lodash.merge "^4.6.2"
+ minimatch "^3.1.2"
+ natural-compare "^1.4.0"
+ optionator "^0.9.3"
+
+espree@^10.0.1, espree@^10.4.0:
+ version "10.4.0"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-10.4.0.tgz#d54f4949d4629005a1fa168d937c3ff1f7e2a837"
+ integrity sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==
+ dependencies:
+ acorn "^8.15.0"
+ acorn-jsx "^5.3.2"
+ eslint-visitor-keys "^4.2.1"
+
+esquery@^1.5.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7"
+ integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==
+ dependencies:
+ estraverse "^5.1.0"
+
+esrecurse@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
+ integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
+ dependencies:
+ estraverse "^5.2.0"
+
+estraverse@^5.1.0, estraverse@^5.2.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
+ integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
+
+esutils@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+ integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+
+fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
+ integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+
+fast-json-stable-stringify@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+ integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+
+fast-levenshtein@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+ integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
+
+fdir@^6.5.0:
+ version "6.5.0"
+ resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350"
+ integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==
+
+file-entry-cache@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f"
+ integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==
+ dependencies:
+ flat-cache "^4.0.0"
+
+find-up@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
+ integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
+ dependencies:
+ locate-path "^6.0.0"
+ path-exists "^4.0.0"
+
+flat-cache@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c"
+ integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==
+ dependencies:
+ flatted "^3.2.9"
+ keyv "^4.5.4"
+
+flatted@^3.2.9:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358"
+ integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==
+
+fsevents@~2.3.2, fsevents@~2.3.3:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
+ integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
+
+gensync@^1.0.0-beta.2:
+ version "1.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
+ integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
+
+glob-parent@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
+ integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
+ dependencies:
+ is-glob "^4.0.3"
+
+globals@^14.0.0:
+ version "14.0.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e"
+ integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==
+
+globals@^16.5.0:
+ version "16.5.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-16.5.0.tgz#ccf1594a437b97653b2be13ed4d8f5c9f850cac1"
+ integrity sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==
+
+graphemer@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
+ integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
+
+has-flag@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
+hermes-estree@0.25.1:
+ version "0.25.1"
+ resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.25.1.tgz#6aeec17d1983b4eabf69721f3aa3eb705b17f480"
+ integrity sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==
+
+hermes-parser@^0.25.1:
+ version "0.25.1"
+ resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.25.1.tgz#5be0e487b2090886c62bd8a11724cd766d5f54d1"
+ integrity sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==
+ dependencies:
+ hermes-estree "0.25.1"
+
+ignore@^5.2.0:
+ version "5.3.2"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
+ integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
+
+ignore@^7.0.0:
+ version "7.0.5"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.5.tgz#4cb5f6cd7d4c7ab0365738c7aea888baa6d7efd9"
+ integrity sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==
+
+import-fresh@^3.2.1:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf"
+ integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==
+ dependencies:
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
+imurmurhash@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+ integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
+
+is-extglob@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+ integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
+
+is-glob@^4.0.0, is-glob@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
+ integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
+ dependencies:
+ is-extglob "^2.1.1"
+
+is-mobile@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/is-mobile/-/is-mobile-5.0.0.tgz#1e08a0ef2c38a67bff84a52af68d67bcef445333"
+ integrity sha512-Tz/yndySvLAEXh+Uk8liFCxOwVH6YutuR74utvOcu7I9Di+DwM0mtdPVZNaVvvBUM2OXxne/NhOs1zAO7riusQ==
+
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+ integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
+
+js-tokens@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+
+js-yaml@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.1.tgz#854c292467705b699476e1a2decc0c8a3458806b"
+ integrity sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==
+ dependencies:
+ argparse "^2.0.1"
+
+jsesc@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d"
+ integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==
+
+json-buffer@3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
+ integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
+
+json-schema-traverse@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+ integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+
+json-stable-stringify-without-jsonify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
+ integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
+
+json2mq@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/json2mq/-/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a"
+ integrity sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==
+ dependencies:
+ string-convert "^0.2.0"
+
+json5@^2.2.3:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
+ integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
+
+keyv@^4.5.4:
+ version "4.5.4"
+ resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93"
+ integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
+ dependencies:
+ json-buffer "3.0.1"
+
+levn@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
+ integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
+ dependencies:
+ prelude-ls "^1.2.1"
+ type-check "~0.4.0"
+
+locate-path@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
+ integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
+ dependencies:
+ p-locate "^5.0.0"
+
+lodash.merge@^4.6.2:
+ version "4.6.2"
+ resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
+ integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
+
+lru-cache@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
+ integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
+ dependencies:
+ yallist "^3.0.2"
+
+minimatch@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
+ integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimatch@^9.0.4:
+ version "9.0.5"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5"
+ integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==
+ dependencies:
+ brace-expansion "^2.0.1"
+
+ms@^2.1.3:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
+nanoid@^3.3.11:
+ version "3.3.11"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b"
+ integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==
+
+natural-compare@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+ integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
+
+node-releases@^2.0.27:
+ version "2.0.27"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.27.tgz#eedca519205cf20f650f61d56b070db111231e4e"
+ integrity sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==
+
+optionator@^0.9.3:
+ version "0.9.4"
+ resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734"
+ integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==
+ 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"
+
+p-limit@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
+ integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
+ dependencies:
+ yocto-queue "^0.1.0"
+
+p-locate@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
+ integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
+ dependencies:
+ p-limit "^3.0.2"
+
+parent-module@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
+ integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
+ dependencies:
+ callsites "^3.0.0"
+
+path-exists@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+ integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+
+path-key@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
+ integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+
+picocolors@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
+ integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
+
+picomatch@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042"
+ integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==
+
+postcss@^8.5.6:
+ version "8.5.6"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c"
+ integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==
+ dependencies:
+ nanoid "^3.3.11"
+ picocolors "^1.1.1"
+ source-map-js "^1.2.1"
+
+prelude-ls@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
+ integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
+
+punycode@^2.1.0:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
+ integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
+
+rc-overflow@^1.3.1, rc-overflow@^1.3.2, rc-overflow@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.5.0.tgz#02e58a15199e392adfcc87e0d6e9e7c8e57f2771"
+ integrity sha512-Lm/v9h0LymeUYJf0x39OveU52InkdRXqnn2aYXfWmo8WdOonIKB2kfau+GF0fWq6jPgtdO9yMqveGcK6aIhJmg==
+ dependencies:
+ "@babel/runtime" "^7.11.1"
+ classnames "^2.2.1"
+ rc-resize-observer "^1.0.0"
+ rc-util "^5.37.0"
+
+rc-resize-observer@^1.0.0:
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.4.3.tgz#4fd41fa561ba51362b5155a07c35d7c89a1ea569"
+ integrity sha512-YZLjUbyIWox8E9i9C3Tm7ia+W7euPItNWSPX5sCcQTYbnwDb5uNpnLHQCG1f22oZWUhLw4Mv2tFmeWe68CDQRQ==
+ dependencies:
+ "@babel/runtime" "^7.20.7"
+ classnames "^2.2.1"
+ rc-util "^5.44.1"
+ resize-observer-polyfill "^1.5.1"
+
+rc-util@^5.36.0, rc-util@^5.37.0, rc-util@^5.44.1:
+ version "5.44.4"
+ resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.44.4.tgz#89ee9037683cca01cd60f1a6bbda761457dd6ba5"
+ integrity sha512-resueRJzmHG9Q6rI/DfK6Kdv9/Lfls05vzMs1Sk3M2P+3cJa+MakaZyWY8IPfehVuhPJFKrIY1IK4GqbiaiY5w==
+ dependencies:
+ "@babel/runtime" "^7.18.3"
+ react-is "^18.2.0"
+
+rc-virtual-list@^3.14.2, rc-virtual-list@^3.5.1, rc-virtual-list@^3.5.2:
+ version "3.19.2"
+ resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.19.2.tgz#1dd2d782c9a3ccbe537bb873447d73f83af8de0f"
+ integrity sha512-Ys6NcjwGkuwkeaWBDqfI3xWuZ7rDiQXlH1o2zLfFzATfEgXcqpk8CkgMfbJD81McqjcJVez25a3kPxCR807evA==
+ dependencies:
+ "@babel/runtime" "^7.20.0"
+ classnames "^2.2.6"
+ rc-resize-observer "^1.0.0"
+ rc-util "^5.36.0"
+
+react-dom@^19.2.0:
+ version "19.2.1"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.2.1.tgz#ce3527560bda4f997e47d10dab754825b3061f59"
+ integrity sha512-ibrK8llX2a4eOskq1mXKu/TGZj9qzomO+sNfO98M6d9zIPOEhlBkMkBUBLd1vgS0gQsLDBzA+8jJBVXDnfHmJg==
+ dependencies:
+ scheduler "^0.27.0"
+
+react-is@^18.2.0:
+ version "18.3.1"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e"
+ integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==
+
+react-router-dom@^7.10.1:
+ version "7.10.1"
+ resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-7.10.1.tgz#fddea814d30a3630c11d9ea539932482ff6f744c"
+ integrity sha512-JNBANI6ChGVjA5bwsUIwJk7LHKmqB4JYnYfzFwyp2t12Izva11elds2jx7Yfoup2zssedntwU0oZ5DEmk5Sdaw==
+ dependencies:
+ react-router "7.10.1"
+
+react-router@7.10.1:
+ version "7.10.1"
+ resolved "https://registry.yarnpkg.com/react-router/-/react-router-7.10.1.tgz#e973146ed5f10a80783fdb3f27dbe37679557a7c"
+ integrity sha512-gHL89dRa3kwlUYtRQ+m8NmxGI6CgqN+k4XyGjwcFoQwwCWF6xXpOCUlDovkXClS0d0XJN/5q7kc5W3kiFEd0Yw==
+ dependencies:
+ cookie "^1.0.1"
+ set-cookie-parser "^2.6.0"
+
+react@^19.2.0:
+ version "19.2.1"
+ resolved "https://registry.yarnpkg.com/react/-/react-19.2.1.tgz#8600fa205e58e2e807f6ef431c9f6492591a2700"
+ integrity sha512-DGrYcCWK7tvYMnWh79yrPHt+vdx9tY+1gPZa7nJQtO/p8bLTDaHp4dzwEhQB7pZ4Xe3ok4XKuEPrVuc+wlpkmw==
+
+resize-observer-polyfill@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464"
+ integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==
+
+resolve-from@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
+ integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+
+rollup@^4.43.0:
+ version "4.53.3"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.53.3.tgz#dbc8cd8743b38710019fb8297e8d7a76e3faa406"
+ integrity sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==
+ dependencies:
+ "@types/estree" "1.0.8"
+ optionalDependencies:
+ "@rollup/rollup-android-arm-eabi" "4.53.3"
+ "@rollup/rollup-android-arm64" "4.53.3"
+ "@rollup/rollup-darwin-arm64" "4.53.3"
+ "@rollup/rollup-darwin-x64" "4.53.3"
+ "@rollup/rollup-freebsd-arm64" "4.53.3"
+ "@rollup/rollup-freebsd-x64" "4.53.3"
+ "@rollup/rollup-linux-arm-gnueabihf" "4.53.3"
+ "@rollup/rollup-linux-arm-musleabihf" "4.53.3"
+ "@rollup/rollup-linux-arm64-gnu" "4.53.3"
+ "@rollup/rollup-linux-arm64-musl" "4.53.3"
+ "@rollup/rollup-linux-loong64-gnu" "4.53.3"
+ "@rollup/rollup-linux-ppc64-gnu" "4.53.3"
+ "@rollup/rollup-linux-riscv64-gnu" "4.53.3"
+ "@rollup/rollup-linux-riscv64-musl" "4.53.3"
+ "@rollup/rollup-linux-s390x-gnu" "4.53.3"
+ "@rollup/rollup-linux-x64-gnu" "4.53.3"
+ "@rollup/rollup-linux-x64-musl" "4.53.3"
+ "@rollup/rollup-openharmony-arm64" "4.53.3"
+ "@rollup/rollup-win32-arm64-msvc" "4.53.3"
+ "@rollup/rollup-win32-ia32-msvc" "4.53.3"
+ "@rollup/rollup-win32-x64-gnu" "4.53.3"
+ "@rollup/rollup-win32-x64-msvc" "4.53.3"
+ fsevents "~2.3.2"
+
+scheduler@^0.27.0:
+ version "0.27.0"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.27.0.tgz#0c4ef82d67d1e5c1e359e8fc76d3a87f045fe5bd"
+ integrity sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==
+
+scroll-into-view-if-needed@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz#fa9524518c799b45a2ef6bbffb92bcad0296d01f"
+ integrity sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==
+ dependencies:
+ compute-scroll-into-view "^3.0.2"
+
+semver@^6.3.1:
+ version "6.3.1"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
+ integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
+
+semver@^7.6.0:
+ version "7.7.3"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.3.tgz#4b5f4143d007633a8dc671cd0a6ef9147b8bb946"
+ integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==
+
+set-cookie-parser@^2.6.0:
+ version "2.7.2"
+ resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz#ccd08673a9ae5d2e44ea2a2de25089e67c7edf68"
+ integrity sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==
+
+shebang-command@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
+ integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+ dependencies:
+ shebang-regex "^3.0.0"
+
+shebang-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
+ integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+
+source-map-js@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
+ integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
+
+string-convert@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97"
+ integrity sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==
+
+strip-json-comments@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
+ integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+
+stylis@^4.3.4:
+ version "4.3.6"
+ resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.6.tgz#7c7b97191cb4f195f03ecab7d52f7902ed378320"
+ integrity sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==
+
+supports-color@^7.1.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+ integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+ dependencies:
+ has-flag "^4.0.0"
+
+throttle-debounce@^5.0.0, throttle-debounce@^5.0.2:
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-5.0.2.tgz#ec5549d84e053f043c9fd0f2a6dd892ff84456b1"
+ integrity sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==
+
+tinyglobby@^0.2.15:
+ version "0.2.15"
+ resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.15.tgz#e228dd1e638cea993d2fdb4fcd2d4602a79951c2"
+ integrity sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==
+ dependencies:
+ fdir "^6.5.0"
+ picomatch "^4.0.3"
+
+ts-api-utils@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.1.0.tgz#595f7094e46eed364c13fd23e75f9513d29baf91"
+ integrity sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==
+
+type-check@^0.4.0, type-check@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
+ integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
+ dependencies:
+ prelude-ls "^1.2.1"
+
+typescript-eslint@^8.46.4:
+ version "8.48.1"
+ resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.48.1.tgz#436028540f5859755687b8b1b28e19ed9194aaad"
+ integrity sha512-FbOKN1fqNoXp1hIl5KYpObVrp0mCn+CLgn479nmu2IsRMrx2vyv74MmsBLVlhg8qVwNFGbXSp8fh1zp8pEoC2A==
+ dependencies:
+ "@typescript-eslint/eslint-plugin" "8.48.1"
+ "@typescript-eslint/parser" "8.48.1"
+ "@typescript-eslint/typescript-estree" "8.48.1"
+ "@typescript-eslint/utils" "8.48.1"
+
+typescript@~5.9.3:
+ version "5.9.3"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.3.tgz#5b4f59e15310ab17a216f5d6cf53ee476ede670f"
+ integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==
+
+undici-types@~7.16.0:
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.16.0.tgz#ffccdff36aea4884cbfce9a750a0580224f58a46"
+ integrity sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==
+
+update-browserslist-db@^1.2.0:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.2.2.tgz#cfb4358afa08b3d5731a2ecd95eebf4ddef8033e"
+ integrity sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==
+ dependencies:
+ escalade "^3.2.0"
+ picocolors "^1.1.1"
+
+uri-js@^4.2.2:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
+ integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
+ dependencies:
+ punycode "^2.1.0"
+
+vite@^7.2.4:
+ version "7.2.6"
+ resolved "https://registry.yarnpkg.com/vite/-/vite-7.2.6.tgz#91e05ba05bc7c667a7645595e21f2a0eb1057631"
+ integrity sha512-tI2l/nFHC5rLh7+5+o7QjKjSR04ivXDF4jcgV0f/bTQ+OJiITy5S6gaynVsEM+7RqzufMnVbIon6Sr5x1SDYaQ==
+ dependencies:
+ esbuild "^0.25.0"
+ fdir "^6.5.0"
+ picomatch "^4.0.3"
+ postcss "^8.5.6"
+ rollup "^4.43.0"
+ tinyglobby "^0.2.15"
+ optionalDependencies:
+ fsevents "~2.3.3"
+
+which@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+ integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+ dependencies:
+ isexe "^2.0.0"
+
+word-wrap@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34"
+ integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==
+
+yallist@^3.0.2:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
+ integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
+
+yocto-queue@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
+ integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
+
+"zod-validation-error@^3.5.0 || ^4.0.0":
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-4.0.2.tgz#bc605eba49ce0fcd598c127fee1c236be3f22918"
+ integrity sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==
+
+"zod@^3.25.0 || ^4.0.0":
+ version "4.1.13"
+ resolved "https://registry.yarnpkg.com/zod/-/zod-4.1.13.tgz#93699a8afe937ba96badbb0ce8be6033c0a4b6b1"
+ integrity sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==