From 8f1a127a6925f0e989cf5ffa50799780798a18c0 Mon Sep 17 00:00:00 2001 From: Niko Date: Thu, 17 Aug 2023 18:34:36 +0200 Subject: [PATCH] initial commit --- .idea/.gitignore | 5 + .idea/InteractiveBODm.iml | 12 + .idea/inspectionProfiles/Project_Default.xml | 6 + .idea/modules.xml | 8 + .idea/vcs.xml | 6 + InteractiveBO/.eslintrc.cjs | 15 + InteractiveBO/.gitignore | 28 + InteractiveBO/.prettierrc.json | 1 + InteractiveBO/.vscode/extensions.json | 3 + InteractiveBO/README.md | 46 + InteractiveBO/env.d.ts | 1 + InteractiveBO/index.html | 13 + InteractiveBO/package-lock.json | 4635 +++++++++++++++++ InteractiveBO/package.json | 40 + InteractiveBO/public/CPS_White.ico | Bin 0 -> 102887 bytes InteractiveBO/public/favicon.ico | Bin 0 -> 4286 bytes InteractiveBO/src/App.vue | 17 + InteractiveBO/src/assets/CPS_Logo_Black.png | Bin 0 -> 14176 bytes InteractiveBO/src/assets/CPS_Logo_White.png | Bin 0 -> 7764 bytes InteractiveBO/src/components/BaseLayout.vue | 15 + InteractiveBO/src/components/ControlPanel.vue | 151 + InteractiveBO/src/components/PolicyPlot.vue | 138 + InteractiveBO/src/components/RLCanvas.vue | 58 + InteractiveBO/src/components/RewardPlot.vue | 131 + InteractiveBO/src/components/RosBar.vue | 224 + InteractiveBO/src/components/SideBar.vue | 84 + InteractiveBO/src/components/SubLayout.vue | 78 + InteractiveBO/src/components/TopBar.vue | 43 + InteractiveBO/src/components/WeightTuner.vue | 68 + .../src/js_funs/online_rbf_policy.js | 19 + InteractiveBO/src/main.ts | 28 + InteractiveBO/src/store/BaseWebsiteStore.js | 27 + InteractiveBO/src/store/ControlStore.js | 76 + InteractiveBO/src/store/PolicyStore.js | 47 + InteractiveBO/src/store/RLStore.js | 58 + InteractiveBO/src/store/RewardStore.js | 30 + InteractiveBO/tsconfig.config.json | 8 + InteractiveBO/tsconfig.json | 16 + InteractiveBO/vite.config.ts | 15 + 39 files changed, 6150 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/InteractiveBODm.iml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 InteractiveBO/.eslintrc.cjs create mode 100644 InteractiveBO/.gitignore create mode 100644 InteractiveBO/.prettierrc.json create mode 100644 InteractiveBO/.vscode/extensions.json create mode 100644 InteractiveBO/README.md create mode 100644 InteractiveBO/env.d.ts create mode 100644 InteractiveBO/index.html create mode 100644 InteractiveBO/package-lock.json create mode 100644 InteractiveBO/package.json create mode 100644 InteractiveBO/public/CPS_White.ico create mode 100644 InteractiveBO/public/favicon.ico create mode 100644 InteractiveBO/src/App.vue create mode 100644 InteractiveBO/src/assets/CPS_Logo_Black.png create mode 100644 InteractiveBO/src/assets/CPS_Logo_White.png create mode 100644 InteractiveBO/src/components/BaseLayout.vue create mode 100644 InteractiveBO/src/components/ControlPanel.vue create mode 100644 InteractiveBO/src/components/PolicyPlot.vue create mode 100644 InteractiveBO/src/components/RLCanvas.vue create mode 100644 InteractiveBO/src/components/RewardPlot.vue create mode 100644 InteractiveBO/src/components/RosBar.vue create mode 100644 InteractiveBO/src/components/SideBar.vue create mode 100644 InteractiveBO/src/components/SubLayout.vue create mode 100644 InteractiveBO/src/components/TopBar.vue create mode 100644 InteractiveBO/src/components/WeightTuner.vue create mode 100644 InteractiveBO/src/js_funs/online_rbf_policy.js create mode 100644 InteractiveBO/src/main.ts create mode 100644 InteractiveBO/src/store/BaseWebsiteStore.js create mode 100644 InteractiveBO/src/store/ControlStore.js create mode 100644 InteractiveBO/src/store/PolicyStore.js create mode 100644 InteractiveBO/src/store/RLStore.js create mode 100644 InteractiveBO/src/store/RewardStore.js create mode 100644 InteractiveBO/tsconfig.config.json create mode 100644 InteractiveBO/tsconfig.json create mode 100644 InteractiveBO/vite.config.ts diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..b58b603 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,5 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/InteractiveBODm.iml b/.idea/InteractiveBODm.iml new file mode 100644 index 0000000..24643cc --- /dev/null +++ b/.idea/InteractiveBODm.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..03d9549 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..db1e87b --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/InteractiveBO/.eslintrc.cjs b/InteractiveBO/.eslintrc.cjs new file mode 100644 index 0000000..dc51c01 --- /dev/null +++ b/InteractiveBO/.eslintrc.cjs @@ -0,0 +1,15 @@ +/* eslint-env node */ +require("@rushstack/eslint-patch/modern-module-resolution"); + +module.exports = { + root: true, + extends: [ + "plugin:vue/vue3-essential", + "eslint:recommended", + "@vue/eslint-config-typescript", + "@vue/eslint-config-prettier", + ], + parserOptions: { + ecmaVersion: "latest", + }, +}; diff --git a/InteractiveBO/.gitignore b/InteractiveBO/.gitignore new file mode 100644 index 0000000..38adffa --- /dev/null +++ b/InteractiveBO/.gitignore @@ -0,0 +1,28 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +dist-ssr +coverage +*.local + +/cypress/videos/ +/cypress/screenshots/ + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/InteractiveBO/.prettierrc.json b/InteractiveBO/.prettierrc.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/InteractiveBO/.prettierrc.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/InteractiveBO/.vscode/extensions.json b/InteractiveBO/.vscode/extensions.json new file mode 100644 index 0000000..c0a6e5a --- /dev/null +++ b/InteractiveBO/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] +} diff --git a/InteractiveBO/README.md b/InteractiveBO/README.md new file mode 100644 index 0000000..d46a895 --- /dev/null +++ b/InteractiveBO/README.md @@ -0,0 +1,46 @@ +# ActiveBOWeb + +This template should help get you started developing with Vue 3 in Vite. + +## Recommended IDE Setup + +[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). + +## Type Support for `.vue` Imports in TS + +TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. + +If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: + +1. Disable the built-in TypeScript Extension + 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette + 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` +2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. + +## Customize configuration + +See [Vite Configuration Reference](https://vitejs.dev/config/). + +## Project Setup + +```sh +npm install +``` + +### Compile and Hot-Reload for Development + +```sh +npm run dev +``` + +### Type-Check, Compile and Minify for Production + +```sh +npm run build +``` + +### Lint with [ESLint](https://eslint.org/) + +```sh +npm run lint +``` diff --git a/InteractiveBO/env.d.ts b/InteractiveBO/env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/InteractiveBO/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/InteractiveBO/index.html b/InteractiveBO/index.html new file mode 100644 index 0000000..2ad8df9 --- /dev/null +++ b/InteractiveBO/index.html @@ -0,0 +1,13 @@ + + + + + + + Active BO + + +
+ + + diff --git a/InteractiveBO/package-lock.json b/InteractiveBO/package-lock.json new file mode 100644 index 0000000..1328ed6 --- /dev/null +++ b/InteractiveBO/package-lock.json @@ -0,0 +1,4635 @@ +{ + "name": "activeboweb", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "activeboweb", + "version": "0.0.0", + "dependencies": { + "chart.js": "^4.2.1", + "pinia": "^2.0.30", + "roslib": "^1.3.0", + "vue": "^3.2.45", + "vue-resource": "^1.5.3", + "vue-slider-component": "^4.1.0-beta.7", + "vue3-slider": "^1.8.0", + "vuetify": "^3.1.4" + }, + "devDependencies": { + "@mdi/font": "^7.1.96", + "@rushstack/eslint-patch": "^1.1.4", + "@types/node": "^18.11.12", + "@vitejs/plugin-vue": "^4.0.0", + "@vitejs/plugin-vue-jsx": "^3.0.0", + "@vue/eslint-config-prettier": "^7.0.0", + "@vue/eslint-config-typescript": "^11.0.0", + "@vue/tsconfig": "^0.1.3", + "eslint": "^8.22.0", + "eslint-plugin-vue": "^9.3.0", + "npm-run-all": "^4.1.5", + "prettier": "^2.7.1", + "typescript": "~4.7.4", + "vite": "^4.0.0", + "vue-tsc": "^1.0.12" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.21.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.0", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.21.0", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.0", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.21.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "dev": true, + "license": "MIT", + "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/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.20.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-member-expression-to-functions": "^7.21.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/helper-split-export-declaration": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.21.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.20.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.20.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.20.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.21.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.21.2", + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.20.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-typescript": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.20.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.21.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.1", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.2", + "@babel/types": "^7.21.2", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.21.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.16.17", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.2.0", + "dev": true, + "license": "MIT", + "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.4.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.20.0", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.36.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "license": "Apache-2.0", + "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", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@kurkle/color": { + "version": "0.3.2", + "license": "MIT" + }, + "node_modules/@mdi/font": { + "version": "7.1.96", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "license": "MIT" + }, + "node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "license": "MIT", + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@types/cacheable-request": { + "version": "6.0.3", + "license": "MIT", + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "license": "MIT" + }, + "node_modules/@types/cors": { + "version": "2.8.13", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.1", + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/keyv": { + "version": "3.1.4", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/node": { + "version": "18.15.3", + "license": "MIT" + }, + "node_modules/@types/responselike": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/semver": { + "version": "7.3.13", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.55.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.55.0", + "@typescript-eslint/type-utils": "5.55.0", + "@typescript-eslint/utils": "5.55.0", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.8", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.55.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "5.55.0", + "@typescript-eslint/types": "5.55.0", + "@typescript-eslint/typescript-estree": "5.55.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.55.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.55.0", + "@typescript-eslint/visitor-keys": "5.55.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.55.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.55.0", + "@typescript-eslint/utils": "5.55.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.55.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.55.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "5.55.0", + "@typescript-eslint/visitor-keys": "5.55.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.3.8", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.55.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.55.0", + "@typescript-eslint/types": "5.55.0", + "@typescript-eslint/typescript-estree": "5.55.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.3.8", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.55.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.55.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vitejs/plugin-vue": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vitejs/plugin-vue-jsx": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.20.5", + "@babel/plugin-transform-typescript": "^7.20.2", + "@vue/babel-plugin-jsx": "^1.1.1" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0", + "vue": "^3.0.0" + } + }, + "node_modules/@volar/language-core": { + "version": "1.3.0-alpha.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "1.3.0-alpha.0" + } + }, + "node_modules/@volar/source-map": { + "version": "1.3.0-alpha.0", + "dev": true, + "license": "MIT", + "dependencies": { + "muggle-string": "^0.2.2" + } + }, + "node_modules/@volar/typescript": { + "version": "1.3.0-alpha.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "1.3.0-alpha.0" + } + }, + "node_modules/@volar/vue-language-core": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "1.3.0-alpha.0", + "@volar/source-map": "1.3.0-alpha.0", + "@vue/compiler-dom": "^3.2.47", + "@vue/compiler-sfc": "^3.2.47", + "@vue/reactivity": "^3.2.47", + "@vue/shared": "^3.2.47", + "minimatch": "^6.1.6", + "muggle-string": "^0.2.2", + "vue-template-compiler": "^2.7.14" + } + }, + "node_modules/@volar/vue-language-core/node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@volar/vue-language-core/node_modules/minimatch": { + "version": "6.2.0", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@volar/vue-typescript": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "1.3.0-alpha.0", + "@volar/vue-language-core": "1.2.0" + } + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "@vue/babel-helper-vue-transform-on": "^1.0.2", + "camelcase": "^6.0.0", + "html-tags": "^3.1.0", + "svg-tags": "^1.0.0" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.2.47", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.2.47", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.2.47", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-ssr": "3.2.47", + "@vue/reactivity-transform": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.2.47", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.5.0", + "license": "MIT" + }, + "node_modules/@vue/eslint-config-prettier": { + "version": "7.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^4.0.0" + }, + "peerDependencies": { + "eslint": ">= 7.28.0", + "prettier": ">= 2.0.0" + } + }, + "node_modules/@vue/eslint-config-typescript": { + "version": "11.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0", + "@typescript-eslint/parser": "^5.0.0", + "vue-eslint-parser": "^9.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0", + "eslint-plugin-vue": "^9.0.0", + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/reactivity": { + "version": "3.2.47", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.2.47", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.2.47", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.2.47", + "license": "MIT", + "dependencies": { + "@vue/runtime-core": "3.2.47", + "@vue/shared": "3.2.47", + "csstype": "^2.6.8" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.2.47", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.2.47", + "@vue/shared": "3.2.47" + }, + "peerDependencies": { + "vue": "3.2.47" + } + }, + "node_modules/@vue/shared": { + "version": "3.2.47", + "license": "MIT" + }, + "node_modules/@vue/tsconfig": { + "version": "0.1.3", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.6", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.8.2", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/base64id": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.5", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/cacheable-lookup": { + "version": "5.0.4", + "license": "MIT", + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/cacheable-request": { + "version": "7.0.2", + "license": "MIT", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001466", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/cbor-js": { + "version": "0.1.0", + "license": "MIT" + }, + "node_modules/chalk": { + "version": "2.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chart.js": { + "version": "4.2.1", + "license": "MIT", + "dependencies": { + "@kurkle/color": "^0.3.0" + }, + "engines": { + "pnpm": "^7.0.0" + } + }, + "node_modules/clone-response": { + "version": "1.0.3", + "license": "MIT", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.4.2", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cors": { + "version": "2.8.5", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "2.6.21", + "license": "MIT" + }, + "node_modules/de-indent": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.4", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/define-properties": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "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/dir-glob": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.328", + "dev": true, + "license": "ISC" + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/engine.io": { + "version": "6.4.1", + "license": "MIT", + "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.11.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.0.6", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io/node_modules/ws": { + "version": "8.11.0", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.21.2", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "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.0", + "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.4.3", + "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-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "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.16.17", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.16.17", + "@esbuild/android-arm64": "0.16.17", + "@esbuild/android-x64": "0.16.17", + "@esbuild/darwin-arm64": "0.16.17", + "@esbuild/darwin-x64": "0.16.17", + "@esbuild/freebsd-arm64": "0.16.17", + "@esbuild/freebsd-x64": "0.16.17", + "@esbuild/linux-arm": "0.16.17", + "@esbuild/linux-arm64": "0.16.17", + "@esbuild/linux-ia32": "0.16.17", + "@esbuild/linux-loong64": "0.16.17", + "@esbuild/linux-mips64el": "0.16.17", + "@esbuild/linux-ppc64": "0.16.17", + "@esbuild/linux-riscv64": "0.16.17", + "@esbuild/linux-s390x": "0.16.17", + "@esbuild/linux-x64": "0.16.17", + "@esbuild/netbsd-x64": "0.16.17", + "@esbuild/openbsd-x64": "0.16.17", + "@esbuild/sunos-x64": "0.16.17", + "@esbuild/win32-arm64": "0.16.17", + "@esbuild/win32-ia32": "0.16.17", + "@esbuild/win32-x64": "0.16.17" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.36.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.1", + "@eslint/js": "8.36.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "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.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.5.0", + "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", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "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.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.7.0", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-vue": { + "version": "9.9.0", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-utils": "^3.0.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.0.1", + "postcss-selector-parser": "^6.0.9", + "semver": "^7.3.5", + "vue-eslint-parser": "^9.0.1", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-vue/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-vue/node_modules/semver": { + "version": "7.3.8", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-vue/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.1.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.20.0", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { + "version": "9.5.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eventemitter2": { + "version": "6.4.9", + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-diff": { + "version": "1.2.0", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.15.0", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "dev": true, + "license": "ISC" + }, + "node_modules/for-each": { + "version": "0.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/function-bind": { + "version": "1.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "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", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "11.8.6", + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "dev": true, + "license": "ISC" + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "dev": true, + "license": "MIT" + }, + "node_modules/has": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/he": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "dev": true, + "license": "ISC" + }, + "node_modules/html-tags": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "license": "BSD-2-Clause" + }, + "node_modules/http2-wrapper": { + "version": "1.0.3", + "license": "MIT", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "dev": true, + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "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-arrayish": { + "version": "0.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "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-shared-array-buffer": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "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.10", + "dev": true, + "license": "MIT", + "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/is-weakref": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/js-sdsl": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "license": "MIT" + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.2", + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lowercase-keys": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.25.9", + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/memorystream": { + "version": "0.3.1", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/muggle-string": { + "version": "0.2.2", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.4", + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/nice-try": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.10", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-all": { + "version": "4.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm-run-all/node_modules/cross-spawn": { + "version": "6.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/npm-run-all/node_modules/path-key": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-all/node_modules/semver": { + "version": "5.7.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/npm-run-all/node_modules/shebang-command": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-all/node_modules/shebang-regex": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-all/node_modules/which": { + "version": "1.3.1", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "dev": true, + "license": "MIT", + "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/once": { + "version": "1.4.0", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-cancelable": { + "version": "2.1.1", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "dev": true, + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.3.1", + "dev": true, + "license": "MIT", + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pinia": { + "version": "2.0.33", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.5.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.0", + "typescript": ">=4.4.4", + "vue": "^2.6.14 || ^3.2.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/pinia/node_modules/vue-demi": { + "version": "0.13.11", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/pngparse": { + "version": "2.0.1" + }, + "node_modules/postcss": { + "version": "8.4.21", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.11", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.4", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/path-type": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "1.22.1", + "dev": true, + "license": "MIT", + "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/resolve-alpn": { + "version": "1.2.1", + "license": "MIT" + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/responselike": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "lowercase-keys": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "3.19.1", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/roslib": { + "version": "1.3.0", + "license": "BSD-2-Clause", + "dependencies": { + "@xmldom/xmldom": "^0.8.0", + "cbor-js": "^0.1.0", + "eventemitter2": "^6.4.0", + "object-assign": "^4.0.0", + "pngparse": "^2.0.0", + "socket.io": "^4.0.0", + "webworkify": "^1.5.0", + "webworkify-webpack": "^2.1.5", + "ws": "^8.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "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/semver": { + "version": "6.3.0", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.0", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/socket.io": { + "version": "4.6.1", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.2", + "engine.io": "~6.4.1", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.2", + "license": "MIT", + "dependencies": { + "ws": "~8.11.0" + } + }, + "node_modules/socket.io-adapter/node_modules/ws": { + "version": "8.11.0", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.2", + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "license": "MIT" + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "dev": true, + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.13", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/string.prototype.padend": { + "version": "3.1.4", + "dev": true, + "license": "MIT", + "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.trim": { + "version": "1.2.7", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "dev": true + }, + "node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "dev": true, + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "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": "4.7.4", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "4.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.16.14", + "postcss": "^8.4.21", + "resolve": "^1.22.1", + "rollup": "^3.10.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vue": { + "version": "3.2.47", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/runtime-dom": "3.2.47", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/vue-eslint-parser": { + "version": "9.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-scope": { + "version": "7.1.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vue-eslint-parser/node_modules/semver": { + "version": "7.3.8", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vue-eslint-parser/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/vue-resource": { + "version": "1.5.3", + "license": "MIT", + "dependencies": { + "got": ">=8.0 <12.0" + } + }, + "node_modules/vue-slider-component": { + "version": "4.1.0-beta.7", + "license": "MIT" + }, + "node_modules/vue-template-compiler": { + "version": "2.7.14", + "dev": true, + "license": "MIT", + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "node_modules/vue-tsc": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/vue-language-core": "1.2.0", + "@volar/vue-typescript": "1.2.0" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/vue3-slider": { + "version": "1.8.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vuetify": { + "version": "3.1.8", + "license": "MIT", + "engines": { + "node": "^12.20 || >=14.13" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/johnleider" + }, + "peerDependencies": { + "vite-plugin-vuetify": "^1.0.0-alpha.12", + "vue": "^3.2.0", + "vue-i18n": "^9.0.0", + "webpack-plugin-vuetify": "^2.0.0-alpha.11" + }, + "peerDependenciesMeta": { + "vite-plugin-vuetify": { + "optional": true + }, + "vue-i18n": { + "optional": true + }, + "webpack-plugin-vuetify": { + "optional": true + } + } + }, + "node_modules/webworkify": { + "version": "1.5.0", + "license": "MIT" + }, + "node_modules/webworkify-webpack": { + "version": "2.1.5", + "license": "MIT" + }, + "node_modules/which": { + "version": "2.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "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-typed-array": { + "version": "1.1.9", + "dev": true, + "license": "MIT", + "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", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.13.0", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/InteractiveBO/package.json b/InteractiveBO/package.json new file mode 100644 index 0000000..677d757 --- /dev/null +++ b/InteractiveBO/package.json @@ -0,0 +1,40 @@ +{ + "name": "activeboweb", + "version": "0.0.0", + "private": true, + "scripts": { + "dev": "vite", + "build": "run-p type-check build-only", + "preview": "vite preview", + "build-only": "vite build", + "type-check": "vue-tsc --noEmit", + "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore" + }, + "dependencies": { + "chart.js": "^4.2.1", + "pinia": "^2.0.30", + "roslib": "^1.3.0", + "vue": "^3.2.45", + "vue-resource": "^1.5.3", + "vue-slider-component": "^4.1.0-beta.7", + "vue3-slider": "^1.8.0", + "vuetify": "^3.1.4" + }, + "devDependencies": { + "@mdi/font": "^7.1.96", + "@rushstack/eslint-patch": "^1.1.4", + "@types/node": "^18.11.12", + "@vitejs/plugin-vue": "^4.0.0", + "@vitejs/plugin-vue-jsx": "^3.0.0", + "@vue/eslint-config-prettier": "^7.0.0", + "@vue/eslint-config-typescript": "^11.0.0", + "@vue/tsconfig": "^0.1.3", + "eslint": "^8.22.0", + "eslint-plugin-vue": "^9.3.0", + "npm-run-all": "^4.1.5", + "prettier": "^2.7.1", + "typescript": "~4.7.4", + "vite": "^4.0.0", + "vue-tsc": "^1.0.12" + } +} diff --git a/InteractiveBO/public/CPS_White.ico b/InteractiveBO/public/CPS_White.ico new file mode 100644 index 0000000000000000000000000000000000000000..2bb513f82dd76ace9973f9551ce3156aced4b54f GIT binary patch literal 102887 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 literal 0 HcmV?d00001 diff --git a/InteractiveBO/public/favicon.ico b/InteractiveBO/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/InteractiveBO/src/App.vue b/InteractiveBO/src/App.vue new file mode 100644 index 0000000..1c08440 --- /dev/null +++ b/InteractiveBO/src/App.vue @@ -0,0 +1,17 @@ + + + + + diff --git a/InteractiveBO/src/assets/CPS_Logo_Black.png b/InteractiveBO/src/assets/CPS_Logo_Black.png new file mode 100644 index 0000000000000000000000000000000000000000..ed16d0f1aec7e62ce8027168b3119433a27cf219 GIT binary patch literal 14176 zcmeHO_dna~`+g^a6eXz^9aePdQKQ3NwW{VR9jL8p@4bT}O6hRWT2%)fcEyU2nmyHu zRvQGdTBfqyx2zk(FVe(#*@%`3mSn%{`sU@ts}w0z$zD(g}1Y%p2C&OwUG4+xd& z=k?W=f$hj%3^6Fb3_)1cy{`l?sJ)dI_`{k>LMnM2wlY zf%wb~!j7W5BgUwa%axH^f64CTmcco}_dC-o~t5 zx>GKFFGeSB?iN52f;lAl+ zA3@JFAF7?*+MAh+3yux>ti7KJd}TQ(*_z;`v5xMfy@A~~M@N%fW5qCa-eQ{aUN_bi z)os_aHlDb+2=dg)S@+kgrNDR%k&0Esq`lGGm9JF;dM-=e7ooxTMPWck-<0B_Rh-B%&6L<~gd8(-mUzV^F@6f|>6T?XwN@mOLc$ z+AOtFIqQ`H)u!#sAzvzH}`_h<-Z+fT^axHm~9(RONy@-t9+dDJiOrH6>p@bWzMY2M|_

P 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 YDpXu~6Y7zM0aJvo>6++NXxYd8AM$DVQUCw| literal 0 HcmV?d00001 diff --git a/InteractiveBO/src/assets/CPS_Logo_White.png b/InteractiveBO/src/assets/CPS_Logo_White.png new file mode 100644 index 0000000000000000000000000000000000000000..b6b0db99285a495e1d383a0d84035a799e9dc35f GIT binary patch literal 7764 zcmeHL`9Bou_kU(dV>jGvVZtq4iDAla?4#7Bd#|FJ7}+X`F=Z*s*h*PTWT&)93>rcP zW1SX;QkIe#WW-=F_AKA&`!{@k?1yK0z0Y}`^SsXMocB4e=k^H)J8=<35deVr(IYnh z0sw>j8VDf)QiH19C0K+5j+`a|psoIEKti6F2LYfWbkxSuDI|C1+t=(-!&h9AtTW4#Mw`D^nG@mvf--mW`g!x3vH zyIX`#Y~XBVM>6oY&}wW&^>cH)`KkG@HXxz|%`Y&+VU+jngEF1nS8EnF>%Lf!4`I5( z{vZ32a}j3vP6*nmeUXzh*|fKT)BU({wigLuJdun!czF+9taFpqd3FDB__PP?!Wfr$ ze8{x4h`X0!vP^7@$iVhK`~z8$FV4p6OH$YmDnb}TEFN(>*BZSaIhXZ!p?S{EqPb%( zS)H3fv}Rb0G^BeFbP)Iirw9ikmb10ic~w3hv6}NY0Y58&Hg>yL`gW-4W|oAU45Vog zJ~ihceKJ0}GV7;D=0PFvP?h(iN?ESg;V$gzu2-RG1Bi(PHPV!0bTvZ}qED_HFfH!L zZn!yUj-3#?dQbKjG$??+MPWO)u6L3Q2g_feEHqZy_ocS^{%yO=`ppY(tm3RuPocy-b@d9L)o~t={Y<8?WbFgQZaZ zuom|`x0)GF3~$4IR-=z{wEASzpOmqxCf@6(_uD0iuD$CnNY=C^+jb3>>S`W4-Sk&? znujJOEhD9Fl>dyXi6rRuCRF3RsO7A|0+ip$Gdez|efHf2qKPUHEURNzsgY*RwN2(a z&CogS8j0gkI=4~x<_(fC61bO}^3MBg6V(j0ZtrG3*LiU6&Lm@6CG-U~#)<|M@CJ#Sw+O*N%Fn_xq1Cm`gYbP&;%4Nf^NB zans&uQdoCVvWN(BLGFJWUiT3d=;w6fCok=}H6J~^OrhYEyed@eMoC2_NGyAo8#L28 zPDutDkdsb>F6=xJOihc2=W))V%K=_+`9&vp5BGiEI^cmV`R{m5I9T-XC+JWW^<73lax5)M$WqZmm|i}3)KFCu35Z`KDVz24IN z$+{CggGd7DAv8vw;+{efrCv8@B%_##pfyiK42LdPV3ks@_f6PBw(*;QZFN%z{aT%L zDWewiB89jSGF6Jm^qNEKSR=QB+}88umTwoFL2dK48}2Yn-A}PH_^vszV+;o$8;f>T zYgucgylr>r;u5Q*!dath3S+fraJn&g6!S|FGTfcR5_Sq*O;}bj)I`e!Wd)M){E$1$z_E8&oWQo&WsV zsMu>wAx)JR7$cS3rzhb9$G<8rJuY88CR3zxjACHT)@z)?{OEL}gf9C-@~T!n-1WPI zt{f{1+2u?1_dEjJg=A;fS>H1czDsP zL*Z)Qn(kO-^oVj2*gYOWm1sa}Kk_zvwTNjkeo7hiNiBHkDKyV-XlFzX>>Kyk>1@^= z>v7DyPv-2C(k$6-%(zQ)YO;+*nB`2W;T&b%H?zmyzBbaUk=k*WuQrn#JyI*vV>fEs z=G^GiAy%r3J&ISq!MQO?j2@Xz0zB!mw21lbb3F5_LW%9ey5-fR0oqN=TA2WqnAy5M z_wRWgC{xE* zjrtPLFIWHg8p}y z3e9sbY#R0fpfOJ@T*BXn0(6`slC2HsH-`6sLM4{43uB)o-DIWR6=GU5{`b-qk_|k} zyBG#4KIc1rGTn-FXxa)}A?`u#kOrXChXv0VU(qr&mUJl4Xp|QNz^{rH;*XTkxlQgL z+5!6JW_8?7OQv#5`P=umXI~(Wpw2@9x#8o=i6c(4v|tSYz8na)1Y%`t$B_{8I#FOD zY6bKbjr()9Ow<6`Rhs3Agwj*X0}90XsoQul3|MbZESbGe|)?hT-I zPA+CUKn{?p*M9mIwn;shUf6UX$H6O@)BKONQ*~iBh}!!puuX3&j4g5=)W#yf0Mqts z#PHS7*+vAk`03)>lnF%tPtdWj)Y77|Bex|Fkp1kN_|`_V67*VoyY+qq+7k?8G`{X{ zAiB0O;>b@w3hIbDv@dYJeSa8!e@cH{!)jK(3IzB*_LJ2%oRWgmwHsx?oa-5|I2v7T zhEjl@I+hG}OU>O*_^U)3-ebq(zV+VDPk});zPH@YT74rm*E;4v7MEn#EQSv7)jsUF z7&$9taihWebZ?}_k^?zu=PJ_{c~Ql8I3F?Q8r zF4~JvGVwqSL1>~{vG0@qfddSw+0D8xxW@_s9hfCjsxmJ=%MVrqhB2bXnF%~ey1pH2 z$Z!*XED^xO*w0@06xBlx*O~yXU&Dc(rCj?&06PAJUm^yBK7|FPqgx5hfKJ?+1%E91 z5=WtrcTb)xxvL`jH6F6REe`;kI{cCh>;xGB-f*IGsPPc_OavggD?=ssasxExvs{ z+Tli{a4g7ebBu*{{HZRdMF7A?MW3Fxg|P0(MC6o1&7oGifpwN3GiH-F`@Tx-i60ki^hW-$$#J%@2sQ5j8-e3M4=xSm+YcFMwX&PKOn@*j_?mHJxrr zk@JRxL2>hr$-`{`y_Y2n35U1$be1bRRDMV6%z9D>fZ zgAd8Z2(vG1Zy@0l3;R%|_pb|HCMWkNO$|YQ9}mdO_*H899`M>e8PteHo$8c6bG=kU zw<2Xz`P7kQLE_^HJu&q#`bB}8ZfLJ6MC}3D>xz)uO;X=8R4cSNpnA2o$7eZsm7WI( z`}D)_#X|@NNRZpyZn&r}MDB_>w+Vy@7og~vuWIzDbir>$r!4}Y!c)kfnn$hxfFU}A zkoSTZ%ybS!gv3Y=OF<&#WkKhDBRE;^m$oAUM25;j-o~_i1He0-)&yhK$^c*#3o5h{ z5Fs7E(0y?710=x$0Q%!0;SlC8h|`5dXh2p1d;v*?t*3F_Kh&KPJ;wjtL;xKD<6 z)vkwXsE{(dvRJBm>SUK$_+on1Wa5IUU8oX0$c)MQq;Pkg78NOI6@p>QSw=#*uq#Do zDr{>0#7sPidtA8t^OA5F+ksx~{Urn!sjY6V&-QoDE9bzaifrMRJ!r|Z)v zRW$yrUpFl~)VrLyRtMQ#wQd5bX(wD9;p!?Krj#@>BQ%sc4u1>_HO#!})n=N@ z>Qi{F>+g~-yh^f0&_i%}7-}26n6V=E+3moOM_%yS-2oII#&V+Ng9SzA%gRq~>LPo?z-k$ePoyK;|apdDDx_9~E{+^Ots^t6-r<4oCAyDKhO33wy|!j3-> z(bF7f{<#WIU7mq4?+Dye{LUhZ|72RSEV4&+ymrPbD211J_%dsFveN`&MJ^Hh!_aZP zF?DO>?KRGq8h>8TdO|ZR)Ux;;PJCwbn(H^70|xP7%+uh6zOf0kP!G1_%Nh~;?aHvm zBZUNE{V62G;kc#@G$5Cc2wXDV?#dRw{!Lg4>f~Kak6@yh97R~rk2T^Rjla_CQln;a z4M5D)W*$(r@Oq+iAxt=psbzRQ;GFKO103=o_2aHctxm^V|DGN!Q04DEZmc&JHTAT> zBSIPRDklO>hcG3t&ohOT0#3pWiO)ON<0f3UlmW`FNS7op@p{35ER%WXUD;VVx2p^4 zpfLj8#rOa^0+$$3(;_`@UL=GI1Z>Hu4{7Z?#PQ0I_oJRqlOOh%Bxq|dET8J#jEGb$ zo;?A<`^F+%GMaTLgi72<`ZE?RWP>*obVITDQF@-1(uMDL3J~G#j<@tQb0lcXzH55* z{xx4yc(AI#zQ_l9wACd%(Xanf-tnekT%F7udK2M3jO zQDjShY4}0mRyBgVd9Cqsos|D(9wb;4VC%&IdbCuQisGp7^AkV^5;u0 ztar6Vvzd6sLdT z@GDn|Vp)i!>(ylG`#lf%Nsgs=l@7Z4a>olxkQG|4VawDYwqlLfyfP$T?*V^09K*~B zN!lPS!3=*?BBuA3dIiv{RanSX|0^tBFzdg!oc3Asqja6rh*-CH-u9bjRUKq z#i!QM@hTIG+Zh@YHSq`A6L!F|Hy!A~LLYKz6m+>;0*R&>?CnnYD;U}s=uA-2mwV$L z)PEk^%9d7Vk8sH^pMN?}io%~KT;^c@xVua&bRK$H+RVM0s`H;7l26cbmE6B?&4G>? zc2`VGdUChS?J14LYb3w@(K+L*AQhVHn5And8;i57ofp4tXaQhPA_4$1T1`+7TLjG)K&V51gTEc}I~aZ^!f$5y e-?C!oHss(A#V?ooQE39A1xIZiY$#TQ=>G#D!k{q# literal 0 HcmV?d00001 diff --git a/InteractiveBO/src/components/BaseLayout.vue b/InteractiveBO/src/components/BaseLayout.vue new file mode 100644 index 0000000..22561c2 --- /dev/null +++ b/InteractiveBO/src/components/BaseLayout.vue @@ -0,0 +1,15 @@ + + + + + diff --git a/InteractiveBO/src/components/ControlPanel.vue b/InteractiveBO/src/components/ControlPanel.vue new file mode 100644 index 0000000..db68e28 --- /dev/null +++ b/InteractiveBO/src/components/ControlPanel.vue @@ -0,0 +1,151 @@ + + + + + diff --git a/InteractiveBO/src/components/PolicyPlot.vue b/InteractiveBO/src/components/PolicyPlot.vue new file mode 100644 index 0000000..221ca05 --- /dev/null +++ b/InteractiveBO/src/components/PolicyPlot.vue @@ -0,0 +1,138 @@ + + + + + diff --git a/InteractiveBO/src/components/RLCanvas.vue b/InteractiveBO/src/components/RLCanvas.vue new file mode 100644 index 0000000..f5bd0b1 --- /dev/null +++ b/InteractiveBO/src/components/RLCanvas.vue @@ -0,0 +1,58 @@ + + + + + diff --git a/InteractiveBO/src/components/RewardPlot.vue b/InteractiveBO/src/components/RewardPlot.vue new file mode 100644 index 0000000..2e4336b --- /dev/null +++ b/InteractiveBO/src/components/RewardPlot.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/InteractiveBO/src/components/RosBar.vue b/InteractiveBO/src/components/RosBar.vue new file mode 100644 index 0000000..8cb2b19 --- /dev/null +++ b/InteractiveBO/src/components/RosBar.vue @@ -0,0 +1,224 @@ + + + + + diff --git a/InteractiveBO/src/components/SideBar.vue b/InteractiveBO/src/components/SideBar.vue new file mode 100644 index 0000000..ef2bf5f --- /dev/null +++ b/InteractiveBO/src/components/SideBar.vue @@ -0,0 +1,84 @@ + + + + + diff --git a/InteractiveBO/src/components/SubLayout.vue b/InteractiveBO/src/components/SubLayout.vue new file mode 100644 index 0000000..a4a2377 --- /dev/null +++ b/InteractiveBO/src/components/SubLayout.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/InteractiveBO/src/components/TopBar.vue b/InteractiveBO/src/components/TopBar.vue new file mode 100644 index 0000000..41c435f --- /dev/null +++ b/InteractiveBO/src/components/TopBar.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/InteractiveBO/src/components/WeightTuner.vue b/InteractiveBO/src/components/WeightTuner.vue new file mode 100644 index 0000000..327a0d0 --- /dev/null +++ b/InteractiveBO/src/components/WeightTuner.vue @@ -0,0 +1,68 @@ + + + + + diff --git a/InteractiveBO/src/js_funs/online_rbf_policy.js b/InteractiveBO/src/js_funs/online_rbf_policy.js new file mode 100644 index 0000000..a531f1b --- /dev/null +++ b/InteractiveBO/src/js_funs/online_rbf_policy.js @@ -0,0 +1,19 @@ +function rbf(x, centre, sigma) { + return Math.exp(-Math.pow(x - centre, 2) / (2 * Math.pow(sigma, 2))); +} + +export function computeRbfCurve(nrPoints, weights) { + const centers = Array.from( + { length: weights.length }, + (_, i) => (i * nrPoints) / (weights.length - 1) + ); + const sigma = centers[1] / (2 * Math.sqrt(2 * Math.log(2))); + + let policy = Array(nrPoints).fill(0); + for (let x = 0; x < nrPoints; x++) { + for (let i = 0; i < centers.length; i++) { + policy[x] += weights[i] * rbf(x, centers[i], sigma); + } + } + return policy; +} diff --git a/InteractiveBO/src/main.ts b/InteractiveBO/src/main.ts new file mode 100644 index 0000000..90c5fac --- /dev/null +++ b/InteractiveBO/src/main.ts @@ -0,0 +1,28 @@ +import { createApp } from "vue"; + +// Pinia Store +import { createPinia } from "pinia"; + +// Vuetify +import "vuetify/styles"; +import { createVuetify } from "vuetify"; +import * as components from "vuetify/components"; +import * as directives from "vuetify/directives"; +import "@mdi/font/css/materialdesignicons.css"; + +import App from "./App.vue"; + +const pinia = createPinia(); +const vuetify = createVuetify({ + theme: { + defaultTheme: "dark", + }, + components, + directives, +}); + +const app = createApp(App); + +app.use(pinia); +app.use(vuetify); +app.mount("#app"); diff --git a/InteractiveBO/src/store/BaseWebsiteStore.js b/InteractiveBO/src/store/BaseWebsiteStore.js new file mode 100644 index 0000000..5fc97dd --- /dev/null +++ b/InteractiveBO/src/store/BaseWebsiteStore.js @@ -0,0 +1,27 @@ +import { defineStore } from "pinia"; + +export const useBWStore = defineStore("Base Website Store", { + state: () => { + return { + play: false, + rosBarOpened: true, + rosConState: "not connected", + }; + }, + getters: { + getPlay: (state) => state.play, + getRosBarOpened: (state) => state.rosBarOpened, + getRosConState: (state) => state.rosConState, + }, + actions: { + setPlay() { + this.play = !this.play; + }, + toggleRosBar() { + this.rosBarOpened = !this.rosBarOpened; + }, + setRosConState(value) { + this.rosConState = value; + }, + }, +}); diff --git a/InteractiveBO/src/store/ControlStore.js b/InteractiveBO/src/store/ControlStore.js new file mode 100644 index 0000000..cf5c091 --- /dev/null +++ b/InteractiveBO/src/store/ControlStore.js @@ -0,0 +1,76 @@ +import { defineStore } from "pinia"; + +export const useCStore = defineStore("Control Store", { + state: () => { + return { + env: "Mountain Car", + envs: ["Mountain Car", "Cartpole", "Acrobot", "Pendulum"], + metric: "random", + metrics: ["random", "regular", "improvement", "max_acquisition"], + metrics_label: { + random: "Probability", + regular: "Repetition", + improvement: "Improvement Threshold", + max_acquisition: "Threshold", + }, + metric_limits: { + random: [0.0, 1.0, 0.01], + regular: [1, 100, 1], + improvement: [0.0, 1.0, 0.01], + max_acquisition: [1, 200, 1], + }, + acq_fun: "Expected Improvement", + acq_funs: [ + "Expected Improvement", + "Probability of Improvement", + "Upper Confidence Bound", + "Preference Expected Improvement", + ], + nr_episodes: 50, + nr_runs: 10, + metric_parameter: 0.5, + improvement_2: 5, + sendWeights: false, + runner: false, + fixed_seed: false, + save_result: false, + overwrite: false, + }; + }, + getters: { + getEnv: (state) => state.env, + getMetric: (state) => state.metric, + getNrEpisodes: (state) => state.nr_episodes, + getNrRuns: (state) => state.nr_runs, + getMetricParameter: (state) => state.metric_parameter, + getSendWeights: (state) => state.sendWeights, + getRunner: (state) => state.runner, + getAcq: (state) => state.acq_fun, + }, + actions: { + setEnv(value) { + this.env = value; + }, + setMetric(value) { + this.metric = value; + }, + setNrEpisodes(value) { + this.nr_episodes = value; + }, + setNrRuns(value) { + this.nr_runs = value; + }, + setMetricParameter(value) { + this.metric_parameter = value; + }, + setSendWeights() { + this.sendWeights = !this.sendWeights; + }, + setRunner() { + this.runner = !this.runner; + }, + setAcq(value) { + this.acq_fun = value; + }, + }, +}); diff --git a/InteractiveBO/src/store/PolicyStore.js b/InteractiveBO/src/store/PolicyStore.js new file mode 100644 index 0000000..e41c867 --- /dev/null +++ b/InteractiveBO/src/store/PolicyStore.js @@ -0,0 +1,47 @@ +import { defineStore } from "pinia"; + +export const usePStore = defineStore("Policy Store", { + state: () => { + return { + policy: Array(10).fill(0), + nr_weights: 5, + weights: [0, 0, 0, 0, 0], + weights_fixed: [false, false, false, false, false], + max_steps: 100, + trigger: false, + }; + }, + getters: { + getPolicy: (state) => state.policy, + getNrWeights: (state) => state.nr_weights, + getWeights_Fixed: (state) => state.weights_fixed, + getWeights: (state) => state.weights, + getMaxSteps: (state) => state.max_steps, + getTrigger: (state) => state.trigger, + }, + actions: { + setPolicy(value) { + this.policy = null; + this.policy = value; + }, + setNrWeights(value) { + this.nr_weights = value; + this.weights = Array(this.nr_weights).fill(0); + this.weights_fixed = Array(this.nr_weights).fill(false); + this.trigger = !this.trigger; + }, + setWeights(value) { + this.weights = value; + }, + setMaxSteps(value) { + this.max_steps = value; + this.trigger = !this.trigger; + }, + setTrigger() { + this.trigger = !this.trigger; + }, + resetWeights_Fixed() { + this.weights_fixed = Array(this.nr_weights).fill(false); + }, + }, +}); diff --git a/InteractiveBO/src/store/RLStore.js b/InteractiveBO/src/store/RLStore.js new file mode 100644 index 0000000..0851e5c --- /dev/null +++ b/InteractiveBO/src/store/RLStore.js @@ -0,0 +1,58 @@ +import { defineStore } from "pinia"; + +export const useRLStore = defineStore("RL Store", { + state: () => { + return { + red: Array(153600).fill(120), + green: Array(153600).fill(120), + blue: Array(153600).fill(120), + width: 480, + height: 320, + current_time: 0, + current_run: 0, + current_episode: 0, + best_reward: 0.0, + last_user_reward: 0.0, + trigger: false, + }; + }, + getters: { + getRed: (state) => state.red, + getGreen: (state) => state.green, + getBlue: (state) => state.blue, + getHeight: (state) => state.height, + getWidth: (state) => state.width, + getCurrentTime: (state) => state.current_time, + getCurrentRun: (state) => state.current_run, + getCurrentEpisode: (state) => state.current_episode, + getBestReward: (state) => state.best_reward, + getLastUserReward: (state) => state.last_user_reward, + }, + actions: { + setRgbArrays(red, green, blue) { + this.red = red; + this.green = green; + this.blue = blue; + this.trigger = !this.trigger; + }, + setDim(height, width) { + this.height = height; + this.width = width; + }, + setCurrentTime(value) { + this.current_time = value; + }, + setCurrentRun(value) { + this.current_run = value; + }, + setCurrentEpisode(value) { + this.current_episode = value; + }, + setBestReward(value) { + this.best_reward = value; + }, + setLastUserReward(value) { + this.last_user_reward = value; + }, + }, +}); diff --git a/InteractiveBO/src/store/RewardStore.js b/InteractiveBO/src/store/RewardStore.js new file mode 100644 index 0000000..7648a84 --- /dev/null +++ b/InteractiveBO/src/store/RewardStore.js @@ -0,0 +1,30 @@ +import { defineStore } from "pinia"; + +export const useRStore = defineStore("Reward Store", { + state: () => { + return { + reward_mean: [], + reward_std: [], + trigger: false, + }; + }, + getters: { + getMean: (state) => state.reward_mean, + getStd: (state) => state.reward_std, + getTrigger: (state) => state.trigger, + }, + actions: { + setMean(value) { + this.reward_mean = value; + }, + setStd(value) { + this.reward_std = value; + this.trigger = !this.trigger; + }, + addMeanManually(value) { + this.reward_mean[this.reward_mean.length] = value; + this.reward_std[this.reward_std.length] = 0; + this.trigger = !this.trigger; + }, + }, +}); diff --git a/InteractiveBO/tsconfig.config.json b/InteractiveBO/tsconfig.config.json new file mode 100644 index 0000000..424084a --- /dev/null +++ b/InteractiveBO/tsconfig.config.json @@ -0,0 +1,8 @@ +{ + "extends": "@vue/tsconfig/tsconfig.node.json", + "include": ["vite.config.*", "vitest.config.*", "cypress.config.*", "playwright.config.*"], + "compilerOptions": { + "composite": true, + "types": ["node"] + } +} diff --git a/InteractiveBO/tsconfig.json b/InteractiveBO/tsconfig.json new file mode 100644 index 0000000..8d23599 --- /dev/null +++ b/InteractiveBO/tsconfig.json @@ -0,0 +1,16 @@ +{ + "extends": "@vue/tsconfig/tsconfig.web.json", + "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + }, + + "references": [ + { + "path": "./tsconfig.config.json" + } + ] +} diff --git a/InteractiveBO/vite.config.ts b/InteractiveBO/vite.config.ts new file mode 100644 index 0000000..b20d948 --- /dev/null +++ b/InteractiveBO/vite.config.ts @@ -0,0 +1,15 @@ +import { fileURLToPath, URL } from "node:url"; + +import { defineConfig } from "vite"; +import vue from "@vitejs/plugin-vue"; +import vueJsx from "@vitejs/plugin-vue-jsx"; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [vue(), vueJsx()], + resolve: { + alias: { + "@": fileURLToPath(new URL("./src", import.meta.url)), + }, + }, +});