From ced266159ef2b89ffdfcc598d3f872d709d7f8f3 Mon Sep 17 00:00:00 2001 From: ditatompel Date: Sat, 4 May 2024 00:11:56 +0700 Subject: [PATCH] Copying my other project structure to this project --- .air.toml | 44 + .editorconfig | 21 + .env.example | 17 + Makefile | 16 + cmd/admin.go | 80 + cmd/root.go | 31 + cmd/serve.go | 104 + frontend/.eslintignore | 13 + frontend/.eslintrc.cjs | 15 + frontend/.gitignore | 10 + frontend/.npmrc | 1 + frontend/.prettierignore | 4 + frontend/.prettierrc | 8 + frontend/README.md | 35 + frontend/embed.go | 21 + frontend/jsconfig.json | 18 + frontend/package-lock.json | 4070 +++++++++++++++++ frontend/package.json | 40 + frontend/postcss.config.js | 6 + frontend/src/app.css | 13 + frontend/src/app.d.ts | 16 + frontend/src/app.html | 13 + .../src/lib/components/InfiniteScroll.svelte | 50 + .../datatables/server/DtSrPagination.svelte | 69 + .../datatables/server/DtSrRowCount.svelte | 22 + .../datatables/server/DtSrRowsPerPage.svelte | 33 + .../datatables/server/DtSrSearch.svelte | 23 + .../datatables/server/DtSrThFilter.svelte | 35 + .../datatables/server/DtSrThSort.svelte | 18 + .../lib/components/datatables/server/index.js | 6 + .../navigation/AdminMobileDrawer.svelte | 24 + .../lib/components/navigation/AdminNav.svelte | 85 + .../components/navigation/AdminSidebar.svelte | 34 + .../src/lib/components/navigation/index.js | 3 + .../src/lib/components/navigation/navs.js | 5 + frontend/src/lib/index.js | 1 + frontend/src/lib/utils/common.js | 4 + frontend/src/routes/(loggedin)/+layout.svelte | 21 + .../routes/(loggedin)/app/crons/+page.svelte | 174 + .../(loggedin)/app/crons/api-handler.js | 21 + .../(loggedin)/app/dashboard/+page.svelte | 3 + .../routes/(loggedin)/app/prober/+page.svelte | 120 + .../(loggedin)/app/prober/add/+page.svelte | 94 + .../(loggedin)/app/prober/api-handler.js | 21 + frontend/src/routes/+layout.js | 2 + frontend/src/routes/+layout.svelte | 34 + frontend/src/routes/+page.svelte | 7 + frontend/src/routes/login/+page.svelte | 118 + frontend/static/favicon.ico | Bin 0 -> 15406 bytes frontend/static/favicon.png | Bin 0 -> 1815 bytes .../static/img/icon/android-icon-144x144.png | Bin 0 -> 5386 bytes .../static/img/icon/android-icon-192x192.png | Bin 0 -> 5886 bytes .../static/img/icon/android-icon-36x36.png | Bin 0 -> 1989 bytes .../static/img/icon/android-icon-48x48.png | Bin 0 -> 2104 bytes .../static/img/icon/android-icon-512x512.png | Bin 0 -> 6082 bytes .../static/img/icon/android-icon-72x72.png | Bin 0 -> 2772 bytes .../static/img/icon/android-icon-96x96.png | Bin 0 -> 3638 bytes .../static/img/icon/apple-icon-180x180.png | Bin 0 -> 6870 bytes frontend/static/img/icon/favicon-32x32.png | Bin 0 -> 1815 bytes frontend/static/img/icon/maskable-512x512.png | Bin 0 -> 19458 bytes frontend/static/manifest.json | 63 + frontend/static/robots.txt | 2 + frontend/svelte.config.js | 16 + frontend/tailwind.config.js | 23 + frontend/tmp/main | Bin 0 -> 620716 bytes frontend/vite.config.js | 9 + go.mod | 31 + go.sum | 93 + handler/middlewares.go | 18 + handler/response.go | 132 + handler/routes.go | 18 + internal/config/app.go | 41 + internal/config/config.go | 18 + internal/config/db.go | 31 + internal/database/mysql.go | 50 + internal/repo/admin.go | 169 + internal/repo/cron.go | 112 + internal/repo/prober.go | 104 + main.go | 7 + tools/mysql-dump.sh | 14 + tools/resources/database/structure.sql | 63 + 81 files changed, 6637 insertions(+) create mode 100644 .air.toml create mode 100644 .editorconfig create mode 100644 .env.example create mode 100644 Makefile create mode 100644 cmd/admin.go create mode 100644 cmd/root.go create mode 100644 cmd/serve.go create mode 100644 frontend/.eslintignore create mode 100644 frontend/.eslintrc.cjs create mode 100644 frontend/.gitignore create mode 100644 frontend/.npmrc create mode 100644 frontend/.prettierignore create mode 100644 frontend/.prettierrc create mode 100644 frontend/README.md create mode 100644 frontend/embed.go create mode 100644 frontend/jsconfig.json create mode 100644 frontend/package-lock.json create mode 100644 frontend/package.json create mode 100644 frontend/postcss.config.js create mode 100644 frontend/src/app.css create mode 100644 frontend/src/app.d.ts create mode 100644 frontend/src/app.html create mode 100644 frontend/src/lib/components/InfiniteScroll.svelte create mode 100644 frontend/src/lib/components/datatables/server/DtSrPagination.svelte create mode 100644 frontend/src/lib/components/datatables/server/DtSrRowCount.svelte create mode 100644 frontend/src/lib/components/datatables/server/DtSrRowsPerPage.svelte create mode 100644 frontend/src/lib/components/datatables/server/DtSrSearch.svelte create mode 100644 frontend/src/lib/components/datatables/server/DtSrThFilter.svelte create mode 100644 frontend/src/lib/components/datatables/server/DtSrThSort.svelte create mode 100644 frontend/src/lib/components/datatables/server/index.js create mode 100644 frontend/src/lib/components/navigation/AdminMobileDrawer.svelte create mode 100644 frontend/src/lib/components/navigation/AdminNav.svelte create mode 100644 frontend/src/lib/components/navigation/AdminSidebar.svelte create mode 100644 frontend/src/lib/components/navigation/index.js create mode 100644 frontend/src/lib/components/navigation/navs.js create mode 100644 frontend/src/lib/index.js create mode 100644 frontend/src/lib/utils/common.js create mode 100644 frontend/src/routes/(loggedin)/+layout.svelte create mode 100644 frontend/src/routes/(loggedin)/app/crons/+page.svelte create mode 100644 frontend/src/routes/(loggedin)/app/crons/api-handler.js create mode 100644 frontend/src/routes/(loggedin)/app/dashboard/+page.svelte create mode 100644 frontend/src/routes/(loggedin)/app/prober/+page.svelte create mode 100644 frontend/src/routes/(loggedin)/app/prober/add/+page.svelte create mode 100644 frontend/src/routes/(loggedin)/app/prober/api-handler.js create mode 100644 frontend/src/routes/+layout.js create mode 100644 frontend/src/routes/+layout.svelte create mode 100644 frontend/src/routes/+page.svelte create mode 100644 frontend/src/routes/login/+page.svelte create mode 100644 frontend/static/favicon.ico create mode 100644 frontend/static/favicon.png create mode 100644 frontend/static/img/icon/android-icon-144x144.png create mode 100644 frontend/static/img/icon/android-icon-192x192.png create mode 100644 frontend/static/img/icon/android-icon-36x36.png create mode 100644 frontend/static/img/icon/android-icon-48x48.png create mode 100644 frontend/static/img/icon/android-icon-512x512.png create mode 100644 frontend/static/img/icon/android-icon-72x72.png create mode 100644 frontend/static/img/icon/android-icon-96x96.png create mode 100644 frontend/static/img/icon/apple-icon-180x180.png create mode 100644 frontend/static/img/icon/favicon-32x32.png create mode 100644 frontend/static/img/icon/maskable-512x512.png create mode 100644 frontend/static/manifest.json create mode 100644 frontend/static/robots.txt create mode 100644 frontend/svelte.config.js create mode 100644 frontend/tailwind.config.js create mode 100644 frontend/tmp/main create mode 100644 frontend/vite.config.js create mode 100644 go.mod create mode 100644 go.sum create mode 100644 handler/middlewares.go create mode 100644 handler/response.go create mode 100644 handler/routes.go create mode 100644 internal/config/app.go create mode 100644 internal/config/config.go create mode 100644 internal/config/db.go create mode 100644 internal/database/mysql.go create mode 100644 internal/repo/admin.go create mode 100644 internal/repo/cron.go create mode 100644 internal/repo/prober.go create mode 100644 main.go create mode 100755 tools/mysql-dump.sh create mode 100644 tools/resources/database/structure.sql diff --git a/.air.toml b/.air.toml new file mode 100644 index 0000000..4a34392 --- /dev/null +++ b/.air.toml @@ -0,0 +1,44 @@ +root = "." +testdata_dir = "testdata" +tmp_dir = "tmp" + +[build] + args_bin = [] + bin = "./tmp/main" + cmd = "go build -o ./tmp/main ." + delay = 0 + exclude_dir = ["assets", "tmp", "vendor", "testdata", "frontend/node_modules", "data", "bin"] + exclude_file = [] + exclude_regex = ["_test.go"] + exclude_unchanged = false + follow_symlink = false + full_bin = "" + include_dir = [] + include_ext = ["go", "tpl", "tmpl", "html", "css", "js"] + include_file = [] + kill_delay = "0s" + log = "build-errors.log" + poll = false + poll_interval = 0 + rerun = false + rerun_delay = 500 + send_interrupt = false + stop_on_error = false + +[color] + app = "" + build = "yellow" + main = "magenta" + runner = "green" + watcher = "cyan" + +[log] + main_only = false + time = false + +[misc] + clean_on_exit = false + +[screen] + clear_on_rebuild = false + keep_scroll = true diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..1fd14c7 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,21 @@ +; https://editorconfig.org/ + +root = true + +[*] +trim_trailing_whitespace = true +indent_style = space +indent_size = 2 + +[{Makefile,go.mod,go.sum,*.go}] +indent_style = tab +indent_size = 4 + +[*.md] +indent_size = 4 +trim_trailing_whitespace = false + + +[{*.yml,*.yaml}] +indent_style = space +indent_size = 2 diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..4b2808a --- /dev/null +++ b/.env.example @@ -0,0 +1,17 @@ +SECRET_KEY="" # must be 32 char length, use `openssl rand -base64 32` to generate random secret +LOG_LEVEL=INFO # can be DEBUG, INFO, WARNING, ERROR + +# Fiber Config +APP_DEBUG=false # if this set to true , LOG_LEVEL will be set to DEBUG +APP_PREFORK=true +APP_HOST="0.0.0.0" +APP_PORT=18090 +APP_PROXY_HEADER="X-Real-Ip" # CF-Connecting-IP +APP_ALLOW_ORIGIN="http://localhost:5173,http://192.168.1.99:5173,https://ditatompel.com" + +# DB settings: +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_USER=root +DB_PASSWORD= +DB_NAME=wa_ditatombot diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..35ea819 --- /dev/null +++ b/Makefile @@ -0,0 +1,16 @@ +.PHONY: ui build linux64 + +BINARY_NAME = xmr-nodes + +build: ui linux64 + +ui: + go generate ./... + +linux64: + CGO_ENABLED=0 GOARCH=amd64 GOOS=linux go build -o bin/${BINARY_NAME}-static-linux-amd64 + +clean: + go clean + rm -rfv ./bin + rm -rf ./frontend/build diff --git a/cmd/admin.go b/cmd/admin.go new file mode 100644 index 0000000..c04dd1d --- /dev/null +++ b/cmd/admin.go @@ -0,0 +1,80 @@ +package cmd + +import ( + "bufio" + "fmt" + "os" + "strings" + "syscall" + + "github.com/ditatompel/xmr-nodes/internal/database" + "github.com/ditatompel/xmr-nodes/internal/repo" + + "github.com/spf13/cobra" + "golang.org/x/term" +) + +var adminCmd = &cobra.Command{ + Use: "admin", + Short: "Create Admin", + Long: `Create an admin account for WebUI access.`, + Run: func(_ *cobra.Command, args []string) { + if len(args) == 0 { + fmt.Println("Usage: xmr-nodes admin create") + os.Exit(1) + } + + if args[0] == "create" { + if err := database.ConnectDB(); err != nil { + panic(err) + } + if err := createAdmin(); err != nil { + fmt.Println(err) + os.Exit(1) + } + fmt.Println("Admin account created") + os.Exit(0) + } + }, +} + +func init() { + rootCmd.AddCommand(adminCmd) +} + +func createAdmin() error { + admin := repo.NewAdminRepo(database.GetDB()) + a := repo.Admin{ + Username: stringPrompt("Username:"), + Password: passPrompt("Password:"), + } + _, err := admin.CreateAdmin(&a) + return err +} + +func stringPrompt(label string) string { + var s string + r := bufio.NewReader(os.Stdin) + for { + fmt.Fprint(os.Stderr, label+" ") + s, _ = r.ReadString('\n') + if s != "" { + break + } + } + return strings.TrimSpace(s) +} + +func passPrompt(label string) string { + var s string + for { + fmt.Fprint(os.Stderr, label+" ") + b, _ := term.ReadPassword(int(syscall.Stdin)) + s = string(b) + if s != "" { + break + } + } + fmt.Println() + return s +} diff --git a/cmd/root.go b/cmd/root.go new file mode 100644 index 0000000..c81eb2a --- /dev/null +++ b/cmd/root.go @@ -0,0 +1,31 @@ +package cmd + +import ( + "os" + + "github.com/ditatompel/xmr-nodes/internal/config" + + "github.com/spf13/cobra" +) + +const AppVer = "0.0.1" + +var LogLevel string + +var rootCmd = &cobra.Command{ + Use: "xmr-nodes", + Short: "XMR Nodes", + Version: AppVer, +} + +func Execute() { + err := rootCmd.Execute() + if err != nil { + os.Exit(1) + } +} + +func init() { + config.LoadAll(".env") + LogLevel = config.AppCfg().LogLevel +} diff --git a/cmd/serve.go b/cmd/serve.go new file mode 100644 index 0000000..edbd66e --- /dev/null +++ b/cmd/serve.go @@ -0,0 +1,104 @@ +package cmd + +import ( + "fmt" + "os" + "os/signal" + "syscall" + + "github.com/ditatompel/xmr-nodes/frontend" + "github.com/ditatompel/xmr-nodes/handler" + "github.com/ditatompel/xmr-nodes/internal/config" + "github.com/ditatompel/xmr-nodes/internal/database" + "github.com/ditatompel/xmr-nodes/internal/repo" + + "github.com/gofiber/fiber/v2" + "github.com/gofiber/fiber/v2/middleware/cors" + "github.com/gofiber/fiber/v2/middleware/encryptcookie" + "github.com/gofiber/fiber/v2/middleware/filesystem" + "github.com/gofiber/fiber/v2/middleware/logger" + "github.com/gofiber/fiber/v2/middleware/recover" + "github.com/spf13/cobra" +) + +var serveCmd = &cobra.Command{ + Use: "serve", + Short: "Serve the WebUI", + Long: `This command will run HTTP server for APIs and WebUI.`, + Run: func(_ *cobra.Command, _ []string) { + serve() + }, +} + +func init() { + rootCmd.AddCommand(serveCmd) +} + +func serve() { + appCfg := config.AppCfg() + // connect to DB + if err := database.ConnectDB(); err != nil { + panic(err) + } + + // Define Fiber config & app. + app := fiber.New(fiberConfig()) + + // recover + app.Use(recover.New(recover.Config{EnableStackTrace: appCfg.Debug})) + + // logger middleware + if appCfg.Debug { + app.Use(logger.New(logger.Config{ + Format: "[${time}] ${status} - ${latency} ${method} ${path} ${queryParams} ${ip} ${ua}\n", + })) + } + + app.Use(cors.New(cors.Config{ + AllowOrigins: appCfg.AllowOrigin, + AllowHeaders: "Origin, Content-Type, Accept", + AllowCredentials: true, + })) + + // cookie + app.Use(encryptcookie.New(encryptcookie.Config{Key: appCfg.SecretKey})) + + handler.AppRoute(app) + handler.V1Api(app) + app.Use("/", filesystem.New(filesystem.Config{ + Root: frontend.SvelteKitHandler(), + // NotFoundFile: "index.html", + })) + + // signal channel to capture system calls + sigCh := make(chan os.Signal, 1) + signal.Notify(sigCh, syscall.SIGTERM, syscall.SIGINT, syscall.SIGQUIT) + + // start a cleanup cron-job + if !fiber.IsChild() { + cronRepo := repo.NewCron(database.GetDB()) + go cronRepo.RunCronProcess() + } + + // start shutdown goroutine + go func() { + // capture sigterm and other system call here + <-sigCh + fmt.Println("Shutting down HTTP server...") + _ = app.Shutdown() + }() + + // start http server + serverAddr := fmt.Sprintf("%s:%d", appCfg.Host, appCfg.Port) + if err := app.Listen(serverAddr); err != nil { + fmt.Printf("Server is not running! error: %v", err) + } +} + +func fiberConfig() fiber.Config { + return fiber.Config{ + Prefork: config.AppCfg().Prefork, + ProxyHeader: config.AppCfg().ProxyHeader, + AppName: "ditatompel's XMR Nodes HTTP server " + AppVer, + } +} diff --git a/frontend/.eslintignore b/frontend/.eslintignore new file mode 100644 index 0000000..3897265 --- /dev/null +++ b/frontend/.eslintignore @@ -0,0 +1,13 @@ +.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/frontend/.eslintrc.cjs b/frontend/.eslintrc.cjs new file mode 100644 index 0000000..50b97a5 --- /dev/null +++ b/frontend/.eslintrc.cjs @@ -0,0 +1,15 @@ +/** @type { import("eslint").Linter.Config } */ +module.exports = { + root: true, + extends: ['eslint:recommended', 'plugin:svelte/recommended', 'prettier'], + parserOptions: { + sourceType: 'module', + ecmaVersion: 2020, + extraFileExtensions: ['.svelte'] + }, + env: { + browser: true, + es2017: true, + node: true + } +}; diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 0000000..6635cf5 --- /dev/null +++ b/frontend/.gitignore @@ -0,0 +1,10 @@ +.DS_Store +node_modules +/build +/.svelte-kit +/package +.env +.env.* +!.env.example +vite.config.js.timestamp-* +vite.config.ts.timestamp-* diff --git a/frontend/.npmrc b/frontend/.npmrc new file mode 100644 index 0000000..b6f27f1 --- /dev/null +++ b/frontend/.npmrc @@ -0,0 +1 @@ +engine-strict=true diff --git a/frontend/.prettierignore b/frontend/.prettierignore new file mode 100644 index 0000000..cc41cea --- /dev/null +++ b/frontend/.prettierignore @@ -0,0 +1,4 @@ +# Ignore files for PNPM, NPM and YARN +pnpm-lock.yaml +package-lock.json +yarn.lock diff --git a/frontend/.prettierrc b/frontend/.prettierrc new file mode 100644 index 0000000..9573023 --- /dev/null +++ b/frontend/.prettierrc @@ -0,0 +1,8 @@ +{ + "useTabs": true, + "singleQuote": true, + "trailingComma": "none", + "printWidth": 100, + "plugins": ["prettier-plugin-svelte"], + "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }] +} diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 0000000..20d170f --- /dev/null +++ b/frontend/README.md @@ -0,0 +1,35 @@ +# UI + +Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/main/packages/create-svelte). + +## 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. + +## Deploying + +after running `npm run build` from development device, copy `./build`, `package.json` and `package-lock.json` to server. On the server, run `npm ci --omit dev` then restart the systemd service. + +Playbook example (run from root project): +```shell +ansible-playbook -i ./utils/ansible/inventory.ini -l production ./utils/ansible/deploy.yml -K +``` diff --git a/frontend/embed.go b/frontend/embed.go new file mode 100644 index 0000000..ae46059 --- /dev/null +++ b/frontend/embed.go @@ -0,0 +1,21 @@ +package frontend + +import ( + "embed" + "io/fs" + "log" + "net/http" +) + +//go:generate npm i +//go:generate npm run build +//go:embed all:build/* +var f embed.FS + +func SvelteKitHandler() http.FileSystem { + build, err := fs.Sub(f, "build") + if err != nil { + log.Fatal(err) + } + return http.FS(build) +} diff --git a/frontend/jsconfig.json b/frontend/jsconfig.json new file mode 100644 index 0000000..81def15 --- /dev/null +++ b/frontend/jsconfig.json @@ -0,0 +1,18 @@ +{ + "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 and 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/frontend/package-lock.json b/frontend/package-lock.json new file mode 100644 index 0000000..3465859 --- /dev/null +++ b/frontend/package-lock.json @@ -0,0 +1,4070 @@ +{ + "name": "xmr-nodes-frontend", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "xmr-nodes-frontend", + "version": "0.0.1", + "devDependencies": { + "@floating-ui/dom": "^1.6.3", + "@skeletonlabs/skeleton": "^2.9.0", + "@skeletonlabs/tw-plugin": "^0.3.1", + "@sveltejs/adapter-auto": "^3.0.0", + "@sveltejs/adapter-static": "^3.0.1", + "@sveltejs/kit": "^2.0.0", + "@sveltejs/vite-plugin-svelte": "^3.0.0", + "@tailwindcss/forms": "^0.5.7", + "@types/eslint": "^8.56.0", + "@vincjo/datatables": "^1.14.5", + "autoprefixer": "^10.4.17", + "date-fns": "^3.3.1", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-svelte": "^2.35.1", + "postcss": "^8.4.35", + "prettier": "^3.1.1", + "prettier-plugin-svelte": "^3.1.2", + "svelte": "^4.2.7", + "svelte-check": "^3.6.0", + "tailwindcss": "^3.4.1", + "typescript": "^5.0.0", + "vite": "^5.0.3" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz", + "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==", + "dev": true, + "dependencies": { + "@floating-ui/utils": "^0.2.1" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz", + "integrity": "sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==", + "dev": true, + "dependencies": { + "@floating-ui/core": "^1.0.0", + "@floating-ui/utils": "^0.2.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", + "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==", + "dev": true + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.24", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz", + "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==", + "dev": true + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.1.tgz", + "integrity": "sha512-iU2Sya8hNn1LhsYyf0N+L4Gf9Qc+9eBTJJJsaOGUp+7x4n2M9dxTt8UvhJl3oeftSjblSlpCfvjA/IfP3g5VjQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.1.tgz", + "integrity": "sha512-wlzcWiH2Ir7rdMELxFE5vuM7D6TsOcJ2Yw0c3vaBR3VOsJFVTx9xvwnAvhgU5Ii8Gd6+I11qNHwndDscIm0HXg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.1.tgz", + "integrity": "sha512-YRXa1+aZIFN5BaImK+84B3uNK8C6+ynKLPgvn29X9s0LTVCByp54TB7tdSMHDR7GTV39bz1lOmlLDuedgTwwHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.1.tgz", + "integrity": "sha512-opjWJ4MevxeA8FhlngQWPBOvVWYNPFkq6/25rGgG+KOy0r8clYwL1CFd+PGwRqqMFVQ4/Qd3sQu5t7ucP7C/Uw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.1.tgz", + "integrity": "sha512-uBkwaI+gBUlIe+EfbNnY5xNyXuhZbDSx2nzzW8tRMjUmpScd6lCQYKY2V9BATHtv5Ef2OBq6SChEP8h+/cxifQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.1.tgz", + "integrity": "sha512-0bK9aG1kIg0Su7OcFTlexkVeNZ5IzEsnz1ept87a0TUgZ6HplSgkJAnFpEVRW7GRcikT4GlPV0pbtVedOaXHQQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.1.tgz", + "integrity": "sha512-qB6AFRXuP8bdkBI4D7UPUbE7OQf7u5OL+R94JE42Z2Qjmyj74FtDdLGeriRyBDhm4rQSvqAGCGC01b8Fu2LthQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.1.tgz", + "integrity": "sha512-sHig3LaGlpNgDj5o8uPEoGs98RII8HpNIqFtAI8/pYABO8i0nb1QzT0JDoXF/pxzqO+FkxvwkHZo9k0NJYDedg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.1.tgz", + "integrity": "sha512-nD3YcUv6jBJbBNFvSbp0IV66+ba/1teuBcu+fBBPZ33sidxitc6ErhON3JNavaH8HlswhWMC3s5rgZpM4MtPqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.1.tgz", + "integrity": "sha512-7/XVZqgBby2qp/cO0TQ8uJK+9xnSdJ9ct6gSDdEr4MfABrjTyrW6Bau7HQ73a2a5tPB7hno49A0y1jhWGDN9OQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.1.tgz", + "integrity": "sha512-CYc64bnICG42UPL7TrhIwsJW4QcKkIt9gGlj21gq3VV0LL6XNb1yAdHVp1pIi9gkts9gGcT3OfUYHjGP7ETAiw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.1.tgz", + "integrity": "sha512-LN+vnlZ9g0qlHGlS920GR4zFCqAwbv2lULrR29yGaWP9u7wF5L7GqWu9Ah6/kFZPXPUkpdZwd//TNR+9XC9hvA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.1.tgz", + "integrity": "sha512-n+vkrSyphvmU0qkQ6QBNXCGr2mKjhP08mPRM/Xp5Ck2FV4NrHU+y6axzDeixUrCBHVUS51TZhjqrKBBsHLKb2Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@skeletonlabs/skeleton": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@skeletonlabs/skeleton/-/skeleton-2.9.0.tgz", + "integrity": "sha512-s6l29M0PU+0he8+ifmfA6aA6Hvua58QDgcNlHrm9FFFdlj2D89BkT67f49LihNODOrTia7KewswkbdtYlPe8Ow==", + "dev": true, + "dependencies": { + "esm-env": "1.0.0" + }, + "peerDependencies": { + "svelte": "^3.56.0 || ^4.0.0" + } + }, + "node_modules/@skeletonlabs/tw-plugin": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@skeletonlabs/tw-plugin/-/tw-plugin-0.3.1.tgz", + "integrity": "sha512-DjjeOHN3HhFQf6gYPT2MUZMkIdw1jeB9mbuKC8etQxUlOR4XitfC7hssRWFJ8RJsvrrN0myCBbdWkVG1JVA96g==", + "dev": true, + "peerDependencies": { + "tailwindcss": ">=3.0.0" + } + }, + "node_modules/@sveltejs/adapter-auto": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-3.1.1.tgz", + "integrity": "sha512-6LeZft2Fo/4HfmLBi5CucMYmgRxgcETweQl/yQoZo/895K3S9YWYN4Sfm/IhwlIpbJp3QNvhKmwCHbsqQNYQpw==", + "dev": true, + "dependencies": { + "import-meta-resolve": "^4.0.0" + }, + "peerDependencies": { + "@sveltejs/kit": "^2.0.0" + } + }, + "node_modules/@sveltejs/adapter-static": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-3.0.1.tgz", + "integrity": "sha512-6lMvf7xYEJ+oGeR5L8DFJJrowkefTK6ZgA4JiMqoClMkKq0s6yvsd3FZfCFvX1fQ0tpCD7fkuRVHsnUVgsHyNg==", + "dev": true, + "peerDependencies": { + "@sveltejs/kit": "^2.0.0" + } + }, + "node_modules/@sveltejs/kit": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.5.2.tgz", + "integrity": "sha512-1Pm2lsBYURQsjnLyZa+jw75eVD4gYHxGRwPyFe4DAmB3FjTVR8vRNWGeuDLGFcKMh/B1ij6FTUrc9GrerogCng==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@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.5", + "mrmime": "^2.0.0", + "sade": "^1.8.1", + "set-cookie-parser": "^2.6.0", + "sirv": "^2.0.4", + "tiny-glob": "^0.2.9" + }, + "bin": { + "svelte-kit": "svelte-kit.js" + }, + "engines": { + "node": ">=18.13" + }, + "peerDependencies": { + "@sveltejs/vite-plugin-svelte": "^3.0.0", + "svelte": "^4.0.0 || ^5.0.0-next.0", + "vite": "^5.0.3" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.0.2.tgz", + "integrity": "sha512-MpmF/cju2HqUls50WyTHQBZUV3ovV/Uk8k66AN2gwHogNAG8wnW8xtZDhzNBsFJJuvmq1qnzA5kE7YfMJNFv2Q==", + "dev": true, + "dependencies": { + "@sveltejs/vite-plugin-svelte-inspector": "^2.0.0", + "debug": "^4.3.4", + "deepmerge": "^4.3.1", + "kleur": "^4.1.5", + "magic-string": "^0.30.5", + "svelte-hmr": "^0.15.3", + "vitefu": "^0.2.5" + }, + "engines": { + "node": "^18.0.0 || >=20" + }, + "peerDependencies": { + "svelte": "^4.0.0 || ^5.0.0-next.0", + "vite": "^5.0.0" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte-inspector": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-2.0.0.tgz", + "integrity": "sha512-gjr9ZFg1BSlIpfZ4PRewigrvYmHWbDrq2uvvPB1AmTWKuM+dI1JXQSUu2pIrYLb/QncyiIGkFDFKTwJ0XqQZZg==", + "dev": true, + "dependencies": { + "debug": "^4.3.4" + }, + "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" + } + }, + "node_modules/@tailwindcss/forms": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.7.tgz", + "integrity": "sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==", + "dev": true, + "dependencies": { + "mini-svg-data-uri": "^1.2.3" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1" + } + }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", + "dev": true + }, + "node_modules/@types/eslint": { + "version": "8.56.5", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.5.tgz", + "integrity": "sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/pug": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.10.tgz", + "integrity": "sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==", + "dev": true + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@vincjo/datatables": { + "version": "1.14.5", + "resolved": "https://registry.npmjs.org/@vincjo/datatables/-/datatables-1.14.5.tgz", + "integrity": "sha512-kvjr8ggRTRzwDTgOqK3bQPe5ZJo68h30SHcx0WS3daLVt/IUzN2132wtH2JZQkpxyjmh9EiblugOzUv/36Xpug==", + "dev": true, + "peerDependencies": { + "svelte": ">=3.54.0" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.18", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.18.tgz", + "integrity": "sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001591", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axobject-query": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz", + "integrity": "sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001594", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001594.tgz", + "integrity": "sha512-VblSX6nYqyJVs8DKFMldE2IVCJjZ225LW00ydtUWwh5hk9IfkTOffO6r8gJNsH0qqqeAF8KrbMYA2VEwTlGW5g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/code-red": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz", + "integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15", + "@types/estree": "^1.0.1", + "acorn": "^8.10.0", + "estree-walker": "^3.0.3", + "periscopic": "^3.1.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/date-fns": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.3.1.tgz", + "integrity": "sha512-y8e109LYGgoQDveiEBD3DYXKba1jWf5BA8YU1FL5Tvm0BTdEfy54WLCwnuYWZNnzzvALy/QQ4Hov+Q9RVRv+Zw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/devalue": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-4.3.2.tgz", + "integrity": "sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==", + "dev": true + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.693", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.693.tgz", + "integrity": "sha512-/if4Ueg0GUQlhCrW2ZlXwDAm40ipuKo+OgeHInlL8sbjt+hzISxZK949fZeJaVsheamrzANXvw1zQTvbxTvSHw==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "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" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-compat-utils": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.1.2.tgz", + "integrity": "sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-svelte": { + "version": "2.35.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-2.35.1.tgz", + "integrity": "sha512-IF8TpLnROSGy98Z3NrsKXWDSCbNY2ReHDcrYTuXZMbfX7VmESISR78TWgO9zdg4Dht1X8coub5jKwHzP0ExRug==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@jridgewell/sourcemap-codec": "^1.4.14", + "debug": "^4.3.1", + "eslint-compat-utils": "^0.1.2", + "esutils": "^2.0.3", + "known-css-properties": "^0.29.0", + "postcss": "^8.4.5", + "postcss-load-config": "^3.1.4", + "postcss-safe-parser": "^6.0.0", + "postcss-selector-parser": "^6.0.11", + "semver": "^7.5.3", + "svelte-eslint-parser": ">=0.33.0 <1.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0-0", + "svelte": "^3.37.0 || ^4.0.0" + }, + "peerDependenciesMeta": { + "svelte": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esm-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.0.0.tgz", + "integrity": "sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==", + "dev": true + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalyzer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", + "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", + "dev": true + }, + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-meta-resolve": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", + "integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-reference": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", + "dev": true, + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/known-css-properties": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz", + "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==", + "dev": true + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-character": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", + "dev": true + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/magic-string": { + "version": "0.30.8", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz", + "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-svg-data-uri": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", + "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", + "dev": true, + "bin": { + "mini-svg-data-uri": "cli.js" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/periscopic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", + "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^3.0.0", + "is-reference": "^3.0.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-safe-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", + "dev": true, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "node_modules/postcss-scss": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", + "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-scss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.4.29" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-svelte": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.2.2.tgz", + "integrity": "sha512-ZzzE/wMuf48/1+Lf2Ffko0uDa6pyCfgHV6+uAhtg2U0AAXGrhCSW88vEJNAkAxW5qyrFY1y1zZ4J8TgHrjW++Q==", + "dev": true, + "peerDependencies": { + "prettier": "^3.0.0", + "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.12.1.tgz", + "integrity": "sha512-ggqQKvx/PsB0FaWXhIvVkSWh7a/PCLQAsMjBc+nA2M8Rv2/HG0X6zvixAB7KyZBRtifBUhy5k8voQX/mRnABPg==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.12.1", + "@rollup/rollup-android-arm64": "4.12.1", + "@rollup/rollup-darwin-arm64": "4.12.1", + "@rollup/rollup-darwin-x64": "4.12.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.12.1", + "@rollup/rollup-linux-arm64-gnu": "4.12.1", + "@rollup/rollup-linux-arm64-musl": "4.12.1", + "@rollup/rollup-linux-riscv64-gnu": "4.12.1", + "@rollup/rollup-linux-x64-gnu": "4.12.1", + "@rollup/rollup-linux-x64-musl": "4.12.1", + "@rollup/rollup-win32-arm64-msvc": "4.12.1", + "@rollup/rollup-win32-ia32-msvc": "4.12.1", + "@rollup/rollup-win32-x64-msvc": "4.12.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dev": true, + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sander": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/sander/-/sander-0.5.1.tgz", + "integrity": "sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==", + "dev": true, + "dependencies": { + "es6-promise": "^3.1.2", + "graceful-fs": "^4.1.3", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.2" + } + }, + "node_modules/sander/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz", + "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==", + "dev": true + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "dev": true, + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sorcery": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.11.0.tgz", + "integrity": "sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.14", + "buffer-crc32": "^0.2.5", + "minimist": "^1.2.0", + "sander": "^0.5.0" + }, + "bin": { + "sorcery": "bin/sorcery" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svelte": { + "version": "4.2.12", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.12.tgz", + "integrity": "sha512-d8+wsh5TfPwqVzbm4/HCXC783/KPHV60NvwitJnyTA5lWn1elhXMNWhXGCJ7PwPa8qFUnyJNIyuIRt2mT0WMug==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.1", + "@jridgewell/sourcemap-codec": "^1.4.15", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/estree": "^1.0.1", + "acorn": "^8.9.0", + "aria-query": "^5.3.0", + "axobject-query": "^4.0.0", + "code-red": "^1.0.3", + "css-tree": "^2.3.1", + "estree-walker": "^3.0.3", + "is-reference": "^3.0.1", + "locate-character": "^3.0.0", + "magic-string": "^0.30.4", + "periscopic": "^3.1.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/svelte-check": { + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.6.6.tgz", + "integrity": "sha512-b9q9rOHOMYF3U8XllK7LmXTq1LeWQ98waGfEJzrFutViadkNl1tgdEtxIQ8yuPx+VQ4l7YrknYol+0lfZocaZw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "chokidar": "^3.4.1", + "fast-glob": "^3.2.7", + "import-fresh": "^3.2.1", + "picocolors": "^1.0.0", + "sade": "^1.7.4", + "svelte-preprocess": "^5.1.3", + "typescript": "^5.0.3" + }, + "bin": { + "svelte-check": "bin/svelte-check" + }, + "peerDependencies": { + "svelte": "^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0" + } + }, + "node_modules/svelte-eslint-parser": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-0.33.1.tgz", + "integrity": "sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==", + "dev": true, + "dependencies": { + "eslint-scope": "^7.0.0", + "eslint-visitor-keys": "^3.0.0", + "espree": "^9.0.0", + "postcss": "^8.4.29", + "postcss-scss": "^4.0.8" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "svelte": "^3.37.0 || ^4.0.0" + }, + "peerDependenciesMeta": { + "svelte": { + "optional": true + } + } + }, + "node_modules/svelte-hmr": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.15.3.tgz", + "integrity": "sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==", + "dev": true, + "engines": { + "node": "^12.20 || ^14.13.1 || >= 16" + }, + "peerDependencies": { + "svelte": "^3.19.0 || ^4.0.0" + } + }, + "node_modules/svelte-preprocess": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-5.1.3.tgz", + "integrity": "sha512-xxAkmxGHT+J/GourS5mVJeOXZzne1FR5ljeOUAMXUkfEhkLEllRreXpbl3dIYJlcJRfL1LO1uIAPpBpBfiqGPw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@types/pug": "^2.0.6", + "detect-indent": "^6.1.0", + "magic-string": "^0.30.5", + "sorcery": "^0.11.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">= 16.0.0", + "pnpm": "^8.0.0" + }, + "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 + } + } + }, + "node_modules/tailwindcss": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", + "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", + "dev": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "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.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/tailwindcss/node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", + "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/tailwindcss/node_modules/yaml": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.0.tgz", + "integrity": "sha512-j9iR8g+/t0lArF4V6NE/QCfT+CO7iLqrXAHZbJdo+LfjqP1vR8Fg5bSiaq6Q2lOD1AUEVrEVIgABvBFYojJVYQ==", + "dev": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tiny-glob": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", + "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", + "dev": true, + "dependencies": { + "globalyzer": "0.1.0", + "globrex": "^0.1.2" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/vite": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.5.tgz", + "integrity": "sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==", + "dev": true, + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.35", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vitefu": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz", + "integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==", + "dev": true, + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..c5df71e --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,40 @@ +{ + "name": "xmr-nodes-frontend", + "version": "0.0.1", + "private": true, + "scripts": { + "dev": "VITE_API_URL=http://127.0.0.1:18901 vite dev --host 127.0.0.1", + "build": "vite build", + "preview": "vite preview", + "check": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json --watch", + "lint": "prettier --check . && eslint .", + "format": "prettier --write ." + }, + "devDependencies": { + "@floating-ui/dom": "^1.6.3", + "@skeletonlabs/skeleton": "^2.9.0", + "@skeletonlabs/tw-plugin": "^0.3.1", + "@sveltejs/adapter-auto": "^3.0.0", + "@sveltejs/adapter-static": "^3.0.1", + "@sveltejs/kit": "^2.0.0", + "@sveltejs/vite-plugin-svelte": "^3.0.0", + "@tailwindcss/forms": "^0.5.7", + "@types/eslint": "^8.56.0", + "@vincjo/datatables": "^1.14.5", + "autoprefixer": "^10.4.17", + "date-fns": "^3.3.1", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-svelte": "^2.35.1", + "postcss": "^8.4.35", + "prettier": "^3.1.1", + "prettier-plugin-svelte": "^3.1.2", + "svelte": "^4.2.7", + "svelte-check": "^3.6.0", + "tailwindcss": "^3.4.1", + "typescript": "^5.0.0", + "vite": "^5.0.3" + }, + "type": "module" +} diff --git a/frontend/postcss.config.js b/frontend/postcss.config.js new file mode 100644 index 0000000..2e7af2b --- /dev/null +++ b/frontend/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/frontend/src/app.css b/frontend/src/app.css new file mode 100644 index 0000000..2f37859 --- /dev/null +++ b/frontend/src/app.css @@ -0,0 +1,13 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; +@tailwind variants; + +html, +body { + @apply h-full; +} + +.dashboard-card { + @apply bg-surface-50-900-token rounded-lg border-2 border-dashed border-gray-200 p-4 dark:border-gray-700; +} diff --git a/frontend/src/app.d.ts b/frontend/src/app.d.ts new file mode 100644 index 0000000..1cb7e4e --- /dev/null +++ b/frontend/src/app.d.ts @@ -0,0 +1,16 @@ +// See https://kit.svelte.dev/docs/types#app +// for information about these interfaces +declare global { + namespace App { + // interface Error {} + // interface Locals {} + // interface PageData {} + // interface PageState {} + // interface Platform {} + } + interface ImportMetaEnv { + VITE_API_URL: string; + } +} + +export {}; diff --git a/frontend/src/app.html b/frontend/src/app.html new file mode 100644 index 0000000..c128778 --- /dev/null +++ b/frontend/src/app.html @@ -0,0 +1,13 @@ + + + + + + + + %sveltekit.head% + + +
%sveltekit.body%
+ + diff --git a/frontend/src/lib/components/InfiniteScroll.svelte b/frontend/src/lib/components/InfiniteScroll.svelte new file mode 100644 index 0000000..ffaa460 --- /dev/null +++ b/frontend/src/lib/components/InfiniteScroll.svelte @@ -0,0 +1,50 @@ + + +
diff --git a/frontend/src/lib/components/datatables/server/DtSrPagination.svelte b/frontend/src/lib/components/datatables/server/DtSrPagination.svelte new file mode 100644 index 0000000..19d1fde --- /dev/null +++ b/frontend/src/lib/components/datatables/server/DtSrPagination.svelte @@ -0,0 +1,69 @@ + + +
+ {#if $pages === undefined} + + + + {:else} +
+ + + +
+ + + {/if} +
+ + diff --git a/frontend/src/lib/components/datatables/server/DtSrRowCount.svelte b/frontend/src/lib/components/datatables/server/DtSrRowCount.svelte new file mode 100644 index 0000000..4787d4b --- /dev/null +++ b/frontend/src/lib/components/datatables/server/DtSrRowCount.svelte @@ -0,0 +1,22 @@ + + +{#if $rowCount === undefined} +
+{:else} +
+ {#if $rowCount.total > 0} + {$rowCount.start} + - {$rowCount.end} + / {$rowCount.total} + {:else} + No entries found + {/if} +
+{/if} diff --git a/frontend/src/lib/components/datatables/server/DtSrRowsPerPage.svelte b/frontend/src/lib/components/datatables/server/DtSrRowsPerPage.svelte new file mode 100644 index 0000000..7d9867a --- /dev/null +++ b/frontend/src/lib/components/datatables/server/DtSrRowsPerPage.svelte @@ -0,0 +1,33 @@ + + +
+ + +
diff --git a/frontend/src/lib/components/datatables/server/DtSrSearch.svelte b/frontend/src/lib/components/datatables/server/DtSrSearch.svelte new file mode 100644 index 0000000..b7087fe --- /dev/null +++ b/frontend/src/lib/components/datatables/server/DtSrSearch.svelte @@ -0,0 +1,23 @@ + + + diff --git a/frontend/src/lib/components/datatables/server/DtSrThFilter.svelte b/frontend/src/lib/components/datatables/server/DtSrThFilter.svelte new file mode 100644 index 0000000..304519c --- /dev/null +++ b/frontend/src/lib/components/datatables/server/DtSrThFilter.svelte @@ -0,0 +1,35 @@ + + + + + diff --git a/frontend/src/lib/components/datatables/server/DtSrThSort.svelte b/frontend/src/lib/components/datatables/server/DtSrThSort.svelte new file mode 100644 index 0000000..c697e95 --- /dev/null +++ b/frontend/src/lib/components/datatables/server/DtSrThSort.svelte @@ -0,0 +1,18 @@ + + + +
+ ↕️ +
+ diff --git a/frontend/src/lib/components/datatables/server/index.js b/frontend/src/lib/components/datatables/server/index.js new file mode 100644 index 0000000..c43f164 --- /dev/null +++ b/frontend/src/lib/components/datatables/server/index.js @@ -0,0 +1,6 @@ +export { default as DtSrPagination } from './DtSrPagination.svelte'; +export { default as DtSrRowCount } from './DtSrRowCount.svelte'; +export { default as DtSrRowsPerPage } from './DtSrRowsPerPage.svelte'; +export { default as DtSrSearch } from './DtSrSearch.svelte'; +export { default as DtSrThFilter } from './DtSrThFilter.svelte'; +export { default as DtSrThSort } from './DtSrThSort.svelte'; diff --git a/frontend/src/lib/components/navigation/AdminMobileDrawer.svelte b/frontend/src/lib/components/navigation/AdminMobileDrawer.svelte new file mode 100644 index 0000000..97e3b41 --- /dev/null +++ b/frontend/src/lib/components/navigation/AdminMobileDrawer.svelte @@ -0,0 +1,24 @@ + + + diff --git a/frontend/src/lib/components/navigation/AdminNav.svelte b/frontend/src/lib/components/navigation/AdminNav.svelte new file mode 100644 index 0000000..40145e1 --- /dev/null +++ b/frontend/src/lib/components/navigation/AdminNav.svelte @@ -0,0 +1,85 @@ + + + diff --git a/frontend/src/lib/components/navigation/AdminSidebar.svelte b/frontend/src/lib/components/navigation/AdminSidebar.svelte new file mode 100644 index 0000000..ca761f0 --- /dev/null +++ b/frontend/src/lib/components/navigation/AdminSidebar.svelte @@ -0,0 +1,34 @@ + + + + + diff --git a/frontend/src/lib/components/navigation/index.js b/frontend/src/lib/components/navigation/index.js new file mode 100644 index 0000000..4eef507 --- /dev/null +++ b/frontend/src/lib/components/navigation/index.js @@ -0,0 +1,3 @@ +export { default as AdminNav } from './AdminNav.svelte'; +export { default as AdminSidebar } from './AdminSidebar.svelte'; +export { default as AdminMobileDrawer } from './AdminMobileDrawer.svelte'; diff --git a/frontend/src/lib/components/navigation/navs.js b/frontend/src/lib/components/navigation/navs.js new file mode 100644 index 0000000..1837c8b --- /dev/null +++ b/frontend/src/lib/components/navigation/navs.js @@ -0,0 +1,5 @@ +export const navs = [ + { name: 'Dashboard', path: '/app/dashboard/' }, + { name: 'Prober', path: '/app/prober/' }, + { name: 'Crons', path: '/app/crons/' } +]; diff --git a/frontend/src/lib/index.js b/frontend/src/lib/index.js new file mode 100644 index 0000000..856f2b6 --- /dev/null +++ b/frontend/src/lib/index.js @@ -0,0 +1 @@ +// place files you want to import through the `$lib` alias in this folder. diff --git a/frontend/src/lib/utils/common.js b/frontend/src/lib/utils/common.js new file mode 100644 index 0000000..8ece57a --- /dev/null +++ b/frontend/src/lib/utils/common.js @@ -0,0 +1,4 @@ +/** @param {string} path */ +export const apiUri = (path) => { + return `${import.meta.env.VITE_API_URL || ''}${path}`; +}; diff --git a/frontend/src/routes/(loggedin)/+layout.svelte b/frontend/src/routes/(loggedin)/+layout.svelte new file mode 100644 index 0000000..fa504ea --- /dev/null +++ b/frontend/src/routes/(loggedin)/+layout.svelte @@ -0,0 +1,21 @@ + + + + + + +

Navigation

+
+ +
+
+ + + + +
+ +
diff --git a/frontend/src/routes/(loggedin)/app/crons/+page.svelte b/frontend/src/routes/(loggedin)/app/crons/+page.svelte new file mode 100644 index 0000000..9dfd6f3 --- /dev/null +++ b/frontend/src/routes/(loggedin)/app/crons/+page.svelte @@ -0,0 +1,174 @@ + + +
+

Crons

+
+ +
+
+ +
+ +
+
+ +
+ + + + ID + + + + Run Every + Last Run + Next Run + Run Time + + + + + + + + + + + + {#each $rows as row (row.id)} + + + + + + + + + + + + + {/each} + +
TitleSlugDescriptionStateEnabled
+ + + +
{row.id}{row.title}{row.slug}{row.description}{row.run_every}s + {format(row.last_run * 1000, 'PP HH:mm')}
+ {formatDistance(row.last_run * 1000, new Date(), { addSuffix: true })} +
+ {format(row.next_run * 1000, 'PP HH:mm')}
+ {formatDistance(row.next_run * 1000, new Date(), { addSuffix: true })} +
{row.run_time}{row.cron_state ? 'RUNNING' : 'IDLE'}{row.is_enabled ? 'ENABLED' : 'DISABLED'}
+
+ +
+ +
+
diff --git a/frontend/src/routes/(loggedin)/app/crons/api-handler.js b/frontend/src/routes/(loggedin)/app/crons/api-handler.js new file mode 100644 index 0000000..3f095df --- /dev/null +++ b/frontend/src/routes/(loggedin)/app/crons/api-handler.js @@ -0,0 +1,21 @@ +import { apiUri } from '$lib/utils/common'; + +/** @param {import('@vincjo/datatables/remote/state')} state */ +export const loadData = async (state) => { + const response = await fetch(apiUri(`/api/v1/crons?${getParams(state)}`)); + const json = await response.json(); + state.setTotalRows(json.data.length ?? 0); + return json.data ?? []; +}; + +const getParams = ({ pageNumber, rowsPerPage, sort, filters }) => { + let params = `page=${pageNumber}&limit=${rowsPerPage}`; + + if (sort) { + params += `&orderBy=${sort.orderBy}&orderDir=${sort.direction}`; + } + if (filters) { + params += filters.map(({ filterBy, value }) => `&${filterBy}=${value}`).join(''); + } + return params; +}; diff --git a/frontend/src/routes/(loggedin)/app/dashboard/+page.svelte b/frontend/src/routes/(loggedin)/app/dashboard/+page.svelte new file mode 100644 index 0000000..d711cf4 --- /dev/null +++ b/frontend/src/routes/(loggedin)/app/dashboard/+page.svelte @@ -0,0 +1,3 @@ +
+

Dashboard

+
diff --git a/frontend/src/routes/(loggedin)/app/prober/+page.svelte b/frontend/src/routes/(loggedin)/app/prober/+page.svelte new file mode 100644 index 0000000..3fc0b6d --- /dev/null +++ b/frontend/src/routes/(loggedin)/app/prober/+page.svelte @@ -0,0 +1,120 @@ + + +
+

Prober

+ Add Prober +
+ +
+
+ +
+ +
+
+ +
+ + + + ID + + + Last Submit + + + + + + + + {#each $rows as row (row.id)} + + + + + + + {/each} + +
NameAPI Key
{row.id}{row.name}{row.api_key} + {format(row.last_submit_ts * 1000, 'PP HH:mm')}
+ {formatDistance(row.last_submit_ts * 1000, new Date(), { addSuffix: true })} +
+
+ +
+ +
+
diff --git a/frontend/src/routes/(loggedin)/app/prober/add/+page.svelte b/frontend/src/routes/(loggedin)/app/prober/add/+page.svelte new file mode 100644 index 0000000..aa5eef9 --- /dev/null +++ b/frontend/src/routes/(loggedin)/app/prober/add/+page.svelte @@ -0,0 +1,94 @@ + + +
+

Add Prober

+
+{#if !isProcessing} + {#if formResult?.status === 'error'} + + {/if} + {#if formResult?.status === 'ok'} + + {/if} +{:else} + + +{/if} +
+
+
+
+ +
+
+ + +
+
diff --git a/frontend/src/routes/(loggedin)/app/prober/api-handler.js b/frontend/src/routes/(loggedin)/app/prober/api-handler.js new file mode 100644 index 0000000..c3e22cf --- /dev/null +++ b/frontend/src/routes/(loggedin)/app/prober/api-handler.js @@ -0,0 +1,21 @@ +import { apiUri } from '$lib/utils/common'; + +/** @param {import('@vincjo/datatables/remote/state')} state */ +export const loadData = async (state) => { + const response = await fetch(apiUri(`/api/v1/prober?${getParams(state)}`)); + const json = await response.json(); + state.setTotalRows(json.data.length ?? 0); + return json.data.items ?? []; +}; + +const getParams = ({ pageNumber, rowsPerPage, sort, filters }) => { + let params = `page=${pageNumber}&limit=${rowsPerPage}`; + + if (sort) { + params += `&orderBy=${sort.orderBy}&orderDir=${sort.direction}`; + } + if (filters) { + params += filters.map(({ filterBy, value }) => `&${filterBy}=${value}`).join(''); + } + return params; +}; diff --git a/frontend/src/routes/+layout.js b/frontend/src/routes/+layout.js new file mode 100644 index 0000000..03d9d5a --- /dev/null +++ b/frontend/src/routes/+layout.js @@ -0,0 +1,2 @@ +export const prerender = true +export const trailingSlash = 'always'; diff --git a/frontend/src/routes/+layout.svelte b/frontend/src/routes/+layout.svelte new file mode 100644 index 0000000..ea6d79b --- /dev/null +++ b/frontend/src/routes/+layout.svelte @@ -0,0 +1,34 @@ + +{#if isLoading} + +{/if} + diff --git a/frontend/src/routes/+page.svelte b/frontend/src/routes/+page.svelte new file mode 100644 index 0000000..4ee33e9 --- /dev/null +++ b/frontend/src/routes/+page.svelte @@ -0,0 +1,7 @@ +
+
+

( . ) ( . )

+

WAT?

+
+
+ diff --git a/frontend/src/routes/login/+page.svelte b/frontend/src/routes/login/+page.svelte new file mode 100644 index 0000000..4ff456d --- /dev/null +++ b/frontend/src/routes/login/+page.svelte @@ -0,0 +1,118 @@ + + +
+
+ XMR Nodes +
+
+

+ Sign in to your account +

+
+
+ + +
+
+ + +
+ + + + +
+ + {#if !isProcessing} + {#if formResult?.status === 'error'} + + {/if} + {#if formResult?.status === 'ok'} + + {/if} + {:else} + + + {/if} +
+
+
diff --git a/frontend/static/favicon.ico b/frontend/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d1bb78a026b4f2bb9f866dfa74020a4b5a0c57b3 GIT binary patch literal 15406 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 literal 0 HcmV?d00001 diff --git a/frontend/static/img/icon/android-icon-36x36.png b/frontend/static/img/icon/android-icon-36x36.png new file mode 100644 index 0000000000000000000000000000000000000000..3c96aaaa0e5ef1a91be0b5d5128438f49adf9c16 GIT binary patch literal 1989 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 literal 0 HcmV?d00001 diff --git a/frontend/static/img/icon/android-icon-72x72.png b/frontend/static/img/icon/android-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..c931b55672fbef7270b194c04034d69998bb5780 GIT binary patch literal 2772 zcmZ{m2{hDu8^`}MW9*trwrnF?_F1fxWymx$G{_c`3^T)U?OWEyno8G@E3yqGL$dWE zjEuVCRhE$CMx%QPDPH16#XIhK&v|?AIq&(O=l`7F^L(D~^Lx(koZtU{#mNCLA$n94 z000Rh!Pc4Y3Hv52$bY+ie1PXWfdFfgH2^f{ihUzP`D;*=Gu{Sh7*<%~FW~+JXA%G; zXaE2s0|0jTA;uyA#2^4**%tsXMF1cZUfOxaoSzW%v&Y*4d;1ToyXFQzA`(vUi~<0C z)qMk9thR~;0AW1Q*4p*r^vBYWaBnxc{!8yaB|ab(s@*50SJMf4t!R*Xh@xu-RtV#q zhbl~~VpSb`XL`)(H`p=(9}uljRF^4t+(5Agp{*K*v5}vK33>?^NawZPVvcb%NwFrc zXI5qtzlDEV4tXQrR?^jF;;@U3%b!VHosCNQTKYbI__xQU3x+kv>Uv?<-RP739psf-_VnS_3al{s!>-*b;ks_BSWGL_Q#Zh(Nzy|+jj8G2RN|ZC zg_UjXK)d)Tp1YI(rM{Cy;HgTs1%>>vu>wjhP=LRAuFkpJM4kBXn4n zybvep0`9Y>L#8Df3m(DIIxG<$b_;h(^r`qIPtkYoSU?eb1fKqsaY#E|C{l&>D)h_A zt+zdpe(dI}#Ov_|suNuYn7DLo;ufw)Nlkr2zrp|Mf*tm*lpI!`d63(5h{6%Coc)EN zn*h1!2$#EISv7WcozhH6Zcd$)cDg_i_(gb9jI#M+`DHJ@9*(dmztV8Eyen5-dc}_Vt-JCODkGsEG-^S#hi6@k_(KB1U@os)Jf{i8Ok@!;m!O46jHLT8>&_tm*kkqiV)87@{TPcnrL z*$^t{&>9`@CMwv3{;A|$6WIfk@A51$c;huDv;M*tS(}2p&1T?%vHAuxG1J4@CHS!< zMPPwwTg~izpTB!^Akb1NxU=k`Nlq$nelA#!P-brfb6GJ%_5;N`9_8VOxz@Z9u8QkZ zbMmCIuq)^u)>|v@W^&7FV{60(^~Ay%JG%{4CPy*M8g8F&I4sMgTO8sk@l?mX>mZE~ z7;p)c1(N<`QSf17I&}sy-J+s-Z*IS$OV}( z@4+|Rw!WuM77C1NWNszkG-97+ebQ`?9S-wa^LYp&6%G?mym-lmgyM{Hz3r;%X=0<@ z;j1d=OkJ#tU*U{YAN6k==y@(O}e{$~YI za)XuM$saFLsee9CP;SmlH0MaM1Oko4j8dZ-#O7IwbRRQA#*;~UO&Z{-{ryOg$Hc82 zO~z#g=cfM=*2P*tY9&4C)X|fHs~7L2oEwwmL_L=G(YvE?f50{luiJ*2W#vn- zp|kGFf8amf_Ha`(Wwl|G2Nt}+twwc84Ba5x%&)a|xa-7oWK36$aY+XP4~?SEN5 zsB&{t4aiodJK%*D3(Yu-6Ci?+l7LUy!Yv&J-U;2Xn*{f4OE!V@fI^>GYVV4DkvbT6 z*r5$T=U2B>Kx4@j6%0GEEx-}LpCOh#cOP8$Oz{<2i{}LwO$OXn3mRMkg-<3ZfGD*^ zuvW}2{&bIrbyaENWsxOQ?PfH?j%V&Foubl|vlLY;KG@j?Le|Wg3J!p^GH%UwT-%#z z3DJB~&o(4qT<16nr3fX#q7IL}Wau&;a>gFsxPjJE$zK}Z;dPK*El1v_SeV*G+r z`yHafXwh-xNGd=KAqP-NO%K)KcL0bu2ipc4-?V=N(FUT? literal 0 HcmV?d00001 diff --git a/frontend/static/img/icon/android-icon-96x96.png b/frontend/static/img/icon/android-icon-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..48f451ea30d152209b13e3e5e664f2da72bbb2e2 GIT binary patch literal 3638 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 Qi537l8V2h1s`fGe1w~(Nd;kCd literal 0 HcmV?d00001 diff --git a/frontend/static/img/icon/favicon-32x32.png b/frontend/static/img/icon/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..017e3b546c651ac80d3561a705cc44c4741ee0dd GIT binary patch literal 1815 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 p8&^&oIdeqj2>a;|T7FR%ar literal 0 HcmV?d00001 diff --git a/frontend/static/manifest.json b/frontend/static/manifest.json new file mode 100644 index 0000000..b888ef0 --- /dev/null +++ b/frontend/static/manifest.json @@ -0,0 +1,63 @@ +{ + "name": "xmr.ditatompel.com", + "short_name": "xmr-nodes", + "start_url": "/", + "display": "standalone", + "background_color": "#272b31", + "theme_color": "#272b31", + "description": "WA Bot UI", + "icons": [{ + "src": "/img/icon/android-icon-36x36.png", + "sizes": "36x36", + "type": "image/png", + "purpose": "any", + "density": "0.75" + }, { + "src": "/img/icon/android-icon-48x48.png", + "sizes": "48x48", + "type": "image/png", + "purpose": "any", + "density": "1.0" + }, + { + "src": "/img/icon/android-icon-72x72.png", + "sizes": "72x72", + "type": "image/png", + "purpose": "any", + "density": "1.5" + }, + { + "src": "/img/icon/android-icon-96x96.png", + "sizes": "96x96", + "type": "image/png", + "purpose": "any", + "density": "2.0" + }, + { + "src": "/img/icon/android-icon-144x144.png", + "sizes": "144x144", + "type": "image/png", + "purpose": "any", + "density": "3.0" + }, + { + "src": "/img/icon/android-icon-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "any", + "density": "4.0" + }, + { + "src": "/img/icon/android-icon-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "any", + "density": "4.0" + }, + { + "src": "/img/icon/maskable-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + }] +} diff --git a/frontend/static/robots.txt b/frontend/static/robots.txt new file mode 100644 index 0000000..1f53798 --- /dev/null +++ b/frontend/static/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: / diff --git a/frontend/svelte.config.js b/frontend/svelte.config.js new file mode 100644 index 0000000..7d5b4c3 --- /dev/null +++ b/frontend/svelte.config.js @@ -0,0 +1,16 @@ +import adapter from '@sveltejs/adapter-static'; +import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; + +/** @type {import('@sveltejs/kit').Config} */ +const config = { + preprocess: vitePreprocess(), + kit: { + // paths: { + // base: '/' + // }, + // trailingSlash: 'always', + adapter: adapter() + } +}; + +export default config; diff --git a/frontend/tailwind.config.js b/frontend/tailwind.config.js new file mode 100644 index 0000000..a356f7d --- /dev/null +++ b/frontend/tailwind.config.js @@ -0,0 +1,23 @@ +import { join } from 'path'; +import { skeleton } from '@skeletonlabs/tw-plugin'; +import forms from '@tailwindcss/forms'; + +/** @type {import('tailwindcss').Config} */ +export default { + darkMode: 'class', + content: [ + './src/**/*.{html,js,svelte,ts}', + join(require.resolve('@skeletonlabs/skeleton'), '../**/*.{html,js,svelte,ts}') + ], + theme: { + extend: {} + }, + plugins: [ + forms, + skeleton({ + themes: { + preset: ['skeleton'] + } + }) + ] +}; diff --git a/frontend/tmp/main b/frontend/tmp/main new file mode 100644 index 0000000000000000000000000000000000000000..c1ff61760309a8822f8d6e892edb564841c94c72 GIT binary patch literal 620716 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
yL)kDk6h0Lj&PKonfen{sMzT?Cq^LKTjRqeq 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 z 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≦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,./") { + return false + } + return true +} + +// No special character and unicode for username +func validUsername(username string) bool { + if len(username) < 5 || len(username) > 20 { + return false + } + + // reject witespace, tabs, newlines, and other special characters + if strings.ContainsAny(username, " \t\n") { + return false + } + // reject unicode + if strings.ContainsAny(username, "^\x00-\x7F") { + return false + } + // reject special characters + if strings.ContainsAny(username, "!@#$%^&*()_+|~-=`{}[]:;<>?,./ ") { // note last blank space + return false + } + + if !strings.ContainsAny(username, "abcdefghijklmnopqrstuvwxyz0123456789") { + return false + } + return true +} diff --git a/internal/repo/cron.go b/internal/repo/cron.go new file mode 100644 index 0000000..93a5b81 --- /dev/null +++ b/internal/repo/cron.go @@ -0,0 +1,112 @@ +package repo + +import ( + "fmt" + "math" + "time" + + "github.com/ditatompel/xmr-nodes/internal/database" +) + +type CronRepository interface { + RunCronProcess() + Crons() ([]CronTask, error) +} + +type CronRepo struct { + db *database.DB +} + +type CronTask struct { + Id int `json:"id" db:"id"` + Title string `json:"title" db:"title"` + Slug string `json:"slug" db:"slug"` + Description string `json:"description" db:"description"` + RunEvery int `json:"run_every" db:"run_every"` + LastRun int64 `json:"last_run" db:"last_run"` + NextRun int64 `json:"next_run" db:"next_run"` + RunTime float64 `json:"run_time" db:"run_time"` + CronState int `json:"cron_state" db:"cron_state"` + IsEnabled int `json:"is_enabled" db:"is_enabled"` +} + +var rerunTimeout = 300 + +func NewCron(db *database.DB) CronRepository { + return &CronRepo{db} +} + +func (repo *CronRepo) RunCronProcess() { + for { + time.Sleep(60 * time.Second) + fmt.Println("Running cron...") + list, err := repo.queueList() + if err != nil { + fmt.Println("Error parsing to struct:", err) + continue + } + for _, task := range list { + startTime := time.Now() + currentTs := startTime.Unix() + delayedTask := currentTs - task.NextRun + if task.CronState == 1 && delayedTask <= int64(rerunTimeout) { + fmt.Println("SKIP STATE 1:", task.Slug) + continue + } + + repo.preRunTask(task.Id, currentTs) + + repo.execCron(task.Slug) + + runTime := math.Ceil(time.Since(startTime).Seconds()*1000) / 1000 + fmt.Println("Runtime:", runTime) + nextRun := currentTs + int64(task.RunEvery) + + repo.postRunTask(task.Id, nextRun, runTime) + } + fmt.Println("Cron done!") + } +} + +func (repo *CronRepo) Crons() ([]CronTask, error) { + tasks := []CronTask{} + query := `SELECT * FROM tbl_cron` + err := repo.db.Select(&tasks, query) + return tasks, err +} + +func (repo *CronRepo) queueList() ([]CronTask, error) { + tasks := []CronTask{} + query := `SELECT id, run_every, last_run, slug, next_run, cron_state FROM tbl_cron + WHERE is_enabled = ? AND next_run <= ?` + err := repo.db.Select(&tasks, query, 1, time.Now().Unix()) + + return tasks, err +} + +func (repo *CronRepo) preRunTask(id int, lastRunTs int64) { + query := `UPDATE tbl_cron SET cron_state = ?, last_run = ? WHERE id = ?` + row, err := repo.db.Query(query, 1, lastRunTs, id) + if err != nil { + fmt.Println("ERROR PRERUN:", err) + } + defer row.Close() +} + +func (repo *CronRepo) postRunTask(id int, nextRun int64, runtime float64) { + query := `UPDATE tbl_cron SET cron_state = ?, next_run = ?, run_time = ? WHERE id = ?` + row, err := repo.db.Query(query, 0, nextRun, runtime, id) + if err != nil { + fmt.Println("ERROR PRERUN:", err) + } + defer row.Close() +} + +func (repo *CronRepo) execCron(slug string) { + switch slug { + case "something": + fmt.Println("Running task", slug) + // do task + break + } +} diff --git a/internal/repo/prober.go b/internal/repo/prober.go new file mode 100644 index 0000000..0a36396 --- /dev/null +++ b/internal/repo/prober.go @@ -0,0 +1,104 @@ +package repo + +import ( + "fmt" + "strings" + + "github.com/ditatompel/xmr-nodes/internal/database" + + "github.com/google/uuid" +) + +type ProberRepository interface { + AddProber(name string) error + Probers(q ProbersQueryParams) (Probers, error) +} + +type ProberRepo struct { + db *database.DB +} + +type Prober struct { + Id int64 `json:"id" db:"id"` + Name string `json:"name" db:"name"` + ApiKey uuid.UUID `json:"api_key" db:"api_key"` + LastSubmitTs int64 `json:"last_submit_ts" db:"last_submit_ts"` +} + +type ProbersQueryParams struct { + Name string + ApiKey string + RowsPerPage int + Page int +} + +type Probers struct { + TotalRows int `json:"total_rows"` + RowsPerPage int `json:"rows_per_page"` + CurrentPage int `json:"current_page"` + NextPage int `json:"next_page"` + Items []*Prober `json:"items"` +} + +func NewProberRepo(db *database.DB) ProberRepository { + return &ProberRepo{db} +} + +func (repo *ProberRepo) AddProber(name string) error { + query := `INSERT INTO tbl_prober (name, api_key, last_submit_ts) VALUES (?, ?, ?)` + _, err := repo.db.Exec(query, name, uuid.New(), 0) + if err != nil { + return err + } + return nil +} + +func (repo *ProberRepo) Probers(q ProbersQueryParams) (Probers, error) { + queryParams := []interface{}{} + whereQueries := []string{} + where := "" + + if q.Name != "" { + whereQueries = append(whereQueries, "name LIKE ?") + queryParams = append(queryParams, "%"+q.Name+"%") + } + if q.ApiKey != "" { + whereQueries = append(whereQueries, "api_key LIKE ?") + queryParams = append(queryParams, "%"+q.ApiKey+"%") + } + + if len(whereQueries) > 0 { + where = "WHERE " + strings.Join(whereQueries, " AND ") + } + + probers := Probers{} + queryTotalRows := fmt.Sprintf("SELECT COUNT(id) AS total_rows FROM tbl_prober %s", where) + + err := repo.db.QueryRow(queryTotalRows, queryParams...).Scan(&probers.TotalRows) + if err != nil { + return probers, err + } + queryParams = append(queryParams, q.RowsPerPage, (q.Page-1)*q.RowsPerPage) + + query := fmt.Sprintf("SELECT id, name, api_key, last_submit_ts FROM tbl_prober %s ORDER BY id DESC LIMIT ? OFFSET ?", where) + + row, err := repo.db.Query(query, queryParams...) + if err != nil { + return probers, err + } + defer row.Close() + + probers.RowsPerPage = q.RowsPerPage + probers.CurrentPage = q.Page + probers.NextPage = q.Page + 1 + + for row.Next() { + prober := Prober{} + err = row.Scan(&prober.Id, &prober.Name, &prober.ApiKey, &prober.LastSubmitTs) + if err != nil { + return probers, err + } + probers.Items = append(probers.Items, &prober) + } + return probers, nil +} diff --git a/main.go b/main.go new file mode 100644 index 0000000..b93e565 --- /dev/null +++ b/main.go @@ -0,0 +1,7 @@ +package main + +import "github.com/ditatompel/xmr-nodes/cmd" + +func main() { + cmd.Execute() +} diff --git a/tools/mysql-dump.sh b/tools/mysql-dump.sh new file mode 100755 index 0000000..e22e51d --- /dev/null +++ b/tools/mysql-dump.sh @@ -0,0 +1,14 @@ +#!/bin/sh +# Dump local dev database structure and required data from specific tables. +# ------------------------------------------------------------------------------ +# shellcheck disable=SC2046 # Ignore SC2046: Quote this to prevent word splitting. + +SD=$(dirname "$(readlink -f -- "$0")") +cd "$SD" || exit 1 && cd ".." || exit 1 + +## Structure only dump +mariadb-dump --no-data --skip-comments xmr_nodes | \ + sed 's/ AUTO_INCREMENT=[0-9]*//g' > \ + "./tools/resources/database/structure.sql" + +# vim: set ts=4 sw=4 tw=0 et ft=sh: diff --git a/tools/resources/database/structure.sql b/tools/resources/database/structure.sql new file mode 100644 index 0000000..f88b2fb --- /dev/null +++ b/tools/resources/database/structure.sql @@ -0,0 +1,63 @@ + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; +DROP TABLE IF EXISTS `tbl_admin`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `tbl_admin` ( + `id` bigint(30) unsigned NOT NULL AUTO_INCREMENT, + `username` varchar(200) NOT NULL, + `password` varchar(200) NOT NULL, + `lastactive_ts` int(11) unsigned NOT NULL DEFAULT 0, + `created_ts` int(11) unsigned NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + KEY `username` (`username`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; +DROP TABLE IF EXISTS `tbl_cron`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `tbl_cron` ( + `id` int(8) unsigned NOT NULL AUTO_INCREMENT, + `title` varchar(200) NOT NULL DEFAULT '', + `slug` varchar(200) NOT NULL DEFAULT '', + `description` varchar(200) DEFAULT NULL, + `run_every` int(8) unsigned NOT NULL DEFAULT 60 COMMENT 'in seconds', + `last_run` bigint(20) unsigned DEFAULT NULL, + `next_run` bigint(20) unsigned DEFAULT NULL, + `run_time` float(7,3) unsigned NOT NULL DEFAULT 0.000, + `cron_state` tinyint(1) unsigned NOT NULL DEFAULT 0, + `is_enabled` int(1) unsigned NOT NULL DEFAULT 1, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; +DROP TABLE IF EXISTS `tbl_prober`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `tbl_prober` ( + `id` int(9) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `api_key` varchar(36) NOT NULL, + `last_submit_ts` int(11) unsigned NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `api_key` (`api_key`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +