diff --git a/app/.env b/app/.env
deleted file mode 100644
index e69de29..0000000
diff --git a/app/.env.embedded b/app/.env.embedded
deleted file mode 100644
index 9b18452..0000000
--- a/app/.env.embedded
+++ /dev/null
@@ -1,3 +0,0 @@
-VITE_API_URL="leika.local"
-VITE_SOCKET_URL="leika.local"
-VITE_EMBEDDED_BUILD=true
\ No newline at end of file
diff --git a/app/.env.mock_embedded b/app/.env.mock_embedded
deleted file mode 100644
index 7cc6106..0000000
--- a/app/.env.mock_embedded
+++ /dev/null
@@ -1,3 +0,0 @@
-VITE_API_URL="hostname"
-VITE_SOCKET_URL="hostname:2096"
-VITE_EMBEDDED_BUILD=true
\ No newline at end of file
diff --git a/app/.env.mock_web b/app/.env.mock_web
deleted file mode 100644
index f32096d..0000000
--- a/app/.env.mock_web
+++ /dev/null
@@ -1,3 +0,0 @@
-VITE_API_URL="hostname"
-VITE_SOCKET_URL="hostname:2096"
-VITE_EMBEDDED_BUILD=false
\ No newline at end of file
diff --git a/app/.env.web b/app/.env.web
deleted file mode 100644
index 5f796d9..0000000
--- a/app/.env.web
+++ /dev/null
@@ -1,3 +0,0 @@
-VITE_API_URL="leika.local"
-VITE_SOCKET_URL="leika.local"
-VITE_EMBEDDED_BUILD=false
\ No newline at end of file
diff --git a/app/.eslintignore b/app/.eslintignore
index 4836699..3897265 100644
--- a/app/.eslintignore
+++ b/app/.eslintignore
@@ -10,4 +10,4 @@ node_modules
# Ignore files for PNPM, NPM and YARN
pnpm-lock.yaml
package-lock.json
-yarn.lock
\ No newline at end of file
+yarn.lock
diff --git a/app/.eslintrc.cjs b/app/.eslintrc.cjs
index 3ccf435..0b75758 100644
--- a/app/.eslintrc.cjs
+++ b/app/.eslintrc.cjs
@@ -1,20 +1,31 @@
+/** @type { import("eslint").Linter.Config } */
module.exports = {
root: true,
+ extends: [
+ 'eslint:recommended',
+ 'plugin:@typescript-eslint/recommended',
+ 'plugin:svelte/recommended',
+ 'prettier'
+ ],
parser: '@typescript-eslint/parser',
- extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'],
- plugins: ['svelte3', '@typescript-eslint'],
- ignorePatterns: ['*.cjs'],
- overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }],
- settings: {
- 'svelte3/typescript': () => require('typescript')
- },
+ plugins: ['@typescript-eslint'],
parserOptions: {
sourceType: 'module',
- ecmaVersion: 2020
+ ecmaVersion: 2020,
+ extraFileExtensions: ['.svelte']
},
env: {
browser: true,
es2017: true,
node: true
- }
+ },
+ overrides: [
+ {
+ files: ['*.svelte'],
+ parser: 'svelte-eslint-parser',
+ parserOptions: {
+ parser: '@typescript-eslint/parser'
+ }
+ }
+ ]
};
diff --git a/app/.eslintrc.json b/app/.eslintrc.json
deleted file mode 100644
index f38854c..0000000
--- a/app/.eslintrc.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "env": {
- "browser": true,
- "es2021": true
- },
- "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
- "overrides": [],
- "parser": "@typescript-eslint/parser",
- "parserOptions": {
- "ecmaVersion": "latest",
- "sourceType": "module"
- },
- "plugins": ["@typescript-eslint"],
- "rules": {}
-}
diff --git a/app/.gitignore b/app/.gitignore
index a547bf3..6635cf5 100644
--- a/app/.gitignore
+++ b/app/.gitignore
@@ -1,24 +1,10 @@
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-pnpm-debug.log*
-lerna-debug.log*
-
-node_modules
-dist
-dist-ssr
-*.local
-
-# Editor directories and files
-.vscode/*
-!.vscode/extensions.json
-.idea
.DS_Store
-*.suo
-*.ntvs*
-*.njsproj
-*.sln
-*.sw?
+node_modules
+/build
+/.svelte-kit
+/package
+.env
+.env.*
+!.env.example
+vite.config.js.timestamp-*
+vite.config.ts.timestamp-*
diff --git a/app2/.npmrc b/app/.npmrc
similarity index 100%
rename from app2/.npmrc
rename to app/.npmrc
diff --git a/app/.prettierignore b/app/.prettierignore
index 4836699..cc41cea 100644
--- a/app/.prettierignore
+++ b/app/.prettierignore
@@ -1,13 +1,4 @@
-.DS_Store
-node_modules
-/build
-/.svelte-kit
-/package
-.env
-.env.*
-!.env.example
-
# Ignore files for PNPM, NPM and YARN
pnpm-lock.yaml
package-lock.json
-yarn.lock
\ No newline at end of file
+yarn.lock
diff --git a/app/.prettierrc b/app/.prettierrc
index a77fdde..9573023 100644
--- a/app/.prettierrc
+++ b/app/.prettierrc
@@ -4,6 +4,5 @@
"trailingComma": "none",
"printWidth": 100,
"plugins": ["prettier-plugin-svelte"],
- "pluginSearchDirs": ["."],
"overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }]
}
diff --git a/app/README.md b/app/README.md
index 73a4dab..5ce6766 100644
--- a/app/README.md
+++ b/app/README.md
@@ -1,3 +1,38 @@
-# Controller App
+# create-svelte
-This is the controller for my spot micro
+Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/main/packages/create-svelte).
+
+## Creating a project
+
+If you're seeing this, you've probably already done this step. Congrats!
+
+```bash
+# create a new project in the current directory
+npm create svelte@latest
+
+# create a new project in my-app
+npm create svelte@latest my-app
+```
+
+## Developing
+
+Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
+
+```bash
+npm run dev
+
+# or start the server and open the app in a new browser tab
+npm run dev -- --open
+```
+
+## Building
+
+To create a production version of your app:
+
+```bash
+npm run build
+```
+
+You can preview the production build with `npm run preview`.
+
+> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment.
diff --git a/app/index.html b/app/index.html
deleted file mode 100644
index 73891fb..0000000
--- a/app/index.html
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app2/medium.zip b/app/medium.zip
similarity index 100%
rename from app2/medium.zip
rename to app/medium.zip
diff --git a/app/package.json b/app/package.json
index da935c4..91edf1a 100644
--- a/app/package.json
+++ b/app/package.json
@@ -1,55 +1,60 @@
{
- "name": "app",
+ "name": "app2",
+ "version": "0.0.1",
"private": true,
- "version": "0.0.0",
- "type": "module",
"scripts": {
- "dev": "vite --mode embedded",
- "dev:mock_embedded": "vite --mode mock_embedded",
- "dev:mock_web": "vite --mode mock_web",
- "build": "vite build --mode embedded",
- "build:mock_web": "vite build --mode mock_web",
- "build:web": "vite build --mode web",
+ "dev": "vite dev",
+ "build": "vite build",
"preview": "vite preview",
- "test": "vitest --environment jsdom",
- "check": "svelte-check --tsconfig ./tsconfig.json",
- "format": "prettier --plugin-search-dir . --write ."
+ "test": "npm run test:integration && npm run test:unit",
+ "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
+ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
+ "lint": "prettier --check . && eslint .",
+ "format": "prettier --write .",
+ "test:integration": "playwright test",
+ "test:unit": "vitest"
},
"devDependencies": {
- "@sveltejs/vite-plugin-svelte": "^3.0.2",
- "@tsconfig/svelte": "^5.0.2",
- "@types/three": "^0.160.0",
- "@typescript-eslint/eslint-plugin": "^6.20.0",
- "@typescript-eslint/parser": "^6.20.0",
- "autoprefixer": "^10.4.17",
- "cross-env": "^7.0.3",
- "husky": "^9.0.7",
- "jsdom": "^24.0.0",
- "lint-staged": "^15.2.0",
- "postcss": "^8.4.33",
- "prettier": "3.2.4",
- "svelte": "^4.2.9",
- "svelte-check": "^3.6.3",
- "svelte-hero-icons": "^5.0.0",
- "tailwindcss": "^3.4.1",
- "tslib": "^2.6.2",
- "typescript": "^5.3.3",
- "vite": "^5.0.12",
- "vite-plugin-compression": "^0.5.1",
- "vite-plugin-singlefile": "^1.0.0",
- "vitest": "^1.3.1"
+ "@iconify-json/mdi": "^1.1.64",
+ "@iconify-json/tabler": "^1.1.109",
+ "@playwright/test": "^1.28.1",
+ "@sveltejs/adapter-auto": "^3.0.0",
+ "@sveltejs/adapter-static": "^3.0.1",
+ "@sveltejs/kit": "^2.5.5",
+ "@sveltejs/vite-plugin-svelte": "^3.0.0",
+ "@types/eslint": "^8.56.0",
+ "@types/three": "^0.162.0",
+ "@typescript-eslint/eslint-plugin": "^7.0.0",
+ "@typescript-eslint/parser": "^7.0.0",
+ "autoprefixer": "^10.4.19",
+ "eslint": "^8.56.0",
+ "eslint-config-prettier": "^9.1.0",
+ "eslint-plugin-svelte": "^2.35.1",
+ "postcss": "^8.4.38",
+ "prettier": "^3.1.1",
+ "prettier-plugin-svelte": "^3.1.2",
+ "svelte": "^4.2.7",
+ "svelte-check": "^3.6.0",
+ "svelte-focus-trap": "^1.2.0",
+ "tailwindcss": "^3.4.3",
+ "tslib": "^2.4.1",
+ "typescript": "^5.0.0",
+ "unplugin-icons": "^0.18.5",
+ "vite": "^5.0.3",
+ "vitest": "^1.2.0"
},
+ "type": "module",
"dependencies": {
+ "chart.js": "^4.4.2",
+ "compare-versions": "^6.1.0",
+ "daisyui": "^4.10.2",
+ "jwt-decode": "^4.0.0",
"nipplejs": "^0.10.1",
- "prettier-plugin-svelte": "^3.2.1",
- "svelte-routing": "^2.11.0",
- "three": "^0.160.1",
+ "svelte-dnd-list": "^0.1.8",
+ "svelte-modals": "^1.3.0",
+ "three": "^0.162.0",
"urdf-loader": "^0.12.1",
"uzip": "^0.20201231.0",
"xacro-parser": "^0.3.9"
- },
- "lint-staged": {
- "*.js": "eslint --cache --fix",
- "*.{js,css,md,ts,svelte}": "prettier --write"
}
}
\ No newline at end of file
diff --git a/app2/playwright.config.ts b/app/playwright.config.ts
similarity index 100%
rename from app2/playwright.config.ts
rename to app/playwright.config.ts
diff --git a/app/pnpm-lock.yaml b/app/pnpm-lock.yaml
index e16ef16..e765169 100644
--- a/app/pnpm-lock.yaml
+++ b/app/pnpm-lock.yaml
@@ -5,21 +5,33 @@ settings:
excludeLinksFromLockfile: false
dependencies:
+ chart.js:
+ specifier: ^4.4.2
+ version: 4.4.2
+ compare-versions:
+ specifier: ^6.1.0
+ version: 6.1.0
+ daisyui:
+ specifier: ^4.10.2
+ version: 4.10.2(postcss@8.4.38)
+ jwt-decode:
+ specifier: ^4.0.0
+ version: 4.0.0
nipplejs:
specifier: ^0.10.1
version: 0.10.1
- prettier-plugin-svelte:
- specifier: ^3.2.1
- version: 3.2.1(prettier@3.2.4)(svelte@4.2.9)
- svelte-routing:
- specifier: ^2.11.0
- version: 2.11.0
+ svelte-dnd-list:
+ specifier: ^0.1.8
+ version: 0.1.8
+ svelte-modals:
+ specifier: ^1.3.0
+ version: 1.3.0(svelte@4.2.7)
three:
- specifier: ^0.160.1
- version: 0.160.1
+ specifier: ^0.162.0
+ version: 0.162.0
urdf-loader:
specifier: ^0.12.1
- version: 0.12.1(three@0.160.1)
+ version: 0.12.1(three@0.162.0)
uzip:
specifier: ^0.20201231.0
version: 0.20201231.0
@@ -28,72 +40,87 @@ dependencies:
version: 0.3.9
devDependencies:
+ '@iconify-json/mdi':
+ specifier: ^1.1.64
+ version: 1.1.64
+ '@iconify-json/tabler':
+ specifier: ^1.1.109
+ version: 1.1.109
+ '@playwright/test':
+ specifier: ^1.28.1
+ version: 1.28.1
+ '@sveltejs/adapter-auto':
+ specifier: ^3.0.0
+ version: 3.0.0(@sveltejs/kit@2.5.5)
+ '@sveltejs/adapter-static':
+ specifier: ^3.0.1
+ version: 3.0.1(@sveltejs/kit@2.5.5)
+ '@sveltejs/kit':
+ specifier: ^2.5.5
+ version: 2.5.5(@sveltejs/vite-plugin-svelte@3.0.0)(svelte@4.2.7)(vite@5.0.3)
'@sveltejs/vite-plugin-svelte':
- specifier: ^3.0.2
- version: 3.0.2(svelte@4.2.9)(vite@5.0.12)
- '@tsconfig/svelte':
- specifier: ^5.0.2
- version: 5.0.2
+ specifier: ^3.0.0
+ version: 3.0.0(svelte@4.2.7)(vite@5.0.3)
+ '@types/eslint':
+ specifier: ^8.56.0
+ version: 8.56.0
'@types/three':
- specifier: ^0.160.0
- version: 0.160.0
+ specifier: ^0.162.0
+ version: 0.162.0
'@typescript-eslint/eslint-plugin':
- specifier: ^6.20.0
- version: 6.20.0(@typescript-eslint/parser@6.20.0)(eslint@8.56.0)(typescript@5.3.3)
+ specifier: ^7.0.0
+ version: 7.0.0(@typescript-eslint/parser@7.0.0)(eslint@8.56.0)(typescript@5.0.2)
'@typescript-eslint/parser':
- specifier: ^6.20.0
- version: 6.20.0(eslint@8.56.0)(typescript@5.3.3)
+ specifier: ^7.0.0
+ version: 7.0.0(eslint@8.56.0)(typescript@5.0.2)
autoprefixer:
- specifier: ^10.4.17
- version: 10.4.17(postcss@8.4.33)
- cross-env:
- specifier: ^7.0.3
- version: 7.0.3
- husky:
- specifier: ^9.0.7
- version: 9.0.7
- jsdom:
- specifier: ^24.0.0
- version: 24.0.0
- lint-staged:
- specifier: ^15.2.0
- version: 15.2.0
+ specifier: ^10.4.19
+ version: 10.4.19(postcss@8.4.38)
+ eslint:
+ specifier: ^8.56.0
+ version: 8.56.0
+ eslint-config-prettier:
+ specifier: ^9.1.0
+ version: 9.1.0(eslint@8.56.0)
+ eslint-plugin-svelte:
+ specifier: ^2.35.1
+ version: 2.35.1(eslint@8.56.0)(svelte@4.2.7)
postcss:
- specifier: ^8.4.33
- version: 8.4.33
+ specifier: ^8.4.38
+ version: 8.4.38
prettier:
- specifier: 3.2.4
- version: 3.2.4
+ specifier: ^3.1.1
+ version: 3.1.1
+ prettier-plugin-svelte:
+ specifier: ^3.1.2
+ version: 3.1.2(prettier@3.1.1)(svelte@4.2.7)
svelte:
- specifier: ^4.2.9
- version: 4.2.9
+ specifier: ^4.2.7
+ version: 4.2.7
svelte-check:
- specifier: ^3.6.3
- version: 3.6.3(postcss@8.4.33)(svelte@4.2.9)
- svelte-hero-icons:
- specifier: ^5.0.0
- version: 5.0.0
+ specifier: ^3.6.0
+ version: 3.6.0(postcss@8.4.38)(svelte@4.2.7)
+ svelte-focus-trap:
+ specifier: ^1.2.0
+ version: 1.2.0
tailwindcss:
- specifier: ^3.4.1
- version: 3.4.1
+ specifier: ^3.4.3
+ version: 3.4.3
tslib:
- specifier: ^2.6.2
- version: 2.6.2
+ specifier: ^2.4.1
+ version: 2.4.1
typescript:
- specifier: ^5.3.3
- version: 5.3.3
+ specifier: ^5.0.0
+ version: 5.0.2
+ unplugin-icons:
+ specifier: ^0.18.5
+ version: 0.18.5
vite:
- specifier: ^5.0.12
- version: 5.0.12
- vite-plugin-compression:
- specifier: ^0.5.1
- version: 0.5.1(vite@5.0.12)
- vite-plugin-singlefile:
- specifier: ^1.0.0
- version: 1.0.0(rollup@4.9.6)(vite@5.0.12)
+ specifier: ^5.0.3
+ version: 5.0.3
vitest:
- specifier: ^1.3.1
- version: 1.3.1(jsdom@24.0.0)
+ specifier: ^1.2.0
+ version: 1.2.0
packages:
@@ -107,12 +134,29 @@ packages:
engines: {node: '>=10'}
dev: true
- /@ampproject/remapping@2.2.1:
- resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
+ /@ampproject/remapping@2.3.0:
+ resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
dependencies:
- '@jridgewell/gen-mapping': 0.3.3
- '@jridgewell/trace-mapping': 0.3.18
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+
+ /@antfu/install-pkg@0.1.1:
+ resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==}
+ dependencies:
+ execa: 5.1.1
+ find-up: 5.0.0
+ dev: true
+
+ /@antfu/install-pkg@0.3.1:
+ resolution: {integrity: sha512-A3zWY9VeTPnxlMiZtsGHw2lSd3ghwvL8s9RiGOtqvDxhhFfZ781ynsGBa/iUnDJ5zBrmTFQrJDud3TGgRISaxw==}
+ dependencies:
+ execa: 8.0.1
+ dev: true
+
+ /@antfu/utils@0.7.7:
+ resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==}
+ dev: true
/@esbuild/aix-ppc64@0.19.12:
resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
@@ -344,7 +388,7 @@ packages:
debug: 4.3.4
espree: 9.6.1
globals: 13.24.0
- ignore: 5.3.0
+ ignore: 5.3.1
import-fresh: 3.3.0
js-yaml: 4.1.0
minimatch: 3.1.2
@@ -378,6 +422,48 @@ packages:
resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
dev: true
+ /@iconify-json/mdi@1.1.64:
+ resolution: {integrity: sha512-zGeo5TjhNFAY6FmSDBLAzDO811t77r6v/mDi7CAL9w5eXqKez6bIjk8R9AL/RHIeq44ALP4Ozr4lMqFTkHr7ug==}
+ dependencies:
+ '@iconify/types': 2.0.0
+ dev: true
+
+ /@iconify-json/tabler@1.1.109:
+ resolution: {integrity: sha512-74RaBQZQ0761iFTrgmuSH1fovfx0fBKn+txRbRNbRzfh8XWtlAHqKUc3CzvzATMLnVsSRJDxjG3qY4oWH/+opw==}
+ dependencies:
+ '@iconify/types': 2.0.0
+ dev: true
+
+ /@iconify/types@2.0.0:
+ resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
+ dev: true
+
+ /@iconify/utils@2.1.22:
+ resolution: {integrity: sha512-6UHVzTVXmvO8uS6xFF+L/QTSpTzA/JZxtgU+KYGFyDYMEObZ1bu/b5l+zNJjHy+0leWjHI+C0pXlzGvv3oXZMA==}
+ dependencies:
+ '@antfu/install-pkg': 0.1.1
+ '@antfu/utils': 0.7.7
+ '@iconify/types': 2.0.0
+ debug: 4.3.4
+ kolorist: 1.8.0
+ local-pkg: 0.5.0
+ mlly: 1.6.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@isaacs/cliui@8.0.2:
+ resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
+ engines: {node: '>=12'}
+ dependencies:
+ string-width: 5.1.2
+ string-width-cjs: /string-width@4.2.3
+ strip-ansi: 7.1.0
+ strip-ansi-cjs: /strip-ansi@6.0.1
+ wrap-ansi: 8.1.0
+ wrap-ansi-cjs: /wrap-ansi@7.0.0
+ dev: true
+
/@jest/schemas@29.6.3:
resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -385,33 +471,34 @@ packages:
'@sinclair/typebox': 0.27.8
dev: true
- /@jridgewell/gen-mapping@0.3.3:
- resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
+ /@jridgewell/gen-mapping@0.3.5:
+ resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
engines: {node: '>=6.0.0'}
dependencies:
- '@jridgewell/set-array': 1.1.2
+ '@jridgewell/set-array': 1.2.1
'@jridgewell/sourcemap-codec': 1.4.15
- '@jridgewell/trace-mapping': 0.3.18
+ '@jridgewell/trace-mapping': 0.3.25
- /@jridgewell/resolve-uri@3.1.0:
- resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
+ /@jridgewell/resolve-uri@3.1.2:
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
engines: {node: '>=6.0.0'}
- /@jridgewell/set-array@1.1.2:
- resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
+ /@jridgewell/set-array@1.2.1:
+ resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
engines: {node: '>=6.0.0'}
- /@jridgewell/sourcemap-codec@1.4.14:
- resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
-
/@jridgewell/sourcemap-codec@1.4.15:
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
- /@jridgewell/trace-mapping@0.3.18:
- resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==}
+ /@jridgewell/trace-mapping@0.3.25:
+ resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
dependencies:
- '@jridgewell/resolve-uri': 3.1.0
- '@jridgewell/sourcemap-codec': 1.4.14
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.4.15
+
+ /@kurkle/color@0.3.2:
+ resolution: {integrity: sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==}
+ dev: false
/@nodelib/fs.scandir@2.1.5:
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
@@ -431,107 +518,135 @@ packages:
engines: {node: '>= 8'}
dependencies:
'@nodelib/fs.scandir': 2.1.5
- fastq: 1.15.0
+ fastq: 1.17.1
dev: true
- /@rollup/rollup-android-arm-eabi@4.9.6:
- resolution: {integrity: sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==}
+ /@pkgjs/parseargs@0.11.0:
+ resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
+ engines: {node: '>=14'}
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@playwright/test@1.28.1:
+ resolution: {integrity: sha512-xN6spdqrNlwSn9KabIhqfZR7IWjPpFK1835tFNgjrlysaSezuX8PYUwaz38V/yI8TJLG9PkAMEXoHRXYXlpTPQ==}
+ engines: {node: '>=14'}
+ hasBin: true
+ dependencies:
+ '@types/node': 20.11.30
+ playwright-core: 1.28.1
+ dev: true
+
+ /@polka/url@1.0.0-next.25:
+ resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==}
+ dev: true
+
+ /@rollup/rollup-android-arm-eabi@4.13.1:
+ resolution: {integrity: sha512-4C4UERETjXpC4WpBXDbkgNVgHyWfG3B/NKY46e7w5H134UDOFqUJKpsLm0UYmuupW+aJmRgeScrDNfvZ5WV80A==}
cpu: [arm]
os: [android]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-android-arm64@4.9.6:
- resolution: {integrity: sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==}
+ /@rollup/rollup-android-arm64@4.13.1:
+ resolution: {integrity: sha512-TrTaFJ9pXgfXEiJKQ3yQRelpQFqgRzVR9it8DbeRzG0RX7mKUy0bqhCFsgevwXLJepQKTnLl95TnPGf9T9AMOA==}
cpu: [arm64]
os: [android]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-darwin-arm64@4.9.6:
- resolution: {integrity: sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==}
+ /@rollup/rollup-darwin-arm64@4.13.1:
+ resolution: {integrity: sha512-fz7jN6ahTI3cKzDO2otQuybts5cyu0feymg0bjvYCBrZQ8tSgE8pc0sSNEuGvifrQJWiwx9F05BowihmLxeQKw==}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-darwin-x64@4.9.6:
- resolution: {integrity: sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==}
+ /@rollup/rollup-darwin-x64@4.13.1:
+ resolution: {integrity: sha512-WTvdz7SLMlJpektdrnWRUN9C0N2qNHwNbWpNo0a3Tod3gb9leX+yrYdCeB7VV36OtoyiPAivl7/xZ3G1z5h20g==}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-linux-arm-gnueabihf@4.9.6:
- resolution: {integrity: sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==}
+ /@rollup/rollup-linux-arm-gnueabihf@4.13.1:
+ resolution: {integrity: sha512-dBHQl+7wZzBYcIF6o4k2XkAfwP2ks1mYW2q/Gzv9n39uDcDiAGDqEyml08OdY0BIct0yLSPkDTqn4i6czpBLLw==}
cpu: [arm]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-linux-arm64-gnu@4.9.6:
- resolution: {integrity: sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==}
+ /@rollup/rollup-linux-arm64-gnu@4.13.1:
+ resolution: {integrity: sha512-bur4JOxvYxfrAmocRJIW0SADs3QdEYK6TQ7dTNz6Z4/lySeu3Z1H/+tl0a4qDYv0bCdBpUYM0sYa/X+9ZqgfSQ==}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-linux-arm64-musl@4.9.6:
- resolution: {integrity: sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==}
+ /@rollup/rollup-linux-arm64-musl@4.13.1:
+ resolution: {integrity: sha512-ssp77SjcDIUSoUyj7DU7/5iwM4ZEluY+N8umtCT9nBRs3u045t0KkW02LTyHouHDomnMXaXSZcCSr2bdMK63kA==}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-linux-riscv64-gnu@4.9.6:
- resolution: {integrity: sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==}
+ /@rollup/rollup-linux-riscv64-gnu@4.13.1:
+ resolution: {integrity: sha512-Jv1DkIvwEPAb+v25/Unrnnq9BO3F5cbFPT821n3S5litkz+O5NuXuNhqtPx5KtcwOTtaqkTsO+IVzJOsxd11aQ==}
cpu: [riscv64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-linux-x64-gnu@4.9.6:
- resolution: {integrity: sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==}
+ /@rollup/rollup-linux-s390x-gnu@4.13.1:
+ resolution: {integrity: sha512-U564BrhEfaNChdATQaEODtquCC7Ez+8Hxz1h5MAdMYj0AqD0GA9rHCpElajb/sQcaFL6NXmHc5O+7FXpWMa73Q==}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-gnu@4.13.1:
+ resolution: {integrity: sha512-zGRDulLTeDemR8DFYyFIQ8kMP02xpUsX4IBikc7lwL9PrwR3gWmX2NopqiGlI2ZVWMl15qZeUjumTwpv18N7sQ==}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-linux-x64-musl@4.9.6:
- resolution: {integrity: sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==}
+ /@rollup/rollup-linux-x64-musl@4.13.1:
+ resolution: {integrity: sha512-VTk/MveyPdMFkYJJPCkYBw07KcTkGU2hLEyqYMsU4NjiOfzoaDTW9PWGRsNwiOA3qI0k/JQPjkl/4FCK1smskQ==}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-win32-arm64-msvc@4.9.6:
- resolution: {integrity: sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==}
+ /@rollup/rollup-win32-arm64-msvc@4.13.1:
+ resolution: {integrity: sha512-L+hX8Dtibb02r/OYCsp4sQQIi3ldZkFI0EUkMTDwRfFykXBPptoz/tuuGqEd3bThBSLRWPR6wsixDSgOx/U3Zw==}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-win32-ia32-msvc@4.9.6:
- resolution: {integrity: sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==}
+ /@rollup/rollup-win32-ia32-msvc@4.13.1:
+ resolution: {integrity: sha512-+dI2jVPfM5A8zme8riEoNC7UKk0Lzc7jCj/U89cQIrOjrZTCWZl/+IXUeRT2rEZ5j25lnSA9G9H1Ob9azaF/KQ==}
cpu: [ia32]
os: [win32]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-win32-x64-msvc@4.9.6:
- resolution: {integrity: sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==}
+ /@rollup/rollup-win32-x64-msvc@4.13.1:
+ resolution: {integrity: sha512-YY1Exxo2viZ/O2dMHuwQvimJ0SqvL+OAWQLLY6rvXavgQKjhQUzn7nc1Dd29gjB5Fqi00nrBWctJBOyfVMIVxw==}
cpu: [x64]
os: [win32]
requiresBuild: true
@@ -542,11 +657,51 @@ packages:
resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
dev: true
- /@steeze-ui/heroicons@2.2.3:
- resolution: {integrity: sha512-bv4YK375U9TDS50SmJ5VdFy2UmMhgKbJCCbo6IUU3qs2luEj2VX6sQoDy96j8AIKttxMd62ih1j0lZj7CTjIfA==}
+ /@sveltejs/adapter-auto@3.0.0(@sveltejs/kit@2.5.5):
+ resolution: {integrity: sha512-UNWSs/rOReBRfI/xFwSO2WYF1a7PT74SrWOHJmSNLY3Lq+zbH0uuvnlP+TmrTUBvOTkou3WJDjL6lK3n6aOUgQ==}
+ peerDependencies:
+ '@sveltejs/kit': ^2.0.0
+ dependencies:
+ '@sveltejs/kit': 2.5.5(@sveltejs/vite-plugin-svelte@3.0.0)(svelte@4.2.7)(vite@5.0.3)
+ import-meta-resolve: 4.0.0
dev: true
- /@sveltejs/vite-plugin-svelte-inspector@2.0.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.9)(vite@5.0.12):
+ /@sveltejs/adapter-static@3.0.1(@sveltejs/kit@2.5.5):
+ resolution: {integrity: sha512-6lMvf7xYEJ+oGeR5L8DFJJrowkefTK6ZgA4JiMqoClMkKq0s6yvsd3FZfCFvX1fQ0tpCD7fkuRVHsnUVgsHyNg==}
+ peerDependencies:
+ '@sveltejs/kit': ^2.0.0
+ dependencies:
+ '@sveltejs/kit': 2.5.5(@sveltejs/vite-plugin-svelte@3.0.0)(svelte@4.2.7)(vite@5.0.3)
+ dev: true
+
+ /@sveltejs/kit@2.5.5(@sveltejs/vite-plugin-svelte@3.0.0)(svelte@4.2.7)(vite@5.0.3):
+ resolution: {integrity: sha512-ULe3PB00q4+wYRL+IS5FDPsCEVnhEITofm7b9Yz8malcH3r1SAnW/JJ6T13hIMeu8QNRIuVQWo+P4+2VklbnLQ==}
+ engines: {node: '>=18.13'}
+ hasBin: true
+ requiresBuild: true
+ peerDependencies:
+ '@sveltejs/vite-plugin-svelte': ^3.0.0
+ svelte: ^4.0.0 || ^5.0.0-next.0
+ vite: ^5.0.3
+ dependencies:
+ '@sveltejs/vite-plugin-svelte': 3.0.0(svelte@4.2.7)(vite@5.0.3)
+ '@types/cookie': 0.6.0
+ cookie: 0.6.0
+ devalue: 4.3.2
+ esm-env: 1.0.0
+ import-meta-resolve: 4.0.0
+ kleur: 4.1.5
+ magic-string: 0.30.8
+ mrmime: 2.0.0
+ sade: 1.8.1
+ set-cookie-parser: 2.6.0
+ sirv: 2.0.4
+ svelte: 4.2.7
+ tiny-glob: 0.2.9
+ vite: 5.0.3
+ dev: true
+
+ /@sveltejs/vite-plugin-svelte-inspector@2.0.0(@sveltejs/vite-plugin-svelte@3.0.0)(svelte@4.2.7)(vite@5.0.3):
resolution: {integrity: sha512-gjr9ZFg1BSlIpfZ4PRewigrvYmHWbDrq2uvvPB1AmTWKuM+dI1JXQSUu2pIrYLb/QncyiIGkFDFKTwJ0XqQZZg==}
engines: {node: ^18.0.0 || >=20}
peerDependencies:
@@ -554,155 +709,173 @@ packages:
svelte: ^4.0.0 || ^5.0.0-next.0
vite: ^5.0.0
dependencies:
- '@sveltejs/vite-plugin-svelte': 3.0.2(svelte@4.2.9)(vite@5.0.12)
+ '@sveltejs/vite-plugin-svelte': 3.0.0(svelte@4.2.7)(vite@5.0.3)
debug: 4.3.4
- svelte: 4.2.9
- vite: 5.0.12
+ svelte: 4.2.7
+ vite: 5.0.3
transitivePeerDependencies:
- supports-color
dev: true
- /@sveltejs/vite-plugin-svelte@3.0.2(svelte@4.2.9)(vite@5.0.12):
- resolution: {integrity: sha512-MpmF/cju2HqUls50WyTHQBZUV3ovV/Uk8k66AN2gwHogNAG8wnW8xtZDhzNBsFJJuvmq1qnzA5kE7YfMJNFv2Q==}
+ /@sveltejs/vite-plugin-svelte@3.0.0(svelte@4.2.7)(vite@5.0.3):
+ resolution: {integrity: sha512-Th0nupxk8hl5Rcg9jm+1xWylwco4bSUAvutWxM4W4bjOAollpXLmrYqSSnYo9pPbZOO6ZGRm6sSqYa/v1d/Saw==}
engines: {node: ^18.0.0 || >=20}
peerDependencies:
svelte: ^4.0.0 || ^5.0.0-next.0
vite: ^5.0.0
dependencies:
- '@sveltejs/vite-plugin-svelte-inspector': 2.0.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.9)(vite@5.0.12)
+ '@sveltejs/vite-plugin-svelte-inspector': 2.0.0(@sveltejs/vite-plugin-svelte@3.0.0)(svelte@4.2.7)(vite@5.0.3)
debug: 4.3.4
deepmerge: 4.3.1
kleur: 4.1.5
- magic-string: 0.30.5
- svelte: 4.2.9
- svelte-hmr: 0.15.3(svelte@4.2.9)
- vite: 5.0.12
- vitefu: 0.2.5(vite@5.0.12)
+ magic-string: 0.30.8
+ svelte: 4.2.7
+ svelte-hmr: 0.15.3(svelte@4.2.7)
+ vite: 5.0.3
+ vitefu: 0.2.5(vite@5.0.3)
transitivePeerDependencies:
- supports-color
dev: true
- /@tsconfig/svelte@5.0.2:
- resolution: {integrity: sha512-BRbo1fOtyVbhfLyuCWw6wAWp+U8UQle+ZXu84MYYWzYSEB28dyfnRBIE99eoG+qdAC0po6L2ScIEivcT07UaMA==}
+ /@tweenjs/tween.js@23.1.1:
+ resolution: {integrity: sha512-ZpboH7pCPPeyBWKf8c7TJswtCEQObFo3bOBYalm99NzZarATALYCo5OhbCa/n4RQyJyHfhkdx+hNrdL5ByFYDw==}
+ dev: true
+
+ /@types/cookie@0.6.0:
+ resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
+ dev: true
+
+ /@types/eslint@8.56.0:
+ resolution: {integrity: sha512-FlsN0p4FhuYRjIxpbdXovvHQhtlG05O1GG/RNWvdAxTboR438IOTwmrY/vLA+Xfgg06BTkP045M3vpFwTMv1dg==}
+ dependencies:
+ '@types/estree': 1.0.5
+ '@types/json-schema': 7.0.15
dev: true
/@types/estree@1.0.5:
resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
- /@types/json-schema@7.0.12:
- resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==}
+ /@types/json-schema@7.0.15:
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
dev: true
- /@types/pug@2.0.6:
- resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==}
- dev: true
-
- /@types/semver@7.5.0:
- resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==}
- dev: true
-
- /@types/stats.js@0.17.0:
- resolution: {integrity: sha512-9w+a7bR8PeB0dCT/HBULU2fMqf6BAzvKbxFboYhmDtDkKPiyXYbjoe2auwsXlEFI7CFNMF1dCv3dFH5Poy9R1w==}
- dev: true
-
- /@types/three@0.160.0:
- resolution: {integrity: sha512-jWlbUBovicUKaOYxzgkLlhkiEQJkhCVvg4W2IYD2trqD2om3VK4DGLpHH5zQHNr7RweZK/5re/4IVhbhvxbV9w==}
+ /@types/node@20.11.30:
+ resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==}
dependencies:
- '@types/stats.js': 0.17.0
- '@types/webxr': 0.5.2
+ undici-types: 5.26.5
+ dev: true
+
+ /@types/pug@2.0.10:
+ resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==}
+ dev: true
+
+ /@types/semver@7.5.8:
+ resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
+ dev: true
+
+ /@types/stats.js@0.17.3:
+ resolution: {integrity: sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==}
+ dev: true
+
+ /@types/three@0.162.0:
+ resolution: {integrity: sha512-0j5yZcVukVIhrhSIC7+LmBPkkMoMuEJ1AfYBZfgNytdYqYREMuiyXWhYOMeZLBElTEAlJIZn7r2W3vqTIgjWlg==}
+ dependencies:
+ '@tweenjs/tween.js': 23.1.1
+ '@types/stats.js': 0.17.3
+ '@types/webxr': 0.5.14
fflate: 0.6.10
meshoptimizer: 0.18.1
dev: true
- /@types/webxr@0.5.2:
- resolution: {integrity: sha512-szL74BnIcok9m7QwYtVmQ+EdIKwbjPANudfuvDrAF8Cljg9MKUlIoc1w5tjj9PMpeSH3U1Xnx//czQybJ0EfSw==}
+ /@types/webxr@0.5.14:
+ resolution: {integrity: sha512-UEMMm/Xn3DtEa+gpzUrOcDj+SJS1tk5YodjwOxcqStNhCfPcwgyC5Srg2ToVKyg2Fhq16Ffpb0UWUQHqoT9AMA==}
dev: true
- /@typescript-eslint/eslint-plugin@6.20.0(@typescript-eslint/parser@6.20.0)(eslint@8.56.0)(typescript@5.3.3):
- resolution: {integrity: sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg==}
+ /@typescript-eslint/eslint-plugin@7.0.0(@typescript-eslint/parser@7.0.0)(eslint@8.56.0)(typescript@5.0.2):
+ resolution: {integrity: sha512-M72SJ0DkcQVmmsbqlzc6EJgb/3Oz2Wdm6AyESB4YkGgCxP8u5jt5jn4/OBMPK3HLOxcttZq5xbBBU7e2By4SZQ==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
'@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha
- eslint: ^7.0.0 || ^8.0.0
+ eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
'@eslint-community/regexpp': 4.10.0
- '@typescript-eslint/parser': 6.20.0(eslint@8.56.0)(typescript@5.3.3)
- '@typescript-eslint/scope-manager': 6.20.0
- '@typescript-eslint/type-utils': 6.20.0(eslint@8.56.0)(typescript@5.3.3)
- '@typescript-eslint/utils': 6.20.0(eslint@8.56.0)(typescript@5.3.3)
- '@typescript-eslint/visitor-keys': 6.20.0
+ '@typescript-eslint/parser': 7.0.0(eslint@8.56.0)(typescript@5.0.2)
+ '@typescript-eslint/scope-manager': 7.0.0
+ '@typescript-eslint/type-utils': 7.0.0(eslint@8.56.0)(typescript@5.0.2)
+ '@typescript-eslint/utils': 7.0.0(eslint@8.56.0)(typescript@5.0.2)
+ '@typescript-eslint/visitor-keys': 7.0.0
debug: 4.3.4
eslint: 8.56.0
graphemer: 1.4.0
- ignore: 5.3.0
+ ignore: 5.3.1
natural-compare: 1.4.0
- semver: 7.5.4
- ts-api-utils: 1.0.3(typescript@5.3.3)
- typescript: 5.3.3
+ semver: 7.6.0
+ ts-api-utils: 1.3.0(typescript@5.0.2)
+ typescript: 5.0.2
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/parser@6.20.0(eslint@8.56.0)(typescript@5.3.3):
- resolution: {integrity: sha512-bYerPDF/H5v6V76MdMYhjwmwgMA+jlPVqjSDq2cRqMi8bP5sR3Z+RLOiOMad3nsnmDVmn2gAFCyNgh/dIrfP/w==}
+ /@typescript-eslint/parser@7.0.0(eslint@8.56.0)(typescript@5.0.2):
+ resolution: {integrity: sha512-V2eqnC998a04L5TniVt8qEhw/rp1dRU/9GJfx4128AFeh2WPMpmj5oeF5G9EqTi6z1JdKfLEACRMot5wUxD3pA==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
- eslint: ^7.0.0 || ^8.0.0
+ eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
- '@typescript-eslint/scope-manager': 6.20.0
- '@typescript-eslint/types': 6.20.0
- '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.3.3)
- '@typescript-eslint/visitor-keys': 6.20.0
+ '@typescript-eslint/scope-manager': 7.0.0
+ '@typescript-eslint/types': 7.0.0
+ '@typescript-eslint/typescript-estree': 7.0.0(typescript@5.0.2)
+ '@typescript-eslint/visitor-keys': 7.0.0
debug: 4.3.4
eslint: 8.56.0
- typescript: 5.3.3
+ typescript: 5.0.2
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/scope-manager@6.20.0:
- resolution: {integrity: sha512-p4rvHQRDTI1tGGMDFQm+GtxP1ZHyAh64WANVoyEcNMpaTFn3ox/3CcgtIlELnRfKzSs/DwYlDccJEtr3O6qBvA==}
+ /@typescript-eslint/scope-manager@7.0.0:
+ resolution: {integrity: sha512-IxTStwhNDPO07CCrYuAqjuJ3Xf5MrMaNgbAZPxFXAUpAtwqFxiuItxUaVtP/SJQeCdJjwDGh9/lMOluAndkKeg==}
engines: {node: ^16.0.0 || >=18.0.0}
dependencies:
- '@typescript-eslint/types': 6.20.0
- '@typescript-eslint/visitor-keys': 6.20.0
+ '@typescript-eslint/types': 7.0.0
+ '@typescript-eslint/visitor-keys': 7.0.0
dev: true
- /@typescript-eslint/type-utils@6.20.0(eslint@8.56.0)(typescript@5.3.3):
- resolution: {integrity: sha512-qnSobiJQb1F5JjN0YDRPHruQTrX7ICsmltXhkV536mp4idGAYrIyr47zF/JmkJtEcAVnIz4gUYJ7gOZa6SmN4g==}
+ /@typescript-eslint/type-utils@7.0.0(eslint@8.56.0)(typescript@5.0.2):
+ resolution: {integrity: sha512-FIM8HPxj1P2G7qfrpiXvbHeHypgo2mFpFGoh5I73ZlqmJOsloSa1x0ZyXCer43++P1doxCgNqIOLqmZR6SOT8g==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
- eslint: ^7.0.0 || ^8.0.0
+ eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
- '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.3.3)
- '@typescript-eslint/utils': 6.20.0(eslint@8.56.0)(typescript@5.3.3)
+ '@typescript-eslint/typescript-estree': 7.0.0(typescript@5.0.2)
+ '@typescript-eslint/utils': 7.0.0(eslint@8.56.0)(typescript@5.0.2)
debug: 4.3.4
eslint: 8.56.0
- ts-api-utils: 1.0.3(typescript@5.3.3)
- typescript: 5.3.3
+ ts-api-utils: 1.3.0(typescript@5.0.2)
+ typescript: 5.0.2
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/types@6.20.0:
- resolution: {integrity: sha512-MM9mfZMAhiN4cOEcUOEx+0HmuaW3WBfukBZPCfwSqFnQy0grXYtngKCqpQN339X3RrwtzspWJrpbrupKYUSBXQ==}
+ /@typescript-eslint/types@7.0.0:
+ resolution: {integrity: sha512-9ZIJDqagK1TTs4W9IyeB2sH/s1fFhN9958ycW8NRTg1vXGzzH5PQNzq6KbsbVGMT+oyyfa17DfchHDidcmf5cg==}
engines: {node: ^16.0.0 || >=18.0.0}
dev: true
- /@typescript-eslint/typescript-estree@6.20.0(typescript@5.3.3):
- resolution: {integrity: sha512-RnRya9q5m6YYSpBN7IzKu9FmLcYtErkDkc8/dKv81I9QiLLtVBHrjz+Ev/crAqgMNW2FCsoZF4g2QUylMnJz+g==}
+ /@typescript-eslint/typescript-estree@7.0.0(typescript@5.0.2):
+ resolution: {integrity: sha512-JzsOzhJJm74aQ3c9um/aDryHgSHfaX8SHFIu9x4Gpik/+qxLvxUylhTsO9abcNu39JIdhY2LgYrFxTii3IajLA==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
typescript: '*'
@@ -710,43 +883,43 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/types': 6.20.0
- '@typescript-eslint/visitor-keys': 6.20.0
+ '@typescript-eslint/types': 7.0.0
+ '@typescript-eslint/visitor-keys': 7.0.0
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.3
- semver: 7.5.4
- ts-api-utils: 1.0.3(typescript@5.3.3)
- typescript: 5.3.3
+ semver: 7.6.0
+ ts-api-utils: 1.3.0(typescript@5.0.2)
+ typescript: 5.0.2
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/utils@6.20.0(eslint@8.56.0)(typescript@5.3.3):
- resolution: {integrity: sha512-/EKuw+kRu2vAqCoDwDCBtDRU6CTKbUmwwI7SH7AashZ+W+7o8eiyy6V2cdOqN49KsTcASWsC5QeghYuRDTyOOg==}
+ /@typescript-eslint/utils@7.0.0(eslint@8.56.0)(typescript@5.0.2):
+ resolution: {integrity: sha512-kuPZcPAdGcDBAyqDn/JVeJVhySvpkxzfXjJq1X1BFSTYo1TTuo4iyb937u457q4K0In84p6u2VHQGaFnv7VYqg==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
- eslint: ^7.0.0 || ^8.0.0
+ eslint: ^8.56.0
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
- '@types/json-schema': 7.0.12
- '@types/semver': 7.5.0
- '@typescript-eslint/scope-manager': 6.20.0
- '@typescript-eslint/types': 6.20.0
- '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.3.3)
+ '@types/json-schema': 7.0.15
+ '@types/semver': 7.5.8
+ '@typescript-eslint/scope-manager': 7.0.0
+ '@typescript-eslint/types': 7.0.0
+ '@typescript-eslint/typescript-estree': 7.0.0(typescript@5.0.2)
eslint: 8.56.0
- semver: 7.5.4
+ semver: 7.6.0
transitivePeerDependencies:
- supports-color
- typescript
dev: true
- /@typescript-eslint/visitor-keys@6.20.0:
- resolution: {integrity: sha512-E8Cp98kRe4gKHjJD4NExXKz/zOJ1A2hhZc+IMVD6i7w4yjIvh6VyuRI0gRtxAsXtoC35uGMaQ9rjI2zJaXDEAw==}
+ /@typescript-eslint/visitor-keys@7.0.0:
+ resolution: {integrity: sha512-JZP0uw59PRHp7sHQl3aF/lFgwOW2rgNVnXUksj1d932PMita9wFBd3621vHQRDvHwPsSY9FMAAHVc8gTvLYY4w==}
engines: {node: ^16.0.0 || >=18.0.0}
dependencies:
- '@typescript-eslint/types': 6.20.0
+ '@typescript-eslint/types': 7.0.0
eslint-visitor-keys: 3.4.3
dev: true
@@ -754,38 +927,38 @@ packages:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
dev: true
- /@vitest/expect@1.3.1:
- resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==}
+ /@vitest/expect@1.2.0:
+ resolution: {integrity: sha512-H+2bHzhyvgp32o7Pgj2h9RTHN0pgYaoi26Oo3mE+dCi1PAqV31kIIVfTbqMO3Bvshd5mIrJLc73EwSRrbol9Lw==}
dependencies:
- '@vitest/spy': 1.3.1
- '@vitest/utils': 1.3.1
+ '@vitest/spy': 1.2.0
+ '@vitest/utils': 1.2.0
chai: 4.4.1
dev: true
- /@vitest/runner@1.3.1:
- resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==}
+ /@vitest/runner@1.2.0:
+ resolution: {integrity: sha512-vaJkDoQaNUTroT70OhM0NPznP7H3WyRwt4LvGwCVYs/llLaqhoSLnlIhUClZpbF5RgAee29KRcNz0FEhYcgxqA==}
dependencies:
- '@vitest/utils': 1.3.1
+ '@vitest/utils': 1.2.0
p-limit: 5.0.0
pathe: 1.1.2
dev: true
- /@vitest/snapshot@1.3.1:
- resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==}
+ /@vitest/snapshot@1.2.0:
+ resolution: {integrity: sha512-P33EE7TrVgB3HDLllrjK/GG6WSnmUtWohbwcQqmm7TAk9AVHpdgf7M3F3qRHKm6vhr7x3eGIln7VH052Smo6Kw==}
dependencies:
- magic-string: 0.30.5
+ magic-string: 0.30.8
pathe: 1.1.2
pretty-format: 29.7.0
dev: true
- /@vitest/spy@1.3.1:
- resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==}
+ /@vitest/spy@1.2.0:
+ resolution: {integrity: sha512-MNxSAfxUaCeowqyyGwC293yZgk7cECZU9wGb8N1pYQ0yOn/SIr8t0l9XnGRdQZvNV/ZHBYu6GO/W3tj5K3VN1Q==}
dependencies:
tinyspy: 2.2.1
dev: true
- /@vitest/utils@1.3.1:
- resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==}
+ /@vitest/utils@1.2.0:
+ resolution: {integrity: sha512-FyD5bpugsXlwVpTcGLDf3wSPYy8g541fQt14qtzo8mJ4LdEpDKZ9mQy2+qdJm2TZRpjY5JLXihXCgIxiRJgi5g==}
dependencies:
diff-sequences: 29.6.3
estree-walker: 3.0.3
@@ -811,15 +984,6 @@ packages:
engines: {node: '>=0.4.0'}
hasBin: true
- /agent-base@7.1.0:
- resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==}
- engines: {node: '>= 14'}
- dependencies:
- debug: 4.3.4
- transitivePeerDependencies:
- - supports-color
- dev: true
-
/ajv@6.12.6:
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
dependencies:
@@ -829,13 +993,6 @@ packages:
uri-js: 4.4.1
dev: true
- /ansi-escapes@6.2.0:
- resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==}
- engines: {node: '>=14.16'}
- dependencies:
- type-fest: 3.13.1
- dev: true
-
/ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
@@ -895,28 +1052,24 @@ packages:
resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
dev: true
- /asynckit@0.4.0:
- resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
- dev: true
-
- /autoprefixer@10.4.17(postcss@8.4.33):
- resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==}
+ /autoprefixer@10.4.19(postcss@8.4.38):
+ resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==}
engines: {node: ^10 || ^12 || >=14}
hasBin: true
peerDependencies:
postcss: ^8.1.0
dependencies:
- browserslist: 4.22.3
- caniuse-lite: 1.0.30001581
+ browserslist: 4.23.0
+ caniuse-lite: 1.0.30001600
fraction.js: 4.3.7
normalize-range: 0.1.2
picocolors: 1.0.0
- postcss: 8.4.33
+ postcss: 8.4.38
postcss-value-parser: 4.2.0
dev: true
- /axobject-query@4.0.0:
- resolution: {integrity: sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==}
+ /axobject-query@3.2.1:
+ resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
dependencies:
dequal: 2.0.3
@@ -924,8 +1077,8 @@ packages:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
dev: true
- /binary-extensions@2.2.0:
- resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
+ /binary-extensions@2.3.0:
+ resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
engines: {node: '>=8'}
dev: true
@@ -949,15 +1102,15 @@ packages:
fill-range: 7.0.1
dev: true
- /browserslist@4.22.3:
- resolution: {integrity: sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==}
+ /browserslist@4.23.0:
+ resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
dependencies:
- caniuse-lite: 1.0.30001581
- electron-to-chromium: 1.4.649
+ caniuse-lite: 1.0.30001600
+ electron-to-chromium: 1.4.718
node-releases: 2.0.14
- update-browserslist-db: 1.0.13(browserslist@4.22.3)
+ update-browserslist-db: 1.0.13(browserslist@4.23.0)
dev: true
/buffer-crc32@0.2.13:
@@ -977,10 +1130,9 @@ packages:
/camelcase-css@2.0.1:
resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
engines: {node: '>= 6'}
- dev: true
- /caniuse-lite@1.0.30001581:
- resolution: {integrity: sha512-whlTkwhqV2tUmP3oYhtNfaWGYHDdS3JYFQBKXxcUR9qqPWsRhFHhoISO2Xnl/g0xyKzht9mI1LZpiNWfMzHixQ==}
+ /caniuse-lite@1.0.30001600:
+ resolution: {integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==}
dev: true
/chai@4.4.1:
@@ -1004,10 +1156,12 @@ packages:
supports-color: 7.2.0
dev: true
- /chalk@5.3.0:
- resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
- engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
- dev: true
+ /chart.js@4.4.2:
+ resolution: {integrity: sha512-6GD7iKwFpP5kbSD4MeRRRlTnQvxfQREy36uEtm1hzHzcOqwWx0YEHuspuoNlslu+nciLIB7fjjsHkUv/FzFcOg==}
+ engines: {pnpm: '>=8'}
+ dependencies:
+ '@kurkle/color': 0.3.2
+ dev: false
/check-error@1.0.3:
resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==}
@@ -1015,8 +1169,8 @@ packages:
get-func-name: 2.0.2
dev: true
- /chokidar@3.5.3:
- resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
+ /chokidar@3.6.0:
+ resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'}
dependencies:
anymatch: 3.1.3
@@ -1030,21 +1184,6 @@ packages:
fsevents: 2.3.3
dev: true
- /cli-cursor@4.0.0:
- resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dependencies:
- restore-cursor: 4.0.0
- dev: true
-
- /cli-truncate@4.0.0:
- resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
- engines: {node: '>=18'}
- dependencies:
- slice-ansi: 5.0.0
- string-width: 7.1.0
- dev: true
-
/cliui@8.0.1:
resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
engines: {node: '>=12'}
@@ -1072,37 +1211,22 @@ packages:
/color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
- /colorette@2.0.20:
- resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
- dev: true
-
- /combined-stream@1.0.8:
- resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
- engines: {node: '>= 0.8'}
- dependencies:
- delayed-stream: 1.0.0
- dev: true
-
- /commander@11.1.0:
- resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
- engines: {node: '>=16'}
- dev: true
-
/commander@4.1.1:
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
engines: {node: '>= 6'}
dev: true
+ /compare-versions@6.1.0:
+ resolution: {integrity: sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==}
+ dev: false
+
/concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
dev: true
- /cross-env@7.0.3:
- resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
- engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
- hasBin: true
- dependencies:
- cross-spawn: 7.0.3
+ /cookie@0.6.0:
+ resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
+ engines: {node: '>= 0.6'}
dev: true
/cross-spawn@7.0.3:
@@ -1114,33 +1238,41 @@ packages:
which: 2.0.2
dev: true
+ /css-selector-tokenizer@0.8.0:
+ resolution: {integrity: sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==}
+ dependencies:
+ cssesc: 3.0.0
+ fastparse: 1.1.2
+ dev: false
+
/css-tree@2.3.1:
resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
dependencies:
mdn-data: 2.0.30
- source-map-js: 1.0.2
+ source-map-js: 1.2.0
/cssesc@3.0.0:
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
engines: {node: '>=4'}
hasBin: true
- dev: true
- /cssstyle@4.0.1:
- resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==}
- engines: {node: '>=18'}
- dependencies:
- rrweb-cssom: 0.6.0
- dev: true
+ /culori@3.3.0:
+ resolution: {integrity: sha512-pHJg+jbuFsCjz9iclQBqyL3B2HLCBF71BwVNujUYEvCeQMvV97R59MNK3R2+jgJ3a1fcZgI9B3vYgz8lzr/BFQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dev: false
- /data-urls@5.0.0:
- resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
- engines: {node: '>=18'}
+ /daisyui@4.10.2(postcss@8.4.38):
+ resolution: {integrity: sha512-eCWS1W/JPyxW9IvlgW5m0R6rp9ZhRsBTW37rvEUthckkjsV04u8XipV519OoccSA46ixhSJa3q7XLI1WUFtRCA==}
+ engines: {node: '>=16.9.0'}
dependencies:
- whatwg-mimetype: 4.0.0
- whatwg-url: 14.0.0
- dev: true
+ css-selector-tokenizer: 0.8.0
+ culori: 3.3.0
+ picocolors: 1.0.0
+ postcss-js: 4.0.1(postcss@8.4.38)
+ transitivePeerDependencies:
+ - postcss
+ dev: false
/debug@4.3.4:
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
@@ -1154,10 +1286,6 @@ packages:
ms: 2.1.2
dev: true
- /decimal.js@10.4.3:
- resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
- dev: true
-
/deep-eql@4.1.3:
resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==}
engines: {node: '>=6'}
@@ -1174,11 +1302,6 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
- /delayed-stream@1.0.0:
- resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
- engines: {node: '>=0.4.0'}
- dev: true
-
/dequal@2.0.3:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
@@ -1188,6 +1311,10 @@ packages:
engines: {node: '>=8'}
dev: true
+ /devalue@4.3.2:
+ resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==}
+ dev: true
+
/didyoumean@1.2.2:
resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
dev: true
@@ -1215,21 +1342,19 @@ packages:
esutils: 2.0.3
dev: true
- /electron-to-chromium@1.4.649:
- resolution: {integrity: sha512-dq/owIaALxZGqWm5RXpKQ4baX6aDC19e2Z16c8SXYN+I71PyEKjbVqQUgm7kcuk8CRqljTKXbolo0XXDjxnh2w==}
+ /eastasianwidth@0.2.0:
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
dev: true
- /emoji-regex@10.3.0:
- resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==}
+ /electron-to-chromium@1.4.718:
+ resolution: {integrity: sha512-6FpOapKxHuRNUoNQEP54sAacMod/XX68/Oaau+UoTEC8yxy5lR8jAvTlyrb60oZ9OtuUuAEtKvCQOJm6S4MtBQ==}
dev: true
/emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
- dev: false
- /entities@4.5.0:
- resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
- engines: {node: '>=0.12'}
+ /emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
dev: true
/es6-promise@3.3.1:
@@ -1267,8 +1392,8 @@ packages:
'@esbuild/win32-x64': 0.19.12
dev: true
- /escalade@3.1.1:
- resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
+ /escalade@3.1.2:
+ resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
engines: {node: '>=6'}
/escape-string-regexp@4.0.0:
@@ -1276,6 +1401,53 @@ packages:
engines: {node: '>=10'}
dev: true
+ /eslint-compat-utils@0.1.2(eslint@8.56.0):
+ resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ eslint: '>=6.0.0'
+ dependencies:
+ eslint: 8.56.0
+ dev: true
+
+ /eslint-config-prettier@9.1.0(eslint@8.56.0):
+ resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
+ hasBin: true
+ peerDependencies:
+ eslint: '>=7.0.0'
+ dependencies:
+ eslint: 8.56.0
+ dev: true
+
+ /eslint-plugin-svelte@2.35.1(eslint@8.56.0)(svelte@4.2.7):
+ resolution: {integrity: sha512-IF8TpLnROSGy98Z3NrsKXWDSCbNY2ReHDcrYTuXZMbfX7VmESISR78TWgO9zdg4Dht1X8coub5jKwHzP0ExRug==}
+ engines: {node: ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0-0
+ svelte: ^3.37.0 || ^4.0.0
+ peerDependenciesMeta:
+ svelte:
+ optional: true
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
+ '@jridgewell/sourcemap-codec': 1.4.15
+ debug: 4.3.4
+ eslint: 8.56.0
+ eslint-compat-utils: 0.1.2(eslint@8.56.0)
+ esutils: 2.0.3
+ known-css-properties: 0.29.0
+ postcss: 8.4.38
+ postcss-load-config: 3.1.4(postcss@8.4.38)
+ postcss-safe-parser: 6.0.0(postcss@8.4.38)
+ postcss-selector-parser: 6.0.16
+ semver: 7.6.0
+ svelte: 4.2.7
+ svelte-eslint-parser: 0.33.1(svelte@4.2.7)
+ transitivePeerDependencies:
+ - supports-color
+ - ts-node
+ dev: true
+
/eslint-scope@7.2.2:
resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -1319,7 +1491,7 @@ packages:
glob-parent: 6.0.2
globals: 13.24.0
graphemer: 1.4.0
- ignore: 5.3.0
+ ignore: 5.3.1
imurmurhash: 0.1.4
is-glob: 4.0.3
is-path-inside: 3.0.3
@@ -1336,6 +1508,10 @@ packages:
- supports-color
dev: true
+ /esm-env@1.0.0:
+ resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==}
+ dev: true
+
/espree@9.6.1:
resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -1374,8 +1550,19 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
- /eventemitter3@5.0.1:
- resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
+ /execa@5.1.1:
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
+ engines: {node: '>=10'}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 2.1.0
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
dev: true
/execa@8.0.1:
@@ -1387,7 +1574,7 @@ packages:
human-signals: 5.0.0
is-stream: 3.0.0
merge-stream: 2.0.0
- npm-run-path: 5.1.0
+ npm-run-path: 5.3.0
onetime: 6.0.0
signal-exit: 4.1.0
strip-final-newline: 3.0.0
@@ -1401,8 +1588,8 @@ packages:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
dev: true
- /fast-glob@3.3.0:
- resolution: {integrity: sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==}
+ /fast-glob@3.3.2:
+ resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
engines: {node: '>=8.6.0'}
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -1420,8 +1607,12 @@ packages:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
dev: true
- /fastq@1.15.0:
- resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
+ /fastparse@1.1.2:
+ resolution: {integrity: sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==}
+ dev: false
+
+ /fastq@1.17.1:
+ resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
dependencies:
reusify: 1.0.4
dev: true
@@ -1456,37 +1647,27 @@ packages:
resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
engines: {node: ^10.12.0 || >=12.0.0}
dependencies:
- flatted: 3.2.9
+ flatted: 3.3.1
keyv: 4.5.4
rimraf: 3.0.2
dev: true
- /flatted@3.2.9:
- resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==}
+ /flatted@3.3.1:
+ resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
dev: true
- /form-data@4.0.0:
- resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
- engines: {node: '>= 6'}
+ /foreground-child@3.1.1:
+ resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
+ engines: {node: '>=14'}
dependencies:
- asynckit: 0.4.0
- combined-stream: 1.0.8
- mime-types: 2.1.35
+ cross-spawn: 7.0.3
+ signal-exit: 4.1.0
dev: true
/fraction.js@4.3.7:
resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
dev: true
- /fs-extra@10.1.0:
- resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
- engines: {node: '>=12'}
- dependencies:
- graceful-fs: 4.2.11
- jsonfile: 6.1.0
- universalify: 2.0.0
- dev: true
-
/fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
dev: true
@@ -1499,8 +1680,8 @@ packages:
dev: true
optional: true
- /function-bind@1.1.1:
- resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
+ /function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
dev: true
/get-caller-file@2.0.5:
@@ -1508,15 +1689,15 @@ packages:
engines: {node: 6.* || 8.* || >= 10.*}
dev: false
- /get-east-asian-width@1.2.0:
- resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==}
- engines: {node: '>=18'}
- dev: true
-
/get-func-name@2.0.2:
resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
dev: true
+ /get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
+ dev: true
+
/get-stream@8.0.1:
resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
engines: {node: '>=16'}
@@ -1536,15 +1717,16 @@ packages:
is-glob: 4.0.3
dev: true
- /glob@7.1.6:
- resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
+ /glob@10.3.10:
+ resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ hasBin: true
dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.2
- once: 1.4.0
- path-is-absolute: 1.0.1
+ foreground-child: 3.1.1
+ jackspeak: 2.3.6
+ minimatch: 9.0.3
+ minipass: 7.0.4
+ path-scurry: 1.10.1
dev: true
/glob@7.2.3:
@@ -1565,18 +1747,26 @@ packages:
type-fest: 0.20.2
dev: true
+ /globalyzer@0.1.0:
+ resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
+ dev: true
+
/globby@11.1.0:
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
engines: {node: '>=10'}
dependencies:
array-union: 2.1.0
dir-glob: 3.0.1
- fast-glob: 3.3.0
- ignore: 5.3.0
+ fast-glob: 3.3.2
+ ignore: 5.3.1
merge2: 1.4.1
slash: 3.0.0
dev: true
+ /globrex@0.1.2:
+ resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
+ dev: true
+
/graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
dev: true
@@ -1590,38 +1780,16 @@ packages:
engines: {node: '>=8'}
dev: true
- /has@1.0.3:
- resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
- engines: {node: '>= 0.4.0'}
+ /hasown@2.0.2:
+ resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
+ engines: {node: '>= 0.4'}
dependencies:
- function-bind: 1.1.1
+ function-bind: 1.1.2
dev: true
- /html-encoding-sniffer@4.0.0:
- resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==}
- engines: {node: '>=18'}
- dependencies:
- whatwg-encoding: 3.1.1
- dev: true
-
- /http-proxy-agent@7.0.2:
- resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
- engines: {node: '>= 14'}
- dependencies:
- agent-base: 7.1.0
- debug: 4.3.4
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /https-proxy-agent@7.0.4:
- resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==}
- engines: {node: '>= 14'}
- dependencies:
- agent-base: 7.1.0
- debug: 4.3.4
- transitivePeerDependencies:
- - supports-color
+ /human-signals@2.1.0:
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+ engines: {node: '>=10.17.0'}
dev: true
/human-signals@5.0.0:
@@ -1629,21 +1797,8 @@ packages:
engines: {node: '>=16.17.0'}
dev: true
- /husky@9.0.7:
- resolution: {integrity: sha512-vWdusw+y12DUEeoZqW1kplOFqk3tedGV8qlga8/SF6a3lOiWLqGZZQvfWvY0fQYdfiRi/u1DFNpudTSV9l1aCg==}
- engines: {node: '>=18'}
- hasBin: true
- dev: true
-
- /iconv-lite@0.6.3:
- resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
- engines: {node: '>=0.10.0'}
- dependencies:
- safer-buffer: 2.1.2
- dev: true
-
- /ignore@5.3.0:
- resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==}
+ /ignore@5.3.1:
+ resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
engines: {node: '>= 4'}
dev: true
@@ -1655,6 +1810,10 @@ packages:
resolve-from: 4.0.0
dev: true
+ /import-meta-resolve@4.0.0:
+ resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==}
+ dev: true
+
/imurmurhash@0.1.4:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
@@ -1675,13 +1834,13 @@ packages:
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
engines: {node: '>=8'}
dependencies:
- binary-extensions: 2.2.0
+ binary-extensions: 2.3.0
dev: true
- /is-core-module@2.12.1:
- resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==}
+ /is-core-module@2.13.1:
+ resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
dependencies:
- has: 1.0.3
+ hasown: 2.0.2
dev: true
/is-extglob@2.1.1:
@@ -1692,19 +1851,6 @@ packages:
/is-fullwidth-code-point@3.0.0:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
engines: {node: '>=8'}
- dev: false
-
- /is-fullwidth-code-point@4.0.0:
- resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
- engines: {node: '>=12'}
- dev: true
-
- /is-fullwidth-code-point@5.0.0:
- resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==}
- engines: {node: '>=18'}
- dependencies:
- get-east-asian-width: 1.2.0
- dev: true
/is-glob@4.0.3:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
@@ -1723,15 +1869,16 @@ packages:
engines: {node: '>=8'}
dev: true
- /is-potential-custom-element-name@1.0.1:
- resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
- dev: true
-
/is-reference@3.0.2:
resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
dependencies:
'@types/estree': 1.0.5
+ /is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+ dev: true
+
/is-stream@3.0.0:
resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -1741,13 +1888,18 @@ packages:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
dev: true
- /jiti@1.19.1:
- resolution: {integrity: sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==}
- hasBin: true
+ /jackspeak@2.3.6:
+ resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@isaacs/cliui': 8.0.2
+ optionalDependencies:
+ '@pkgjs/parseargs': 0.11.0
dev: true
- /js-tokens@8.0.3:
- resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==}
+ /jiti@1.21.0:
+ resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
+ hasBin: true
dev: true
/js-yaml@4.1.0:
@@ -1757,42 +1909,6 @@ packages:
argparse: 2.0.1
dev: true
- /jsdom@24.0.0:
- resolution: {integrity: sha512-UDS2NayCvmXSXVP6mpTj+73JnNQadZlr9N68189xib2tx5Mls7swlTNao26IoHv46BZJFvXygyRtyXd1feAk1A==}
- engines: {node: '>=18'}
- peerDependencies:
- canvas: ^2.11.2
- peerDependenciesMeta:
- canvas:
- optional: true
- dependencies:
- cssstyle: 4.0.1
- data-urls: 5.0.0
- decimal.js: 10.4.3
- form-data: 4.0.0
- html-encoding-sniffer: 4.0.0
- http-proxy-agent: 7.0.2
- https-proxy-agent: 7.0.4
- is-potential-custom-element-name: 1.0.1
- nwsapi: 2.2.7
- parse5: 7.1.2
- rrweb-cssom: 0.6.0
- saxes: 6.0.0
- symbol-tree: 3.2.4
- tough-cookie: 4.1.3
- w3c-xmlserializer: 5.0.0
- webidl-conversions: 7.0.0
- whatwg-encoding: 3.1.1
- whatwg-mimetype: 4.0.0
- whatwg-url: 14.0.0
- ws: 8.16.0
- xml-name-validator: 5.0.0
- transitivePeerDependencies:
- - bufferutil
- - supports-color
- - utf-8-validate
- dev: true
-
/json-buffer@3.0.1:
resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
dev: true
@@ -1809,13 +1925,10 @@ packages:
resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==}
dev: true
- /jsonfile@6.1.0:
- resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
- dependencies:
- universalify: 2.0.0
- optionalDependencies:
- graceful-fs: 4.2.11
- dev: true
+ /jwt-decode@4.0.0:
+ resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==}
+ engines: {node: '>=18'}
+ dev: false
/keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
@@ -1828,6 +1941,14 @@ packages:
engines: {node: '>=6'}
dev: true
+ /known-css-properties@0.29.0:
+ resolution: {integrity: sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==}
+ dev: true
+
+ /kolorist@1.8.0:
+ resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
+ dev: true
+
/levn@0.4.1:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
@@ -1841,8 +1962,8 @@ packages:
engines: {node: '>=10'}
dev: true
- /lilconfig@3.0.0:
- resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==}
+ /lilconfig@3.1.1:
+ resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==}
engines: {node: '>=14'}
dev: true
@@ -1850,42 +1971,11 @@ packages:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
dev: true
- /lint-staged@15.2.0:
- resolution: {integrity: sha512-TFZzUEV00f+2YLaVPWBWGAMq7So6yQx+GG8YRMDeOEIf95Zn5RyiLMsEiX4KTNl9vq/w+NqRJkLA1kPIo15ufQ==}
- engines: {node: '>=18.12.0'}
- hasBin: true
- dependencies:
- chalk: 5.3.0
- commander: 11.1.0
- debug: 4.3.4
- execa: 8.0.1
- lilconfig: 3.0.0
- listr2: 8.0.0
- micromatch: 4.0.5
- pidtree: 0.6.0
- string-argv: 0.3.2
- yaml: 2.3.4
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /listr2@8.0.0:
- resolution: {integrity: sha512-u8cusxAcyqAiQ2RhYvV7kRKNLgUvtObIbhOX2NCXqvp1UU32xIg5CT22ykS2TPKJXZWJwtK3IKLiqAGlGNE+Zg==}
- engines: {node: '>=18.0.0'}
- dependencies:
- cli-truncate: 4.0.0
- colorette: 2.0.20
- eventemitter3: 5.0.1
- log-update: 6.0.0
- rfdc: 1.3.0
- wrap-ansi: 9.0.0
- dev: true
-
/local-pkg@0.5.0:
resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
engines: {node: '>=14'}
dependencies:
- mlly: 1.6.0
+ mlly: 1.6.1
pkg-types: 1.0.3
dev: true
@@ -1903,23 +1993,17 @@ packages:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true
- /log-update@6.0.0:
- resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==}
- engines: {node: '>=18'}
- dependencies:
- ansi-escapes: 6.2.0
- cli-cursor: 4.0.0
- slice-ansi: 7.1.0
- strip-ansi: 7.1.0
- wrap-ansi: 9.0.0
- dev: true
-
/loupe@2.3.7:
resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==}
dependencies:
get-func-name: 2.0.2
dev: true
+ /lru-cache@10.2.0:
+ resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==}
+ engines: {node: 14 || >=16.14}
+ dev: true
+
/lru-cache@6.0.0:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
engines: {node: '>=10'}
@@ -1927,8 +2011,8 @@ packages:
yallist: 4.0.0
dev: true
- /magic-string@0.30.5:
- resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==}
+ /magic-string@0.30.8:
+ resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==}
engines: {node: '>=12'}
dependencies:
'@jridgewell/sourcemap-codec': 1.4.15
@@ -1957,18 +2041,6 @@ packages:
picomatch: 2.3.1
dev: true
- /mime-db@1.52.0:
- resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
- engines: {node: '>= 0.6'}
- dev: true
-
- /mime-types@2.1.35:
- resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
- engines: {node: '>= 0.6'}
- dependencies:
- mime-db: 1.52.0
- dev: true
-
/mimic-fn@2.1.0:
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
engines: {node: '>=6'}
@@ -2001,6 +2073,11 @@ packages:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
dev: true
+ /minipass@7.0.4:
+ resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dev: true
+
/mkdirp@0.5.6:
resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
hasBin: true
@@ -2008,13 +2085,17 @@ packages:
minimist: 1.2.8
dev: true
- /mlly@1.6.0:
- resolution: {integrity: sha512-YOvg9hfYQmnaB56Yb+KrJE2u0Yzz5zR+sLejEvF4fzwzV1Al6hkf2vyHTwqCRyv0hCi9rVCqVoXpyYevQIRwLQ==}
+ /mlly@1.6.1:
+ resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==}
dependencies:
acorn: 8.11.3
pathe: 1.1.2
pkg-types: 1.0.3
- ufo: 1.4.0
+ ufo: 1.5.3
+ dev: true
+
+ /mousetrap@1.6.5:
+ resolution: {integrity: sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==}
dev: true
/mri@1.2.0:
@@ -2022,6 +2103,11 @@ packages:
engines: {node: '>=4'}
dev: true
+ /mrmime@2.0.0:
+ resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
+ engines: {node: '>=10'}
+ dev: true
+
/ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
dev: true
@@ -2038,7 +2124,6 @@ packages:
resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
- dev: true
/natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
@@ -2062,17 +2147,20 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
- /npm-run-path@5.1.0:
- resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==}
+ /npm-run-path@4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-key: 3.1.1
+ dev: true
+
+ /npm-run-path@5.3.0:
+ resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dependencies:
path-key: 4.0.0
dev: true
- /nwsapi@2.2.7:
- resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==}
- dev: true
-
/object-assign@4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
@@ -2143,12 +2231,6 @@ packages:
callsites: 3.1.0
dev: true
- /parse5@7.1.2:
- resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
- dependencies:
- entities: 4.5.0
- dev: true
-
/path-exists@4.0.0:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
engines: {node: '>=8'}
@@ -2173,6 +2255,14 @@ packages:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
dev: true
+ /path-scurry@1.10.1:
+ resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dependencies:
+ lru-cache: 10.2.0
+ minipass: 7.0.4
+ dev: true
+
/path-type@4.0.0:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
engines: {node: '>=8'}
@@ -2195,19 +2285,12 @@ packages:
/picocolors@1.0.0:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
- dev: true
/picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
dev: true
- /pidtree@0.6.0:
- resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
- engines: {node: '>=0.10'}
- hasBin: true
- dev: true
-
/pify@2.3.0:
resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
engines: {node: '>=0.10.0'}
@@ -2222,35 +2305,40 @@ packages:
resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==}
dependencies:
jsonc-parser: 3.2.1
- mlly: 1.6.0
+ mlly: 1.6.1
pathe: 1.1.2
dev: true
- /postcss-import@15.1.0(postcss@8.4.33):
+ /playwright-core@1.28.1:
+ resolution: {integrity: sha512-3PixLnGPno0E8rSBJjtwqTwJe3Yw72QwBBBxNoukIj3lEeBNXwbNiKrNuB1oyQgTBw5QHUhNO3SteEtHaMK6ag==}
+ engines: {node: '>=14'}
+ hasBin: true
+ dev: true
+
+ /postcss-import@15.1.0(postcss@8.4.38):
resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
engines: {node: '>=14.0.0'}
peerDependencies:
postcss: ^8.0.0
dependencies:
- postcss: 8.4.33
+ postcss: 8.4.38
postcss-value-parser: 4.2.0
read-cache: 1.0.0
- resolve: 1.22.2
+ resolve: 1.22.8
dev: true
- /postcss-js@4.0.1(postcss@8.4.33):
+ /postcss-js@4.0.1(postcss@8.4.38):
resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
engines: {node: ^12 || ^14 || >= 16}
peerDependencies:
postcss: ^8.4.21
dependencies:
camelcase-css: 2.0.1
- postcss: 8.4.33
- dev: true
+ postcss: 8.4.38
- /postcss-load-config@4.0.1(postcss@8.4.33):
- resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==}
- engines: {node: '>= 14'}
+ /postcss-load-config@3.1.4(postcss@8.4.38):
+ resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
+ engines: {node: '>= 10'}
peerDependencies:
postcss: '>=8.0.9'
ts-node: '>=9.0.0'
@@ -2261,22 +2349,57 @@ packages:
optional: true
dependencies:
lilconfig: 2.1.0
- postcss: 8.4.33
- yaml: 2.3.1
+ postcss: 8.4.38
+ yaml: 1.10.2
dev: true
- /postcss-nested@6.0.1(postcss@8.4.33):
+ /postcss-load-config@4.0.2(postcss@8.4.38):
+ resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
+ engines: {node: '>= 14'}
+ peerDependencies:
+ postcss: '>=8.0.9'
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ ts-node:
+ optional: true
+ dependencies:
+ lilconfig: 3.1.1
+ postcss: 8.4.38
+ yaml: 2.4.1
+ dev: true
+
+ /postcss-nested@6.0.1(postcss@8.4.38):
resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
engines: {node: '>=12.0'}
peerDependencies:
postcss: ^8.2.14
dependencies:
- postcss: 8.4.33
- postcss-selector-parser: 6.0.13
+ postcss: 8.4.38
+ postcss-selector-parser: 6.0.16
dev: true
- /postcss-selector-parser@6.0.13:
- resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
+ /postcss-safe-parser@6.0.0(postcss@8.4.38):
+ resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.3.3
+ dependencies:
+ postcss: 8.4.38
+ dev: true
+
+ /postcss-scss@4.0.9(postcss@8.4.38):
+ resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.4.29
+ dependencies:
+ postcss: 8.4.38
+ dev: true
+
+ /postcss-selector-parser@6.0.16:
+ resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
engines: {node: '>=4'}
dependencies:
cssesc: 3.0.0
@@ -2287,34 +2410,34 @@ packages:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
dev: true
- /postcss@8.4.33:
- resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==}
+ /postcss@8.4.38:
+ resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
engines: {node: ^10 || ^12 || >=14}
dependencies:
nanoid: 3.3.7
picocolors: 1.0.0
- source-map-js: 1.0.2
- dev: true
+ source-map-js: 1.2.0
/prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
dev: true
- /prettier-plugin-svelte@3.2.1(prettier@3.2.4)(svelte@4.2.9):
- resolution: {integrity: sha512-ENAPbIxASf2R79IZwgkG5sBdeNA9kLRlXVvKKmTXh79zWTy0KKoT86XO2pHrTitUPINd+iXWy12MRmgzKGVckA==}
+ /prettier-plugin-svelte@3.1.2(prettier@3.1.1)(svelte@4.2.7):
+ resolution: {integrity: sha512-7xfMZtwgAWHMT0iZc8jN4o65zgbAQ3+O32V6W7pXrqNvKnHnkoyQCGCbKeUyXKZLbYE0YhFRnamfxfkEGxm8qA==}
peerDependencies:
prettier: ^3.0.0
svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0
dependencies:
- prettier: 3.2.4
- svelte: 4.2.9
- dev: false
+ prettier: 3.1.1
+ svelte: 4.2.7
+ dev: true
- /prettier@3.2.4:
- resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==}
+ /prettier@3.1.1:
+ resolution: {integrity: sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==}
engines: {node: '>=14'}
hasBin: true
+ dev: true
/pretty-format@29.7.0:
resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
@@ -2325,19 +2448,11 @@ packages:
react-is: 18.2.0
dev: true
- /psl@1.9.0:
- resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
- dev: true
-
/punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
dev: true
- /querystringify@2.2.0:
- resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
- dev: true
-
/queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
dev: true
@@ -2364,41 +2479,25 @@ packages:
engines: {node: '>=0.10.0'}
dev: false
- /requires-port@1.0.0:
- resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
- dev: true
-
/resolve-from@4.0.0:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'}
dev: true
- /resolve@1.22.2:
- resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==}
+ /resolve@1.22.8:
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
hasBin: true
dependencies:
- is-core-module: 2.12.1
+ is-core-module: 2.13.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
dev: true
- /restore-cursor@4.0.0:
- resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dependencies:
- onetime: 5.1.2
- signal-exit: 3.0.7
- dev: true
-
/reusify@1.0.4:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
dev: true
- /rfdc@1.3.0:
- resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==}
- dev: true
-
/rimraf@2.7.1:
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
hasBin: true
@@ -2413,33 +2512,30 @@ packages:
glob: 7.2.3
dev: true
- /rollup@4.9.6:
- resolution: {integrity: sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==}
+ /rollup@4.13.1:
+ resolution: {integrity: sha512-hFi+fU132IvJ2ZuihN56dwgpltpmLZHZWsx27rMCTZ2sYwrqlgL5sECGy1eeV2lAihD8EzChBVVhsXci0wD4Tg==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
dependencies:
'@types/estree': 1.0.5
optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.9.6
- '@rollup/rollup-android-arm64': 4.9.6
- '@rollup/rollup-darwin-arm64': 4.9.6
- '@rollup/rollup-darwin-x64': 4.9.6
- '@rollup/rollup-linux-arm-gnueabihf': 4.9.6
- '@rollup/rollup-linux-arm64-gnu': 4.9.6
- '@rollup/rollup-linux-arm64-musl': 4.9.6
- '@rollup/rollup-linux-riscv64-gnu': 4.9.6
- '@rollup/rollup-linux-x64-gnu': 4.9.6
- '@rollup/rollup-linux-x64-musl': 4.9.6
- '@rollup/rollup-win32-arm64-msvc': 4.9.6
- '@rollup/rollup-win32-ia32-msvc': 4.9.6
- '@rollup/rollup-win32-x64-msvc': 4.9.6
+ '@rollup/rollup-android-arm-eabi': 4.13.1
+ '@rollup/rollup-android-arm64': 4.13.1
+ '@rollup/rollup-darwin-arm64': 4.13.1
+ '@rollup/rollup-darwin-x64': 4.13.1
+ '@rollup/rollup-linux-arm-gnueabihf': 4.13.1
+ '@rollup/rollup-linux-arm64-gnu': 4.13.1
+ '@rollup/rollup-linux-arm64-musl': 4.13.1
+ '@rollup/rollup-linux-riscv64-gnu': 4.13.1
+ '@rollup/rollup-linux-s390x-gnu': 4.13.1
+ '@rollup/rollup-linux-x64-gnu': 4.13.1
+ '@rollup/rollup-linux-x64-musl': 4.13.1
+ '@rollup/rollup-win32-arm64-msvc': 4.13.1
+ '@rollup/rollup-win32-ia32-msvc': 4.13.1
+ '@rollup/rollup-win32-x64-msvc': 4.13.1
fsevents: 2.3.3
dev: true
- /rrweb-cssom@0.6.0:
- resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==}
- dev: true
-
/run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
dependencies:
@@ -2453,10 +2549,6 @@ packages:
mri: 1.2.0
dev: true
- /safer-buffer@2.1.2:
- resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
- dev: true
-
/sander@0.5.1:
resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==}
dependencies:
@@ -2466,21 +2558,18 @@ packages:
rimraf: 2.7.1
dev: true
- /saxes@6.0.0:
- resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
- engines: {node: '>=v12.22.7'}
- dependencies:
- xmlchars: 2.2.0
- dev: true
-
- /semver@7.5.4:
- resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
+ /semver@7.6.0:
+ resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
engines: {node: '>=10'}
hasBin: true
dependencies:
lru-cache: 6.0.0
dev: true
+ /set-cookie-parser@2.6.0:
+ resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==}
+ dev: true
+
/shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'}
@@ -2506,27 +2595,20 @@ packages:
engines: {node: '>=14'}
dev: true
+ /sirv@2.0.4:
+ resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
+ engines: {node: '>= 10'}
+ dependencies:
+ '@polka/url': 1.0.0-next.25
+ mrmime: 2.0.0
+ totalist: 3.0.1
+ dev: true
+
/slash@3.0.0:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'}
dev: true
- /slice-ansi@5.0.0:
- resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
- engines: {node: '>=12'}
- dependencies:
- ansi-styles: 6.2.1
- is-fullwidth-code-point: 4.0.0
- dev: true
-
- /slice-ansi@7.1.0:
- resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==}
- engines: {node: '>=18'}
- dependencies:
- ansi-styles: 6.2.1
- is-fullwidth-code-point: 5.0.0
- dev: true
-
/sorcery@0.11.0:
resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==}
hasBin: true
@@ -2537,8 +2619,8 @@ packages:
sander: 0.5.1
dev: true
- /source-map-js@1.0.2:
- resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
+ /source-map-js@1.2.0:
+ resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
engines: {node: '>=0.10.0'}
/stackback@0.0.2:
@@ -2549,11 +2631,6 @@ packages:
resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==}
dev: true
- /string-argv@0.3.2:
- resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
- engines: {node: '>=0.6.19'}
- dev: true
-
/string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
@@ -2561,14 +2638,13 @@ packages:
emoji-regex: 8.0.0
is-fullwidth-code-point: 3.0.0
strip-ansi: 6.0.1
- dev: false
- /string-width@7.1.0:
- resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==}
- engines: {node: '>=18'}
+ /string-width@5.1.2:
+ resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
+ engines: {node: '>=12'}
dependencies:
- emoji-regex: 10.3.0
- get-east-asian-width: 1.2.0
+ eastasianwidth: 0.2.0
+ emoji-regex: 9.2.2
strip-ansi: 7.1.0
dev: true
@@ -2585,6 +2661,11 @@ packages:
ansi-regex: 6.0.1
dev: true
+ /strip-final-newline@2.0.0:
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+ engines: {node: '>=6'}
+ dev: true
+
/strip-final-newline@3.0.0:
resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
engines: {node: '>=12'}
@@ -2602,20 +2683,20 @@ packages:
engines: {node: '>=8'}
dev: true
- /strip-literal@2.0.0:
- resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==}
+ /strip-literal@1.3.0:
+ resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==}
dependencies:
- js-tokens: 8.0.3
+ acorn: 8.11.3
dev: true
- /sucrase@3.33.0:
- resolution: {integrity: sha512-ARGC7vbufOHfpvyGcZZXFaXCMZ9A4fffOGC5ucOW7+WHDGlAe8LJdf3Jts1sWhDeiI1RSWrKy5Hodl+JWGdW2A==}
- engines: {node: '>=8'}
+ /sucrase@3.35.0:
+ resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
+ engines: {node: '>=16 || 14 >=14.17'}
hasBin: true
dependencies:
- '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/gen-mapping': 0.3.5
commander: 4.1.1
- glob: 7.1.6
+ glob: 10.3.10
lines-and-columns: 1.2.4
mz: 2.7.0
pirates: 4.0.6
@@ -2634,21 +2715,21 @@ packages:
engines: {node: '>= 0.4'}
dev: true
- /svelte-check@3.6.3(postcss@8.4.33)(svelte@4.2.9):
- resolution: {integrity: sha512-Q2nGnoysxUnB9KjnjpQLZwdjK62DHyW6nuH/gm2qteFnDk0lCehe/6z8TsIvYeKjC6luKaWxiNGyOcWiLLPSwA==}
+ /svelte-check@3.6.0(postcss@8.4.38)(svelte@4.2.7):
+ resolution: {integrity: sha512-8VfqhfuRJ1sKW+o8isH2kPi0RhjXH1nNsIbCFGyoUHG+ZxVxHYRKcb+S8eaL/1tyj3VGvWYx3Y5+oCUsJgnzcw==}
hasBin: true
peerDependencies:
svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0
dependencies:
- '@jridgewell/trace-mapping': 0.3.18
- chokidar: 3.5.3
- fast-glob: 3.3.0
+ '@jridgewell/trace-mapping': 0.3.25
+ chokidar: 3.6.0
+ fast-glob: 3.3.2
import-fresh: 3.3.0
picocolors: 1.0.0
sade: 1.8.1
- svelte: 4.2.9
- svelte-preprocess: 5.1.3(postcss@8.4.33)(svelte@4.2.9)(typescript@5.3.3)
- typescript: 5.3.3
+ svelte: 4.2.7
+ svelte-preprocess: 5.1.3(postcss@8.4.38)(svelte@4.2.7)(typescript@5.4.3)
+ typescript: 5.4.3
transitivePeerDependencies:
- '@babel/core'
- coffeescript
@@ -2661,23 +2742,51 @@ packages:
- sugarss
dev: true
- /svelte-hero-icons@5.0.0:
- resolution: {integrity: sha512-xKMI/Z0f/6831I0R1YKJjVbAw9VBD6XKysvng6LtomlS4n3ZD1lZNAfLrrCmnc1pmiLr/8sVeQA8kgHLQwYlRg==}
- engines: {node: '>=14.0.0'}
+ /svelte-dnd-list@0.1.8:
+ resolution: {integrity: sha512-81Nt/niux7kf59lql0lxTAH0z8xwAxHdHC9dZT7MbfE32T6hgeLsLZ7RIBNAihQ040Io1KghqqPXD+k2viiKeA==}
+ dev: false
+
+ /svelte-eslint-parser@0.33.1(svelte@4.2.7):
+ resolution: {integrity: sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ svelte: ^3.37.0 || ^4.0.0
+ peerDependenciesMeta:
+ svelte:
+ optional: true
dependencies:
- '@steeze-ui/heroicons': 2.2.3
+ eslint-scope: 7.2.2
+ eslint-visitor-keys: 3.4.3
+ espree: 9.6.1
+ postcss: 8.4.38
+ postcss-scss: 4.0.9(postcss@8.4.38)
+ svelte: 4.2.7
dev: true
- /svelte-hmr@0.15.3(svelte@4.2.9):
+ /svelte-focus-trap@1.2.0:
+ resolution: {integrity: sha512-/hIUHgKcFlewsQreq8v7DYNBkQe7rR0c94PNBOCsmeUwoIYAy6iXJ1pH0k3rWpjwZHKtUxeXbX1iRFlFhipbeg==}
+ dependencies:
+ mousetrap: 1.6.5
+ dev: true
+
+ /svelte-hmr@0.15.3(svelte@4.2.7):
resolution: {integrity: sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==}
engines: {node: ^12.20 || ^14.13.1 || >= 16}
peerDependencies:
svelte: ^3.19.0 || ^4.0.0
dependencies:
- svelte: 4.2.9
+ svelte: 4.2.7
dev: true
- /svelte-preprocess@5.1.3(postcss@8.4.33)(svelte@4.2.9)(typescript@5.3.3):
+ /svelte-modals@1.3.0(svelte@4.2.7):
+ resolution: {integrity: sha512-b1Ylnyv9O6b7VYeWGJVToaVU2lw7GtErVwiEdojyfnOuZcrhNlQ5eDqbTrL3xyKz8j2VTy/QiGUl1lm/6SnQ2A==}
+ peerDependencies:
+ svelte: ^3.0.0 || ^4.0.0
+ dependencies:
+ svelte: 4.2.7
+ dev: false
+
+ /svelte-preprocess@5.1.3(postcss@8.4.38)(svelte@4.2.7)(typescript@5.4.3):
resolution: {integrity: sha512-xxAkmxGHT+J/GourS5mVJeOXZzne1FR5ljeOUAMXUkfEhkLEllRreXpbl3dIYJlcJRfL1LO1uIAPpBpBfiqGPw==}
engines: {node: '>= 16.0.0', pnpm: ^8.0.0}
requiresBuild: true
@@ -2715,70 +2824,61 @@ packages:
typescript:
optional: true
dependencies:
- '@types/pug': 2.0.6
+ '@types/pug': 2.0.10
detect-indent: 6.1.0
- magic-string: 0.30.5
- postcss: 8.4.33
+ magic-string: 0.30.8
+ postcss: 8.4.38
sorcery: 0.11.0
strip-indent: 3.0.0
- svelte: 4.2.9
- typescript: 5.3.3
+ svelte: 4.2.7
+ typescript: 5.4.3
dev: true
- /svelte-routing@2.11.0:
- resolution: {integrity: sha512-oNJz2A8g5ZqBDuxUWMJLpU9XXGZ40Fz5uRvrGlpENs5C2QWK5m7YKiGINssN9yI/22f9wi4F5oTTkDaTyryolw==}
- dev: false
-
- /svelte@4.2.9:
- resolution: {integrity: sha512-hsoB/WZGEPFXeRRLPhPrbRz67PhP6sqYgvwcAs+gWdSQSvNDw+/lTeUJSWe5h2xC97Fz/8QxAOqItwBzNJPU8w==}
+ /svelte@4.2.7:
+ resolution: {integrity: sha512-UExR1KS7raTdycsUrKLtStayu4hpdV3VZQgM0akX8XbXgLBlosdE/Sf3crOgyh9xIjqSYB3UEBuUlIQKRQX2hg==}
engines: {node: '>=16'}
dependencies:
- '@ampproject/remapping': 2.2.1
+ '@ampproject/remapping': 2.3.0
'@jridgewell/sourcemap-codec': 1.4.15
- '@jridgewell/trace-mapping': 0.3.18
- '@types/estree': 1.0.5
+ '@jridgewell/trace-mapping': 0.3.25
acorn: 8.11.3
aria-query: 5.3.0
- axobject-query: 4.0.0
+ axobject-query: 3.2.1
code-red: 1.0.4
css-tree: 2.3.1
estree-walker: 3.0.3
is-reference: 3.0.2
locate-character: 3.0.0
- magic-string: 0.30.5
+ magic-string: 0.30.8
periscopic: 3.1.0
- /symbol-tree@3.2.4:
- resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
- dev: true
-
- /tailwindcss@3.4.1:
- resolution: {integrity: sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==}
+ /tailwindcss@3.4.3:
+ resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==}
engines: {node: '>=14.0.0'}
hasBin: true
dependencies:
'@alloc/quick-lru': 5.2.0
arg: 5.0.2
- chokidar: 3.5.3
+ chokidar: 3.6.0
didyoumean: 1.2.2
dlv: 1.1.3
- fast-glob: 3.3.0
+ fast-glob: 3.3.2
glob-parent: 6.0.2
is-glob: 4.0.3
- jiti: 1.19.1
+ jiti: 1.21.0
lilconfig: 2.1.0
micromatch: 4.0.5
normalize-path: 3.0.0
object-hash: 3.0.0
picocolors: 1.0.0
- postcss: 8.4.33
- postcss-import: 15.1.0(postcss@8.4.33)
- postcss-js: 4.0.1(postcss@8.4.33)
- postcss-load-config: 4.0.1(postcss@8.4.33)
- postcss-nested: 6.0.1(postcss@8.4.33)
- postcss-selector-parser: 6.0.13
- resolve: 1.22.2
- sucrase: 3.33.0
+ postcss: 8.4.38
+ postcss-import: 15.1.0(postcss@8.4.38)
+ postcss-js: 4.0.1(postcss@8.4.38)
+ postcss-load-config: 4.0.2(postcss@8.4.38)
+ postcss-nested: 6.0.1(postcss@8.4.38)
+ postcss-selector-parser: 6.0.16
+ resolve: 1.22.8
+ sucrase: 3.35.0
transitivePeerDependencies:
- ts-node
dev: true
@@ -2800,16 +2900,23 @@ packages:
any-promise: 1.3.0
dev: true
- /three@0.160.1:
- resolution: {integrity: sha512-Bgl2wPJypDOZ1stAxwfWAcJ0WQf7QzlptsxkjYiURPz+n5k4RBDLsq+6f9Y75TYxn6aHLcWz+JNmwTOXWrQTBQ==}
+ /three@0.162.0:
+ resolution: {integrity: sha512-xfCYj4RnlozReCmUd+XQzj6/5OjDNHBy5nT6rVwrOKGENAvpXe2z1jL+DZYaMu4/9pNsjH/4Os/VvS9IrH7IOQ==}
dev: false
+ /tiny-glob@0.2.9:
+ resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
+ dependencies:
+ globalyzer: 0.1.0
+ globrex: 0.1.2
+ dev: true
+
/tinybench@2.6.0:
resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==}
dev: true
- /tinypool@0.8.2:
- resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==}
+ /tinypool@0.8.3:
+ resolution: {integrity: sha512-Ud7uepAklqRH1bvwy22ynrliC7Dljz7Tm8M/0RBUW+YRa4YHhZ6e4PpgE+fu1zr/WqB1kbeuVrdfeuyIBpy4tw==}
engines: {node: '>=14.0.0'}
dev: true
@@ -2825,38 +2932,26 @@ packages:
is-number: 7.0.0
dev: true
- /tough-cookie@4.1.3:
- resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==}
+ /totalist@3.0.1:
+ resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
engines: {node: '>=6'}
- dependencies:
- psl: 1.9.0
- punycode: 2.3.1
- universalify: 0.2.0
- url-parse: 1.5.10
dev: true
- /tr46@5.0.0:
- resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==}
- engines: {node: '>=18'}
- dependencies:
- punycode: 2.3.1
- dev: true
-
- /ts-api-utils@1.0.3(typescript@5.3.3):
- resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==}
- engines: {node: '>=16.13.0'}
+ /ts-api-utils@1.3.0(typescript@5.0.2):
+ resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
+ engines: {node: '>=16'}
peerDependencies:
typescript: '>=4.2.0'
dependencies:
- typescript: 5.3.3
+ typescript: 5.0.2
dev: true
/ts-interface-checker@0.1.13:
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
dev: true
- /tslib@2.6.2:
- resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
+ /tslib@2.4.1:
+ resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==}
dev: true
/type-check@0.4.0:
@@ -2876,48 +2971,84 @@ packages:
engines: {node: '>=10'}
dev: true
- /type-fest@3.13.1:
- resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==}
- engines: {node: '>=14.16'}
+ /typescript@5.0.2:
+ resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==}
+ engines: {node: '>=12.20'}
+ hasBin: true
dev: true
- /typescript@5.3.3:
- resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
+ /typescript@5.4.3:
+ resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==}
engines: {node: '>=14.17'}
hasBin: true
dev: true
- /ufo@1.4.0:
- resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==}
+ /ufo@1.5.3:
+ resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
dev: true
- /universalify@0.2.0:
- resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
- engines: {node: '>= 4.0.0'}
+ /undici-types@5.26.5:
+ resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
dev: true
- /universalify@2.0.0:
- resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
- engines: {node: '>= 10.0.0'}
+ /unplugin-icons@0.18.5:
+ resolution: {integrity: sha512-KVNAohXbZ7tVcG1C3p6QaC7wU9Qrj7etv4XvsMMJAxr5LccQZ+Iuv5LOIv/7GtqXaGN1BuFCqRO1ErsHEgEXdQ==}
+ peerDependencies:
+ '@svgr/core': '>=7.0.0'
+ '@svgx/core': ^1.0.1
+ '@vue/compiler-sfc': ^3.0.2 || ^2.7.0
+ vue-template-compiler: ^2.6.12
+ vue-template-es2015-compiler: ^1.9.0
+ peerDependenciesMeta:
+ '@svgr/core':
+ optional: true
+ '@svgx/core':
+ optional: true
+ '@vue/compiler-sfc':
+ optional: true
+ vue-template-compiler:
+ optional: true
+ vue-template-es2015-compiler:
+ optional: true
+ dependencies:
+ '@antfu/install-pkg': 0.3.1
+ '@antfu/utils': 0.7.7
+ '@iconify/utils': 2.1.22
+ debug: 4.3.4
+ kolorist: 1.8.0
+ local-pkg: 0.5.0
+ unplugin: 1.10.0
+ transitivePeerDependencies:
+ - supports-color
dev: true
- /update-browserslist-db@1.0.13(browserslist@4.22.3):
+ /unplugin@1.10.0:
+ resolution: {integrity: sha512-CuZtvvO8ua2Wl+9q2jEaqH6m3DoQ38N7pvBYQbbaeNlWGvK2l6GHiKi29aIHDPoSxdUzQ7Unevf1/ugil5X6Pg==}
+ engines: {node: '>=14.0.0'}
+ dependencies:
+ acorn: 8.11.3
+ chokidar: 3.6.0
+ webpack-sources: 3.2.3
+ webpack-virtual-modules: 0.6.1
+ dev: true
+
+ /update-browserslist-db@1.0.13(browserslist@4.23.0):
resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
dependencies:
- browserslist: 4.22.3
- escalade: 3.1.1
+ browserslist: 4.23.0
+ escalade: 3.1.2
picocolors: 1.0.0
dev: true
- /urdf-loader@0.12.1(three@0.160.1):
+ /urdf-loader@0.12.1(three@0.162.0):
resolution: {integrity: sha512-Sae8dmekFD4ERZYDtpei8mxmuMxqy+YnjN2PfI1TsDz+9QIXL4PyPrvYbXcJj2h9MfL4aS6oUc2j3ap5jRFWfA==}
peerDependencies:
three: '>=0.152.0'
dependencies:
- three: 0.160.1
+ three: 0.162.0
dev: false
/uri-js@4.4.1:
@@ -2926,13 +3057,6 @@ packages:
punycode: 2.3.1
dev: true
- /url-parse@1.5.10:
- resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
- dependencies:
- querystringify: 2.2.0
- requires-port: 1.0.0
- dev: true
-
/util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
dev: true
@@ -2941,8 +3065,8 @@ packages:
resolution: {integrity: sha512-OZeJfZP+R0z9D6TmBgLq2LHzSSptGMGDGigGiEe0pr8UBe/7fdflgHlHBNDASTXB5jnFuxHpNaJywSg8YFeGng==}
dev: false
- /vite-node@1.3.1:
- resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==}
+ /vite-node@1.2.0:
+ resolution: {integrity: sha512-ETnQTHeAbbOxl7/pyBck9oAPZZZo+kYnFt1uQDD+hPReOc+wCjXw4r4jHriBRuVDB5isHmPXxrfc1yJnfBERqg==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
dependencies:
@@ -2950,7 +3074,7 @@ packages:
debug: 4.3.4
pathe: 1.1.2
picocolors: 1.0.0
- vite: 5.0.12
+ vite: 5.0.3
transitivePeerDependencies:
- '@types/node'
- less
@@ -2962,33 +3086,8 @@ packages:
- terser
dev: true
- /vite-plugin-compression@0.5.1(vite@5.0.12):
- resolution: {integrity: sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==}
- peerDependencies:
- vite: '>=2.0.0'
- dependencies:
- chalk: 4.1.2
- debug: 4.3.4
- fs-extra: 10.1.0
- vite: 5.0.12
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /vite-plugin-singlefile@1.0.0(rollup@4.9.6)(vite@5.0.12):
- resolution: {integrity: sha512-iVAxl0t7gndQrznI4kI14hqAGxhVL7FQndeTdvTIH5/CbwpR2asgD3XSTsd7iWC83YTCmwAmsHIQvKdIdnHu7w==}
- engines: {node: '>18.0.0'}
- peerDependencies:
- rollup: ^4.9.5
- vite: ^5.0.11
- dependencies:
- micromatch: 4.0.5
- rollup: 4.9.6
- vite: 5.0.12
- dev: true
-
- /vite@5.0.12:
- resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==}
+ /vite@5.0.3:
+ resolution: {integrity: sha512-WgEq8WEKpZ8c0DL4M1+E+kBZEJyjBmGVrul6z8Ljfhv+PPbNF4aGq014DwNYxGz2FGq6NKL0N8usdiESWd2l2w==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
@@ -3016,13 +3115,13 @@ packages:
optional: true
dependencies:
esbuild: 0.19.12
- postcss: 8.4.33
- rollup: 4.9.6
+ postcss: 8.4.38
+ rollup: 4.13.1
optionalDependencies:
fsevents: 2.3.3
dev: true
- /vitefu@0.2.5(vite@5.0.12):
+ /vitefu@0.2.5(vite@5.0.3):
resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==}
peerDependencies:
vite: ^3.0.0 || ^4.0.0 || ^5.0.0
@@ -3030,18 +3129,18 @@ packages:
vite:
optional: true
dependencies:
- vite: 5.0.12
+ vite: 5.0.3
dev: true
- /vitest@1.3.1(jsdom@24.0.0):
- resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==}
+ /vitest@1.2.0:
+ resolution: {integrity: sha512-Ixs5m7BjqvLHXcibkzKRQUvD/XLw0E3rvqaCMlrm/0LMsA0309ZqYvTlPzkhh81VlEyVZXFlwWnkhb6/UMtcaQ==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
'@types/node': ^18.0.0 || >=20.0.0
- '@vitest/browser': 1.3.1
- '@vitest/ui': 1.3.1
+ '@vitest/browser': ^1.0.0
+ '@vitest/ui': ^1.0.0
happy-dom: '*'
jsdom: '*'
peerDependenciesMeta:
@@ -3058,26 +3157,26 @@ packages:
jsdom:
optional: true
dependencies:
- '@vitest/expect': 1.3.1
- '@vitest/runner': 1.3.1
- '@vitest/snapshot': 1.3.1
- '@vitest/spy': 1.3.1
- '@vitest/utils': 1.3.1
+ '@vitest/expect': 1.2.0
+ '@vitest/runner': 1.2.0
+ '@vitest/snapshot': 1.2.0
+ '@vitest/spy': 1.2.0
+ '@vitest/utils': 1.2.0
acorn-walk: 8.3.2
+ cac: 6.7.14
chai: 4.4.1
debug: 4.3.4
execa: 8.0.1
- jsdom: 24.0.0
local-pkg: 0.5.0
- magic-string: 0.30.5
+ magic-string: 0.30.8
pathe: 1.1.2
picocolors: 1.0.0
std-env: 3.7.0
- strip-literal: 2.0.0
+ strip-literal: 1.3.0
tinybench: 2.6.0
- tinypool: 0.8.2
- vite: 5.0.12
- vite-node: 1.3.1
+ tinypool: 0.8.3
+ vite: 5.0.3
+ vite-node: 1.2.0
why-is-node-running: 2.2.2
transitivePeerDependencies:
- less
@@ -3089,36 +3188,13 @@ packages:
- terser
dev: true
- /w3c-xmlserializer@5.0.0:
- resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
- engines: {node: '>=18'}
- dependencies:
- xml-name-validator: 5.0.0
+ /webpack-sources@3.2.3:
+ resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
+ engines: {node: '>=10.13.0'}
dev: true
- /webidl-conversions@7.0.0:
- resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
- engines: {node: '>=12'}
- dev: true
-
- /whatwg-encoding@3.1.1:
- resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
- engines: {node: '>=18'}
- dependencies:
- iconv-lite: 0.6.3
- dev: true
-
- /whatwg-mimetype@4.0.0:
- resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
- engines: {node: '>=18'}
- dev: true
-
- /whatwg-url@14.0.0:
- resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==}
- engines: {node: '>=18'}
- dependencies:
- tr46: 5.0.0
- webidl-conversions: 7.0.0
+ /webpack-virtual-modules@0.6.1:
+ resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==}
dev: true
/which@2.0.2:
@@ -3145,14 +3221,13 @@ packages:
ansi-styles: 4.3.0
string-width: 4.2.3
strip-ansi: 6.0.1
- dev: false
- /wrap-ansi@9.0.0:
- resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==}
- engines: {node: '>=18'}
+ /wrap-ansi@8.1.0:
+ resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
+ engines: {node: '>=12'}
dependencies:
ansi-styles: 6.2.1
- string-width: 7.1.0
+ string-width: 5.1.2
strip-ansi: 7.1.0
dev: true
@@ -3160,36 +3235,14 @@ packages:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
dev: true
- /ws@8.16.0:
- resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==}
- 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
- dev: true
-
/xacro-parser@0.3.9:
resolution: {integrity: sha512-3LOCc6ERhORvPWdekU4QY1APEzD0Qp3h4sW/gf/15VDqH9u7Mu+kDi3SDqZEF5BLJ6mbIPje12CQ0uPe3BaXig==}
dependencies:
expr-eval: 2.0.2
- yaml: 2.3.1
+ yaml: 2.4.1
yargs: 17.7.2
dev: false
- /xml-name-validator@5.0.0:
- resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
- engines: {node: '>=18'}
- dev: true
-
- /xmlchars@2.2.0:
- resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
- dev: true
-
/y18n@5.0.8:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'}
@@ -3199,15 +3252,16 @@ packages:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
dev: true
- /yaml@2.3.1:
- resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==}
- engines: {node: '>= 14'}
-
- /yaml@2.3.4:
- resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
- engines: {node: '>= 14'}
+ /yaml@1.10.2:
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ engines: {node: '>= 6'}
dev: true
+ /yaml@2.4.1:
+ resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==}
+ engines: {node: '>= 14'}
+ hasBin: true
+
/yargs-parser@21.1.1:
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
engines: {node: '>=12'}
@@ -3218,7 +3272,7 @@ packages:
engines: {node: '>=12'}
dependencies:
cliui: 8.0.1
- escalade: 3.1.1
+ escalade: 3.1.2
get-caller-file: 2.0.5
require-directory: 2.1.1
string-width: 4.2.3
diff --git a/app/postcss.config.js b/app/postcss.config.js
index 0f77216..f6130aa 100644
--- a/app/postcss.config.js
+++ b/app/postcss.config.js
@@ -1,6 +1,5 @@
+import tailwindcss from 'tailwindcss';
+import autoprefixer from 'autoprefixer';
export default {
- plugins: {
- tailwindcss: {},
- autoprefixer: {}
- }
+ plugins: [tailwindcss(), autoprefixer()]
};
diff --git a/app/public/logo512.png b/app/public/logo512.png
deleted file mode 100644
index 484acab..0000000
Binary files a/app/public/logo512.png and /dev/null differ
diff --git a/app/public/stl.zip b/app/public/stl.zip
deleted file mode 100644
index fee7639..0000000
Binary files a/app/public/stl.zip and /dev/null differ
diff --git a/app/src/App.svelte b/app/src/App.svelte
deleted file mode 100644
index 9a88506..0000000
--- a/app/src/App.svelte
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/app/src/app.css b/app/src/app.css
index c21217b..d1ea8a5 100644
--- a/app/src/app.css
+++ b/app/src/app.css
@@ -1,20 +1,18 @@
-:root {
- font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
- line-height: 1.5;
- font-weight: 400;
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
- font-synthesis: none;
- text-rendering: optimizeLegibility;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- -webkit-text-size-adjust: 100%;
-}
-
-body {
- margin: 0;
+#nipple_0_0, #nipple_1_1 {
+ z-index: 10!important;
}
#three-gui-panel {
- top: 50px;
- right:0px
+ top: 64px;
+ right: 0px;
+}
+
+@media (max-width: 1023px) {
+ #three-gui-panel {
+ top: 48px;
+ }
}
\ No newline at end of file
diff --git a/app2/src/app.d.ts b/app/src/app.d.ts
similarity index 100%
rename from app2/src/app.d.ts
rename to app/src/app.d.ts
diff --git a/app2/src/app.html b/app/src/app.html
similarity index 100%
rename from app2/src/app.html
rename to app/src/app.html
diff --git a/app/src/components/Controls.svelte b/app/src/components/Controls.svelte
deleted file mode 100644
index 954c86b..0000000
--- a/app/src/components/Controls.svelte
+++ /dev/null
@@ -1,112 +0,0 @@
-
-
-
-
-
- {#each modes as modeValue}
-
-
-
- {/each}
-
- {#if $mode === 'walk'}
- handleRange(e, 'speed')}>
- {/if}
- handleRange(e, 'height')}>
-
-
-
-
-
diff --git a/app/src/components/Topbar.svelte b/app/src/components/Topbar.svelte
deleted file mode 100644
index 3b6af81..0000000
--- a/app/src/components/Topbar.svelte
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
-
- {#if settingOpen}
-
-
-
- {:else}
-
-
-
- {/if}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/components/Views/Model.svelte b/app/src/components/Views/Model.svelte
deleted file mode 100644
index cb43d6f..0000000
--- a/app/src/components/Views/Model.svelte
+++ /dev/null
@@ -1,174 +0,0 @@
-
-
-
-
-{#if showStream}
-
-{/if}
-
-
diff --git a/app/src/components/Views/Stream.svelte b/app/src/components/Views/Stream.svelte
deleted file mode 100644
index 760e754..0000000
--- a/app/src/components/Views/Stream.svelte
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-

-

-
diff --git a/app/src/components/input/Button.svelte b/app/src/components/input/Button.svelte
deleted file mode 100644
index 8f47822..0000000
--- a/app/src/components/input/Button.svelte
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/app/src/components/input/Range.svelte b/app/src/components/input/Range.svelte
deleted file mode 100644
index bd95b04..0000000
--- a/app/src/components/input/Range.svelte
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
diff --git a/app/src/components/settings/Calibration.svelte b/app/src/components/settings/Calibration.svelte
deleted file mode 100644
index 40a168e..0000000
--- a/app/src/components/settings/Calibration.svelte
+++ /dev/null
@@ -1,86 +0,0 @@
-
-
-
diff --git a/app/src/components/settings/Configuration.svelte b/app/src/components/settings/Configuration.svelte
deleted file mode 100644
index f9c0d09..0000000
--- a/app/src/components/settings/Configuration.svelte
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
- {#each Object.entries($settings) as entry}
-
-
{entry[0]}:
-
{entry[1]}
-
- {/each}
-
-
diff --git a/app/src/components/settings/Info.svelte b/app/src/components/settings/Info.svelte
deleted file mode 100644
index ce00048..0000000
--- a/app/src/components/settings/Info.svelte
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
- {#each Object.entries($systemInfo ?? {}) as entry}
-
-
{entry[0]}:
- {#if entry[0].includes('Size') || entry[0].includes('Free') || entry[0].includes('Min')}
-
{humanFileSize(entry[1])}
- {:else}
-
{entry[1]}
- {/if}
-
- {/each}
-
-
diff --git a/app/src/components/settings/Log.svelte b/app/src/components/settings/Log.svelte
deleted file mode 100644
index a5b0b84..0000000
--- a/app/src/components/settings/Log.svelte
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
- {#each $logs as entry}
-
{entry}
- {/each}
-
diff --git a/app/src/index.css b/app/src/index.css
deleted file mode 100644
index 6dec895..0000000
--- a/app/src/index.css
+++ /dev/null
@@ -1,35 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-/* @layer base {
- :root {
- --primary: 98 0 238;
- --primary-variant: 55 0 179;
- --secondary: 55 0 179;
- --secondary-variant: 55 0 179;
- --background: 255 255 255;
- --surface: 251 251 250;
- --error: 176 0 32;
- --on-primary: 255 255 255;
- --on-secondary: 0 0 0;
- --on-background: 0 0 0;
- --on-surface: 0 0 0;
- --on-error: 255 255 255;
- }
-
- :root[class~="dark"] {
- --primary: 98 0 238;
- --primary-variant: 55 0 179;
- --secondary: 55 0 179;
- --secondary-variant: 55 0 179;
- --background: 30 30 30;
- --surface: 36 36 36;
- --error: 176 0 32;
- --on-primary: 255 255 255;
- --on-secondary: 255 255 255;
- --on-background: 255 255 255;
- --on-surface: 255 255 255;
- --on-error: 255 255 255;
- }
- } */
diff --git a/app2/src/index.test.ts b/app/src/index.test.ts
similarity index 100%
rename from app2/src/index.test.ts
rename to app/src/index.test.ts
diff --git a/app2/src/lib/DaisyUiHelper.ts b/app/src/lib/DaisyUiHelper.ts
similarity index 100%
rename from app2/src/lib/DaisyUiHelper.ts
rename to app/src/lib/DaisyUiHelper.ts
diff --git a/app2/src/lib/assets/logo512.png b/app/src/lib/assets/logo512.png
similarity index 100%
rename from app2/src/lib/assets/logo512.png
rename to app/src/lib/assets/logo512.png
diff --git a/app2/src/lib/components/BatteryIndicator.svelte b/app/src/lib/components/BatteryIndicator.svelte
similarity index 100%
rename from app2/src/lib/components/BatteryIndicator.svelte
rename to app/src/lib/components/BatteryIndicator.svelte
diff --git a/app2/src/lib/components/Collapsible.svelte b/app/src/lib/components/Collapsible.svelte
similarity index 100%
rename from app2/src/lib/components/Collapsible.svelte
rename to app/src/lib/components/Collapsible.svelte
diff --git a/app2/src/lib/components/ConfirmDialog.svelte b/app/src/lib/components/ConfirmDialog.svelte
similarity index 100%
rename from app2/src/lib/components/ConfirmDialog.svelte
rename to app/src/lib/components/ConfirmDialog.svelte
diff --git a/app2/src/lib/components/GithubUpdateDialog.svelte b/app/src/lib/components/GithubUpdateDialog.svelte
similarity index 100%
rename from app2/src/lib/components/GithubUpdateDialog.svelte
rename to app/src/lib/components/GithubUpdateDialog.svelte
diff --git a/app2/src/lib/components/InfoDialog.svelte b/app/src/lib/components/InfoDialog.svelte
similarity index 100%
rename from app2/src/lib/components/InfoDialog.svelte
rename to app/src/lib/components/InfoDialog.svelte
diff --git a/app2/src/lib/components/InputPassword.svelte b/app/src/lib/components/InputPassword.svelte
similarity index 100%
rename from app2/src/lib/components/InputPassword.svelte
rename to app/src/lib/components/InputPassword.svelte
diff --git a/app2/src/lib/components/RSSIIndicator.svelte b/app/src/lib/components/RSSIIndicator.svelte
similarity index 100%
rename from app2/src/lib/components/RSSIIndicator.svelte
rename to app/src/lib/components/RSSIIndicator.svelte
diff --git a/app2/src/lib/components/SettingsCard.svelte b/app/src/lib/components/SettingsCard.svelte
similarity index 100%
rename from app2/src/lib/components/SettingsCard.svelte
rename to app/src/lib/components/SettingsCard.svelte
diff --git a/app2/src/lib/components/Spinner.svelte b/app/src/lib/components/Spinner.svelte
similarity index 100%
rename from app2/src/lib/components/Spinner.svelte
rename to app/src/lib/components/Spinner.svelte
diff --git a/app2/src/lib/components/Toast.svelte b/app/src/lib/components/Toast.svelte
similarity index 100%
rename from app2/src/lib/components/Toast.svelte
rename to app/src/lib/components/Toast.svelte
diff --git a/app2/src/lib/components/TopBar.svelte b/app/src/lib/components/TopBar.svelte
similarity index 100%
rename from app2/src/lib/components/TopBar.svelte
rename to app/src/lib/components/TopBar.svelte
diff --git a/app2/src/lib/components/UpdateIndicator.svelte b/app/src/lib/components/UpdateIndicator.svelte
similarity index 100%
rename from app2/src/lib/components/UpdateIndicator.svelte
rename to app/src/lib/components/UpdateIndicator.svelte
diff --git a/app2/src/lib/components/Visualization.svelte b/app/src/lib/components/Visualization.svelte
similarity index 100%
rename from app2/src/lib/components/Visualization.svelte
rename to app/src/lib/components/Visualization.svelte
diff --git a/app2/src/lib/components/notifications.ts b/app/src/lib/components/notifications.ts
similarity index 100%
rename from app2/src/lib/components/notifications.ts
rename to app/src/lib/components/notifications.ts
diff --git a/app2/src/lib/components/toasts/Toast.svelte b/app/src/lib/components/toasts/Toast.svelte
similarity index 100%
rename from app2/src/lib/components/toasts/Toast.svelte
rename to app/src/lib/components/toasts/Toast.svelte
diff --git a/app2/src/lib/components/toasts/notifications.ts b/app/src/lib/components/toasts/notifications.ts
similarity index 100%
rename from app2/src/lib/components/toasts/notifications.ts
rename to app/src/lib/components/toasts/notifications.ts
diff --git a/app2/src/lib/index.ts b/app/src/lib/index.ts
similarity index 100%
rename from app2/src/lib/index.ts
rename to app/src/lib/index.ts
diff --git a/app/src/lib/models.ts b/app/src/lib/models.ts
index 7531342..eb9c886 100644
--- a/app/src/lib/models.ts
+++ b/app/src/lib/models.ts
@@ -9,14 +9,134 @@ export interface ControllerInput {
export type angles = number[] | Int16Array;
-export type AnglesData = {
- type: 'angles';
- data: angles;
+export type WifiStatus = {
+ status: number;
+ local_ip: string;
+ mac_address: string;
+ rssi: number;
+ ssid: string;
+ bssid: string;
+ channel: number;
+ subnet_mask: string;
+ gateway_ip: string;
+ dns_ip_1: string;
+ dns_ip_2?: string;
};
-export type LogData = {
- type: 'log';
- data: string;
+export type WifiSettings = {
+ hostname: string;
+ priority_RSSI: boolean;
+ wifi_networks: networkItem[];
};
-export type WebSocketJsonMsg = AnglesData | LogData;
+export type KnownNetworkItem = {
+ ssid: string;
+ password: string;
+ static_ip_config: boolean;
+ local_ip?: string;
+ subnet_mask?: string;
+ gateway_ip?: string;
+ dns_ip_1?: string;
+ dns_ip_2?: string;
+};
+
+export type NetworkItem = {
+ rssi: number;
+ ssid: string;
+ bssid: string;
+ channel: number;
+ encryption_type: number;
+};
+
+export type ApStatus = {
+ status: number;
+ ip_address: string;
+ mac_address: string;
+ station_num: number;
+};
+
+export type ApSettings = {
+ provision_mode: number;
+ ssid: string;
+ password: string;
+ channel: number;
+ ssid_hidden: boolean;
+ max_clients: number;
+ local_ip: string;
+ gateway_ip: string;
+ subnet_mask: string;
+};
+
+export type LightState = {
+ led_on: boolean;
+};
+
+export type BrokerSettings = {
+ mqtt_path: string;
+ name: string;
+ unique_id: string;
+};
+
+export type NTPStatus = {
+ status: number;
+ utc_time: string;
+ local_time: string;
+ server: string;
+ uptime: number;
+};
+
+export type NTPSettings = {
+ enabled: boolean;
+ server: string;
+ tz_label: string;
+ tz_format: string;
+};
+
+export type Analytics = {
+ max_alloc_heap: number;
+ psram_size: number;
+ free_psram: number;
+ free_heap: number;
+ total_heap: number;
+ min_free_heap: number;
+ core_temp: number;
+ fs_total: number;
+ fs_used: number;
+ uptime: number;
+};
+
+export type StaticSystemInformation = {
+ esp_platform: string;
+ firmware_version: string;
+ cpu_freq_mhz: number;
+ cpu_type: string;
+ cpu_rev: number;
+ cpu_cores: number;
+ sketch_size: number;
+ free_sketch_space: number;
+ sdk_version: string;
+ arduino_version: string;
+ flash_chip_size: number;
+ flash_chip_speed: number;
+ cpu_reset_reason: string;
+};
+
+export type SystemInformation = Analytics & StaticSystemInformation;
+
+
+export type MQTTStatus = {
+ enabled: boolean;
+ connected: boolean;
+ client_id: string;
+ last_error: string;
+};
+
+export type MQTTSettings = {
+ enabled: boolean;
+ uri: string;
+ username: string;
+ password: string;
+ client_id: string;
+ keep_alive: number;
+ clean_session: boolean;
+};
\ No newline at end of file
diff --git a/app/src/lib/sceneBuilder.ts b/app/src/lib/sceneBuilder.ts
index 8e1ee51..7da392f 100644
--- a/app/src/lib/sceneBuilder.ts
+++ b/app/src/lib/sceneBuilder.ts
@@ -11,8 +11,6 @@ import {
GridHelper,
ArrowHelper,
Vector3,
- LoaderUtils,
- Object3D,
FogExp2,
CanvasTexture,
type ColorRepresentation,
@@ -20,7 +18,8 @@ import {
MeshPhongMaterial,
EquirectangularReflectionMapping,
ACESFilmicToneMapping,
- MathUtils
+ MathUtils,
+ MeshStandardMaterial
} from 'three';
import { Sky } from 'three/addons/objects/Sky.js';
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls';
@@ -75,7 +74,9 @@ export default class SceneBuilder {
public liveStreamTexture: CanvasTexture;
private fog: FogExp2;
private isLoaded: boolean = false;
+ public isDragging: boolean = false;
highlightMaterial: any;
+ sky: Sky;
constructor() {
this.scene = new Scene();
@@ -92,14 +93,14 @@ export default class SceneBuilder {
this.renderer.shadowMap.type = PCFSoftShadowMap;
this.renderer.toneMapping = ACESFilmicToneMapping;
this.renderer.toneMappingExposure = 0.85;
- document.body.appendChild(this.renderer.domElement);
+ if (!parameters?.canvas) document.body.appendChild(this.renderer.domElement);
return this;
};
public addSky = () => {
- const sky = new Sky();
- sky.scale.setScalar(450000);
- this.scene.add(sky);
+ this.sky = new Sky();
+ this.sky.scale.setScalar(450000);
+ this.scene.add(this.sky);
const effectController = {
turbidity: 10,
rayleigh: 3,
@@ -109,7 +110,7 @@ export default class SceneBuilder {
azimuth: 180,
exposure: this.renderer.toneMappingExposure
};
- const uniforms = sky.material.uniforms;
+ const uniforms = this.sky.material.uniforms;
uniforms['turbidity'].value = effectController.turbidity;
uniforms['rayleigh'].value = effectController.rayleigh;
uniforms['mieCoefficient'].value = effectController.mieCoefficient;
@@ -126,13 +127,14 @@ export default class SceneBuilder {
public addPerspectiveCamera = (options: position) => {
this.camera = new PerspectiveCamera();
- this.camera.position.set(options.x ?? 0, options.y ?? 0, options.z ?? 0);
+ this.camera.position.set(options.x ?? 0, options.y ?? 2.7, options.z ?? 0);
this.scene.add(this.camera);
return this;
};
public addGroundPlane = (options?: position) => {
- this.ground = new Mesh(new PlaneGeometry(), new ShadowMaterial({ side: 2 }));
+ var planeMaterial = new MeshStandardMaterial({ color: 0x808080, side: 2, opacity: 0.5 });
+ this.ground = new Mesh(new PlaneGeometry(), planeMaterial);
this.ground.rotation.x = -Math.PI / 2;
this.ground.scale.setScalar(30);
this.ground.position.set(options?.x ?? 0, options?.y ?? 0, options?.z ?? 0);
@@ -141,10 +143,11 @@ export default class SceneBuilder {
return this;
};
- public addOrbitControls = (minDistance: number, maxDistance: number) => {
+ public addOrbitControls = (minDistance: number, maxDistance: number, autoRotate = true) => {
this.controls = new OrbitControls(this.camera, this.renderer.domElement);
this.controls.minDistance = minDistance;
this.controls.maxDistance = maxDistance;
+ this.controls.autoRotate = autoRotate;
this.controls.update();
return this;
};
@@ -158,11 +161,13 @@ export default class SceneBuilder {
public addDirectionalLight = (options: directionalLight) => {
const directionalLight = new DirectionalLight(options.color, options.intensity);
directionalLight.castShadow = true;
- directionalLight.shadow.mapSize.setScalar(2048);
- directionalLight.shadow.mapSize.width = 1024;
- directionalLight.shadow.mapSize.height = 1024;
+ directionalLight.shadow.camera.top = 10;
+ directionalLight.shadow.camera.bottom = -10;
+ directionalLight.shadow.camera.right = 10;
+ directionalLight.shadow.camera.left = -10;
+ directionalLight.shadow.mapSize.set(4096, 4096);
+
directionalLight.position.set(options.x ?? 0, options.y ?? 0, options.z ?? 0);
- directionalLight.shadow.radius = 5;
this.scene.add(directionalLight);
return this;
};
@@ -182,10 +187,20 @@ export default class SceneBuilder {
return this;
};
- public handleResize = () => {
- this.renderer.setSize(window.innerWidth, window.innerHeight);
+ public fillParent = () => {
+ const parentElement = this.renderer.domElement.parentElement;
+ if (parentElement) {
+ const width = parentElement.clientWidth;
+ const height = parentElement.clientHeight;
+ this.handleResize(width, height);
+ }
+ return this;
+ };
+
+ public handleResize = (width = window.innerWidth, height = window.innerHeight) => {
+ this.renderer.setSize(width, height);
this.renderer.setPixelRatio(window.devicePixelRatio);
- this.camera.aspect = window.innerWidth / window.innerHeight;
+ this.camera.aspect = width / height;
this.camera.updateProjectionMatrix();
return this;
};
@@ -198,6 +213,7 @@ export default class SceneBuilder {
public startRenderLoop = () => {
this.renderer.setAnimationLoop(() => {
this.renderer.render(this.scene, this.camera);
+ this.controls.update();
this.handleRobotShadow();
if (this.callback) this.callback();
if (!this.liveStreamTexture) return;
@@ -282,8 +298,14 @@ export default class SceneBuilder {
this.setJointValue(joint.name, angle);
updateAngle(joint.name, angle);
};
- dragControls.onDragStart = () => (this.controls.enabled = false);
- dragControls.onDragEnd = () => (this.controls.enabled = true);
+ dragControls.onDragStart = () => {
+ this.controls.enabled = false;
+ this.isDragging = true;
+ };
+ dragControls.onDragEnd = () => {
+ this.controls.enabled = true;
+ this.isDragging = false;
+ };
dragControls.onHover = (joint: URDFMimicJoint) =>
this.highlightLinkGeometry(joint, false, highlightMaterial);
dragControls.onUnhover = (joint: URDFMimicJoint) =>
diff --git a/app/src/lib/services/index.ts b/app/src/lib/services/index.ts
index 5b10489..7a112d0 100644
--- a/app/src/lib/services/index.ts
+++ b/app/src/lib/services/index.ts
@@ -1,3 +1,2 @@
export { default as fileService } from './file-service';
-export { default as socketService } from './socket-service';
export { default as resultService } from './result-service';
diff --git a/app/src/lib/services/socket-service.ts b/app/src/lib/services/socket-service.ts
deleted file mode 100644
index 2dd3583..0000000
--- a/app/src/lib/services/socket-service.ts
+++ /dev/null
@@ -1,93 +0,0 @@
-import { isConnected, socketData } from '$lib/stores';
-import { Result, Ok } from '$lib/utilities';
-import { resultService } from '$lib/services';
-import { type WebSocketJsonMsg } from '$lib/models';
-import type { Writable } from 'svelte/store';
-
-type WebsocketOutData = string | ArrayBufferLike | Blob | ArrayBufferView;
-
-// TODO
-/**
- * MOVE THE store to a store.ts file
- *
- * Make an object on the class that encapsulate all the stores
- *
- * Make the handle message function look up the type and set the value, to simplify the code
- */
-
-class SocketService {
- private socket!: WebSocket;
-
- constructor() {}
-
- public connect(url: string): void {
- this.socket = new WebSocket(url);
- this.socket.binaryType = 'arraybuffer';
- this.socket.onopen = () => this.handleConnected();
- this.socket.onclose = () => this.handleDisconnected();
- this.socket.onmessage = (event: MessageEvent) =>
- resultService.handleResult(this.handleMessage(event), 'SocketService');
- this.socket.onerror = (error: Event) => console.log(error);
- }
-
- public send(data: WebsocketOutData): Result {
- if (this.socket.readyState === WebSocket.OPEN) {
- this.socket.send(data);
- return Ok.void();
- }
- return Result.err('The connection is not open');
- }
-
- public addPublisher(store: Writable, type?: string) {
- const publish = (data: WebsocketOutData) =>
- this.send(type ? JSON.stringify({ type, data }) : data);
- store.subscribe(publish);
- }
-
- private handleConnected(): void {
- isConnected.set(true);
- }
-
- private handleDisconnected(): void {
- isConnected.set(false);
- }
-
- private getJsonFromMessage(msg: string): Result {
- try {
- return Result.ok(JSON.parse(msg) as WebSocketJsonMsg);
- } catch (error) {
- return Result.err('Failed to parse socket message', error);
- }
- }
-
- private handleBufferMessage(buffer: ArrayBuffer): Result {
- console.log(buffer);
- return Ok.void();
- }
-
- private handleMessage(event: MessageEvent): Result {
- if (event.data instanceof ArrayBuffer) {
- return this.handleBufferMessage(event.data);
- }
- let msgRes = this.getJsonFromMessage(event.data);
- if (msgRes.isErr()) {
- return msgRes;
- }
- const msg = msgRes.inner;
-
- if (msg.type === 'log') {
- socketData.logs.update((entries) => {
- entries.push(msg.data);
- return entries;
- });
- return Ok.void();
- } else if (msg.data && msg.type in socketData) {
- socketData[msg.type].set(msg.data);
- return Ok.void();
- }
-
- return Result.err(`Got invalid msg: ${JSON.stringify(msg)}`);
- }
-}
-
-export default new SocketService();
diff --git a/app2/src/lib/stores/analytics.ts b/app/src/lib/stores/analytics.ts
similarity index 100%
rename from app2/src/lib/stores/analytics.ts
rename to app/src/lib/stores/analytics.ts
diff --git a/app/src/lib/stores/index.ts b/app/src/lib/stores/index.ts
index cd14a59..7684643 100644
--- a/app/src/lib/stores/index.ts
+++ b/app/src/lib/stores/index.ts
@@ -1,3 +1,4 @@
export * from './socket-store';
export * from './logging-store';
export * from './model-store';
+export * from './socket';
diff --git a/app/src/lib/stores/model-store.ts b/app/src/lib/stores/model-store.ts
index 8418e5b..5474989 100644
--- a/app/src/lib/stores/model-store.ts
+++ b/app/src/lib/stores/model-store.ts
@@ -1,5 +1,5 @@
import type { ControllerInput } from '$lib/models';
-import { persistentStore } from '$lib/utilities';
+import { persistentStore } from '$lib/utilities/svelte-utilities';
import { writable, type Writable } from 'svelte/store';
export const emulateModel = writable(true);
@@ -12,7 +12,14 @@ export const modes = ['idle', 'rest', 'stand', 'walk'] as const;
export type Modes = (typeof modes)[number];
-export const mode: Writable = writable('idle');
+export enum ModesEnum {
+ Idle,
+ Rest,
+ Stand,
+ Walk
+}
+
+export const mode: Writable = writable(ModesEnum.Idle);
export const outControllerData = writable(new Int8Array([0, 0, 0, 0, 0, 70, 0]));
diff --git a/app/src/lib/stores/socket-store.ts b/app/src/lib/stores/socket-store.ts
index b915c22..11dc6f6 100644
--- a/app/src/lib/stores/socket-store.ts
+++ b/app/src/lib/stores/socket-store.ts
@@ -1,14 +1,16 @@
import { writable, type Writable } from 'svelte/store';
import { type angles } from '$lib/models';
-export const isConnected = writable(false);
-export const servoAngles: Writable = writable(new Int16Array(12).fill(0));
+export const servoAnglesOut: Writable = writable([
+ 0, 45, -90, 0, 45, -90, 0, 45, -90, 0, 45, -90
+]);
+export const servoAngles: Writable = writable([
+ 0, 45, -90, 0, 45, -90, 0, 45, -90, 0, 45, -90
+]);
export const logs = writable([] as string[]);
export const battery = writable({});
export const mpu = writable({ heading: 0 });
export const distances = writable({});
-export const settings = writable({});
-export const systemInfo = writable({} as number);
export interface socketDataCollection {
angles: Writable;
@@ -16,8 +18,6 @@ export interface socketDataCollection {
battery: Writable;
mpu: Writable;
distances: Writable;
- settings: Writable;
- systemInfo: Writable;
}
export const socketData = {
@@ -25,7 +25,5 @@ export const socketData = {
logs,
battery,
mpu,
- distances,
- settings,
- systemInfo
+ distances
};
diff --git a/app2/src/lib/stores/socket.ts b/app/src/lib/stores/socket.ts
similarity index 100%
rename from app2/src/lib/stores/socket.ts
rename to app/src/lib/stores/socket.ts
diff --git a/app2/src/lib/stores/telemetry.ts b/app/src/lib/stores/telemetry.ts
similarity index 100%
rename from app2/src/lib/stores/telemetry.ts
rename to app/src/lib/stores/telemetry.ts
diff --git a/app2/src/lib/stores/user.ts b/app/src/lib/stores/user.ts
similarity index 100%
rename from app2/src/lib/stores/user.ts
rename to app/src/lib/stores/user.ts
diff --git a/app2/src/lib/types/models.ts b/app/src/lib/types/models.ts
similarity index 100%
rename from app2/src/lib/types/models.ts
rename to app/src/lib/types/models.ts
diff --git a/app/src/lib/utilities/location-utilities.ts b/app/src/lib/utilities/location-utilities.ts
index 2ec372a..0ba138a 100644
--- a/app/src/lib/utilities/location-utilities.ts
+++ b/app/src/lib/utilities/location-utilities.ts
@@ -1,10 +1,9 @@
-export const hostname = window.location.hostname;
+export const hostname = 'localhost'; //window.location.hostname;
-export const isSecure = window.location.protocol === 'https:';
+export const isSecure = true; // window.location.protocol === 'https:';
-export const location = import.meta.env.VITE_API_URL.replace('hostname', hostname);
+export const location = 'localhost:5173'; //window.location; //import.meta.env.VITE_API_URL.replace('hostname', hostname);
const socketScheme = isSecure ? 'wss://' : 'ws://';
-export const socketLocation =
- socketScheme + import.meta.env.VITE_SOCKET_URL.replace('hostname', hostname);
+export const socketLocation = socketScheme + location; // import.meta.env.VITE_SOCKET_URL.replace('hostname', hostname);
diff --git a/app/src/lib/utilities/model-utilities.ts b/app/src/lib/utilities/model-utilities.ts
index a5dd4e3..680513b 100644
--- a/app/src/lib/utilities/model-utilities.ts
+++ b/app/src/lib/utilities/model-utilities.ts
@@ -33,7 +33,7 @@ export const loadModelAsync = async (
resolve(Result.err('Failed to load model', error));
}
},
- (error) => reject(error)
+ (error) => resolve(Result.err('Failed to load model', error))
);
});
};
diff --git a/app/src/lib/utilities/svelte-utilities.ts b/app/src/lib/utilities/svelte-utilities.ts
index 553251b..4f223c0 100644
--- a/app/src/lib/utilities/svelte-utilities.ts
+++ b/app/src/lib/utilities/svelte-utilities.ts
@@ -1,14 +1,15 @@
import { writable } from 'svelte/store';
+import { browser } from '$app/environment';
export const isEmbeddedApp = import.meta.env.VITE_EMBEDDED_BUILD === 'true';
export const persistentStore = (key: string, initialValue: any) => {
- const savedValue = JSON.parse(localStorage.getItem(key) as string);
+ const savedValue = browser ? JSON.parse(localStorage.getItem(key) as string) : null;
const data = savedValue !== null ? savedValue : initialValue;
const store = writable(data);
store.subscribe((value) => {
- localStorage.setItem(key, JSON.stringify(value));
+ browser && localStorage.setItem(key, JSON.stringify(value));
});
return store;
diff --git a/app/src/main.ts b/app/src/main.ts
deleted file mode 100644
index 01c341d..0000000
--- a/app/src/main.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import './app.css';
-import './index.css';
-import App from './App.svelte';
-
-if ('serviceWorker' in navigator) {
- window.addEventListener('load', () => {
- navigator.serviceWorker.register('/sw.js');
- });
-}
-
-const app = new App({
- target: document.getElementById('app') as HTMLElement
-});
-
-export default app;
diff --git a/app2/src/routes/+error.svelte b/app/src/routes/+error.svelte
similarity index 100%
rename from app2/src/routes/+error.svelte
rename to app/src/routes/+error.svelte
diff --git a/app2/src/routes/+layout.svelte b/app/src/routes/+layout.svelte
similarity index 100%
rename from app2/src/routes/+layout.svelte
rename to app/src/routes/+layout.svelte
diff --git a/app2/src/routes/+layout.ts b/app/src/routes/+layout.ts
similarity index 100%
rename from app2/src/routes/+layout.ts
rename to app/src/routes/+layout.ts
diff --git a/app2/src/routes/+page.svelte b/app/src/routes/+page.svelte
similarity index 100%
rename from app2/src/routes/+page.svelte
rename to app/src/routes/+page.svelte
diff --git a/app/src/routes/Controller.svelte b/app/src/routes/Controller.svelte
deleted file mode 100644
index 88db930..0000000
--- a/app/src/routes/Controller.svelte
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
- {#if $emulateModel}
-
- {:else}
-
- {/if}
-
-
diff --git a/app/src/routes/Settings.svelte b/app/src/routes/Settings.svelte
deleted file mode 100644
index 73a82c5..0000000
--- a/app/src/routes/Settings.svelte
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-
-
-
- {#each menu as link}
-
- {/each}
-
-
-
diff --git a/app2/src/routes/connections/+page.ts b/app/src/routes/connections/+page.ts
similarity index 100%
rename from app2/src/routes/connections/+page.ts
rename to app/src/routes/connections/+page.ts
diff --git a/app2/src/routes/connections/mqtt/+page.svelte b/app/src/routes/connections/mqtt/+page.svelte
similarity index 100%
rename from app2/src/routes/connections/mqtt/+page.svelte
rename to app/src/routes/connections/mqtt/+page.svelte
diff --git a/app2/src/routes/connections/mqtt/+page.ts b/app/src/routes/connections/mqtt/+page.ts
similarity index 100%
rename from app2/src/routes/connections/mqtt/+page.ts
rename to app/src/routes/connections/mqtt/+page.ts
diff --git a/app2/src/routes/connections/mqtt/MQTT.svelte b/app/src/routes/connections/mqtt/MQTT.svelte
similarity index 100%
rename from app2/src/routes/connections/mqtt/MQTT.svelte
rename to app/src/routes/connections/mqtt/MQTT.svelte
diff --git a/app2/src/routes/connections/mqtt/MQTTConfig.svelte b/app/src/routes/connections/mqtt/MQTTConfig.svelte
similarity index 100%
rename from app2/src/routes/connections/mqtt/MQTTConfig.svelte
rename to app/src/routes/connections/mqtt/MQTTConfig.svelte
diff --git a/app2/src/routes/connections/ntp/+page.svelte b/app/src/routes/connections/ntp/+page.svelte
similarity index 100%
rename from app2/src/routes/connections/ntp/+page.svelte
rename to app/src/routes/connections/ntp/+page.svelte
diff --git a/app2/src/routes/connections/ntp/+page.ts b/app/src/routes/connections/ntp/+page.ts
similarity index 100%
rename from app2/src/routes/connections/ntp/+page.ts
rename to app/src/routes/connections/ntp/+page.ts
diff --git a/app2/src/routes/connections/ntp/NTP.svelte b/app/src/routes/connections/ntp/NTP.svelte
similarity index 100%
rename from app2/src/routes/connections/ntp/NTP.svelte
rename to app/src/routes/connections/ntp/NTP.svelte
diff --git a/app2/src/routes/connections/ntp/timezones.ts b/app/src/routes/connections/ntp/timezones.ts
similarity index 100%
rename from app2/src/routes/connections/ntp/timezones.ts
rename to app/src/routes/connections/ntp/timezones.ts
diff --git a/app2/src/routes/controller/+layout.svelte b/app/src/routes/controller/+layout.svelte
similarity index 100%
rename from app2/src/routes/controller/+layout.svelte
rename to app/src/routes/controller/+layout.svelte
diff --git a/app2/src/routes/controller/+page.svelte b/app/src/routes/controller/+page.svelte
similarity index 100%
rename from app2/src/routes/controller/+page.svelte
rename to app/src/routes/controller/+page.svelte
diff --git a/app2/src/routes/controller/+page.ts b/app/src/routes/controller/+page.ts
similarity index 100%
rename from app2/src/routes/controller/+page.ts
rename to app/src/routes/controller/+page.ts
diff --git a/app2/src/routes/controller/Controls.svelte b/app/src/routes/controller/Controls.svelte
similarity index 100%
rename from app2/src/routes/controller/Controls.svelte
rename to app/src/routes/controller/Controls.svelte
diff --git a/app2/src/routes/controller/stream/+page.svelte b/app/src/routes/controller/stream/+page.svelte
similarity index 100%
rename from app2/src/routes/controller/stream/+page.svelte
rename to app/src/routes/controller/stream/+page.svelte
diff --git a/app2/src/routes/login.svelte b/app/src/routes/login.svelte
similarity index 100%
rename from app2/src/routes/login.svelte
rename to app/src/routes/login.svelte
diff --git a/app2/src/routes/menu.svelte b/app/src/routes/menu.svelte
similarity index 100%
rename from app2/src/routes/menu.svelte
rename to app/src/routes/menu.svelte
diff --git a/app2/src/routes/settings/+page.svelte b/app/src/routes/settings/+page.svelte
similarity index 100%
rename from app2/src/routes/settings/+page.svelte
rename to app/src/routes/settings/+page.svelte
diff --git a/app2/src/routes/statusbar.svelte b/app/src/routes/statusbar.svelte
similarity index 100%
rename from app2/src/routes/statusbar.svelte
rename to app/src/routes/statusbar.svelte
diff --git a/app2/src/routes/system/+page.ts b/app/src/routes/system/+page.ts
similarity index 100%
rename from app2/src/routes/system/+page.ts
rename to app/src/routes/system/+page.ts
diff --git a/app2/src/routes/system/metrics/+page.svelte b/app/src/routes/system/metrics/+page.svelte
similarity index 100%
rename from app2/src/routes/system/metrics/+page.svelte
rename to app/src/routes/system/metrics/+page.svelte
diff --git a/app2/src/routes/system/metrics/+page.ts b/app/src/routes/system/metrics/+page.ts
similarity index 100%
rename from app2/src/routes/system/metrics/+page.ts
rename to app/src/routes/system/metrics/+page.ts
diff --git a/app2/src/routes/system/metrics/SystemMetrics.svelte b/app/src/routes/system/metrics/SystemMetrics.svelte
similarity index 100%
rename from app2/src/routes/system/metrics/SystemMetrics.svelte
rename to app/src/routes/system/metrics/SystemMetrics.svelte
diff --git a/app2/src/routes/system/status/+page.svelte b/app/src/routes/system/status/+page.svelte
similarity index 100%
rename from app2/src/routes/system/status/+page.svelte
rename to app/src/routes/system/status/+page.svelte
diff --git a/app2/src/routes/system/status/+page.ts b/app/src/routes/system/status/+page.ts
similarity index 100%
rename from app2/src/routes/system/status/+page.ts
rename to app/src/routes/system/status/+page.ts
diff --git a/app2/src/routes/system/status/SystemStatus.svelte b/app/src/routes/system/status/SystemStatus.svelte
similarity index 100%
rename from app2/src/routes/system/status/SystemStatus.svelte
rename to app/src/routes/system/status/SystemStatus.svelte
diff --git a/app2/src/routes/system/update/+page.svelte b/app/src/routes/system/update/+page.svelte
similarity index 100%
rename from app2/src/routes/system/update/+page.svelte
rename to app/src/routes/system/update/+page.svelte
diff --git a/app2/src/routes/system/update/+page.ts b/app/src/routes/system/update/+page.ts
similarity index 100%
rename from app2/src/routes/system/update/+page.ts
rename to app/src/routes/system/update/+page.ts
diff --git a/app2/src/routes/system/update/GithubFirmwareManager.svelte b/app/src/routes/system/update/GithubFirmwareManager.svelte
similarity index 100%
rename from app2/src/routes/system/update/GithubFirmwareManager.svelte
rename to app/src/routes/system/update/GithubFirmwareManager.svelte
diff --git a/app2/src/routes/system/update/UploadFirmware.svelte b/app/src/routes/system/update/UploadFirmware.svelte
similarity index 100%
rename from app2/src/routes/system/update/UploadFirmware.svelte
rename to app/src/routes/system/update/UploadFirmware.svelte
diff --git a/app2/src/routes/user/+page.svelte b/app/src/routes/user/+page.svelte
similarity index 100%
rename from app2/src/routes/user/+page.svelte
rename to app/src/routes/user/+page.svelte
diff --git a/app2/src/routes/user/+page.ts b/app/src/routes/user/+page.ts
similarity index 100%
rename from app2/src/routes/user/+page.ts
rename to app/src/routes/user/+page.ts
diff --git a/app2/src/routes/user/EditUser.svelte b/app/src/routes/user/EditUser.svelte
similarity index 100%
rename from app2/src/routes/user/EditUser.svelte
rename to app/src/routes/user/EditUser.svelte
diff --git a/app2/src/routes/wifi/+page.ts b/app/src/routes/wifi/+page.ts
similarity index 100%
rename from app2/src/routes/wifi/+page.ts
rename to app/src/routes/wifi/+page.ts
diff --git a/app2/src/routes/wifi/ap/+page.svelte b/app/src/routes/wifi/ap/+page.svelte
similarity index 100%
rename from app2/src/routes/wifi/ap/+page.svelte
rename to app/src/routes/wifi/ap/+page.svelte
diff --git a/app2/src/routes/wifi/ap/+page.ts b/app/src/routes/wifi/ap/+page.ts
similarity index 100%
rename from app2/src/routes/wifi/ap/+page.ts
rename to app/src/routes/wifi/ap/+page.ts
diff --git a/app2/src/routes/wifi/ap/Accesspoint.svelte b/app/src/routes/wifi/ap/Accesspoint.svelte
similarity index 99%
rename from app2/src/routes/wifi/ap/Accesspoint.svelte
rename to app/src/routes/wifi/ap/Accesspoint.svelte
index 4bd8d32..af1a1ea 100644
--- a/app2/src/routes/wifi/ap/Accesspoint.svelte
+++ b/app/src/routes/wifi/ap/Accesspoint.svelte
@@ -8,7 +8,6 @@
import { page } from '$app/stores';
import { notifications } from '$lib/components/toasts/notifications';
import Spinner from '$lib/components/Spinner.svelte';
- import Collapsible from '$lib/components/Collapsible.svelte';
import AP from '~icons/tabler/access-point';
import MAC from '~icons/tabler/dna-2';
import Home from '~icons/tabler/home';
diff --git a/app2/src/routes/wifi/sta/+page.svelte b/app/src/routes/wifi/sta/+page.svelte
similarity index 100%
rename from app2/src/routes/wifi/sta/+page.svelte
rename to app/src/routes/wifi/sta/+page.svelte
diff --git a/app2/src/routes/wifi/sta/+page.ts b/app/src/routes/wifi/sta/+page.ts
similarity index 100%
rename from app2/src/routes/wifi/sta/+page.ts
rename to app/src/routes/wifi/sta/+page.ts
diff --git a/app2/src/routes/wifi/sta/Scan.svelte b/app/src/routes/wifi/sta/Scan.svelte
similarity index 100%
rename from app2/src/routes/wifi/sta/Scan.svelte
rename to app/src/routes/wifi/sta/Scan.svelte
diff --git a/app2/src/routes/wifi/sta/Wifi.svelte b/app/src/routes/wifi/sta/Wifi.svelte
similarity index 100%
rename from app2/src/routes/wifi/sta/Wifi.svelte
rename to app/src/routes/wifi/sta/Wifi.svelte
diff --git a/app/src/vite-env.d.ts b/app/src/vite-env.d.ts
deleted file mode 100644
index 4078e74..0000000
--- a/app/src/vite-env.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-///
-///
diff --git a/app/public/favicon.ico b/app/static/favicon.ico
similarity index 100%
rename from app/public/favicon.ico
rename to app/static/favicon.ico
diff --git a/app2/static/logo512.png b/app/static/logo512.png
similarity index 100%
rename from app2/static/logo512.png
rename to app/static/logo512.png
diff --git a/app/public/manifest.json b/app/static/manifest.json
similarity index 100%
rename from app/public/manifest.json
rename to app/static/manifest.json
diff --git a/app/public/spot_micro.urdf.xacro b/app/static/spot_micro.urdf.xacro
similarity index 100%
rename from app/public/spot_micro.urdf.xacro
rename to app/static/spot_micro.urdf.xacro
diff --git a/app2/static/stl.zip b/app/static/stl.zip
similarity index 100%
rename from app2/static/stl.zip
rename to app/static/stl.zip
diff --git a/app/public/sw.js b/app/static/sw.js
similarity index 100%
rename from app/public/sw.js
rename to app/static/sw.js
diff --git a/app/stl/backpart.stl b/app/stl/backpart.stl
deleted file mode 100644
index 8e06a4c..0000000
Binary files a/app/stl/backpart.stl and /dev/null differ
diff --git a/app/stl/foot.stl b/app/stl/foot.stl
deleted file mode 100644
index 4196e90..0000000
Binary files a/app/stl/foot.stl and /dev/null differ
diff --git a/app/stl/frontpart.stl b/app/stl/frontpart.stl
deleted file mode 100644
index 8e9dff7..0000000
Binary files a/app/stl/frontpart.stl and /dev/null differ
diff --git a/app/stl/larm.stl b/app/stl/larm.stl
deleted file mode 100644
index 969b2e5..0000000
Binary files a/app/stl/larm.stl and /dev/null differ
diff --git a/app/stl/larm_cover.stl b/app/stl/larm_cover.stl
deleted file mode 100644
index 006a919..0000000
Binary files a/app/stl/larm_cover.stl and /dev/null differ
diff --git a/app/stl/lfoot.stl b/app/stl/lfoot.stl
deleted file mode 100644
index 75aa50a..0000000
Binary files a/app/stl/lfoot.stl and /dev/null differ
diff --git a/app/stl/lshoulder.stl b/app/stl/lshoulder.stl
deleted file mode 100644
index 00ea7a8..0000000
Binary files a/app/stl/lshoulder.stl and /dev/null differ
diff --git a/app/stl/mainbody.stl b/app/stl/mainbody.stl
deleted file mode 100644
index 6779423..0000000
Binary files a/app/stl/mainbody.stl and /dev/null differ
diff --git a/app/stl/rarm.stl b/app/stl/rarm.stl
deleted file mode 100644
index 67626a2..0000000
Binary files a/app/stl/rarm.stl and /dev/null differ
diff --git a/app/stl/rarm_cover.stl b/app/stl/rarm_cover.stl
deleted file mode 100644
index 94da81c..0000000
Binary files a/app/stl/rarm_cover.stl and /dev/null differ
diff --git a/app/stl/rfoot.stl b/app/stl/rfoot.stl
deleted file mode 100644
index 93497cc..0000000
Binary files a/app/stl/rfoot.stl and /dev/null differ
diff --git a/app/stl/rshoulder.stl b/app/stl/rshoulder.stl
deleted file mode 100644
index b11f06c..0000000
Binary files a/app/stl/rshoulder.stl and /dev/null differ
diff --git a/app/svelte.config.js b/app/svelte.config.js
index c6e1140..c6dada5 100644
--- a/app/svelte.config.js
+++ b/app/svelte.config.js
@@ -1,7 +1,21 @@
+import adapter from '@sveltejs/adapter-static';
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
-export default {
- // Consult https://svelte.dev/docs#compile-time-svelte-preprocess
+/** @type {import('@sveltejs/kit').Config} */
+const config = {
+ // Consult https://kit.svelte.dev/docs/integrations#preprocessors
// for more information about preprocessors
- preprocess: vitePreprocess()
+ preprocess: vitePreprocess(),
+
+ kit: {
+ adapter: adapter({
+ pages: '../esp32/www',
+ assets: '../esp32/www',
+ fallback: 'index.html',
+ precompress: false,
+ strict: true
+ })
+ }
};
+
+export default config;
diff --git a/app/tailwind.config.js b/app/tailwind.config.js
index bbcf24f..a18583e 100644
--- a/app/tailwind.config.js
+++ b/app/tailwind.config.js
@@ -2,22 +2,11 @@
export default {
content: ['./src/**/*.{html,js,ts,svelte}'],
theme: {
- extend: {
- colors: {
- primary: '#6200EE',
- 'primary-variant': '#3700B3',
- secondary: '#3700B3',
- 'secondary-variant': '#3700B3',
- background: '#1e1e1e',
- surface: '#2c2c2c',
- error: '#B00020',
- 'on-primary': '#FFFFFF',
- 'on-secondary': '#FFFFFF',
- 'on-background': '#FFFFFF',
- 'on-surface': '#FFFFFF',
- 'on-error': '#FFFFFF'
- }
- }
+ extend: {}
},
- plugins: []
+ plugins: [require('daisyui')],
+ daisyui: {
+ themes: ['light', 'dark'],
+ darkTheme: 'dark'
+ }
};
diff --git a/app/test/specs/byteformat.spec.ts b/app/tests/specs/byteformat.spec.ts
similarity index 100%
rename from app/test/specs/byteformat.spec.ts
rename to app/tests/specs/byteformat.spec.ts
diff --git a/app/test/specs/number-convert.spec.ts b/app/tests/specs/number-convert.spec.ts
similarity index 100%
rename from app/test/specs/number-convert.spec.ts
rename to app/tests/specs/number-convert.spec.ts
diff --git a/app/test/specs/result.spec.ts b/app/tests/specs/result.spec.ts
similarity index 100%
rename from app/test/specs/result.spec.ts
rename to app/tests/specs/result.spec.ts
diff --git a/app/test/specs/throttler.spec.ts b/app/tests/specs/throttler.spec.ts
similarity index 100%
rename from app/test/specs/throttler.spec.ts
rename to app/tests/specs/throttler.spec.ts
diff --git a/app2/tests/test.ts b/app/tests/test.ts
similarity index 100%
rename from app2/tests/test.ts
rename to app/tests/test.ts
diff --git a/app/tsconfig.json b/app/tsconfig.json
index f36052d..fc93cbd 100644
--- a/app/tsconfig.json
+++ b/app/tsconfig.json
@@ -1,27 +1,19 @@
{
- "extends": "@tsconfig/svelte/tsconfig.json",
+ "extends": "./.svelte-kit/tsconfig.json",
"compilerOptions": {
- "target": "ESNext",
- "useDefineForClassFields": true,
- "module": "ESNext",
- "resolveJsonModule": true,
- "moduleResolution": "Node",
- /**
- * Typecheck JS in `.svelte` and `.js` files by default.
- * Disable checkJs if you'd like to use dynamic types in JS.
- * Note that setting allowJs false does not prevent the use
- * of JS in `.svelte` files.
- */
"allowJs": true,
"checkJs": true,
- "isolatedModules": true,
- "paths": {
- "$lib/*": ["./src/lib/*"],
- "$utils/*": ["./src/utils/*"],
- "$components/*": ["./src/components/*"],
- "$stores/*": ["./src/stores/*"]
- }
- },
- "include": ["src/**/*.d.ts", "src/**/*.ts", "src/**/*.js", "src/**/*.svelte"],
- "references": [{ "path": "./tsconfig.node.json" }]
+ "esModuleInterop": true,
+ "forceConsistentCasingInFileNames": true,
+ "resolveJsonModule": true,
+ "skipLibCheck": true,
+ "sourceMap": true,
+ "strict": true,
+ "moduleResolution": "bundler"
+ }
+ // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias
+ // except $lib which is handled by https://kit.svelte.dev/docs/configuration#files
+ //
+ // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
+ // from the referenced tsconfig.json - TypeScript does not merge them in
}
diff --git a/app/tsconfig.node.json b/app/tsconfig.node.json
deleted file mode 100644
index 5c17c9b..0000000
--- a/app/tsconfig.node.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "compilerOptions": {
- "composite": true,
- "skipLibCheck": true,
- "module": "ESNext",
- "moduleResolution": "bundler"
- },
- "include": ["vite.config.ts"]
-}
diff --git a/app2/vite-plugin-littlefs.ts b/app/vite-plugin-littlefs.ts
similarity index 100%
rename from app2/vite-plugin-littlefs.ts
rename to app/vite-plugin-littlefs.ts
diff --git a/app/vite.config.ts b/app/vite.config.ts
index c74de77..97f404b 100644
--- a/app/vite.config.ts
+++ b/app/vite.config.ts
@@ -1,30 +1,31 @@
-import { defineConfig, loadEnv } from 'vite';
-import { svelte } from '@sveltejs/vite-plugin-svelte';
-import { viteSingleFile } from 'vite-plugin-singlefile';
-import viteCompression from 'vite-plugin-compression';
-import path from 'path';
+import { sveltekit } from '@sveltejs/kit/vite';
+import { defineConfig } from 'vite';
+import Icons from 'unplugin-icons/vite';
+import viteLittleFS from './vite-plugin-littlefs';
-// https://vitejs.dev/config/
-export default ({ mode }) => {
- process.env = { ...process.env, ...loadEnv(mode, process.cwd()) };
- const embeddedBuild = process.env.VITE_EMBEDDED_BUILD == 'true';
-
- return defineConfig({
- plugins: [
- svelte(),
- ...(embeddedBuild ? [viteSingleFile(), viteCompression({ deleteOriginFile: true })] : [])
- ],
- build: {
- outDir: embeddedBuild ? '../esp32/data' : './build',
- emptyOutDir: true
- },
- resolve: {
- alias: {
- $lib: path.resolve('./src/lib/'),
- $components: path.resolve('./src/components'),
- $utils: path.resolve('./src/utils'),
- $stores: path.resolve('./src/stores')
+export default defineConfig({
+ plugins: [
+ sveltekit(),
+ Icons({
+ compiler: 'svelte'
+ }),
+ viteLittleFS()
+ ],
+ test: {
+ include: ['src/**/*.{test,spec}.{js,ts}']
+ },
+ server: {
+ proxy: {
+ '/api': {
+ target: 'http://192.168.0.172',
+ changeOrigin: true,
+ ws: true
+ },
+ '/ws': {
+ target: 'ws://192.168.0.172',
+ changeOrigin: true,
+ ws: true
}
}
- });
-};
+ }
+});
diff --git a/app2/.eslintignore b/app2/.eslintignore
deleted file mode 100644
index 3897265..0000000
--- a/app2/.eslintignore
+++ /dev/null
@@ -1,13 +0,0 @@
-.DS_Store
-node_modules
-/build
-/.svelte-kit
-/package
-.env
-.env.*
-!.env.example
-
-# Ignore files for PNPM, NPM and YARN
-pnpm-lock.yaml
-package-lock.json
-yarn.lock
diff --git a/app2/.eslintrc.cjs b/app2/.eslintrc.cjs
deleted file mode 100644
index 0b75758..0000000
--- a/app2/.eslintrc.cjs
+++ /dev/null
@@ -1,31 +0,0 @@
-/** @type { import("eslint").Linter.Config } */
-module.exports = {
- root: true,
- extends: [
- 'eslint:recommended',
- 'plugin:@typescript-eslint/recommended',
- 'plugin:svelte/recommended',
- 'prettier'
- ],
- parser: '@typescript-eslint/parser',
- plugins: ['@typescript-eslint'],
- parserOptions: {
- sourceType: 'module',
- ecmaVersion: 2020,
- extraFileExtensions: ['.svelte']
- },
- env: {
- browser: true,
- es2017: true,
- node: true
- },
- overrides: [
- {
- files: ['*.svelte'],
- parser: 'svelte-eslint-parser',
- parserOptions: {
- parser: '@typescript-eslint/parser'
- }
- }
- ]
-};
diff --git a/app2/.gitignore b/app2/.gitignore
deleted file mode 100644
index 6635cf5..0000000
--- a/app2/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-.DS_Store
-node_modules
-/build
-/.svelte-kit
-/package
-.env
-.env.*
-!.env.example
-vite.config.js.timestamp-*
-vite.config.ts.timestamp-*
diff --git a/app2/.prettierignore b/app2/.prettierignore
deleted file mode 100644
index cc41cea..0000000
--- a/app2/.prettierignore
+++ /dev/null
@@ -1,4 +0,0 @@
-# Ignore files for PNPM, NPM and YARN
-pnpm-lock.yaml
-package-lock.json
-yarn.lock
diff --git a/app2/.prettierrc b/app2/.prettierrc
deleted file mode 100644
index 9573023..0000000
--- a/app2/.prettierrc
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "useTabs": true,
- "singleQuote": true,
- "trailingComma": "none",
- "printWidth": 100,
- "plugins": ["prettier-plugin-svelte"],
- "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }]
-}
diff --git a/app2/README.md b/app2/README.md
deleted file mode 100644
index 5ce6766..0000000
--- a/app2/README.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# create-svelte
-
-Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/main/packages/create-svelte).
-
-## Creating a project
-
-If you're seeing this, you've probably already done this step. Congrats!
-
-```bash
-# create a new project in the current directory
-npm create svelte@latest
-
-# create a new project in my-app
-npm create svelte@latest my-app
-```
-
-## Developing
-
-Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
-
-```bash
-npm run dev
-
-# or start the server and open the app in a new browser tab
-npm run dev -- --open
-```
-
-## Building
-
-To create a production version of your app:
-
-```bash
-npm run build
-```
-
-You can preview the production build with `npm run preview`.
-
-> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment.
diff --git a/app2/package.json b/app2/package.json
deleted file mode 100644
index 91edf1a..0000000
--- a/app2/package.json
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- "name": "app2",
- "version": "0.0.1",
- "private": true,
- "scripts": {
- "dev": "vite dev",
- "build": "vite build",
- "preview": "vite preview",
- "test": "npm run test:integration && npm run test:unit",
- "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
- "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
- "lint": "prettier --check . && eslint .",
- "format": "prettier --write .",
- "test:integration": "playwright test",
- "test:unit": "vitest"
- },
- "devDependencies": {
- "@iconify-json/mdi": "^1.1.64",
- "@iconify-json/tabler": "^1.1.109",
- "@playwright/test": "^1.28.1",
- "@sveltejs/adapter-auto": "^3.0.0",
- "@sveltejs/adapter-static": "^3.0.1",
- "@sveltejs/kit": "^2.5.5",
- "@sveltejs/vite-plugin-svelte": "^3.0.0",
- "@types/eslint": "^8.56.0",
- "@types/three": "^0.162.0",
- "@typescript-eslint/eslint-plugin": "^7.0.0",
- "@typescript-eslint/parser": "^7.0.0",
- "autoprefixer": "^10.4.19",
- "eslint": "^8.56.0",
- "eslint-config-prettier": "^9.1.0",
- "eslint-plugin-svelte": "^2.35.1",
- "postcss": "^8.4.38",
- "prettier": "^3.1.1",
- "prettier-plugin-svelte": "^3.1.2",
- "svelte": "^4.2.7",
- "svelte-check": "^3.6.0",
- "svelte-focus-trap": "^1.2.0",
- "tailwindcss": "^3.4.3",
- "tslib": "^2.4.1",
- "typescript": "^5.0.0",
- "unplugin-icons": "^0.18.5",
- "vite": "^5.0.3",
- "vitest": "^1.2.0"
- },
- "type": "module",
- "dependencies": {
- "chart.js": "^4.4.2",
- "compare-versions": "^6.1.0",
- "daisyui": "^4.10.2",
- "jwt-decode": "^4.0.0",
- "nipplejs": "^0.10.1",
- "svelte-dnd-list": "^0.1.8",
- "svelte-modals": "^1.3.0",
- "three": "^0.162.0",
- "urdf-loader": "^0.12.1",
- "uzip": "^0.20201231.0",
- "xacro-parser": "^0.3.9"
- }
-}
\ No newline at end of file
diff --git a/app2/pnpm-lock.yaml b/app2/pnpm-lock.yaml
deleted file mode 100644
index e765169..0000000
--- a/app2/pnpm-lock.yaml
+++ /dev/null
@@ -1,3291 +0,0 @@
-lockfileVersion: '6.0'
-
-settings:
- autoInstallPeers: true
- excludeLinksFromLockfile: false
-
-dependencies:
- chart.js:
- specifier: ^4.4.2
- version: 4.4.2
- compare-versions:
- specifier: ^6.1.0
- version: 6.1.0
- daisyui:
- specifier: ^4.10.2
- version: 4.10.2(postcss@8.4.38)
- jwt-decode:
- specifier: ^4.0.0
- version: 4.0.0
- nipplejs:
- specifier: ^0.10.1
- version: 0.10.1
- svelte-dnd-list:
- specifier: ^0.1.8
- version: 0.1.8
- svelte-modals:
- specifier: ^1.3.0
- version: 1.3.0(svelte@4.2.7)
- three:
- specifier: ^0.162.0
- version: 0.162.0
- urdf-loader:
- specifier: ^0.12.1
- version: 0.12.1(three@0.162.0)
- uzip:
- specifier: ^0.20201231.0
- version: 0.20201231.0
- xacro-parser:
- specifier: ^0.3.9
- version: 0.3.9
-
-devDependencies:
- '@iconify-json/mdi':
- specifier: ^1.1.64
- version: 1.1.64
- '@iconify-json/tabler':
- specifier: ^1.1.109
- version: 1.1.109
- '@playwright/test':
- specifier: ^1.28.1
- version: 1.28.1
- '@sveltejs/adapter-auto':
- specifier: ^3.0.0
- version: 3.0.0(@sveltejs/kit@2.5.5)
- '@sveltejs/adapter-static':
- specifier: ^3.0.1
- version: 3.0.1(@sveltejs/kit@2.5.5)
- '@sveltejs/kit':
- specifier: ^2.5.5
- version: 2.5.5(@sveltejs/vite-plugin-svelte@3.0.0)(svelte@4.2.7)(vite@5.0.3)
- '@sveltejs/vite-plugin-svelte':
- specifier: ^3.0.0
- version: 3.0.0(svelte@4.2.7)(vite@5.0.3)
- '@types/eslint':
- specifier: ^8.56.0
- version: 8.56.0
- '@types/three':
- specifier: ^0.162.0
- version: 0.162.0
- '@typescript-eslint/eslint-plugin':
- specifier: ^7.0.0
- version: 7.0.0(@typescript-eslint/parser@7.0.0)(eslint@8.56.0)(typescript@5.0.2)
- '@typescript-eslint/parser':
- specifier: ^7.0.0
- version: 7.0.0(eslint@8.56.0)(typescript@5.0.2)
- autoprefixer:
- specifier: ^10.4.19
- version: 10.4.19(postcss@8.4.38)
- eslint:
- specifier: ^8.56.0
- version: 8.56.0
- eslint-config-prettier:
- specifier: ^9.1.0
- version: 9.1.0(eslint@8.56.0)
- eslint-plugin-svelte:
- specifier: ^2.35.1
- version: 2.35.1(eslint@8.56.0)(svelte@4.2.7)
- postcss:
- specifier: ^8.4.38
- version: 8.4.38
- prettier:
- specifier: ^3.1.1
- version: 3.1.1
- prettier-plugin-svelte:
- specifier: ^3.1.2
- version: 3.1.2(prettier@3.1.1)(svelte@4.2.7)
- svelte:
- specifier: ^4.2.7
- version: 4.2.7
- svelte-check:
- specifier: ^3.6.0
- version: 3.6.0(postcss@8.4.38)(svelte@4.2.7)
- svelte-focus-trap:
- specifier: ^1.2.0
- version: 1.2.0
- tailwindcss:
- specifier: ^3.4.3
- version: 3.4.3
- tslib:
- specifier: ^2.4.1
- version: 2.4.1
- typescript:
- specifier: ^5.0.0
- version: 5.0.2
- unplugin-icons:
- specifier: ^0.18.5
- version: 0.18.5
- vite:
- specifier: ^5.0.3
- version: 5.0.3
- vitest:
- specifier: ^1.2.0
- version: 1.2.0
-
-packages:
-
- /@aashutoshrathi/word-wrap@1.2.6:
- resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /@alloc/quick-lru@5.2.0:
- resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
- engines: {node: '>=10'}
- dev: true
-
- /@ampproject/remapping@2.3.0:
- resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
- engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.25
-
- /@antfu/install-pkg@0.1.1:
- resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==}
- dependencies:
- execa: 5.1.1
- find-up: 5.0.0
- dev: true
-
- /@antfu/install-pkg@0.3.1:
- resolution: {integrity: sha512-A3zWY9VeTPnxlMiZtsGHw2lSd3ghwvL8s9RiGOtqvDxhhFfZ781ynsGBa/iUnDJ5zBrmTFQrJDud3TGgRISaxw==}
- dependencies:
- execa: 8.0.1
- dev: true
-
- /@antfu/utils@0.7.7:
- resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==}
- dev: true
-
- /@esbuild/aix-ppc64@0.19.12:
- resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [aix]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-arm64@0.19.12:
- resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-arm@0.19.12:
- resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-x64@0.19.12:
- resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/darwin-arm64@0.19.12:
- resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/darwin-x64@0.19.12:
- resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/freebsd-arm64@0.19.12:
- resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/freebsd-x64@0.19.12:
- resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-arm64@0.19.12:
- resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-arm@0.19.12:
- resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ia32@0.19.12:
- resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-loong64@0.19.12:
- resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-mips64el@0.19.12:
- resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ppc64@0.19.12:
- resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-riscv64@0.19.12:
- resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-s390x@0.19.12:
- resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-x64@0.19.12:
- resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/netbsd-x64@0.19.12:
- resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/openbsd-x64@0.19.12:
- resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/sunos-x64@0.19.12:
- resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-arm64@0.19.12:
- resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-ia32@0.19.12:
- resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-x64@0.19.12:
- resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0):
- resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
- dependencies:
- eslint: 8.56.0
- eslint-visitor-keys: 3.4.3
- dev: true
-
- /@eslint-community/regexpp@4.10.0:
- resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- dev: true
-
- /@eslint/eslintrc@2.1.4:
- resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- ajv: 6.12.6
- debug: 4.3.4
- espree: 9.6.1
- globals: 13.24.0
- ignore: 5.3.1
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@eslint/js@8.56.0:
- resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dev: true
-
- /@humanwhocodes/config-array@0.11.14:
- resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
- engines: {node: '>=10.10.0'}
- dependencies:
- '@humanwhocodes/object-schema': 2.0.2
- debug: 4.3.4
- minimatch: 3.1.2
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@humanwhocodes/module-importer@1.0.1:
- resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
- engines: {node: '>=12.22'}
- dev: true
-
- /@humanwhocodes/object-schema@2.0.2:
- resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
- dev: true
-
- /@iconify-json/mdi@1.1.64:
- resolution: {integrity: sha512-zGeo5TjhNFAY6FmSDBLAzDO811t77r6v/mDi7CAL9w5eXqKez6bIjk8R9AL/RHIeq44ALP4Ozr4lMqFTkHr7ug==}
- dependencies:
- '@iconify/types': 2.0.0
- dev: true
-
- /@iconify-json/tabler@1.1.109:
- resolution: {integrity: sha512-74RaBQZQ0761iFTrgmuSH1fovfx0fBKn+txRbRNbRzfh8XWtlAHqKUc3CzvzATMLnVsSRJDxjG3qY4oWH/+opw==}
- dependencies:
- '@iconify/types': 2.0.0
- dev: true
-
- /@iconify/types@2.0.0:
- resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
- dev: true
-
- /@iconify/utils@2.1.22:
- resolution: {integrity: sha512-6UHVzTVXmvO8uS6xFF+L/QTSpTzA/JZxtgU+KYGFyDYMEObZ1bu/b5l+zNJjHy+0leWjHI+C0pXlzGvv3oXZMA==}
- dependencies:
- '@antfu/install-pkg': 0.1.1
- '@antfu/utils': 0.7.7
- '@iconify/types': 2.0.0
- debug: 4.3.4
- kolorist: 1.8.0
- local-pkg: 0.5.0
- mlly: 1.6.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@isaacs/cliui@8.0.2:
- resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
- engines: {node: '>=12'}
- dependencies:
- string-width: 5.1.2
- string-width-cjs: /string-width@4.2.3
- strip-ansi: 7.1.0
- strip-ansi-cjs: /strip-ansi@6.0.1
- wrap-ansi: 8.1.0
- wrap-ansi-cjs: /wrap-ansi@7.0.0
- dev: true
-
- /@jest/schemas@29.6.3:
- resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@sinclair/typebox': 0.27.8
- dev: true
-
- /@jridgewell/gen-mapping@0.3.5:
- resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
- engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/set-array': 1.2.1
- '@jridgewell/sourcemap-codec': 1.4.15
- '@jridgewell/trace-mapping': 0.3.25
-
- /@jridgewell/resolve-uri@3.1.2:
- resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
- engines: {node: '>=6.0.0'}
-
- /@jridgewell/set-array@1.2.1:
- resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
- engines: {node: '>=6.0.0'}
-
- /@jridgewell/sourcemap-codec@1.4.15:
- resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
-
- /@jridgewell/trace-mapping@0.3.25:
- resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
- dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.4.15
-
- /@kurkle/color@0.3.2:
- resolution: {integrity: sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==}
- dev: false
-
- /@nodelib/fs.scandir@2.1.5:
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
- dev: true
-
- /@nodelib/fs.stat@2.0.5:
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
- dev: true
-
- /@nodelib/fs.walk@1.2.8:
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
- dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.17.1
- dev: true
-
- /@pkgjs/parseargs@0.11.0:
- resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
- engines: {node: '>=14'}
- requiresBuild: true
- dev: true
- optional: true
-
- /@playwright/test@1.28.1:
- resolution: {integrity: sha512-xN6spdqrNlwSn9KabIhqfZR7IWjPpFK1835tFNgjrlysaSezuX8PYUwaz38V/yI8TJLG9PkAMEXoHRXYXlpTPQ==}
- engines: {node: '>=14'}
- hasBin: true
- dependencies:
- '@types/node': 20.11.30
- playwright-core: 1.28.1
- dev: true
-
- /@polka/url@1.0.0-next.25:
- resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==}
- dev: true
-
- /@rollup/rollup-android-arm-eabi@4.13.1:
- resolution: {integrity: sha512-4C4UERETjXpC4WpBXDbkgNVgHyWfG3B/NKY46e7w5H134UDOFqUJKpsLm0UYmuupW+aJmRgeScrDNfvZ5WV80A==}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-android-arm64@4.13.1:
- resolution: {integrity: sha512-TrTaFJ9pXgfXEiJKQ3yQRelpQFqgRzVR9it8DbeRzG0RX7mKUy0bqhCFsgevwXLJepQKTnLl95TnPGf9T9AMOA==}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-darwin-arm64@4.13.1:
- resolution: {integrity: sha512-fz7jN6ahTI3cKzDO2otQuybts5cyu0feymg0bjvYCBrZQ8tSgE8pc0sSNEuGvifrQJWiwx9F05BowihmLxeQKw==}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-darwin-x64@4.13.1:
- resolution: {integrity: sha512-WTvdz7SLMlJpektdrnWRUN9C0N2qNHwNbWpNo0a3Tod3gb9leX+yrYdCeB7VV36OtoyiPAivl7/xZ3G1z5h20g==}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-arm-gnueabihf@4.13.1:
- resolution: {integrity: sha512-dBHQl+7wZzBYcIF6o4k2XkAfwP2ks1mYW2q/Gzv9n39uDcDiAGDqEyml08OdY0BIct0yLSPkDTqn4i6czpBLLw==}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-arm64-gnu@4.13.1:
- resolution: {integrity: sha512-bur4JOxvYxfrAmocRJIW0SADs3QdEYK6TQ7dTNz6Z4/lySeu3Z1H/+tl0a4qDYv0bCdBpUYM0sYa/X+9ZqgfSQ==}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-arm64-musl@4.13.1:
- resolution: {integrity: sha512-ssp77SjcDIUSoUyj7DU7/5iwM4ZEluY+N8umtCT9nBRs3u045t0KkW02LTyHouHDomnMXaXSZcCSr2bdMK63kA==}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-riscv64-gnu@4.13.1:
- resolution: {integrity: sha512-Jv1DkIvwEPAb+v25/Unrnnq9BO3F5cbFPT821n3S5litkz+O5NuXuNhqtPx5KtcwOTtaqkTsO+IVzJOsxd11aQ==}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-s390x-gnu@4.13.1:
- resolution: {integrity: sha512-U564BrhEfaNChdATQaEODtquCC7Ez+8Hxz1h5MAdMYj0AqD0GA9rHCpElajb/sQcaFL6NXmHc5O+7FXpWMa73Q==}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-x64-gnu@4.13.1:
- resolution: {integrity: sha512-zGRDulLTeDemR8DFYyFIQ8kMP02xpUsX4IBikc7lwL9PrwR3gWmX2NopqiGlI2ZVWMl15qZeUjumTwpv18N7sQ==}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-x64-musl@4.13.1:
- resolution: {integrity: sha512-VTk/MveyPdMFkYJJPCkYBw07KcTkGU2hLEyqYMsU4NjiOfzoaDTW9PWGRsNwiOA3qI0k/JQPjkl/4FCK1smskQ==}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-win32-arm64-msvc@4.13.1:
- resolution: {integrity: sha512-L+hX8Dtibb02r/OYCsp4sQQIi3ldZkFI0EUkMTDwRfFykXBPptoz/tuuGqEd3bThBSLRWPR6wsixDSgOx/U3Zw==}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-win32-ia32-msvc@4.13.1:
- resolution: {integrity: sha512-+dI2jVPfM5A8zme8riEoNC7UKk0Lzc7jCj/U89cQIrOjrZTCWZl/+IXUeRT2rEZ5j25lnSA9G9H1Ob9azaF/KQ==}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-win32-x64-msvc@4.13.1:
- resolution: {integrity: sha512-YY1Exxo2viZ/O2dMHuwQvimJ0SqvL+OAWQLLY6rvXavgQKjhQUzn7nc1Dd29gjB5Fqi00nrBWctJBOyfVMIVxw==}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@sinclair/typebox@0.27.8:
- resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
- dev: true
-
- /@sveltejs/adapter-auto@3.0.0(@sveltejs/kit@2.5.5):
- resolution: {integrity: sha512-UNWSs/rOReBRfI/xFwSO2WYF1a7PT74SrWOHJmSNLY3Lq+zbH0uuvnlP+TmrTUBvOTkou3WJDjL6lK3n6aOUgQ==}
- peerDependencies:
- '@sveltejs/kit': ^2.0.0
- dependencies:
- '@sveltejs/kit': 2.5.5(@sveltejs/vite-plugin-svelte@3.0.0)(svelte@4.2.7)(vite@5.0.3)
- import-meta-resolve: 4.0.0
- dev: true
-
- /@sveltejs/adapter-static@3.0.1(@sveltejs/kit@2.5.5):
- resolution: {integrity: sha512-6lMvf7xYEJ+oGeR5L8DFJJrowkefTK6ZgA4JiMqoClMkKq0s6yvsd3FZfCFvX1fQ0tpCD7fkuRVHsnUVgsHyNg==}
- peerDependencies:
- '@sveltejs/kit': ^2.0.0
- dependencies:
- '@sveltejs/kit': 2.5.5(@sveltejs/vite-plugin-svelte@3.0.0)(svelte@4.2.7)(vite@5.0.3)
- dev: true
-
- /@sveltejs/kit@2.5.5(@sveltejs/vite-plugin-svelte@3.0.0)(svelte@4.2.7)(vite@5.0.3):
- resolution: {integrity: sha512-ULe3PB00q4+wYRL+IS5FDPsCEVnhEITofm7b9Yz8malcH3r1SAnW/JJ6T13hIMeu8QNRIuVQWo+P4+2VklbnLQ==}
- engines: {node: '>=18.13'}
- hasBin: true
- requiresBuild: true
- peerDependencies:
- '@sveltejs/vite-plugin-svelte': ^3.0.0
- svelte: ^4.0.0 || ^5.0.0-next.0
- vite: ^5.0.3
- dependencies:
- '@sveltejs/vite-plugin-svelte': 3.0.0(svelte@4.2.7)(vite@5.0.3)
- '@types/cookie': 0.6.0
- cookie: 0.6.0
- devalue: 4.3.2
- esm-env: 1.0.0
- import-meta-resolve: 4.0.0
- kleur: 4.1.5
- magic-string: 0.30.8
- mrmime: 2.0.0
- sade: 1.8.1
- set-cookie-parser: 2.6.0
- sirv: 2.0.4
- svelte: 4.2.7
- tiny-glob: 0.2.9
- vite: 5.0.3
- dev: true
-
- /@sveltejs/vite-plugin-svelte-inspector@2.0.0(@sveltejs/vite-plugin-svelte@3.0.0)(svelte@4.2.7)(vite@5.0.3):
- resolution: {integrity: sha512-gjr9ZFg1BSlIpfZ4PRewigrvYmHWbDrq2uvvPB1AmTWKuM+dI1JXQSUu2pIrYLb/QncyiIGkFDFKTwJ0XqQZZg==}
- engines: {node: ^18.0.0 || >=20}
- peerDependencies:
- '@sveltejs/vite-plugin-svelte': ^3.0.0
- svelte: ^4.0.0 || ^5.0.0-next.0
- vite: ^5.0.0
- dependencies:
- '@sveltejs/vite-plugin-svelte': 3.0.0(svelte@4.2.7)(vite@5.0.3)
- debug: 4.3.4
- svelte: 4.2.7
- vite: 5.0.3
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@sveltejs/vite-plugin-svelte@3.0.0(svelte@4.2.7)(vite@5.0.3):
- resolution: {integrity: sha512-Th0nupxk8hl5Rcg9jm+1xWylwco4bSUAvutWxM4W4bjOAollpXLmrYqSSnYo9pPbZOO6ZGRm6sSqYa/v1d/Saw==}
- engines: {node: ^18.0.0 || >=20}
- peerDependencies:
- svelte: ^4.0.0 || ^5.0.0-next.0
- vite: ^5.0.0
- dependencies:
- '@sveltejs/vite-plugin-svelte-inspector': 2.0.0(@sveltejs/vite-plugin-svelte@3.0.0)(svelte@4.2.7)(vite@5.0.3)
- debug: 4.3.4
- deepmerge: 4.3.1
- kleur: 4.1.5
- magic-string: 0.30.8
- svelte: 4.2.7
- svelte-hmr: 0.15.3(svelte@4.2.7)
- vite: 5.0.3
- vitefu: 0.2.5(vite@5.0.3)
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@tweenjs/tween.js@23.1.1:
- resolution: {integrity: sha512-ZpboH7pCPPeyBWKf8c7TJswtCEQObFo3bOBYalm99NzZarATALYCo5OhbCa/n4RQyJyHfhkdx+hNrdL5ByFYDw==}
- dev: true
-
- /@types/cookie@0.6.0:
- resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
- dev: true
-
- /@types/eslint@8.56.0:
- resolution: {integrity: sha512-FlsN0p4FhuYRjIxpbdXovvHQhtlG05O1GG/RNWvdAxTboR438IOTwmrY/vLA+Xfgg06BTkP045M3vpFwTMv1dg==}
- dependencies:
- '@types/estree': 1.0.5
- '@types/json-schema': 7.0.15
- dev: true
-
- /@types/estree@1.0.5:
- resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
-
- /@types/json-schema@7.0.15:
- resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
- dev: true
-
- /@types/node@20.11.30:
- resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==}
- dependencies:
- undici-types: 5.26.5
- dev: true
-
- /@types/pug@2.0.10:
- resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==}
- dev: true
-
- /@types/semver@7.5.8:
- resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
- dev: true
-
- /@types/stats.js@0.17.3:
- resolution: {integrity: sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==}
- dev: true
-
- /@types/three@0.162.0:
- resolution: {integrity: sha512-0j5yZcVukVIhrhSIC7+LmBPkkMoMuEJ1AfYBZfgNytdYqYREMuiyXWhYOMeZLBElTEAlJIZn7r2W3vqTIgjWlg==}
- dependencies:
- '@tweenjs/tween.js': 23.1.1
- '@types/stats.js': 0.17.3
- '@types/webxr': 0.5.14
- fflate: 0.6.10
- meshoptimizer: 0.18.1
- dev: true
-
- /@types/webxr@0.5.14:
- resolution: {integrity: sha512-UEMMm/Xn3DtEa+gpzUrOcDj+SJS1tk5YodjwOxcqStNhCfPcwgyC5Srg2ToVKyg2Fhq16Ffpb0UWUQHqoT9AMA==}
- dev: true
-
- /@typescript-eslint/eslint-plugin@7.0.0(@typescript-eslint/parser@7.0.0)(eslint@8.56.0)(typescript@5.0.2):
- resolution: {integrity: sha512-M72SJ0DkcQVmmsbqlzc6EJgb/3Oz2Wdm6AyESB4YkGgCxP8u5jt5jn4/OBMPK3HLOxcttZq5xbBBU7e2By4SZQ==}
- engines: {node: ^16.0.0 || >=18.0.0}
- peerDependencies:
- '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha
- eslint: ^8.56.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@eslint-community/regexpp': 4.10.0
- '@typescript-eslint/parser': 7.0.0(eslint@8.56.0)(typescript@5.0.2)
- '@typescript-eslint/scope-manager': 7.0.0
- '@typescript-eslint/type-utils': 7.0.0(eslint@8.56.0)(typescript@5.0.2)
- '@typescript-eslint/utils': 7.0.0(eslint@8.56.0)(typescript@5.0.2)
- '@typescript-eslint/visitor-keys': 7.0.0
- debug: 4.3.4
- eslint: 8.56.0
- graphemer: 1.4.0
- ignore: 5.3.1
- natural-compare: 1.4.0
- semver: 7.6.0
- ts-api-utils: 1.3.0(typescript@5.0.2)
- typescript: 5.0.2
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@typescript-eslint/parser@7.0.0(eslint@8.56.0)(typescript@5.0.2):
- resolution: {integrity: sha512-V2eqnC998a04L5TniVt8qEhw/rp1dRU/9GJfx4128AFeh2WPMpmj5oeF5G9EqTi6z1JdKfLEACRMot5wUxD3pA==}
- engines: {node: ^16.0.0 || >=18.0.0}
- peerDependencies:
- eslint: ^8.56.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@typescript-eslint/scope-manager': 7.0.0
- '@typescript-eslint/types': 7.0.0
- '@typescript-eslint/typescript-estree': 7.0.0(typescript@5.0.2)
- '@typescript-eslint/visitor-keys': 7.0.0
- debug: 4.3.4
- eslint: 8.56.0
- typescript: 5.0.2
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@typescript-eslint/scope-manager@7.0.0:
- resolution: {integrity: sha512-IxTStwhNDPO07CCrYuAqjuJ3Xf5MrMaNgbAZPxFXAUpAtwqFxiuItxUaVtP/SJQeCdJjwDGh9/lMOluAndkKeg==}
- engines: {node: ^16.0.0 || >=18.0.0}
- dependencies:
- '@typescript-eslint/types': 7.0.0
- '@typescript-eslint/visitor-keys': 7.0.0
- dev: true
-
- /@typescript-eslint/type-utils@7.0.0(eslint@8.56.0)(typescript@5.0.2):
- resolution: {integrity: sha512-FIM8HPxj1P2G7qfrpiXvbHeHypgo2mFpFGoh5I73ZlqmJOsloSa1x0ZyXCer43++P1doxCgNqIOLqmZR6SOT8g==}
- engines: {node: ^16.0.0 || >=18.0.0}
- peerDependencies:
- eslint: ^8.56.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@typescript-eslint/typescript-estree': 7.0.0(typescript@5.0.2)
- '@typescript-eslint/utils': 7.0.0(eslint@8.56.0)(typescript@5.0.2)
- debug: 4.3.4
- eslint: 8.56.0
- ts-api-utils: 1.3.0(typescript@5.0.2)
- typescript: 5.0.2
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@typescript-eslint/types@7.0.0:
- resolution: {integrity: sha512-9ZIJDqagK1TTs4W9IyeB2sH/s1fFhN9958ycW8NRTg1vXGzzH5PQNzq6KbsbVGMT+oyyfa17DfchHDidcmf5cg==}
- engines: {node: ^16.0.0 || >=18.0.0}
- dev: true
-
- /@typescript-eslint/typescript-estree@7.0.0(typescript@5.0.2):
- resolution: {integrity: sha512-JzsOzhJJm74aQ3c9um/aDryHgSHfaX8SHFIu9x4Gpik/+qxLvxUylhTsO9abcNu39JIdhY2LgYrFxTii3IajLA==}
- engines: {node: ^16.0.0 || >=18.0.0}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@typescript-eslint/types': 7.0.0
- '@typescript-eslint/visitor-keys': 7.0.0
- debug: 4.3.4
- globby: 11.1.0
- is-glob: 4.0.3
- minimatch: 9.0.3
- semver: 7.6.0
- ts-api-utils: 1.3.0(typescript@5.0.2)
- typescript: 5.0.2
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@typescript-eslint/utils@7.0.0(eslint@8.56.0)(typescript@5.0.2):
- resolution: {integrity: sha512-kuPZcPAdGcDBAyqDn/JVeJVhySvpkxzfXjJq1X1BFSTYo1TTuo4iyb937u457q4K0In84p6u2VHQGaFnv7VYqg==}
- engines: {node: ^16.0.0 || >=18.0.0}
- peerDependencies:
- eslint: ^8.56.0
- dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
- '@types/json-schema': 7.0.15
- '@types/semver': 7.5.8
- '@typescript-eslint/scope-manager': 7.0.0
- '@typescript-eslint/types': 7.0.0
- '@typescript-eslint/typescript-estree': 7.0.0(typescript@5.0.2)
- eslint: 8.56.0
- semver: 7.6.0
- transitivePeerDependencies:
- - supports-color
- - typescript
- dev: true
-
- /@typescript-eslint/visitor-keys@7.0.0:
- resolution: {integrity: sha512-JZP0uw59PRHp7sHQl3aF/lFgwOW2rgNVnXUksj1d932PMita9wFBd3621vHQRDvHwPsSY9FMAAHVc8gTvLYY4w==}
- engines: {node: ^16.0.0 || >=18.0.0}
- dependencies:
- '@typescript-eslint/types': 7.0.0
- eslint-visitor-keys: 3.4.3
- dev: true
-
- /@ungap/structured-clone@1.2.0:
- resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
- dev: true
-
- /@vitest/expect@1.2.0:
- resolution: {integrity: sha512-H+2bHzhyvgp32o7Pgj2h9RTHN0pgYaoi26Oo3mE+dCi1PAqV31kIIVfTbqMO3Bvshd5mIrJLc73EwSRrbol9Lw==}
- dependencies:
- '@vitest/spy': 1.2.0
- '@vitest/utils': 1.2.0
- chai: 4.4.1
- dev: true
-
- /@vitest/runner@1.2.0:
- resolution: {integrity: sha512-vaJkDoQaNUTroT70OhM0NPznP7H3WyRwt4LvGwCVYs/llLaqhoSLnlIhUClZpbF5RgAee29KRcNz0FEhYcgxqA==}
- dependencies:
- '@vitest/utils': 1.2.0
- p-limit: 5.0.0
- pathe: 1.1.2
- dev: true
-
- /@vitest/snapshot@1.2.0:
- resolution: {integrity: sha512-P33EE7TrVgB3HDLllrjK/GG6WSnmUtWohbwcQqmm7TAk9AVHpdgf7M3F3qRHKm6vhr7x3eGIln7VH052Smo6Kw==}
- dependencies:
- magic-string: 0.30.8
- pathe: 1.1.2
- pretty-format: 29.7.0
- dev: true
-
- /@vitest/spy@1.2.0:
- resolution: {integrity: sha512-MNxSAfxUaCeowqyyGwC293yZgk7cECZU9wGb8N1pYQ0yOn/SIr8t0l9XnGRdQZvNV/ZHBYu6GO/W3tj5K3VN1Q==}
- dependencies:
- tinyspy: 2.2.1
- dev: true
-
- /@vitest/utils@1.2.0:
- resolution: {integrity: sha512-FyD5bpugsXlwVpTcGLDf3wSPYy8g541fQt14qtzo8mJ4LdEpDKZ9mQy2+qdJm2TZRpjY5JLXihXCgIxiRJgi5g==}
- dependencies:
- diff-sequences: 29.6.3
- estree-walker: 3.0.3
- loupe: 2.3.7
- pretty-format: 29.7.0
- dev: true
-
- /acorn-jsx@5.3.2(acorn@8.11.3):
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
- peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
- dependencies:
- acorn: 8.11.3
- dev: true
-
- /acorn-walk@8.3.2:
- resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==}
- engines: {node: '>=0.4.0'}
- dev: true
-
- /acorn@8.11.3:
- resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
- engines: {node: '>=0.4.0'}
- hasBin: true
-
- /ajv@6.12.6:
- resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
- dependencies:
- fast-deep-equal: 3.1.3
- fast-json-stable-stringify: 2.1.0
- json-schema-traverse: 0.4.1
- uri-js: 4.4.1
- dev: true
-
- /ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
-
- /ansi-regex@6.0.1:
- resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
- engines: {node: '>=12'}
- dev: true
-
- /ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
- dependencies:
- color-convert: 2.0.1
-
- /ansi-styles@5.2.0:
- resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
- engines: {node: '>=10'}
- dev: true
-
- /ansi-styles@6.2.1:
- resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
- engines: {node: '>=12'}
- dev: true
-
- /any-promise@1.3.0:
- resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
- dev: true
-
- /anymatch@3.1.3:
- resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
- engines: {node: '>= 8'}
- dependencies:
- normalize-path: 3.0.0
- picomatch: 2.3.1
- dev: true
-
- /arg@5.0.2:
- resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
- dev: true
-
- /argparse@2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
- dev: true
-
- /aria-query@5.3.0:
- resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
- dependencies:
- dequal: 2.0.3
-
- /array-union@2.1.0:
- resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
- engines: {node: '>=8'}
- dev: true
-
- /assertion-error@1.1.0:
- resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
- dev: true
-
- /autoprefixer@10.4.19(postcss@8.4.38):
- resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==}
- engines: {node: ^10 || ^12 || >=14}
- hasBin: true
- peerDependencies:
- postcss: ^8.1.0
- dependencies:
- browserslist: 4.23.0
- caniuse-lite: 1.0.30001600
- fraction.js: 4.3.7
- normalize-range: 0.1.2
- picocolors: 1.0.0
- postcss: 8.4.38
- postcss-value-parser: 4.2.0
- dev: true
-
- /axobject-query@3.2.1:
- resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
- dependencies:
- dequal: 2.0.3
-
- /balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
- dev: true
-
- /binary-extensions@2.3.0:
- resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
- engines: {node: '>=8'}
- dev: true
-
- /brace-expansion@1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
- dependencies:
- balanced-match: 1.0.2
- concat-map: 0.0.1
- dev: true
-
- /brace-expansion@2.0.1:
- resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
- dependencies:
- balanced-match: 1.0.2
- dev: true
-
- /braces@3.0.2:
- resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
- engines: {node: '>=8'}
- dependencies:
- fill-range: 7.0.1
- dev: true
-
- /browserslist@4.23.0:
- resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
- dependencies:
- caniuse-lite: 1.0.30001600
- electron-to-chromium: 1.4.718
- node-releases: 2.0.14
- update-browserslist-db: 1.0.13(browserslist@4.23.0)
- dev: true
-
- /buffer-crc32@0.2.13:
- resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
- dev: true
-
- /cac@6.7.14:
- resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
- engines: {node: '>=8'}
- dev: true
-
- /callsites@3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
- engines: {node: '>=6'}
- dev: true
-
- /camelcase-css@2.0.1:
- resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
- engines: {node: '>= 6'}
-
- /caniuse-lite@1.0.30001600:
- resolution: {integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==}
- dev: true
-
- /chai@4.4.1:
- resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==}
- engines: {node: '>=4'}
- dependencies:
- assertion-error: 1.1.0
- check-error: 1.0.3
- deep-eql: 4.1.3
- get-func-name: 2.0.2
- loupe: 2.3.7
- pathval: 1.1.1
- type-detect: 4.0.8
- dev: true
-
- /chalk@4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
- dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
- dev: true
-
- /chart.js@4.4.2:
- resolution: {integrity: sha512-6GD7iKwFpP5kbSD4MeRRRlTnQvxfQREy36uEtm1hzHzcOqwWx0YEHuspuoNlslu+nciLIB7fjjsHkUv/FzFcOg==}
- engines: {pnpm: '>=8'}
- dependencies:
- '@kurkle/color': 0.3.2
- dev: false
-
- /check-error@1.0.3:
- resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==}
- dependencies:
- get-func-name: 2.0.2
- dev: true
-
- /chokidar@3.6.0:
- resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
- engines: {node: '>= 8.10.0'}
- dependencies:
- anymatch: 3.1.3
- braces: 3.0.2
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.3
- dev: true
-
- /cliui@8.0.1:
- resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
- engines: {node: '>=12'}
- dependencies:
- string-width: 4.2.3
- strip-ansi: 6.0.1
- wrap-ansi: 7.0.0
- dev: false
-
- /code-red@1.0.4:
- resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==}
- dependencies:
- '@jridgewell/sourcemap-codec': 1.4.15
- '@types/estree': 1.0.5
- acorn: 8.11.3
- estree-walker: 3.0.3
- periscopic: 3.1.0
-
- /color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
- dependencies:
- color-name: 1.1.4
-
- /color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
-
- /commander@4.1.1:
- resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
- engines: {node: '>= 6'}
- dev: true
-
- /compare-versions@6.1.0:
- resolution: {integrity: sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==}
- dev: false
-
- /concat-map@0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
- dev: true
-
- /cookie@0.6.0:
- resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
- engines: {node: '>= 0.6'}
- dev: true
-
- /cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
- engines: {node: '>= 8'}
- dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
- dev: true
-
- /css-selector-tokenizer@0.8.0:
- resolution: {integrity: sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==}
- dependencies:
- cssesc: 3.0.0
- fastparse: 1.1.2
- dev: false
-
- /css-tree@2.3.1:
- resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
- engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
- dependencies:
- mdn-data: 2.0.30
- source-map-js: 1.2.0
-
- /cssesc@3.0.0:
- resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
- engines: {node: '>=4'}
- hasBin: true
-
- /culori@3.3.0:
- resolution: {integrity: sha512-pHJg+jbuFsCjz9iclQBqyL3B2HLCBF71BwVNujUYEvCeQMvV97R59MNK3R2+jgJ3a1fcZgI9B3vYgz8lzr/BFQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: false
-
- /daisyui@4.10.2(postcss@8.4.38):
- resolution: {integrity: sha512-eCWS1W/JPyxW9IvlgW5m0R6rp9ZhRsBTW37rvEUthckkjsV04u8XipV519OoccSA46ixhSJa3q7XLI1WUFtRCA==}
- engines: {node: '>=16.9.0'}
- dependencies:
- css-selector-tokenizer: 0.8.0
- culori: 3.3.0
- picocolors: 1.0.0
- postcss-js: 4.0.1(postcss@8.4.38)
- transitivePeerDependencies:
- - postcss
- dev: false
-
- /debug@4.3.4:
- resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
- dependencies:
- ms: 2.1.2
- dev: true
-
- /deep-eql@4.1.3:
- resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==}
- engines: {node: '>=6'}
- dependencies:
- type-detect: 4.0.8
- dev: true
-
- /deep-is@0.1.4:
- resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
- dev: true
-
- /deepmerge@4.3.1:
- resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /dequal@2.0.3:
- resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
- engines: {node: '>=6'}
-
- /detect-indent@6.1.0:
- resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
- engines: {node: '>=8'}
- dev: true
-
- /devalue@4.3.2:
- resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==}
- dev: true
-
- /didyoumean@1.2.2:
- resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
- dev: true
-
- /diff-sequences@29.6.3:
- resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dev: true
-
- /dir-glob@3.0.1:
- resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
- engines: {node: '>=8'}
- dependencies:
- path-type: 4.0.0
- dev: true
-
- /dlv@1.1.3:
- resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
- dev: true
-
- /doctrine@3.0.0:
- resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
- engines: {node: '>=6.0.0'}
- dependencies:
- esutils: 2.0.3
- dev: true
-
- /eastasianwidth@0.2.0:
- resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
- dev: true
-
- /electron-to-chromium@1.4.718:
- resolution: {integrity: sha512-6FpOapKxHuRNUoNQEP54sAacMod/XX68/Oaau+UoTEC8yxy5lR8jAvTlyrb60oZ9OtuUuAEtKvCQOJm6S4MtBQ==}
- dev: true
-
- /emoji-regex@8.0.0:
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
-
- /emoji-regex@9.2.2:
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
- dev: true
-
- /es6-promise@3.3.1:
- resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==}
- dev: true
-
- /esbuild@0.19.12:
- resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.19.12
- '@esbuild/android-arm': 0.19.12
- '@esbuild/android-arm64': 0.19.12
- '@esbuild/android-x64': 0.19.12
- '@esbuild/darwin-arm64': 0.19.12
- '@esbuild/darwin-x64': 0.19.12
- '@esbuild/freebsd-arm64': 0.19.12
- '@esbuild/freebsd-x64': 0.19.12
- '@esbuild/linux-arm': 0.19.12
- '@esbuild/linux-arm64': 0.19.12
- '@esbuild/linux-ia32': 0.19.12
- '@esbuild/linux-loong64': 0.19.12
- '@esbuild/linux-mips64el': 0.19.12
- '@esbuild/linux-ppc64': 0.19.12
- '@esbuild/linux-riscv64': 0.19.12
- '@esbuild/linux-s390x': 0.19.12
- '@esbuild/linux-x64': 0.19.12
- '@esbuild/netbsd-x64': 0.19.12
- '@esbuild/openbsd-x64': 0.19.12
- '@esbuild/sunos-x64': 0.19.12
- '@esbuild/win32-arm64': 0.19.12
- '@esbuild/win32-ia32': 0.19.12
- '@esbuild/win32-x64': 0.19.12
- dev: true
-
- /escalade@3.1.2:
- resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
- engines: {node: '>=6'}
-
- /escape-string-regexp@4.0.0:
- resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
- engines: {node: '>=10'}
- dev: true
-
- /eslint-compat-utils@0.1.2(eslint@8.56.0):
- resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==}
- engines: {node: '>=12'}
- peerDependencies:
- eslint: '>=6.0.0'
- dependencies:
- eslint: 8.56.0
- dev: true
-
- /eslint-config-prettier@9.1.0(eslint@8.56.0):
- resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
- hasBin: true
- peerDependencies:
- eslint: '>=7.0.0'
- dependencies:
- eslint: 8.56.0
- dev: true
-
- /eslint-plugin-svelte@2.35.1(eslint@8.56.0)(svelte@4.2.7):
- resolution: {integrity: sha512-IF8TpLnROSGy98Z3NrsKXWDSCbNY2ReHDcrYTuXZMbfX7VmESISR78TWgO9zdg4Dht1X8coub5jKwHzP0ExRug==}
- engines: {node: ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^7.0.0 || ^8.0.0-0
- svelte: ^3.37.0 || ^4.0.0
- peerDependenciesMeta:
- svelte:
- optional: true
- dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
- '@jridgewell/sourcemap-codec': 1.4.15
- debug: 4.3.4
- eslint: 8.56.0
- eslint-compat-utils: 0.1.2(eslint@8.56.0)
- esutils: 2.0.3
- known-css-properties: 0.29.0
- postcss: 8.4.38
- postcss-load-config: 3.1.4(postcss@8.4.38)
- postcss-safe-parser: 6.0.0(postcss@8.4.38)
- postcss-selector-parser: 6.0.16
- semver: 7.6.0
- svelte: 4.2.7
- svelte-eslint-parser: 0.33.1(svelte@4.2.7)
- transitivePeerDependencies:
- - supports-color
- - ts-node
- dev: true
-
- /eslint-scope@7.2.2:
- resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- esrecurse: 4.3.0
- estraverse: 5.3.0
- dev: true
-
- /eslint-visitor-keys@3.4.3:
- resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dev: true
-
- /eslint@8.56.0:
- resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- hasBin: true
- dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
- '@eslint-community/regexpp': 4.10.0
- '@eslint/eslintrc': 2.1.4
- '@eslint/js': 8.56.0
- '@humanwhocodes/config-array': 0.11.14
- '@humanwhocodes/module-importer': 1.0.1
- '@nodelib/fs.walk': 1.2.8
- '@ungap/structured-clone': 1.2.0
- ajv: 6.12.6
- chalk: 4.1.2
- cross-spawn: 7.0.3
- debug: 4.3.4
- doctrine: 3.0.0
- escape-string-regexp: 4.0.0
- eslint-scope: 7.2.2
- eslint-visitor-keys: 3.4.3
- espree: 9.6.1
- esquery: 1.5.0
- esutils: 2.0.3
- fast-deep-equal: 3.1.3
- file-entry-cache: 6.0.1
- find-up: 5.0.0
- glob-parent: 6.0.2
- globals: 13.24.0
- graphemer: 1.4.0
- ignore: 5.3.1
- imurmurhash: 0.1.4
- is-glob: 4.0.3
- is-path-inside: 3.0.3
- js-yaml: 4.1.0
- json-stable-stringify-without-jsonify: 1.0.1
- levn: 0.4.1
- lodash.merge: 4.6.2
- minimatch: 3.1.2
- natural-compare: 1.4.0
- optionator: 0.9.3
- strip-ansi: 6.0.1
- text-table: 0.2.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /esm-env@1.0.0:
- resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==}
- dev: true
-
- /espree@9.6.1:
- resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- acorn: 8.11.3
- acorn-jsx: 5.3.2(acorn@8.11.3)
- eslint-visitor-keys: 3.4.3
- dev: true
-
- /esquery@1.5.0:
- resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
- engines: {node: '>=0.10'}
- dependencies:
- estraverse: 5.3.0
- dev: true
-
- /esrecurse@4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
- engines: {node: '>=4.0'}
- dependencies:
- estraverse: 5.3.0
- dev: true
-
- /estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
- dev: true
-
- /estree-walker@3.0.3:
- resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
- dependencies:
- '@types/estree': 1.0.5
-
- /esutils@2.0.3:
- resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /execa@5.1.1:
- resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
- engines: {node: '>=10'}
- dependencies:
- cross-spawn: 7.0.3
- get-stream: 6.0.1
- human-signals: 2.1.0
- is-stream: 2.0.1
- merge-stream: 2.0.0
- npm-run-path: 4.0.1
- onetime: 5.1.2
- signal-exit: 3.0.7
- strip-final-newline: 2.0.0
- dev: true
-
- /execa@8.0.1:
- resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
- engines: {node: '>=16.17'}
- dependencies:
- cross-spawn: 7.0.3
- get-stream: 8.0.1
- human-signals: 5.0.0
- is-stream: 3.0.0
- merge-stream: 2.0.0
- npm-run-path: 5.3.0
- onetime: 6.0.0
- signal-exit: 4.1.0
- strip-final-newline: 3.0.0
- dev: true
-
- /expr-eval@2.0.2:
- resolution: {integrity: sha512-4EMSHGOPSwAfBiibw3ndnP0AvjDWLsMvGOvWEZ2F96IGk0bIVdjQisOHxReSkE13mHcfbuCiXw+G4y0zv6N8Eg==}
- dev: false
-
- /fast-deep-equal@3.1.3:
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
- dev: true
-
- /fast-glob@3.3.2:
- resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
- engines: {node: '>=8.6.0'}
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- '@nodelib/fs.walk': 1.2.8
- glob-parent: 5.1.2
- merge2: 1.4.1
- micromatch: 4.0.5
- dev: true
-
- /fast-json-stable-stringify@2.1.0:
- resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
- dev: true
-
- /fast-levenshtein@2.0.6:
- resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
- dev: true
-
- /fastparse@1.1.2:
- resolution: {integrity: sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==}
- dev: false
-
- /fastq@1.17.1:
- resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
- dependencies:
- reusify: 1.0.4
- dev: true
-
- /fflate@0.6.10:
- resolution: {integrity: sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==}
- dev: true
-
- /file-entry-cache@6.0.1:
- resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
- engines: {node: ^10.12.0 || >=12.0.0}
- dependencies:
- flat-cache: 3.2.0
- dev: true
-
- /fill-range@7.0.1:
- resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
- engines: {node: '>=8'}
- dependencies:
- to-regex-range: 5.0.1
- dev: true
-
- /find-up@5.0.0:
- resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
- engines: {node: '>=10'}
- dependencies:
- locate-path: 6.0.0
- path-exists: 4.0.0
- dev: true
-
- /flat-cache@3.2.0:
- resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
- engines: {node: ^10.12.0 || >=12.0.0}
- dependencies:
- flatted: 3.3.1
- keyv: 4.5.4
- rimraf: 3.0.2
- dev: true
-
- /flatted@3.3.1:
- resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
- dev: true
-
- /foreground-child@3.1.1:
- resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
- engines: {node: '>=14'}
- dependencies:
- cross-spawn: 7.0.3
- signal-exit: 4.1.0
- dev: true
-
- /fraction.js@4.3.7:
- resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
- dev: true
-
- /fs.realpath@1.0.0:
- resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
- dev: true
-
- /fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /function-bind@1.1.2:
- resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
- dev: true
-
- /get-caller-file@2.0.5:
- resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
- engines: {node: 6.* || 8.* || >= 10.*}
- dev: false
-
- /get-func-name@2.0.2:
- resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
- dev: true
-
- /get-stream@6.0.1:
- resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
- engines: {node: '>=10'}
- dev: true
-
- /get-stream@8.0.1:
- resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
- engines: {node: '>=16'}
- dev: true
-
- /glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
- dependencies:
- is-glob: 4.0.3
- dev: true
-
- /glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
- dependencies:
- is-glob: 4.0.3
- dev: true
-
- /glob@10.3.10:
- resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
- engines: {node: '>=16 || 14 >=14.17'}
- hasBin: true
- dependencies:
- foreground-child: 3.1.1
- jackspeak: 2.3.6
- minimatch: 9.0.3
- minipass: 7.0.4
- path-scurry: 1.10.1
- dev: true
-
- /glob@7.2.3:
- resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
- dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.2
- once: 1.4.0
- path-is-absolute: 1.0.1
- dev: true
-
- /globals@13.24.0:
- resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
- engines: {node: '>=8'}
- dependencies:
- type-fest: 0.20.2
- dev: true
-
- /globalyzer@0.1.0:
- resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
- dev: true
-
- /globby@11.1.0:
- resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
- engines: {node: '>=10'}
- dependencies:
- array-union: 2.1.0
- dir-glob: 3.0.1
- fast-glob: 3.3.2
- ignore: 5.3.1
- merge2: 1.4.1
- slash: 3.0.0
- dev: true
-
- /globrex@0.1.2:
- resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
- dev: true
-
- /graceful-fs@4.2.11:
- resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
- dev: true
-
- /graphemer@1.4.0:
- resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
- dev: true
-
- /has-flag@4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
- dev: true
-
- /hasown@2.0.2:
- resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- function-bind: 1.1.2
- dev: true
-
- /human-signals@2.1.0:
- resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
- engines: {node: '>=10.17.0'}
- dev: true
-
- /human-signals@5.0.0:
- resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
- engines: {node: '>=16.17.0'}
- dev: true
-
- /ignore@5.3.1:
- resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
- engines: {node: '>= 4'}
- dev: true
-
- /import-fresh@3.3.0:
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
- engines: {node: '>=6'}
- dependencies:
- parent-module: 1.0.1
- resolve-from: 4.0.0
- dev: true
-
- /import-meta-resolve@4.0.0:
- resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==}
- dev: true
-
- /imurmurhash@0.1.4:
- resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
- engines: {node: '>=0.8.19'}
- dev: true
-
- /inflight@1.0.6:
- resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
- dependencies:
- once: 1.4.0
- wrappy: 1.0.2
- dev: true
-
- /inherits@2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
- dev: true
-
- /is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
- dependencies:
- binary-extensions: 2.3.0
- dev: true
-
- /is-core-module@2.13.1:
- resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
- dependencies:
- hasown: 2.0.2
- dev: true
-
- /is-extglob@2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /is-fullwidth-code-point@3.0.0:
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
- engines: {node: '>=8'}
-
- /is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
- dependencies:
- is-extglob: 2.1.1
- dev: true
-
- /is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
- dev: true
-
- /is-path-inside@3.0.3:
- resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
- engines: {node: '>=8'}
- dev: true
-
- /is-reference@3.0.2:
- resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
- dependencies:
- '@types/estree': 1.0.5
-
- /is-stream@2.0.1:
- resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
- engines: {node: '>=8'}
- dev: true
-
- /is-stream@3.0.0:
- resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: true
-
- /isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
- dev: true
-
- /jackspeak@2.3.6:
- resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
- engines: {node: '>=14'}
- dependencies:
- '@isaacs/cliui': 8.0.2
- optionalDependencies:
- '@pkgjs/parseargs': 0.11.0
- dev: true
-
- /jiti@1.21.0:
- resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
- hasBin: true
- dev: true
-
- /js-yaml@4.1.0:
- resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
- hasBin: true
- dependencies:
- argparse: 2.0.1
- dev: true
-
- /json-buffer@3.0.1:
- resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
- dev: true
-
- /json-schema-traverse@0.4.1:
- resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
- dev: true
-
- /json-stable-stringify-without-jsonify@1.0.1:
- resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
- dev: true
-
- /jsonc-parser@3.2.1:
- resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==}
- dev: true
-
- /jwt-decode@4.0.0:
- resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==}
- engines: {node: '>=18'}
- dev: false
-
- /keyv@4.5.4:
- resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
- dependencies:
- json-buffer: 3.0.1
- dev: true
-
- /kleur@4.1.5:
- resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
- engines: {node: '>=6'}
- dev: true
-
- /known-css-properties@0.29.0:
- resolution: {integrity: sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==}
- dev: true
-
- /kolorist@1.8.0:
- resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
- dev: true
-
- /levn@0.4.1:
- resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- prelude-ls: 1.2.1
- type-check: 0.4.0
- dev: true
-
- /lilconfig@2.1.0:
- resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
- engines: {node: '>=10'}
- dev: true
-
- /lilconfig@3.1.1:
- resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==}
- engines: {node: '>=14'}
- dev: true
-
- /lines-and-columns@1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
- dev: true
-
- /local-pkg@0.5.0:
- resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
- engines: {node: '>=14'}
- dependencies:
- mlly: 1.6.1
- pkg-types: 1.0.3
- dev: true
-
- /locate-character@3.0.0:
- resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
-
- /locate-path@6.0.0:
- resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
- engines: {node: '>=10'}
- dependencies:
- p-locate: 5.0.0
- dev: true
-
- /lodash.merge@4.6.2:
- resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
- dev: true
-
- /loupe@2.3.7:
- resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==}
- dependencies:
- get-func-name: 2.0.2
- dev: true
-
- /lru-cache@10.2.0:
- resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==}
- engines: {node: 14 || >=16.14}
- dev: true
-
- /lru-cache@6.0.0:
- resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
- engines: {node: '>=10'}
- dependencies:
- yallist: 4.0.0
- dev: true
-
- /magic-string@0.30.8:
- resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==}
- engines: {node: '>=12'}
- dependencies:
- '@jridgewell/sourcemap-codec': 1.4.15
-
- /mdn-data@2.0.30:
- resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
-
- /merge-stream@2.0.0:
- resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
- dev: true
-
- /merge2@1.4.1:
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
- engines: {node: '>= 8'}
- dev: true
-
- /meshoptimizer@0.18.1:
- resolution: {integrity: sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==}
- dev: true
-
- /micromatch@4.0.5:
- resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
- engines: {node: '>=8.6'}
- dependencies:
- braces: 3.0.2
- picomatch: 2.3.1
- dev: true
-
- /mimic-fn@2.1.0:
- resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
- engines: {node: '>=6'}
- dev: true
-
- /mimic-fn@4.0.0:
- resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
- engines: {node: '>=12'}
- dev: true
-
- /min-indent@1.0.1:
- resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
- engines: {node: '>=4'}
- dev: true
-
- /minimatch@3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
- dependencies:
- brace-expansion: 1.1.11
- dev: true
-
- /minimatch@9.0.3:
- resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
- engines: {node: '>=16 || 14 >=14.17'}
- dependencies:
- brace-expansion: 2.0.1
- dev: true
-
- /minimist@1.2.8:
- resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
- dev: true
-
- /minipass@7.0.4:
- resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==}
- engines: {node: '>=16 || 14 >=14.17'}
- dev: true
-
- /mkdirp@0.5.6:
- resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
- hasBin: true
- dependencies:
- minimist: 1.2.8
- dev: true
-
- /mlly@1.6.1:
- resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==}
- dependencies:
- acorn: 8.11.3
- pathe: 1.1.2
- pkg-types: 1.0.3
- ufo: 1.5.3
- dev: true
-
- /mousetrap@1.6.5:
- resolution: {integrity: sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==}
- dev: true
-
- /mri@1.2.0:
- resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
- engines: {node: '>=4'}
- dev: true
-
- /mrmime@2.0.0:
- resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
- engines: {node: '>=10'}
- dev: true
-
- /ms@2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
- dev: true
-
- /mz@2.7.0:
- resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
- dependencies:
- any-promise: 1.3.0
- object-assign: 4.1.1
- thenify-all: 1.6.0
- dev: true
-
- /nanoid@3.3.7:
- resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
-
- /natural-compare@1.4.0:
- resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
- dev: true
-
- /nipplejs@0.10.1:
- resolution: {integrity: sha512-BuKBDfdd7BVK6E7sivHwrRPh9TETsHuHEwuT95nAjRz2uJu5roYngNs+BdRe8nYf8mP6OZ9aRqdgMlqVsDMRcw==}
- dev: false
-
- /node-releases@2.0.14:
- resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
- dev: true
-
- /normalize-path@3.0.0:
- resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /normalize-range@0.1.2:
- resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /npm-run-path@4.0.1:
- resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
- engines: {node: '>=8'}
- dependencies:
- path-key: 3.1.1
- dev: true
-
- /npm-run-path@5.3.0:
- resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dependencies:
- path-key: 4.0.0
- dev: true
-
- /object-assign@4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /object-hash@3.0.0:
- resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
- engines: {node: '>= 6'}
- dev: true
-
- /once@1.4.0:
- resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
- dependencies:
- wrappy: 1.0.2
- dev: true
-
- /onetime@5.1.2:
- resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
- engines: {node: '>=6'}
- dependencies:
- mimic-fn: 2.1.0
- dev: true
-
- /onetime@6.0.0:
- resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
- engines: {node: '>=12'}
- dependencies:
- mimic-fn: 4.0.0
- dev: true
-
- /optionator@0.9.3:
- resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- '@aashutoshrathi/word-wrap': 1.2.6
- deep-is: 0.1.4
- fast-levenshtein: 2.0.6
- levn: 0.4.1
- prelude-ls: 1.2.1
- type-check: 0.4.0
- dev: true
-
- /p-limit@3.1.0:
- resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
- engines: {node: '>=10'}
- dependencies:
- yocto-queue: 0.1.0
- dev: true
-
- /p-limit@5.0.0:
- resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==}
- engines: {node: '>=18'}
- dependencies:
- yocto-queue: 1.0.0
- dev: true
-
- /p-locate@5.0.0:
- resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
- engines: {node: '>=10'}
- dependencies:
- p-limit: 3.1.0
- dev: true
-
- /parent-module@1.0.1:
- resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
- engines: {node: '>=6'}
- dependencies:
- callsites: 3.1.0
- dev: true
-
- /path-exists@4.0.0:
- resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
- engines: {node: '>=8'}
- dev: true
-
- /path-is-absolute@1.0.1:
- resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
- dev: true
-
- /path-key@4.0.0:
- resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
- engines: {node: '>=12'}
- dev: true
-
- /path-parse@1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
- dev: true
-
- /path-scurry@1.10.1:
- resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==}
- engines: {node: '>=16 || 14 >=14.17'}
- dependencies:
- lru-cache: 10.2.0
- minipass: 7.0.4
- dev: true
-
- /path-type@4.0.0:
- resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
- engines: {node: '>=8'}
- dev: true
-
- /pathe@1.1.2:
- resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
- dev: true
-
- /pathval@1.1.1:
- resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
- dev: true
-
- /periscopic@3.1.0:
- resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
- dependencies:
- '@types/estree': 1.0.5
- estree-walker: 3.0.3
- is-reference: 3.0.2
-
- /picocolors@1.0.0:
- resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
-
- /picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
- dev: true
-
- /pify@2.3.0:
- resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /pirates@4.0.6:
- resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
- engines: {node: '>= 6'}
- dev: true
-
- /pkg-types@1.0.3:
- resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==}
- dependencies:
- jsonc-parser: 3.2.1
- mlly: 1.6.1
- pathe: 1.1.2
- dev: true
-
- /playwright-core@1.28.1:
- resolution: {integrity: sha512-3PixLnGPno0E8rSBJjtwqTwJe3Yw72QwBBBxNoukIj3lEeBNXwbNiKrNuB1oyQgTBw5QHUhNO3SteEtHaMK6ag==}
- engines: {node: '>=14'}
- hasBin: true
- dev: true
-
- /postcss-import@15.1.0(postcss@8.4.38):
- resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- postcss: ^8.0.0
- dependencies:
- postcss: 8.4.38
- postcss-value-parser: 4.2.0
- read-cache: 1.0.0
- resolve: 1.22.8
- dev: true
-
- /postcss-js@4.0.1(postcss@8.4.38):
- resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
- engines: {node: ^12 || ^14 || >= 16}
- peerDependencies:
- postcss: ^8.4.21
- dependencies:
- camelcase-css: 2.0.1
- postcss: 8.4.38
-
- /postcss-load-config@3.1.4(postcss@8.4.38):
- resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
- engines: {node: '>= 10'}
- peerDependencies:
- postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- postcss:
- optional: true
- ts-node:
- optional: true
- dependencies:
- lilconfig: 2.1.0
- postcss: 8.4.38
- yaml: 1.10.2
- dev: true
-
- /postcss-load-config@4.0.2(postcss@8.4.38):
- resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
- engines: {node: '>= 14'}
- peerDependencies:
- postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- postcss:
- optional: true
- ts-node:
- optional: true
- dependencies:
- lilconfig: 3.1.1
- postcss: 8.4.38
- yaml: 2.4.1
- dev: true
-
- /postcss-nested@6.0.1(postcss@8.4.38):
- resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
- engines: {node: '>=12.0'}
- peerDependencies:
- postcss: ^8.2.14
- dependencies:
- postcss: 8.4.38
- postcss-selector-parser: 6.0.16
- dev: true
-
- /postcss-safe-parser@6.0.0(postcss@8.4.38):
- resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==}
- engines: {node: '>=12.0'}
- peerDependencies:
- postcss: ^8.3.3
- dependencies:
- postcss: 8.4.38
- dev: true
-
- /postcss-scss@4.0.9(postcss@8.4.38):
- resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==}
- engines: {node: '>=12.0'}
- peerDependencies:
- postcss: ^8.4.29
- dependencies:
- postcss: 8.4.38
- dev: true
-
- /postcss-selector-parser@6.0.16:
- resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
- engines: {node: '>=4'}
- dependencies:
- cssesc: 3.0.0
- util-deprecate: 1.0.2
- dev: true
-
- /postcss-value-parser@4.2.0:
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
- dev: true
-
- /postcss@8.4.38:
- resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
- engines: {node: ^10 || ^12 || >=14}
- dependencies:
- nanoid: 3.3.7
- picocolors: 1.0.0
- source-map-js: 1.2.0
-
- /prelude-ls@1.2.1:
- resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
- engines: {node: '>= 0.8.0'}
- dev: true
-
- /prettier-plugin-svelte@3.1.2(prettier@3.1.1)(svelte@4.2.7):
- resolution: {integrity: sha512-7xfMZtwgAWHMT0iZc8jN4o65zgbAQ3+O32V6W7pXrqNvKnHnkoyQCGCbKeUyXKZLbYE0YhFRnamfxfkEGxm8qA==}
- peerDependencies:
- prettier: ^3.0.0
- svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0
- dependencies:
- prettier: 3.1.1
- svelte: 4.2.7
- dev: true
-
- /prettier@3.1.1:
- resolution: {integrity: sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==}
- engines: {node: '>=14'}
- hasBin: true
- dev: true
-
- /pretty-format@29.7.0:
- resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/schemas': 29.6.3
- ansi-styles: 5.2.0
- react-is: 18.2.0
- dev: true
-
- /punycode@2.3.1:
- resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
- engines: {node: '>=6'}
- dev: true
-
- /queue-microtask@1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
- dev: true
-
- /react-is@18.2.0:
- resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
- dev: true
-
- /read-cache@1.0.0:
- resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
- dependencies:
- pify: 2.3.0
- dev: true
-
- /readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
- dependencies:
- picomatch: 2.3.1
- dev: true
-
- /require-directory@2.1.1:
- resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
- engines: {node: '>=0.10.0'}
- dev: false
-
- /resolve-from@4.0.0:
- resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
- engines: {node: '>=4'}
- dev: true
-
- /resolve@1.22.8:
- resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
- hasBin: true
- dependencies:
- is-core-module: 2.13.1
- path-parse: 1.0.7
- supports-preserve-symlinks-flag: 1.0.0
- dev: true
-
- /reusify@1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- dev: true
-
- /rimraf@2.7.1:
- resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
- hasBin: true
- dependencies:
- glob: 7.2.3
- dev: true
-
- /rimraf@3.0.2:
- resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
- hasBin: true
- dependencies:
- glob: 7.2.3
- dev: true
-
- /rollup@4.13.1:
- resolution: {integrity: sha512-hFi+fU132IvJ2ZuihN56dwgpltpmLZHZWsx27rMCTZ2sYwrqlgL5sECGy1eeV2lAihD8EzChBVVhsXci0wD4Tg==}
- engines: {node: '>=18.0.0', npm: '>=8.0.0'}
- hasBin: true
- dependencies:
- '@types/estree': 1.0.5
- optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.13.1
- '@rollup/rollup-android-arm64': 4.13.1
- '@rollup/rollup-darwin-arm64': 4.13.1
- '@rollup/rollup-darwin-x64': 4.13.1
- '@rollup/rollup-linux-arm-gnueabihf': 4.13.1
- '@rollup/rollup-linux-arm64-gnu': 4.13.1
- '@rollup/rollup-linux-arm64-musl': 4.13.1
- '@rollup/rollup-linux-riscv64-gnu': 4.13.1
- '@rollup/rollup-linux-s390x-gnu': 4.13.1
- '@rollup/rollup-linux-x64-gnu': 4.13.1
- '@rollup/rollup-linux-x64-musl': 4.13.1
- '@rollup/rollup-win32-arm64-msvc': 4.13.1
- '@rollup/rollup-win32-ia32-msvc': 4.13.1
- '@rollup/rollup-win32-x64-msvc': 4.13.1
- fsevents: 2.3.3
- dev: true
-
- /run-parallel@1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
- dependencies:
- queue-microtask: 1.2.3
- dev: true
-
- /sade@1.8.1:
- resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
- engines: {node: '>=6'}
- dependencies:
- mri: 1.2.0
- dev: true
-
- /sander@0.5.1:
- resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==}
- dependencies:
- es6-promise: 3.3.1
- graceful-fs: 4.2.11
- mkdirp: 0.5.6
- rimraf: 2.7.1
- dev: true
-
- /semver@7.6.0:
- resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
- engines: {node: '>=10'}
- hasBin: true
- dependencies:
- lru-cache: 6.0.0
- dev: true
-
- /set-cookie-parser@2.6.0:
- resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==}
- dev: true
-
- /shebang-command@2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
- dependencies:
- shebang-regex: 3.0.0
- dev: true
-
- /shebang-regex@3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
- dev: true
-
- /siginfo@2.0.0:
- resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
- dev: true
-
- /signal-exit@3.0.7:
- resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
- dev: true
-
- /signal-exit@4.1.0:
- resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
- engines: {node: '>=14'}
- dev: true
-
- /sirv@2.0.4:
- resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
- engines: {node: '>= 10'}
- dependencies:
- '@polka/url': 1.0.0-next.25
- mrmime: 2.0.0
- totalist: 3.0.1
- dev: true
-
- /slash@3.0.0:
- resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
- engines: {node: '>=8'}
- dev: true
-
- /sorcery@0.11.0:
- resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==}
- hasBin: true
- dependencies:
- '@jridgewell/sourcemap-codec': 1.4.15
- buffer-crc32: 0.2.13
- minimist: 1.2.8
- sander: 0.5.1
- dev: true
-
- /source-map-js@1.2.0:
- resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
- engines: {node: '>=0.10.0'}
-
- /stackback@0.0.2:
- resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
- dev: true
-
- /std-env@3.7.0:
- resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==}
- dev: true
-
- /string-width@4.2.3:
- resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
- engines: {node: '>=8'}
- dependencies:
- emoji-regex: 8.0.0
- is-fullwidth-code-point: 3.0.0
- strip-ansi: 6.0.1
-
- /string-width@5.1.2:
- resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
- engines: {node: '>=12'}
- dependencies:
- eastasianwidth: 0.2.0
- emoji-regex: 9.2.2
- strip-ansi: 7.1.0
- dev: true
-
- /strip-ansi@6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
- engines: {node: '>=8'}
- dependencies:
- ansi-regex: 5.0.1
-
- /strip-ansi@7.1.0:
- resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
- engines: {node: '>=12'}
- dependencies:
- ansi-regex: 6.0.1
- dev: true
-
- /strip-final-newline@2.0.0:
- resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
- engines: {node: '>=6'}
- dev: true
-
- /strip-final-newline@3.0.0:
- resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
- engines: {node: '>=12'}
- dev: true
-
- /strip-indent@3.0.0:
- resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
- engines: {node: '>=8'}
- dependencies:
- min-indent: 1.0.1
- dev: true
-
- /strip-json-comments@3.1.1:
- resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
- engines: {node: '>=8'}
- dev: true
-
- /strip-literal@1.3.0:
- resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==}
- dependencies:
- acorn: 8.11.3
- dev: true
-
- /sucrase@3.35.0:
- resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
- engines: {node: '>=16 || 14 >=14.17'}
- hasBin: true
- dependencies:
- '@jridgewell/gen-mapping': 0.3.5
- commander: 4.1.1
- glob: 10.3.10
- lines-and-columns: 1.2.4
- mz: 2.7.0
- pirates: 4.0.6
- ts-interface-checker: 0.1.13
- dev: true
-
- /supports-color@7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
- dependencies:
- has-flag: 4.0.0
- dev: true
-
- /supports-preserve-symlinks-flag@1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
- engines: {node: '>= 0.4'}
- dev: true
-
- /svelte-check@3.6.0(postcss@8.4.38)(svelte@4.2.7):
- resolution: {integrity: sha512-8VfqhfuRJ1sKW+o8isH2kPi0RhjXH1nNsIbCFGyoUHG+ZxVxHYRKcb+S8eaL/1tyj3VGvWYx3Y5+oCUsJgnzcw==}
- hasBin: true
- peerDependencies:
- svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0
- dependencies:
- '@jridgewell/trace-mapping': 0.3.25
- chokidar: 3.6.0
- fast-glob: 3.3.2
- import-fresh: 3.3.0
- picocolors: 1.0.0
- sade: 1.8.1
- svelte: 4.2.7
- svelte-preprocess: 5.1.3(postcss@8.4.38)(svelte@4.2.7)(typescript@5.4.3)
- typescript: 5.4.3
- transitivePeerDependencies:
- - '@babel/core'
- - coffeescript
- - less
- - postcss
- - postcss-load-config
- - pug
- - sass
- - stylus
- - sugarss
- dev: true
-
- /svelte-dnd-list@0.1.8:
- resolution: {integrity: sha512-81Nt/niux7kf59lql0lxTAH0z8xwAxHdHC9dZT7MbfE32T6hgeLsLZ7RIBNAihQ040Io1KghqqPXD+k2viiKeA==}
- dev: false
-
- /svelte-eslint-parser@0.33.1(svelte@4.2.7):
- resolution: {integrity: sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- svelte: ^3.37.0 || ^4.0.0
- peerDependenciesMeta:
- svelte:
- optional: true
- dependencies:
- eslint-scope: 7.2.2
- eslint-visitor-keys: 3.4.3
- espree: 9.6.1
- postcss: 8.4.38
- postcss-scss: 4.0.9(postcss@8.4.38)
- svelte: 4.2.7
- dev: true
-
- /svelte-focus-trap@1.2.0:
- resolution: {integrity: sha512-/hIUHgKcFlewsQreq8v7DYNBkQe7rR0c94PNBOCsmeUwoIYAy6iXJ1pH0k3rWpjwZHKtUxeXbX1iRFlFhipbeg==}
- dependencies:
- mousetrap: 1.6.5
- dev: true
-
- /svelte-hmr@0.15.3(svelte@4.2.7):
- resolution: {integrity: sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==}
- engines: {node: ^12.20 || ^14.13.1 || >= 16}
- peerDependencies:
- svelte: ^3.19.0 || ^4.0.0
- dependencies:
- svelte: 4.2.7
- dev: true
-
- /svelte-modals@1.3.0(svelte@4.2.7):
- resolution: {integrity: sha512-b1Ylnyv9O6b7VYeWGJVToaVU2lw7GtErVwiEdojyfnOuZcrhNlQ5eDqbTrL3xyKz8j2VTy/QiGUl1lm/6SnQ2A==}
- peerDependencies:
- svelte: ^3.0.0 || ^4.0.0
- dependencies:
- svelte: 4.2.7
- dev: false
-
- /svelte-preprocess@5.1.3(postcss@8.4.38)(svelte@4.2.7)(typescript@5.4.3):
- resolution: {integrity: sha512-xxAkmxGHT+J/GourS5mVJeOXZzne1FR5ljeOUAMXUkfEhkLEllRreXpbl3dIYJlcJRfL1LO1uIAPpBpBfiqGPw==}
- engines: {node: '>= 16.0.0', pnpm: ^8.0.0}
- requiresBuild: true
- peerDependencies:
- '@babel/core': ^7.10.2
- coffeescript: ^2.5.1
- less: ^3.11.3 || ^4.0.0
- postcss: ^7 || ^8
- postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 || ^5.0.0
- pug: ^3.0.0
- sass: ^1.26.8
- stylus: ^0.55.0
- sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0
- svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0
- typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0'
- peerDependenciesMeta:
- '@babel/core':
- optional: true
- coffeescript:
- optional: true
- less:
- optional: true
- postcss:
- optional: true
- postcss-load-config:
- optional: true
- pug:
- optional: true
- sass:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- typescript:
- optional: true
- dependencies:
- '@types/pug': 2.0.10
- detect-indent: 6.1.0
- magic-string: 0.30.8
- postcss: 8.4.38
- sorcery: 0.11.0
- strip-indent: 3.0.0
- svelte: 4.2.7
- typescript: 5.4.3
- dev: true
-
- /svelte@4.2.7:
- resolution: {integrity: sha512-UExR1KS7raTdycsUrKLtStayu4hpdV3VZQgM0akX8XbXgLBlosdE/Sf3crOgyh9xIjqSYB3UEBuUlIQKRQX2hg==}
- engines: {node: '>=16'}
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@jridgewell/sourcemap-codec': 1.4.15
- '@jridgewell/trace-mapping': 0.3.25
- acorn: 8.11.3
- aria-query: 5.3.0
- axobject-query: 3.2.1
- code-red: 1.0.4
- css-tree: 2.3.1
- estree-walker: 3.0.3
- is-reference: 3.0.2
- locate-character: 3.0.0
- magic-string: 0.30.8
- periscopic: 3.1.0
-
- /tailwindcss@3.4.3:
- resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==}
- engines: {node: '>=14.0.0'}
- hasBin: true
- dependencies:
- '@alloc/quick-lru': 5.2.0
- arg: 5.0.2
- chokidar: 3.6.0
- didyoumean: 1.2.2
- dlv: 1.1.3
- fast-glob: 3.3.2
- glob-parent: 6.0.2
- is-glob: 4.0.3
- jiti: 1.21.0
- lilconfig: 2.1.0
- micromatch: 4.0.5
- normalize-path: 3.0.0
- object-hash: 3.0.0
- picocolors: 1.0.0
- postcss: 8.4.38
- postcss-import: 15.1.0(postcss@8.4.38)
- postcss-js: 4.0.1(postcss@8.4.38)
- postcss-load-config: 4.0.2(postcss@8.4.38)
- postcss-nested: 6.0.1(postcss@8.4.38)
- postcss-selector-parser: 6.0.16
- resolve: 1.22.8
- sucrase: 3.35.0
- transitivePeerDependencies:
- - ts-node
- dev: true
-
- /text-table@0.2.0:
- resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
- dev: true
-
- /thenify-all@1.6.0:
- resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
- engines: {node: '>=0.8'}
- dependencies:
- thenify: 3.3.1
- dev: true
-
- /thenify@3.3.1:
- resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
- dependencies:
- any-promise: 1.3.0
- dev: true
-
- /three@0.162.0:
- resolution: {integrity: sha512-xfCYj4RnlozReCmUd+XQzj6/5OjDNHBy5nT6rVwrOKGENAvpXe2z1jL+DZYaMu4/9pNsjH/4Os/VvS9IrH7IOQ==}
- dev: false
-
- /tiny-glob@0.2.9:
- resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
- dependencies:
- globalyzer: 0.1.0
- globrex: 0.1.2
- dev: true
-
- /tinybench@2.6.0:
- resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==}
- dev: true
-
- /tinypool@0.8.3:
- resolution: {integrity: sha512-Ud7uepAklqRH1bvwy22ynrliC7Dljz7Tm8M/0RBUW+YRa4YHhZ6e4PpgE+fu1zr/WqB1kbeuVrdfeuyIBpy4tw==}
- engines: {node: '>=14.0.0'}
- dev: true
-
- /tinyspy@2.2.1:
- resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==}
- engines: {node: '>=14.0.0'}
- dev: true
-
- /to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
- dependencies:
- is-number: 7.0.0
- dev: true
-
- /totalist@3.0.1:
- resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
- engines: {node: '>=6'}
- dev: true
-
- /ts-api-utils@1.3.0(typescript@5.0.2):
- resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
- engines: {node: '>=16'}
- peerDependencies:
- typescript: '>=4.2.0'
- dependencies:
- typescript: 5.0.2
- dev: true
-
- /ts-interface-checker@0.1.13:
- resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
- dev: true
-
- /tslib@2.4.1:
- resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==}
- dev: true
-
- /type-check@0.4.0:
- resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- prelude-ls: 1.2.1
- dev: true
-
- /type-detect@4.0.8:
- resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
- engines: {node: '>=4'}
- dev: true
-
- /type-fest@0.20.2:
- resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
- engines: {node: '>=10'}
- dev: true
-
- /typescript@5.0.2:
- resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==}
- engines: {node: '>=12.20'}
- hasBin: true
- dev: true
-
- /typescript@5.4.3:
- resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==}
- engines: {node: '>=14.17'}
- hasBin: true
- dev: true
-
- /ufo@1.5.3:
- resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
- dev: true
-
- /undici-types@5.26.5:
- resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
- dev: true
-
- /unplugin-icons@0.18.5:
- resolution: {integrity: sha512-KVNAohXbZ7tVcG1C3p6QaC7wU9Qrj7etv4XvsMMJAxr5LccQZ+Iuv5LOIv/7GtqXaGN1BuFCqRO1ErsHEgEXdQ==}
- peerDependencies:
- '@svgr/core': '>=7.0.0'
- '@svgx/core': ^1.0.1
- '@vue/compiler-sfc': ^3.0.2 || ^2.7.0
- vue-template-compiler: ^2.6.12
- vue-template-es2015-compiler: ^1.9.0
- peerDependenciesMeta:
- '@svgr/core':
- optional: true
- '@svgx/core':
- optional: true
- '@vue/compiler-sfc':
- optional: true
- vue-template-compiler:
- optional: true
- vue-template-es2015-compiler:
- optional: true
- dependencies:
- '@antfu/install-pkg': 0.3.1
- '@antfu/utils': 0.7.7
- '@iconify/utils': 2.1.22
- debug: 4.3.4
- kolorist: 1.8.0
- local-pkg: 0.5.0
- unplugin: 1.10.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /unplugin@1.10.0:
- resolution: {integrity: sha512-CuZtvvO8ua2Wl+9q2jEaqH6m3DoQ38N7pvBYQbbaeNlWGvK2l6GHiKi29aIHDPoSxdUzQ7Unevf1/ugil5X6Pg==}
- engines: {node: '>=14.0.0'}
- dependencies:
- acorn: 8.11.3
- chokidar: 3.6.0
- webpack-sources: 3.2.3
- webpack-virtual-modules: 0.6.1
- dev: true
-
- /update-browserslist-db@1.0.13(browserslist@4.23.0):
- resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
- dependencies:
- browserslist: 4.23.0
- escalade: 3.1.2
- picocolors: 1.0.0
- dev: true
-
- /urdf-loader@0.12.1(three@0.162.0):
- resolution: {integrity: sha512-Sae8dmekFD4ERZYDtpei8mxmuMxqy+YnjN2PfI1TsDz+9QIXL4PyPrvYbXcJj2h9MfL4aS6oUc2j3ap5jRFWfA==}
- peerDependencies:
- three: '>=0.152.0'
- dependencies:
- three: 0.162.0
- dev: false
-
- /uri-js@4.4.1:
- resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
- dependencies:
- punycode: 2.3.1
- dev: true
-
- /util-deprecate@1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
- dev: true
-
- /uzip@0.20201231.0:
- resolution: {integrity: sha512-OZeJfZP+R0z9D6TmBgLq2LHzSSptGMGDGigGiEe0pr8UBe/7fdflgHlHBNDASTXB5jnFuxHpNaJywSg8YFeGng==}
- dev: false
-
- /vite-node@1.2.0:
- resolution: {integrity: sha512-ETnQTHeAbbOxl7/pyBck9oAPZZZo+kYnFt1uQDD+hPReOc+wCjXw4r4jHriBRuVDB5isHmPXxrfc1yJnfBERqg==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- dependencies:
- cac: 6.7.14
- debug: 4.3.4
- pathe: 1.1.2
- picocolors: 1.0.0
- vite: 5.0.3
- transitivePeerDependencies:
- - '@types/node'
- - less
- - lightningcss
- - sass
- - stylus
- - sugarss
- - supports-color
- - terser
- dev: true
-
- /vite@5.0.3:
- resolution: {integrity: sha512-WgEq8WEKpZ8c0DL4M1+E+kBZEJyjBmGVrul6z8Ljfhv+PPbNF4aGq014DwNYxGz2FGq6NKL0N8usdiESWd2l2w==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- peerDependencies:
- '@types/node': ^18.0.0 || >=20.0.0
- less: '*'
- lightningcss: ^1.21.0
- sass: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.4.0
- peerDependenciesMeta:
- '@types/node':
- optional: true
- less:
- optional: true
- lightningcss:
- optional: true
- sass:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- terser:
- optional: true
- dependencies:
- esbuild: 0.19.12
- postcss: 8.4.38
- rollup: 4.13.1
- optionalDependencies:
- fsevents: 2.3.3
- dev: true
-
- /vitefu@0.2.5(vite@5.0.3):
- resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==}
- peerDependencies:
- vite: ^3.0.0 || ^4.0.0 || ^5.0.0
- peerDependenciesMeta:
- vite:
- optional: true
- dependencies:
- vite: 5.0.3
- dev: true
-
- /vitest@1.2.0:
- resolution: {integrity: sha512-Ixs5m7BjqvLHXcibkzKRQUvD/XLw0E3rvqaCMlrm/0LMsA0309ZqYvTlPzkhh81VlEyVZXFlwWnkhb6/UMtcaQ==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- peerDependencies:
- '@edge-runtime/vm': '*'
- '@types/node': ^18.0.0 || >=20.0.0
- '@vitest/browser': ^1.0.0
- '@vitest/ui': ^1.0.0
- happy-dom: '*'
- jsdom: '*'
- peerDependenciesMeta:
- '@edge-runtime/vm':
- optional: true
- '@types/node':
- optional: true
- '@vitest/browser':
- optional: true
- '@vitest/ui':
- optional: true
- happy-dom:
- optional: true
- jsdom:
- optional: true
- dependencies:
- '@vitest/expect': 1.2.0
- '@vitest/runner': 1.2.0
- '@vitest/snapshot': 1.2.0
- '@vitest/spy': 1.2.0
- '@vitest/utils': 1.2.0
- acorn-walk: 8.3.2
- cac: 6.7.14
- chai: 4.4.1
- debug: 4.3.4
- execa: 8.0.1
- local-pkg: 0.5.0
- magic-string: 0.30.8
- pathe: 1.1.2
- picocolors: 1.0.0
- std-env: 3.7.0
- strip-literal: 1.3.0
- tinybench: 2.6.0
- tinypool: 0.8.3
- vite: 5.0.3
- vite-node: 1.2.0
- why-is-node-running: 2.2.2
- transitivePeerDependencies:
- - less
- - lightningcss
- - sass
- - stylus
- - sugarss
- - supports-color
- - terser
- dev: true
-
- /webpack-sources@3.2.3:
- resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
- engines: {node: '>=10.13.0'}
- dev: true
-
- /webpack-virtual-modules@0.6.1:
- resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==}
- dev: true
-
- /which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
- dependencies:
- isexe: 2.0.0
- dev: true
-
- /why-is-node-running@2.2.2:
- resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==}
- engines: {node: '>=8'}
- hasBin: true
- dependencies:
- siginfo: 2.0.0
- stackback: 0.0.2
- dev: true
-
- /wrap-ansi@7.0.0:
- resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
- engines: {node: '>=10'}
- dependencies:
- ansi-styles: 4.3.0
- string-width: 4.2.3
- strip-ansi: 6.0.1
-
- /wrap-ansi@8.1.0:
- resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
- engines: {node: '>=12'}
- dependencies:
- ansi-styles: 6.2.1
- string-width: 5.1.2
- strip-ansi: 7.1.0
- dev: true
-
- /wrappy@1.0.2:
- resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
- dev: true
-
- /xacro-parser@0.3.9:
- resolution: {integrity: sha512-3LOCc6ERhORvPWdekU4QY1APEzD0Qp3h4sW/gf/15VDqH9u7Mu+kDi3SDqZEF5BLJ6mbIPje12CQ0uPe3BaXig==}
- dependencies:
- expr-eval: 2.0.2
- yaml: 2.4.1
- yargs: 17.7.2
- dev: false
-
- /y18n@5.0.8:
- resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
- engines: {node: '>=10'}
- dev: false
-
- /yallist@4.0.0:
- resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
- dev: true
-
- /yaml@1.10.2:
- resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
- engines: {node: '>= 6'}
- dev: true
-
- /yaml@2.4.1:
- resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==}
- engines: {node: '>= 14'}
- hasBin: true
-
- /yargs-parser@21.1.1:
- resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
- engines: {node: '>=12'}
- dev: false
-
- /yargs@17.7.2:
- resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
- engines: {node: '>=12'}
- dependencies:
- cliui: 8.0.1
- escalade: 3.1.2
- get-caller-file: 2.0.5
- require-directory: 2.1.1
- string-width: 4.2.3
- y18n: 5.0.8
- yargs-parser: 21.1.1
- dev: false
-
- /yocto-queue@0.1.0:
- resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
- engines: {node: '>=10'}
- dev: true
-
- /yocto-queue@1.0.0:
- resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
- engines: {node: '>=12.20'}
- dev: true
diff --git a/app2/postcss.config.js b/app2/postcss.config.js
deleted file mode 100644
index f6130aa..0000000
--- a/app2/postcss.config.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import tailwindcss from 'tailwindcss';
-import autoprefixer from 'autoprefixer';
-export default {
- plugins: [tailwindcss(), autoprefixer()]
-};
diff --git a/app2/src/app.css b/app2/src/app.css
deleted file mode 100644
index d1ea8a5..0000000
--- a/app2/src/app.css
+++ /dev/null
@@ -1,18 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-#nipple_0_0, #nipple_1_1 {
- z-index: 10!important;
-}
-
-#three-gui-panel {
- top: 64px;
- right: 0px;
-}
-
-@media (max-width: 1023px) {
- #three-gui-panel {
- top: 48px;
- }
-}
\ No newline at end of file
diff --git a/app2/src/lib/kinematic.ts b/app2/src/lib/kinematic.ts
deleted file mode 100644
index f239f9a..0000000
--- a/app2/src/lib/kinematic.ts
+++ /dev/null
@@ -1,393 +0,0 @@
-export default class Kinematic {
- private l1: number;
- private l2: number;
- private l3: number;
- private l4: number;
-
- private L: number;
- private W: number;
-
- constructor() {
- this.l1 = 50;
- this.l2 = 20;
- this.l3 = 120;
- this.l4 = 155;
-
- this.L = 140;
- this.W = 75;
- }
-
- bodyIK(
- omega: number,
- phi: number,
- psi: number,
- xm: number,
- ym: number,
- zm: number
- ): number[][][] {
- const { cos, sin } = Math;
-
- const Rx: number[][] = [
- [1, 0, 0, 0],
- [0, cos(omega), -sin(omega), 0],
- [0, sin(omega), cos(omega), 0],
- [0, 0, 0, 1]
- ];
- const Ry: number[][] = [
- [cos(phi), 0, sin(phi), 0],
- [0, 1, 0, 0],
- [-sin(phi), 0, cos(phi), 0],
- [0, 0, 0, 1]
- ];
- const Rz: number[][] = [
- [cos(psi), -sin(psi), 0, 0],
- [sin(psi), cos(psi), 0, 0],
- [0, 0, 1, 0],
- [0, 0, 0, 1]
- ];
- const Rxyz: number[][] = this.matrixMultiply(this.matrixMultiply(Rx, Ry), Rz);
-
- const T: number[][] = [
- [0, 0, 0, xm],
- [0, 0, 0, ym],
- [0, 0, 0, zm],
- [0, 0, 0, 0]
- ];
- const Tm: number[][] = this.matrixAdd(T, Rxyz);
-
- const sHp = sin(Math.PI / 2);
- const cHp = cos(Math.PI / 2);
- const L = this.L;
- const W = this.W;
-
- return [
- this.matrixMultiply(Tm, [
- [cHp, 0, sHp, L / 2],
- [0, 1, 0, 0],
- [-sHp, 0, cHp, W / 2],
- [0, 0, 0, 1]
- ]),
- this.matrixMultiply(Tm, [
- [cHp, 0, sHp, L / 2],
- [0, 1, 0, 0],
- [-sHp, 0, cHp, -W / 2],
- [0, 0, 0, 1]
- ]),
- this.matrixMultiply(Tm, [
- [cHp, 0, sHp, -L / 2],
- [0, 1, 0, 0],
- [-sHp, 0, cHp, W / 2],
- [0, 0, 0, 1]
- ]),
- this.matrixMultiply(Tm, [
- [cHp, 0, sHp, -L / 2],
- [0, 1, 0, 0],
- [-sHp, 0, cHp, -W / 2],
- [0, 0, 0, 1]
- ])
- ];
- }
-
- private legIK(point: number[]): number[] {
- const [x, y, z] = point;
- const { atan2, cos, sin, sqrt, acos } = Math;
- const { l1, l2, l3, l4 } = this;
-
- let F;
-
- try {
- F = sqrt(x ** 2 + y ** 2 - l1 ** 2);
- if (isNaN(F)) throw new Error('F is NaN');
- } catch (error) {
- //console.log(error)
- F = l1;
- }
- const G = F - l2;
- const H = sqrt(G ** 2 + z ** 2);
-
- const theta1 = -atan2(y, x) - atan2(F, -l1);
- const D = (H ** 2 - l3 ** 2 - l4 ** 2) / (2 * l3 * l4);
- let theta3: number;
- try {
- theta3 = acos(D);
- if (isNaN(theta3)) throw new Error('theta3 is NaN');
- } catch (error) {
- theta3 = 0;
- }
- const theta2 = atan2(z, G) - atan2(l4 * sin(theta3), l3 + l4 * cos(theta3));
-
- return [theta1, theta2, theta3];
- }
-
- matrixMultiply(a: number[][], b: number[][]): number[][] {
- const result: number[][] = [];
-
- for (let i = 0; i < a.length; i++) {
- const row: number[] = [];
-
- for (let j = 0; j < b[0].length; j++) {
- let sum = 0;
-
- for (let k = 0; k < a[i].length; k++) {
- sum += a[i][k] * b[k][j];
- }
-
- row.push(sum);
- }
-
- result.push(row);
- }
-
- return result;
- }
-
- multiplyVector(matrix: number[][], vector: number[]): number[] {
- const rows = matrix.length;
- const cols = matrix[0].length;
- const vectorLength = vector.length;
-
- if (cols !== vectorLength) {
- throw new Error('Matrix and vector dimensions do not match for multiplication.');
- }
-
- const result = [];
-
- for (let i = 0; i < rows; i++) {
- let sum = 0;
-
- for (let j = 0; j < cols; j++) {
- sum += matrix[i][j] * vector[j];
- }
-
- result.push(sum);
- }
-
- return result;
- }
-
- private matrixAdd(a: number[][], b: number[][]): number[][] {
- const result: number[][] = [];
-
- for (let i = 0; i < a.length; i++) {
- const row: number[] = [];
-
- for (let j = 0; j < a[i].length; j++) {
- row.push(a[i][j] + b[i][j]);
- }
-
- result.push(row);
- }
-
- return result;
- }
-
- public calcLegPoints(angles: number[]): number[][] {
- const [theta1, theta2, theta3] = angles;
- const theta23 = theta2 + theta3;
-
- const T0: number[] = [0, 0, 0, 1];
- const T1: number[] = this.vectorAdd(T0, [
- -this.l1 * Math.cos(theta1),
- this.l1 * Math.sin(theta1),
- 0,
- 0
- ]);
- const T2: number[] = this.vectorAdd(T1, [
- -this.l2 * Math.sin(theta1),
- -this.l2 * Math.cos(theta1),
- 0,
- 0
- ]);
- const T3: number[] = this.vectorAdd(T2, [
- -this.l3 * Math.sin(theta1) * Math.cos(theta2),
- -this.l3 * Math.cos(theta1) * Math.cos(theta2),
- this.l3 * Math.sin(theta2),
- 0
- ]);
- const T4: number[] = this.vectorAdd(T3, [
- -this.l4 * Math.sin(theta1) * Math.cos(theta23),
- -this.l4 * Math.cos(theta1) * Math.cos(theta23),
- this.l4 * Math.sin(theta23),
- 0
- ]);
-
- return [T0, T1, T2, T3, T4];
- }
-
- public calcIK(Lp: number[][], angles: number[], center: number[]): number[][] {
- const [omega, phi, psi] = angles;
- const [xm, ym, zm] = center;
-
- const [Tlf, Trf, Tlb, Trb] = this.bodyIK(omega, phi, psi, xm, ym, zm);
-
- const Ix: number[][] = [
- [-1, 0, 0, 0],
- [0, 1, 0, 0],
- [0, 0, 1, 0],
- [0, 0, 0, 1]
- ];
-
- return [
- this.legIK(this.multiplyVector(this.matrixInverse(Tlf), Lp[0])),
- this.legIK(this.multiplyVector(Ix, this.multiplyVector(this.matrixInverse(Trf), Lp[1]))),
- this.legIK(this.multiplyVector(this.matrixInverse(Tlb), Lp[2])),
- this.legIK(this.multiplyVector(Ix, this.multiplyVector(this.matrixInverse(Trb), Lp[3])))
- ];
- }
-
- private vectorAdd(a: number[], b: number[]): number[] {
- return a.map((val, index) => val + b[index]);
- }
-
- private matrixInverse(matrix: number[][]): number[][] {
- const det = this.determinant(matrix);
- const adjugate = this.adjugate(matrix);
- const scalar = 1 / det;
- const inverse: number[][] = [];
-
- for (let i = 0; i < matrix.length; i++) {
- const row: number[] = [];
-
- for (let j = 0; j < matrix[i].length; j++) {
- row.push(adjugate[i][j] * scalar);
- }
-
- inverse.push(row);
- }
-
- return inverse;
- }
-
- private determinant(matrix: number[][]): number {
- if (matrix.length !== matrix[0].length) {
- throw new Error('The matrix is not square.');
- }
-
- if (matrix.length === 2) {
- return matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0];
- }
-
- let det = 0;
-
- for (let i = 0; i < matrix.length; i++) {
- const sign = i % 2 === 0 ? 1 : -1;
- const subMatrix: number[][] = [];
-
- for (let j = 1; j < matrix.length; j++) {
- const row: number[] = [];
-
- for (let k = 0; k < matrix.length; k++) {
- if (k !== i) {
- row.push(matrix[j][k]);
- }
- }
-
- subMatrix.push(row);
- }
-
- det += sign * matrix[0][i] * this.determinant(subMatrix);
- }
-
- return det;
- }
-
- private adjugate(matrix: number[][]): number[][] {
- if (matrix.length !== matrix[0].length) {
- throw new Error('The matrix is not square.');
- }
-
- const adjugate: number[][] = [];
-
- for (let i = 0; i < matrix.length; i++) {
- const row: number[] = [];
-
- for (let j = 0; j < matrix[i].length; j++) {
- const sign = (i + j) % 2 === 0 ? 1 : -1;
- const subMatrix: number[][] = [];
-
- for (let k = 0; k < matrix.length; k++) {
- if (k !== i) {
- const subRow: number[] = [];
-
- for (let l = 0; l < matrix.length; l++) {
- if (l !== j) {
- subRow.push(matrix[k][l]);
- }
- }
-
- subMatrix.push(subRow);
- }
- }
-
- const cofactor = sign * this.determinant(subMatrix);
- row.push(cofactor);
- }
-
- adjugate.push(row);
- }
-
- return this.transpose(adjugate);
- }
-
- private transpose(matrix: number[][]): number[][] {
- const transposed: number[][] = [];
-
- for (let i = 0; i < matrix.length; i++) {
- const row: number[] = [];
-
- for (let j = 0; j < matrix[i].length; j++) {
- row.push(matrix[j][i]);
- }
-
- transposed.push(row);
- }
-
- return transposed;
- }
-}
-
-export class ForwardKinematics {
- private l1: number;
- private l2: number;
- private l3: number;
- private l4: number;
-
- constructor() {
- this.l1 = 50;
- this.l2 = 20;
- this.l3 = 120;
- this.l4 = 155;
- }
-
- public calculateFootpoint(theta1: number, theta2: number, theta3: number): number[] {
- const { cos, sin } = Math;
-
- const x =
- this.l1 * cos(theta1) +
- this.l2 * cos(theta1) +
- this.l3 * cos(theta1 + theta2) +
- this.l4 * cos(theta1 + theta2 + theta3);
- const y =
- this.l1 * sin(theta1) +
- this.l2 * sin(theta1) +
- this.l3 * sin(theta1 + theta2) +
- this.l4 * sin(theta1 + theta2 + theta3);
- const z = 0;
-
- return [x, y, z];
- }
-
- public calculateFootpoints(angles: number[]): number[][] {
- const footpoints: number[][] = [];
-
- for (let i = 0; i < angles.length; i += 3) {
- const theta1 = angles[i];
- const theta2 = angles[i + 1];
- const theta3 = angles[i + 2];
- const footpoint = this.calculateFootpoint(theta1, theta2, theta3);
- footpoints.push(footpoint);
- }
-
- return footpoints;
- }
-}
diff --git a/app2/src/lib/models.ts b/app2/src/lib/models.ts
deleted file mode 100644
index eb9c886..0000000
--- a/app2/src/lib/models.ts
+++ /dev/null
@@ -1,142 +0,0 @@
-export type vector = { x: number; y: number };
-
-export interface ControllerInput {
- left: vector;
- right: vector;
- height: number;
- speed: number;
-}
-
-export type angles = number[] | Int16Array;
-
-export type WifiStatus = {
- status: number;
- local_ip: string;
- mac_address: string;
- rssi: number;
- ssid: string;
- bssid: string;
- channel: number;
- subnet_mask: string;
- gateway_ip: string;
- dns_ip_1: string;
- dns_ip_2?: string;
-};
-
-export type WifiSettings = {
- hostname: string;
- priority_RSSI: boolean;
- wifi_networks: networkItem[];
-};
-
-export type KnownNetworkItem = {
- ssid: string;
- password: string;
- static_ip_config: boolean;
- local_ip?: string;
- subnet_mask?: string;
- gateway_ip?: string;
- dns_ip_1?: string;
- dns_ip_2?: string;
-};
-
-export type NetworkItem = {
- rssi: number;
- ssid: string;
- bssid: string;
- channel: number;
- encryption_type: number;
-};
-
-export type ApStatus = {
- status: number;
- ip_address: string;
- mac_address: string;
- station_num: number;
-};
-
-export type ApSettings = {
- provision_mode: number;
- ssid: string;
- password: string;
- channel: number;
- ssid_hidden: boolean;
- max_clients: number;
- local_ip: string;
- gateway_ip: string;
- subnet_mask: string;
-};
-
-export type LightState = {
- led_on: boolean;
-};
-
-export type BrokerSettings = {
- mqtt_path: string;
- name: string;
- unique_id: string;
-};
-
-export type NTPStatus = {
- status: number;
- utc_time: string;
- local_time: string;
- server: string;
- uptime: number;
-};
-
-export type NTPSettings = {
- enabled: boolean;
- server: string;
- tz_label: string;
- tz_format: string;
-};
-
-export type Analytics = {
- max_alloc_heap: number;
- psram_size: number;
- free_psram: number;
- free_heap: number;
- total_heap: number;
- min_free_heap: number;
- core_temp: number;
- fs_total: number;
- fs_used: number;
- uptime: number;
-};
-
-export type StaticSystemInformation = {
- esp_platform: string;
- firmware_version: string;
- cpu_freq_mhz: number;
- cpu_type: string;
- cpu_rev: number;
- cpu_cores: number;
- sketch_size: number;
- free_sketch_space: number;
- sdk_version: string;
- arduino_version: string;
- flash_chip_size: number;
- flash_chip_speed: number;
- cpu_reset_reason: string;
-};
-
-export type SystemInformation = Analytics & StaticSystemInformation;
-
-
-export type MQTTStatus = {
- enabled: boolean;
- connected: boolean;
- client_id: string;
- last_error: string;
-};
-
-export type MQTTSettings = {
- enabled: boolean;
- uri: string;
- username: string;
- password: string;
- client_id: string;
- keep_alive: number;
- clean_session: boolean;
-};
\ No newline at end of file
diff --git a/app2/src/lib/sceneBuilder.ts b/app2/src/lib/sceneBuilder.ts
deleted file mode 100644
index 7da392f..0000000
--- a/app2/src/lib/sceneBuilder.ts
+++ /dev/null
@@ -1,340 +0,0 @@
-import {
- Mesh,
- PerspectiveCamera,
- PlaneGeometry,
- Scene,
- ShadowMaterial,
- WebGLRenderer,
- AmbientLight,
- DirectionalLight,
- PCFSoftShadowMap,
- GridHelper,
- ArrowHelper,
- Vector3,
- FogExp2,
- CanvasTexture,
- type ColorRepresentation,
- type WebGLRendererParameters,
- MeshPhongMaterial,
- EquirectangularReflectionMapping,
- ACESFilmicToneMapping,
- MathUtils,
- MeshStandardMaterial
-} from 'three';
-import { Sky } from 'three/addons/objects/Sky.js';
-import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls';
-import { type URDFJoint, type URDFMimicJoint, type URDFRobot } from 'urdf-loader';
-import { PointerURDFDragControls } from 'urdf-loader/src/URDFDragControls';
-
-export const addScene = () => new Scene();
-
-interface position {
- x?: number;
- y?: number;
- z?: number;
-}
-
-interface light {
- color?: ColorRepresentation;
- intensity?: number;
-}
-
-interface gridOptions {
- divisions?: number;
- size?: number;
-}
-
-interface arrowOptions {
- origin: position;
- direction: position;
- length?: number;
- color?: ColorRepresentation;
-}
-
-type directionalLight = position & light;
-
-type gridHelperOptions = gridOptions & position;
-
-function calculateCurrentSunElevation() {
- let now = new Date();
- let decimalTime = now.getHours() + now.getMinutes() / 60;
- let normalizedTime = (decimalTime % 12) / 6 - 1;
- return 10 * Math.sin(normalizedTime * Math.PI);
-}
-
-export default class SceneBuilder {
- public scene: Scene;
- public camera: PerspectiveCamera;
- public ground: Mesh;
- public renderer: WebGLRenderer;
- public controls: OrbitControls;
- public callback: Function;
- public gridHelper: GridHelper;
- public model: URDFRobot;
- public liveStreamTexture: CanvasTexture;
- private fog: FogExp2;
- private isLoaded: boolean = false;
- public isDragging: boolean = false;
- highlightMaterial: any;
- sky: Sky;
-
- constructor() {
- this.scene = new Scene();
- if (this.scene.environment?.mapping) {
- this.scene.environment.mapping = EquirectangularReflectionMapping;
- }
- return this;
- }
-
- public addRenderer = (parameters?: WebGLRendererParameters) => {
- this.renderer = new WebGLRenderer(parameters);
- this.renderer.outputColorSpace = 'srgb';
- this.renderer.shadowMap.enabled = true;
- this.renderer.shadowMap.type = PCFSoftShadowMap;
- this.renderer.toneMapping = ACESFilmicToneMapping;
- this.renderer.toneMappingExposure = 0.85;
- if (!parameters?.canvas) document.body.appendChild(this.renderer.domElement);
- return this;
- };
-
- public addSky = () => {
- this.sky = new Sky();
- this.sky.scale.setScalar(450000);
- this.scene.add(this.sky);
- const effectController = {
- turbidity: 10,
- rayleigh: 3,
- mieCoefficient: 0.005,
- mieDirectionalG: 0.7,
- elevation: calculateCurrentSunElevation(),
- azimuth: 180,
- exposure: this.renderer.toneMappingExposure
- };
- const uniforms = this.sky.material.uniforms;
- uniforms['turbidity'].value = effectController.turbidity;
- uniforms['rayleigh'].value = effectController.rayleigh;
- uniforms['mieCoefficient'].value = effectController.mieCoefficient;
- uniforms['mieDirectionalG'].value = effectController.mieDirectionalG;
- this.renderer.toneMappingExposure = 0.5;
- const phi = MathUtils.degToRad(90 - effectController.elevation);
- const theta = MathUtils.degToRad(effectController.azimuth);
- const sun = new Vector3();
-
- sun.setFromSphericalCoords(1, phi, theta);
- uniforms['sunPosition'].value.copy(sun);
- return this;
- };
-
- public addPerspectiveCamera = (options: position) => {
- this.camera = new PerspectiveCamera();
- this.camera.position.set(options.x ?? 0, options.y ?? 2.7, options.z ?? 0);
- this.scene.add(this.camera);
- return this;
- };
-
- public addGroundPlane = (options?: position) => {
- var planeMaterial = new MeshStandardMaterial({ color: 0x808080, side: 2, opacity: 0.5 });
- this.ground = new Mesh(new PlaneGeometry(), planeMaterial);
- this.ground.rotation.x = -Math.PI / 2;
- this.ground.scale.setScalar(30);
- this.ground.position.set(options?.x ?? 0, options?.y ?? 0, options?.z ?? 0);
- this.ground.receiveShadow = true;
- this.scene.add(this.ground);
- return this;
- };
-
- public addOrbitControls = (minDistance: number, maxDistance: number, autoRotate = true) => {
- this.controls = new OrbitControls(this.camera, this.renderer.domElement);
- this.controls.minDistance = minDistance;
- this.controls.maxDistance = maxDistance;
- this.controls.autoRotate = autoRotate;
- this.controls.update();
- return this;
- };
-
- public addAmbientLight = (options: light) => {
- const ambientLight = new AmbientLight(options.color, options.intensity);
- this.scene.add(ambientLight);
- return this;
- };
-
- public addDirectionalLight = (options: directionalLight) => {
- const directionalLight = new DirectionalLight(options.color, options.intensity);
- directionalLight.castShadow = true;
- directionalLight.shadow.camera.top = 10;
- directionalLight.shadow.camera.bottom = -10;
- directionalLight.shadow.camera.right = 10;
- directionalLight.shadow.camera.left = -10;
- directionalLight.shadow.mapSize.set(4096, 4096);
-
- directionalLight.position.set(options.x ?? 0, options.y ?? 0, options.z ?? 0);
- this.scene.add(directionalLight);
- return this;
- };
-
- public addGridHelper = (options: gridHelperOptions) => {
- this.gridHelper = new GridHelper(options.size, options.divisions);
- this.gridHelper.position.set(options.x ?? 0, options.y ?? 0, options.z ?? 0);
- this.gridHelper.material.opacity = 0.2;
- this.gridHelper.material.depthWrite = false;
- this.gridHelper.material.transparent = true;
- this.scene.add(this.gridHelper);
- return this;
- };
-
- public addFogExp2 = (color: ColorRepresentation, density?: number) => {
- this.scene.fog = new FogExp2(color, density);
- return this;
- };
-
- public fillParent = () => {
- const parentElement = this.renderer.domElement.parentElement;
- if (parentElement) {
- const width = parentElement.clientWidth;
- const height = parentElement.clientHeight;
- this.handleResize(width, height);
- }
- return this;
- };
-
- public handleResize = (width = window.innerWidth, height = window.innerHeight) => {
- this.renderer.setSize(width, height);
- this.renderer.setPixelRatio(window.devicePixelRatio);
- this.camera.aspect = width / height;
- this.camera.updateProjectionMatrix();
- return this;
- };
-
- public addRenderCb = (callback: Function) => {
- this.callback = callback;
- return this;
- };
-
- public startRenderLoop = () => {
- this.renderer.setAnimationLoop(() => {
- this.renderer.render(this.scene, this.camera);
- this.controls.update();
- this.handleRobotShadow();
- if (this.callback) this.callback();
- if (!this.liveStreamTexture) return;
- });
- return this;
- };
-
- public addArrowHelper = (options?: arrowOptions) => {
- const dir = new Vector3(
- options?.direction.x ?? 0,
- options?.direction.y ?? 0,
- options?.direction.z ?? 0
- );
- const origin = new Vector3(
- options?.origin.x ?? 0,
- options?.origin.y ?? 0,
- options?.origin.z ?? 0
- );
- const arrowHelper = new ArrowHelper(
- dir,
- origin,
- options?.length ?? 1.5,
- options?.color ?? 0xff0000
- );
- this.scene.add(arrowHelper);
- return this;
- };
-
- private setJointValue(jointName: string, angle: number) {
- if (!this.model) return;
- if (!this.model.joints[jointName]) return;
- this.model.joints[jointName].setJointValue(angle);
- }
-
- isJoint = (j: URDFJoint) => j.isURDFJoint && j.jointType !== 'fixed';
-
- highlightLinkGeometry = (m: URDFMimicJoint, revert: boolean, material: MeshPhongMaterial) => {
- const traverse = (c: any) => {
- if (c.type === 'Mesh') {
- if (revert) {
- c.material = c.__origMaterial;
- delete c.__origMaterial;
- } else {
- c.__origMaterial = c.material;
- c.material = material;
- }
- }
-
- if (c === m || !this.isJoint(c)) {
- for (let i = 0; i < c.children.length; i++) {
- const child = c.children[i];
- if (!child.isURDFCollider) {
- traverse(c.children[i]);
- }
- }
- }
- };
- traverse(m);
- };
-
- public addModel = (model: any) => {
- this.model = model;
- this.scene.add(model);
- return this;
- };
-
- public addDragControl = (updateAngle: any) => {
- const highlightColor = '#FFFFFF';
- const highlightMaterial = new MeshPhongMaterial({
- shininess: 10,
- color: highlightColor,
- emissive: highlightColor,
- emissiveIntensity: 0.25
- });
-
- const dragControls = new PointerURDFDragControls(
- this.scene,
- this.camera,
- this.renderer.domElement
- );
- dragControls.updateJoint = (joint: URDFMimicJoint, angle: number) => {
- this.setJointValue(joint.name, angle);
- updateAngle(joint.name, angle);
- };
- dragControls.onDragStart = () => {
- this.controls.enabled = false;
- this.isDragging = true;
- };
- dragControls.onDragEnd = () => {
- this.controls.enabled = true;
- this.isDragging = false;
- };
- dragControls.onHover = (joint: URDFMimicJoint) =>
- this.highlightLinkGeometry(joint, false, highlightMaterial);
- dragControls.onUnhover = (joint: URDFMimicJoint) =>
- this.highlightLinkGeometry(joint, true, highlightMaterial);
-
- this.renderer.domElement.addEventListener('touchstart', (data) =>
- dragControls._mouseDown(data.touches[0])
- );
- this.renderer.domElement.addEventListener('touchmove', (data) =>
- dragControls._mouseMove(data.touches[0])
- );
- this.renderer.domElement.addEventListener('touchend', (data) =>
- dragControls._mouseUp(data.touches[0])
- );
- return this;
- };
-
- public toggleFog = () => {
- this.scene.fog = this.scene.fog ? null : this.fog;
- };
-
- private handleRobotShadow = () => {
- if (this.isLoaded) return;
- const intervalId = setInterval(() => {
- this.model?.traverse((c) => (c.castShadow = true));
- }, 10);
- setTimeout(() => {
- clearInterval(intervalId);
- }, 1000);
- this.isLoaded = true;
- };
-}
diff --git a/app2/src/lib/services/file-service.ts b/app2/src/lib/services/file-service.ts
deleted file mode 100644
index 2a529db..0000000
--- a/app2/src/lib/services/file-service.ts
+++ /dev/null
@@ -1,71 +0,0 @@
-import { Result } from '$lib/utilities/result';
-
-class FileService {
- private dbName = 'fileStorageDB';
- private dbVersion = 1;
- private storeName = 'files';
- private dbPromise: Promise>;
-
- constructor() {
- this.dbPromise = this.openDatabase();
- }
-
- private async openDatabase(): Promise> {
- return new Promise((resolve) => {
- const request = indexedDB.open(this.dbName, this.dbVersion);
-
- request.onerror = () => resolve(Result.err('Error opening database'));
-
- request.onsuccess = () => resolve(Result.ok(request.result));
-
- request.onupgradeneeded = (event) => {
- const db = request.result;
- if (!db.objectStoreNames.contains(this.storeName)) {
- db.createObjectStore(this.storeName);
- }
- };
- });
- }
-
- private async getStore(mode: IDBTransactionMode): Promise> {
- const dbResult = await this.dbPromise;
- if (dbResult.isErr()) {
- return Result.err('Database not initialized properly');
- }
- const db = dbResult.inner;
- const transaction = db.transaction(this.storeName, mode);
- return Result.ok(transaction.objectStore(this.storeName));
- }
-
- public async saveFile(key: string, file: Uint8Array): Promise> {
- const storeResult = await this.getStore('readwrite');
- if (storeResult.isErr()) {
- return Result.err('Failed to access object store for writing');
- }
- const store = storeResult.inner;
-
- return new Promise((resolve) => {
- const request = store.put(file, key);
- request.onsuccess = () => resolve(Result.ok(request.result));
- request.onerror = () => resolve(Result.err('Failed to save file'));
- });
- }
-
- public async getFile(key: string): Promise> {
- const storeResult = await this.getStore('readonly');
- if (storeResult.isErr()) {
- return Result.err('Failed to access object store for reading');
- }
- const store = storeResult.inner;
-
- return new Promise((resolve) => {
- const request = store.get(key);
-
- request.onsuccess = () =>
- resolve(request.result ? Result.ok(request.result) : Result.err('File content not found'));
- request.onerror = () => resolve(Result.err('Failed to retrieve file'));
- });
- }
-}
-
-export default new FileService();
diff --git a/app2/src/lib/services/index.ts b/app2/src/lib/services/index.ts
deleted file mode 100644
index 7a112d0..0000000
--- a/app2/src/lib/services/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { default as fileService } from './file-service';
-export { default as resultService } from './result-service';
diff --git a/app2/src/lib/services/result-service.ts b/app2/src/lib/services/result-service.ts
deleted file mode 100644
index ceb4900..0000000
--- a/app2/src/lib/services/result-service.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import { errorLogs, latestErrorLog } from '$lib/stores';
-import type { Result } from '$lib/utilities';
-
-class ResultService {
- public handleResult(result: Result, tag?: string) {
- if (result.isErr()) {
- const errorLogEntry = { tag, message: result.inner, exception: result.exception };
- latestErrorLog.set(errorLogEntry);
- errorLogs.update((entries) => {
- entries.push(errorLogEntry);
- return entries;
- });
- }
-
- return result;
- }
-}
-
-export default new ResultService();
diff --git a/app2/src/lib/stores/index.ts b/app2/src/lib/stores/index.ts
deleted file mode 100644
index 7684643..0000000
--- a/app2/src/lib/stores/index.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-export * from './socket-store';
-export * from './logging-store';
-export * from './model-store';
-export * from './socket';
diff --git a/app2/src/lib/stores/logging-store.ts b/app2/src/lib/stores/logging-store.ts
deleted file mode 100644
index ef01666..0000000
--- a/app2/src/lib/stores/logging-store.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { writable, type Writable } from 'svelte/store';
-
-export interface errorLog {
- message: unknown;
- tag?: string;
- exception?: unknown;
-}
-
-export const latestErrorLog: Writable = writable();
-
-export const errorLogs: Writable = writable([]);
diff --git a/app2/src/lib/stores/model-store.ts b/app2/src/lib/stores/model-store.ts
deleted file mode 100644
index 5474989..0000000
--- a/app2/src/lib/stores/model-store.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-import type { ControllerInput } from '$lib/models';
-import { persistentStore } from '$lib/utilities/svelte-utilities';
-import { writable, type Writable } from 'svelte/store';
-
-export const emulateModel = writable(true);
-
-export const jointNames = persistentStore('joint_names', []);
-
-export const model = writable();
-
-export const modes = ['idle', 'rest', 'stand', 'walk'] as const;
-
-export type Modes = (typeof modes)[number];
-
-export enum ModesEnum {
- Idle,
- Rest,
- Stand,
- Walk
-}
-
-export const mode: Writable = writable(ModesEnum.Idle);
-
-export const outControllerData = writable(new Int8Array([0, 0, 0, 0, 0, 70, 0]));
-
-export const input: Writable = writable({
- left: { x: 0, y: 0 },
- right: { x: 0, y: 0 },
- height: 70,
- speed: 0
-});
diff --git a/app2/src/lib/stores/socket-store.ts b/app2/src/lib/stores/socket-store.ts
deleted file mode 100644
index 11dc6f6..0000000
--- a/app2/src/lib/stores/socket-store.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { writable, type Writable } from 'svelte/store';
-import { type angles } from '$lib/models';
-
-export const servoAnglesOut: Writable = writable([
- 0, 45, -90, 0, 45, -90, 0, 45, -90, 0, 45, -90
-]);
-export const servoAngles: Writable = writable([
- 0, 45, -90, 0, 45, -90, 0, 45, -90, 0, 45, -90
-]);
-export const logs = writable([] as string[]);
-export const battery = writable({});
-export const mpu = writable({ heading: 0 });
-export const distances = writable({});
-
-export interface socketDataCollection {
- angles: Writable;
- logs: Writable;
- battery: Writable;
- mpu: Writable;
- distances: Writable;
-}
-
-export const socketData = {
- angles: servoAngles,
- logs,
- battery,
- mpu,
- distances
-};
diff --git a/app2/src/lib/utilities/buffer-utilities.ts b/app2/src/lib/utilities/buffer-utilities.ts
deleted file mode 100644
index a5f5182..0000000
--- a/app2/src/lib/utilities/buffer-utilities.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-export class throttler {
- private _throttlePause: boolean;
- constructor() {
- this._throttlePause = false;
- }
- throttle = (callback: Function, time: number) => {
- if (this._throttlePause) return;
-
- this._throttlePause = true;
- setTimeout(() => {
- callback();
- this._throttlePause = false;
- }, time);
- };
-}
diff --git a/app2/src/lib/utilities/index.ts b/app2/src/lib/utilities/index.ts
deleted file mode 100644
index 90b8760..0000000
--- a/app2/src/lib/utilities/index.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-export * from './result';
-export * from './string-utilities';
-export * from './svelte-utilities';
-export * from './math-utilities';
-export * from './buffer-utilities';
-export * from './model-utilities';
-export * from './location-utilities';
diff --git a/app2/src/lib/utilities/location-utilities.ts b/app2/src/lib/utilities/location-utilities.ts
deleted file mode 100644
index 0ba138a..0000000
--- a/app2/src/lib/utilities/location-utilities.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-export const hostname = 'localhost'; //window.location.hostname;
-
-export const isSecure = true; // window.location.protocol === 'https:';
-
-export const location = 'localhost:5173'; //window.location; //import.meta.env.VITE_API_URL.replace('hostname', hostname);
-
-const socketScheme = isSecure ? 'wss://' : 'ws://';
-
-export const socketLocation = socketScheme + location; // import.meta.env.VITE_SOCKET_URL.replace('hostname', hostname);
diff --git a/app2/src/lib/utilities/math-utilities.ts b/app2/src/lib/utilities/math-utilities.ts
deleted file mode 100644
index 95c70e7..0000000
--- a/app2/src/lib/utilities/math-utilities.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-export const toUint8 = (number: number, min: number, max: number) => {
- number = Math.max(min, Math.min(max, number));
- let scaled = ((number - min) / (max - min)) * 255;
- return Math.round(scaled) & 0xff;
-};
-
-export const toInt8 = (number: number, min: number, max: number) => {
- number = Math.max(min, Math.min(max, number));
- let scaled = ((number - min) / (max - min)) * 255 - 128;
- return Math.max(-128, Math.min(127, Math.round(scaled))) | 0;
-};
diff --git a/app2/src/lib/utilities/model-utilities.ts b/app2/src/lib/utilities/model-utilities.ts
deleted file mode 100644
index 680513b..0000000
--- a/app2/src/lib/utilities/model-utilities.ts
+++ /dev/null
@@ -1,63 +0,0 @@
-import { Color, LoaderUtils, Vector3 } from 'three';
-import URDFLoader, { type URDFRobot } from 'urdf-loader';
-import { XacroLoader } from 'xacro-parser';
-import { Result } from '$lib/utilities';
-
-let model_xml: XMLDocument;
-
-export const loadModelAsync = async (
- url: string
-): Promise> => {
- return new Promise((resolve, reject) => {
- const xacroLoader = new XacroLoader();
- const urdfLoader = new URDFLoader();
- urdfLoader.workingPath = LoaderUtils.extractUrlBase(url);
-
- xacroLoader.load(
- url,
- async (xml) => {
- model_xml = xml;
- try {
- const model = urdfLoader.parse(xml);
- model.rotation.x = -Math.PI / 2;
- model.rotation.z = Math.PI / 2;
- model.traverse((c) => (c.castShadow = true));
- model.updateMatrixWorld(true);
- model.scale.setScalar(10);
- const joints = Object.entries(model.joints)
- .filter((joint) => joint[1].jointType !== 'fixed')
- .map((joint) => joint[0]);
-
- resolve(Result.ok([model, joints]));
- } catch (error) {
- resolve(Result.err('Failed to load model', error));
- }
- },
- (error) => resolve(Result.err('Failed to load model', error))
- );
- });
-};
-
-export const toeWorldPositions = (robot: URDFRobot) => {
- const toe_positions: Vector3[] = [];
- robot.traverse((child) => {
- if (child.name.includes('toe') && !child.name.includes('_link')) {
- const worldPosition = new Vector3();
- child.getWorldPosition(worldPosition);
- toe_positions.push(worldPosition);
- }
- });
- return toe_positions;
-};
-
-export const footColor = () => {
- const colorElem = model_xml.querySelector('material[name=foot_color] > color') as Element;
- const colorAttrStr = colorElem.getAttribute('rgba') as string;
- const colorStr = colorAttrStr
- .split(' ')
- .slice(0, 3)
- .map((val) => Math.floor(+val * 255))
- .join(', ');
-
- return new Color(`rgb(${colorStr})`);
-};
diff --git a/app2/src/lib/utilities/result/err.ts b/app2/src/lib/utilities/result/err.ts
deleted file mode 100644
index 8c879be..0000000
--- a/app2/src/lib/utilities/result/err.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-export class Err {
- #inner: T;
- #exception?: U;
-
- constructor(inner: T, exception?: U) {
- this.#inner = inner;
- this.#exception = exception;
- }
-
- get inner(): T {
- return this.#inner;
- }
-
- get exception(): U | undefined {
- return this.#exception;
- }
-
- /**
- * Type guard for `Ok`
- * @returns `true` if `Ok`; `false` if `Err`
- */
- isOk(): false {
- return false;
- }
-
- /**
- * Type guard for `Err`
- * @returns `true` if `Err`; `false` if `Ok`
- */
- isErr(): this is Err {
- return true;
- }
-
- /**
- * Create an `Err`
- * @param inner
- * @returns `Err(inner)`
- */
- static new(inner: E, exception: F): Err {
- return new Err(inner, exception);
- }
-}
diff --git a/app2/src/lib/utilities/result/index.ts b/app2/src/lib/utilities/result/index.ts
deleted file mode 100644
index 55e069b..0000000
--- a/app2/src/lib/utilities/result/index.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export * from './err';
-export * from './ok';
-export * from './result';
diff --git a/app2/src/lib/utilities/result/ok.ts b/app2/src/lib/utilities/result/ok.ts
deleted file mode 100644
index 868b3c8..0000000
--- a/app2/src/lib/utilities/result/ok.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-export class Ok {
- #inner: T;
-
- constructor(inner: T) {
- this.#inner = inner;
- }
-
- get inner(): T {
- return this.#inner;
- }
-
- /**
- * Type guard for `Ok`
- * @returns `true` if `Ok`; `false` if `Err`
- */
- isOk(): this is Ok {
- return true;
- }
-
- /**
- * Type guard for `Err`
- * @returns `true` if `Err`; `false` if `Ok`
- */
- isErr(): false {
- return false;
- }
-
- /**
- * Create an `Ok`
- * @param inner
- * @returns `Ok(inner)`
- */
- static new(inner: T): Ok {
- return new Ok(inner);
- }
-
- /**
- * Create an empty `Ok`
- * @returns `Ok(void)`
- */
- static void(): Ok {
- return new Ok(undefined);
- }
-}
diff --git a/app2/src/lib/utilities/result/result.ts b/app2/src/lib/utilities/result/result.ts
deleted file mode 100644
index 4e86e00..0000000
--- a/app2/src/lib/utilities/result/result.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import { Err } from './err';
-import { Ok } from './ok';
-
-export type Result = Ok | Err;
-
-export namespace Result {
- /**
- * @returns `Ok`
- */
- export function ok(value: T) {
- return Ok.new(value);
- }
-
- /**
- * @returns `Err`
- */
- export function err(error: E, exception?: F) {
- return Err.new(error, exception);
- }
-}
diff --git a/app2/src/lib/utilities/string-utilities.ts b/app2/src/lib/utilities/string-utilities.ts
deleted file mode 100644
index 0ffc397..0000000
--- a/app2/src/lib/utilities/string-utilities.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-export const humanFileSize = (size: number): string => {
- const units = ['B', 'kB', 'MB', 'GB', 'TB'];
- var i = size == 0 ? 0 : Math.floor(Math.log(size) / Math.log(1024));
- return Number((size / Math.pow(1024, i)).toFixed(2)) * 1 + units[i];
-};
-
-export const capitalize = (str: string): string => {
- return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
-};
diff --git a/app2/src/lib/utilities/svelte-utilities.ts b/app2/src/lib/utilities/svelte-utilities.ts
deleted file mode 100644
index 4f223c0..0000000
--- a/app2/src/lib/utilities/svelte-utilities.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { writable } from 'svelte/store';
-import { browser } from '$app/environment';
-
-export const isEmbeddedApp = import.meta.env.VITE_EMBEDDED_BUILD === 'true';
-
-export const persistentStore = (key: string, initialValue: any) => {
- const savedValue = browser ? JSON.parse(localStorage.getItem(key) as string) : null;
- const data = savedValue !== null ? savedValue : initialValue;
- const store = writable(data);
-
- store.subscribe((value) => {
- browser && localStorage.setItem(key, JSON.stringify(value));
- });
-
- return store;
-};
diff --git a/app2/static/favicon.ico b/app2/static/favicon.ico
deleted file mode 100644
index 8900c00..0000000
Binary files a/app2/static/favicon.ico and /dev/null differ
diff --git a/app2/static/manifest.json b/app2/static/manifest.json
deleted file mode 100644
index 98d7cc4..0000000
--- a/app2/static/manifest.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "short_name": "Quadruped Controller",
- "name": "Quadruped Controller",
- "icons": [
- {
- "src": "logo512.png",
- "type": "image/png",
- "sizes": "512x512"
- }
- ],
- "start_url": ".",
- "display": "standalone",
- "theme_color": "#000000",
- "background_color": "#ffffff"
-}
diff --git a/app2/static/spot_micro.urdf.xacro b/app2/static/spot_micro.urdf.xacro
deleted file mode 100644
index e6b2dae..0000000
--- a/app2/static/spot_micro.urdf.xacro
+++ /dev/null
@@ -1,310 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app2/static/sw.js b/app2/static/sw.js
deleted file mode 100644
index 3171814..0000000
--- a/app2/static/sw.js
+++ /dev/null
@@ -1,45 +0,0 @@
-const CACHE_NAME = 'v1';
-const urlsToCache = ['/', '/index.html', '/stl.zip'];
-
-self.addEventListener('install', (event) => {
- event.waitUntil(
- caches.open(CACHE_NAME).then((cache) => {
- return cache.addAll(urlsToCache);
- })
- );
-});
-
-// self.addEventListener('fetch', (event) => {
-// event.respondWith(
-// caches.match(event.request).then((response) => {
-// if (response) {
-// return response;
-// }
-// return fetch(event.request).then((response) => {
-// if (!response || response.status !== 200 || response.type !== 'basic') {
-// return response;
-// }
-// var responseToCache = response.clone();
-// caches.open(CACHE_NAME).then((cache) => {
-// cache.put(event.request, responseToCache);
-// });
-// return response;
-// });
-// })
-// );
-// });
-
-self.addEventListener('activate', (event) => {
- var cacheWhitelist = ['v1'];
- event.waitUntil(
- caches.keys().then((cacheNames) => {
- return Promise.all(
- cacheNames.map((cacheName) => {
- if (cacheWhitelist.indexOf(cacheName) === -1) {
- return caches.delete(cacheName);
- }
- })
- );
- })
- );
-});
diff --git a/app2/svelte.config.js b/app2/svelte.config.js
deleted file mode 100644
index c6dada5..0000000
--- a/app2/svelte.config.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import adapter from '@sveltejs/adapter-static';
-import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
-
-/** @type {import('@sveltejs/kit').Config} */
-const config = {
- // Consult https://kit.svelte.dev/docs/integrations#preprocessors
- // for more information about preprocessors
- preprocess: vitePreprocess(),
-
- kit: {
- adapter: adapter({
- pages: '../esp32/www',
- assets: '../esp32/www',
- fallback: 'index.html',
- precompress: false,
- strict: true
- })
- }
-};
-
-export default config;
diff --git a/app2/tailwind.config.js b/app2/tailwind.config.js
deleted file mode 100644
index a18583e..0000000
--- a/app2/tailwind.config.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/** @type {import('tailwindcss').Config} */
-export default {
- content: ['./src/**/*.{html,js,ts,svelte}'],
- theme: {
- extend: {}
- },
- plugins: [require('daisyui')],
- daisyui: {
- themes: ['light', 'dark'],
- darkTheme: 'dark'
- }
-};
diff --git a/app2/tsconfig.json b/app2/tsconfig.json
deleted file mode 100644
index fc93cbd..0000000
--- a/app2/tsconfig.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "extends": "./.svelte-kit/tsconfig.json",
- "compilerOptions": {
- "allowJs": true,
- "checkJs": true,
- "esModuleInterop": true,
- "forceConsistentCasingInFileNames": true,
- "resolveJsonModule": true,
- "skipLibCheck": true,
- "sourceMap": true,
- "strict": true,
- "moduleResolution": "bundler"
- }
- // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias
- // except $lib which is handled by https://kit.svelte.dev/docs/configuration#files
- //
- // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
- // from the referenced tsconfig.json - TypeScript does not merge them in
-}
diff --git a/app2/vite.config.ts b/app2/vite.config.ts
deleted file mode 100644
index 97f404b..0000000
--- a/app2/vite.config.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-import { sveltekit } from '@sveltejs/kit/vite';
-import { defineConfig } from 'vite';
-import Icons from 'unplugin-icons/vite';
-import viteLittleFS from './vite-plugin-littlefs';
-
-export default defineConfig({
- plugins: [
- sveltekit(),
- Icons({
- compiler: 'svelte'
- }),
- viteLittleFS()
- ],
- test: {
- include: ['src/**/*.{test,spec}.{js,ts}']
- },
- server: {
- proxy: {
- '/api': {
- target: 'http://192.168.0.172',
- changeOrigin: true,
- ws: true
- },
- '/ws': {
- target: 'ws://192.168.0.172',
- changeOrigin: true,
- ws: true
- }
- }
- }
-});
diff --git a/esp32/platformio.ini b/esp32/platformio.ini
index 40b862a..a5f73ea 100644
--- a/esp32/platformio.ini
+++ b/esp32/platformio.ini
@@ -66,6 +66,7 @@ monitor_rts = 0
monitor_dtr = 0
build_flags=
-D FT_CAMERA
+ -D CAMERA_MODEL_AI_THINKER
${env.build_flags}
-D LED_BUILTIN=4
-D KEY_BUILTIN=0
diff --git a/esp32/src/main.cpp b/esp32/src/main.cpp
index d179725..42d7090 100644
--- a/esp32/src/main.cpp
+++ b/esp32/src/main.cpp
@@ -1,5 +1,3 @@
-#define CAMERA_MODEL_AI_THINKER
-
#include
#include
@@ -7,7 +5,7 @@
DRAM_ATTR PsychicHttpServer server;
-DRAM_ATTR ESP32SvelteKit esp32sveltekit(&server, 120);
+DRAM_ATTR ESP32SvelteKit spot(&server, 120);
/*
* Camera settings service
@@ -38,7 +36,7 @@ void setup()
{
Serial.begin(SERIAL_BAUD_RATE);
- esp32sveltekit.begin();
+ spot.begin();
// Wire.begin(SDA, SCL);