Claude commited on
Commit
b986b08
·
unverified ·
1 Parent(s): 2f88b62

fix(security): Sprint 1 — path traversal, SSRF, Docker hardening, error exposure

Browse files

- Fix path traversal in main.py: add trailing "/" to startswith check
- Robust SSRF validation using ipaddress module (covers all RFC 1918, link-local, IPv6)
- Add non-root user (appuser) in Dockerfile
- Add .dockerignore to reduce build context and prevent data leaks
- Don't expose internal provider errors to frontend (models_api.py)
- Un-ignore package-lock.json and generate lockfile for reproducible builds

https://claude.ai/code/session_012NCh8yLxMXkRmBYQgHCTik

.dockerignore ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .git
2
+ .github
3
+ .gitignore
4
+ .env
5
+ .env.*
6
+ *.md
7
+ !README.md
8
+ __pycache__
9
+ *.pyc
10
+ *.pyo
11
+ .pytest_cache
12
+ .coverage
13
+ htmlcov
14
+ node_modules
15
+ .vscode
16
+ .idea
17
+ data/
18
+ *.db
19
+ *.sqlite
20
+ backend/tests/
21
+ venv/
22
+ .venv/
.gitignore CHANGED
@@ -7,7 +7,6 @@ data/
7
 
8
  # Node / Frontend
9
  node_modules/
10
- package-lock.json
11
 
12
  # Python
13
  __pycache__/
 
7
 
8
  # Node / Frontend
9
  node_modules/
 
10
 
11
  # Python
12
  __pycache__/
Dockerfile CHANGED
@@ -53,6 +53,10 @@ RUN mkdir -p /app/data
53
  # Passer au runtime via les Secrets HuggingFace Spaces :
54
  # GOOGLE_AI_STUDIO_API_KEY, MISTRAL_API_KEY, VERTEX_SERVICE_ACCOUNT_JSON
55
 
 
 
 
 
56
  # PYTHONPATH permet l'import `app.main:app` depuis /app/backend/app/
57
  ENV PYTHONPATH=/app/backend
58
  ENV PROFILES_DIR=/app/profiles
 
53
  # Passer au runtime via les Secrets HuggingFace Spaces :
54
  # GOOGLE_AI_STUDIO_API_KEY, MISTRAL_API_KEY, VERTEX_SERVICE_ACCOUNT_JSON
55
 
56
+ # ── Utilisateur non-root (sécurité) ───────────────────────────────────────
57
+ RUN adduser --disabled-password --gecos '' appuser && chown -R appuser:appuser /app
58
+ USER appuser
59
+
60
  # PYTHONPATH permet l'import `app.main:app` depuis /app/backend/app/
61
  ENV PYTHONPATH=/app/backend
62
  ENV PROFILES_DIR=/app/profiles
backend/app/api/v1/ingest.py CHANGED
@@ -186,16 +186,34 @@ _MAX_MANIFEST_BYTES = 10 * 1024 * 1024 # 10 Mo max pour un manifest JSON
186
 
187
  def _validate_url(url: str) -> None:
188
  """Rejette les URLs non-HTTP et les cibles réseau privé (SSRF)."""
 
 
189
  from urllib.parse import urlparse
190
 
191
  parsed = urlparse(url)
192
  if parsed.scheme not in ("http", "https"):
193
  raise ValueError(f"Schéma non autorisé : {parsed.scheme!r}")
194
- host = (parsed.hostname or "").lower()
195
- # Bloquer les adresses privées / locales
196
- blocked = ("localhost", "127.0.0.1", "0.0.0.0", "[::1]", "metadata.google.internal")
197
- if host in blocked or host.startswith("169.254.") or host.startswith("10.") or host.startswith("192.168."):
198
- raise ValueError(f"Hôte interdit : {host}")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
199
 
200
 
201
  async def _fetch_json_manifest(url: str) -> dict:
 
186
 
187
  def _validate_url(url: str) -> None:
188
  """Rejette les URLs non-HTTP et les cibles réseau privé (SSRF)."""
189
+ import socket
190
+ from ipaddress import ip_address
191
  from urllib.parse import urlparse
192
 
193
  parsed = urlparse(url)
194
  if parsed.scheme not in ("http", "https"):
195
  raise ValueError(f"Schéma non autorisé : {parsed.scheme!r}")
196
+
197
+ hostname = parsed.hostname or ""
198
+ if not hostname:
199
+ raise ValueError("URL sans hostname")
200
+
201
+ # Résolution DNS pour détecter les rebinding attacks
202
+ try:
203
+ resolved = socket.getaddrinfo(hostname, None, socket.AF_UNSPEC, socket.SOCK_STREAM)
204
+ except socket.gaierror:
205
+ raise ValueError(f"Résolution DNS impossible : {hostname!r}")
206
+
207
+ for family, _, _, _, sockaddr in resolved:
208
+ ip_str = sockaddr[0]
209
+ try:
210
+ addr = ip_address(ip_str)
211
+ except ValueError:
212
+ continue
213
+ if addr.is_private or addr.is_loopback or addr.is_reserved or addr.is_link_local:
214
+ raise ValueError(
215
+ f"Hôte interdit — {hostname!r} résout vers une adresse privée/réservée : {ip_str}"
216
+ )
217
 
218
 
219
  async def _fetch_json_manifest(url: str) -> dict:
backend/app/api/v1/models_api.py CHANGED
@@ -98,7 +98,7 @@ async def get_provider_models(provider_type: str) -> list[dict]:
98
  raise HTTPException(status_code=503, detail=str(exc))
99
  except Exception as exc:
100
  logger.warning("Erreur listing models", extra={"provider": provider_type, "error": str(exc)})
101
- raise HTTPException(status_code=502, detail=f"Erreur provider : {exc}")
102
  return [m.model_dump() for m in models]
103
 
104
 
 
98
  raise HTTPException(status_code=503, detail=str(exc))
99
  except Exception as exc:
100
  logger.warning("Erreur listing models", extra={"provider": provider_type, "error": str(exc)})
101
+ raise HTTPException(status_code=502, detail="Erreur temporaire du provider IA. Réessayez ultérieurement.")
102
  return [m.model_dump() for m in models]
103
 
104
 
backend/app/main.py CHANGED
@@ -117,7 +117,7 @@ async def serve_frontend(full_path: str) -> FileResponse | RedirectResponse:
117
  if _STATIC_DIR.is_dir():
118
  candidate = (_STATIC_DIR / full_path).resolve()
119
  # Empêcher le path traversal : le fichier résolu doit être sous _STATIC_DIR
120
- if candidate.is_file() and str(candidate).startswith(str(_STATIC_DIR.resolve())):
121
  return FileResponse(candidate)
122
  index = _STATIC_DIR / "index.html"
123
  if index.exists():
 
117
  if _STATIC_DIR.is_dir():
118
  candidate = (_STATIC_DIR / full_path).resolve()
119
  # Empêcher le path traversal : le fichier résolu doit être sous _STATIC_DIR
120
+ if candidate.is_file() and str(candidate).startswith(str(_STATIC_DIR.resolve()) + "/"):
121
  return FileResponse(candidate)
122
  index = _STATIC_DIR / "index.html"
123
  if index.exists():
frontend/package-lock.json ADDED
@@ -0,0 +1,2753 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "iiif-studio-frontend",
3
+ "version": "0.1.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "iiif-studio-frontend",
9
+ "version": "0.1.0",
10
+ "dependencies": {
11
+ "openseadragon": "^4.1.0",
12
+ "react": "^18.3.1",
13
+ "react-dom": "^18.3.1",
14
+ "react-router-dom": "^7.14.0"
15
+ },
16
+ "devDependencies": {
17
+ "@types/openseadragon": "^3.0.10",
18
+ "@types/react": "^18.3.3",
19
+ "@types/react-dom": "^18.3.0",
20
+ "@vitejs/plugin-react": "^4.3.1",
21
+ "autoprefixer": "^10.4.19",
22
+ "postcss": "^8.4.38",
23
+ "tailwindcss": "^3.4.4",
24
+ "typescript": "^5.5.3",
25
+ "vite": "^5.3.4"
26
+ }
27
+ },
28
+ "node_modules/@alloc/quick-lru": {
29
+ "version": "5.2.0",
30
+ "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
31
+ "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
32
+ "dev": true,
33
+ "license": "MIT",
34
+ "engines": {
35
+ "node": ">=10"
36
+ },
37
+ "funding": {
38
+ "url": "https://github.com/sponsors/sindresorhus"
39
+ }
40
+ },
41
+ "node_modules/@babel/code-frame": {
42
+ "version": "7.29.0",
43
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
44
+ "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
45
+ "dev": true,
46
+ "license": "MIT",
47
+ "dependencies": {
48
+ "@babel/helper-validator-identifier": "^7.28.5",
49
+ "js-tokens": "^4.0.0",
50
+ "picocolors": "^1.1.1"
51
+ },
52
+ "engines": {
53
+ "node": ">=6.9.0"
54
+ }
55
+ },
56
+ "node_modules/@babel/compat-data": {
57
+ "version": "7.29.0",
58
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz",
59
+ "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==",
60
+ "dev": true,
61
+ "license": "MIT",
62
+ "engines": {
63
+ "node": ">=6.9.0"
64
+ }
65
+ },
66
+ "node_modules/@babel/core": {
67
+ "version": "7.29.0",
68
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz",
69
+ "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
70
+ "dev": true,
71
+ "license": "MIT",
72
+ "dependencies": {
73
+ "@babel/code-frame": "^7.29.0",
74
+ "@babel/generator": "^7.29.0",
75
+ "@babel/helper-compilation-targets": "^7.28.6",
76
+ "@babel/helper-module-transforms": "^7.28.6",
77
+ "@babel/helpers": "^7.28.6",
78
+ "@babel/parser": "^7.29.0",
79
+ "@babel/template": "^7.28.6",
80
+ "@babel/traverse": "^7.29.0",
81
+ "@babel/types": "^7.29.0",
82
+ "@jridgewell/remapping": "^2.3.5",
83
+ "convert-source-map": "^2.0.0",
84
+ "debug": "^4.1.0",
85
+ "gensync": "^1.0.0-beta.2",
86
+ "json5": "^2.2.3",
87
+ "semver": "^6.3.1"
88
+ },
89
+ "engines": {
90
+ "node": ">=6.9.0"
91
+ },
92
+ "funding": {
93
+ "type": "opencollective",
94
+ "url": "https://opencollective.com/babel"
95
+ }
96
+ },
97
+ "node_modules/@babel/generator": {
98
+ "version": "7.29.1",
99
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz",
100
+ "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==",
101
+ "dev": true,
102
+ "license": "MIT",
103
+ "dependencies": {
104
+ "@babel/parser": "^7.29.0",
105
+ "@babel/types": "^7.29.0",
106
+ "@jridgewell/gen-mapping": "^0.3.12",
107
+ "@jridgewell/trace-mapping": "^0.3.28",
108
+ "jsesc": "^3.0.2"
109
+ },
110
+ "engines": {
111
+ "node": ">=6.9.0"
112
+ }
113
+ },
114
+ "node_modules/@babel/helper-compilation-targets": {
115
+ "version": "7.28.6",
116
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz",
117
+ "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==",
118
+ "dev": true,
119
+ "license": "MIT",
120
+ "dependencies": {
121
+ "@babel/compat-data": "^7.28.6",
122
+ "@babel/helper-validator-option": "^7.27.1",
123
+ "browserslist": "^4.24.0",
124
+ "lru-cache": "^5.1.1",
125
+ "semver": "^6.3.1"
126
+ },
127
+ "engines": {
128
+ "node": ">=6.9.0"
129
+ }
130
+ },
131
+ "node_modules/@babel/helper-globals": {
132
+ "version": "7.28.0",
133
+ "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
134
+ "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
135
+ "dev": true,
136
+ "license": "MIT",
137
+ "engines": {
138
+ "node": ">=6.9.0"
139
+ }
140
+ },
141
+ "node_modules/@babel/helper-module-imports": {
142
+ "version": "7.28.6",
143
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz",
144
+ "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==",
145
+ "dev": true,
146
+ "license": "MIT",
147
+ "dependencies": {
148
+ "@babel/traverse": "^7.28.6",
149
+ "@babel/types": "^7.28.6"
150
+ },
151
+ "engines": {
152
+ "node": ">=6.9.0"
153
+ }
154
+ },
155
+ "node_modules/@babel/helper-module-transforms": {
156
+ "version": "7.28.6",
157
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz",
158
+ "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==",
159
+ "dev": true,
160
+ "license": "MIT",
161
+ "dependencies": {
162
+ "@babel/helper-module-imports": "^7.28.6",
163
+ "@babel/helper-validator-identifier": "^7.28.5",
164
+ "@babel/traverse": "^7.28.6"
165
+ },
166
+ "engines": {
167
+ "node": ">=6.9.0"
168
+ },
169
+ "peerDependencies": {
170
+ "@babel/core": "^7.0.0"
171
+ }
172
+ },
173
+ "node_modules/@babel/helper-plugin-utils": {
174
+ "version": "7.28.6",
175
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz",
176
+ "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==",
177
+ "dev": true,
178
+ "license": "MIT",
179
+ "engines": {
180
+ "node": ">=6.9.0"
181
+ }
182
+ },
183
+ "node_modules/@babel/helper-string-parser": {
184
+ "version": "7.27.1",
185
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
186
+ "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
187
+ "dev": true,
188
+ "license": "MIT",
189
+ "engines": {
190
+ "node": ">=6.9.0"
191
+ }
192
+ },
193
+ "node_modules/@babel/helper-validator-identifier": {
194
+ "version": "7.28.5",
195
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
196
+ "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
197
+ "dev": true,
198
+ "license": "MIT",
199
+ "engines": {
200
+ "node": ">=6.9.0"
201
+ }
202
+ },
203
+ "node_modules/@babel/helper-validator-option": {
204
+ "version": "7.27.1",
205
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
206
+ "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
207
+ "dev": true,
208
+ "license": "MIT",
209
+ "engines": {
210
+ "node": ">=6.9.0"
211
+ }
212
+ },
213
+ "node_modules/@babel/helpers": {
214
+ "version": "7.29.2",
215
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz",
216
+ "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==",
217
+ "dev": true,
218
+ "license": "MIT",
219
+ "dependencies": {
220
+ "@babel/template": "^7.28.6",
221
+ "@babel/types": "^7.29.0"
222
+ },
223
+ "engines": {
224
+ "node": ">=6.9.0"
225
+ }
226
+ },
227
+ "node_modules/@babel/parser": {
228
+ "version": "7.29.2",
229
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz",
230
+ "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==",
231
+ "dev": true,
232
+ "license": "MIT",
233
+ "dependencies": {
234
+ "@babel/types": "^7.29.0"
235
+ },
236
+ "bin": {
237
+ "parser": "bin/babel-parser.js"
238
+ },
239
+ "engines": {
240
+ "node": ">=6.0.0"
241
+ }
242
+ },
243
+ "node_modules/@babel/plugin-transform-react-jsx-self": {
244
+ "version": "7.27.1",
245
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz",
246
+ "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==",
247
+ "dev": true,
248
+ "license": "MIT",
249
+ "dependencies": {
250
+ "@babel/helper-plugin-utils": "^7.27.1"
251
+ },
252
+ "engines": {
253
+ "node": ">=6.9.0"
254
+ },
255
+ "peerDependencies": {
256
+ "@babel/core": "^7.0.0-0"
257
+ }
258
+ },
259
+ "node_modules/@babel/plugin-transform-react-jsx-source": {
260
+ "version": "7.27.1",
261
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz",
262
+ "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==",
263
+ "dev": true,
264
+ "license": "MIT",
265
+ "dependencies": {
266
+ "@babel/helper-plugin-utils": "^7.27.1"
267
+ },
268
+ "engines": {
269
+ "node": ">=6.9.0"
270
+ },
271
+ "peerDependencies": {
272
+ "@babel/core": "^7.0.0-0"
273
+ }
274
+ },
275
+ "node_modules/@babel/template": {
276
+ "version": "7.28.6",
277
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
278
+ "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
279
+ "dev": true,
280
+ "license": "MIT",
281
+ "dependencies": {
282
+ "@babel/code-frame": "^7.28.6",
283
+ "@babel/parser": "^7.28.6",
284
+ "@babel/types": "^7.28.6"
285
+ },
286
+ "engines": {
287
+ "node": ">=6.9.0"
288
+ }
289
+ },
290
+ "node_modules/@babel/traverse": {
291
+ "version": "7.29.0",
292
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz",
293
+ "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==",
294
+ "dev": true,
295
+ "license": "MIT",
296
+ "dependencies": {
297
+ "@babel/code-frame": "^7.29.0",
298
+ "@babel/generator": "^7.29.0",
299
+ "@babel/helper-globals": "^7.28.0",
300
+ "@babel/parser": "^7.29.0",
301
+ "@babel/template": "^7.28.6",
302
+ "@babel/types": "^7.29.0",
303
+ "debug": "^4.3.1"
304
+ },
305
+ "engines": {
306
+ "node": ">=6.9.0"
307
+ }
308
+ },
309
+ "node_modules/@babel/types": {
310
+ "version": "7.29.0",
311
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
312
+ "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
313
+ "dev": true,
314
+ "license": "MIT",
315
+ "dependencies": {
316
+ "@babel/helper-string-parser": "^7.27.1",
317
+ "@babel/helper-validator-identifier": "^7.28.5"
318
+ },
319
+ "engines": {
320
+ "node": ">=6.9.0"
321
+ }
322
+ },
323
+ "node_modules/@esbuild/aix-ppc64": {
324
+ "version": "0.21.5",
325
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
326
+ "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
327
+ "cpu": [
328
+ "ppc64"
329
+ ],
330
+ "dev": true,
331
+ "license": "MIT",
332
+ "optional": true,
333
+ "os": [
334
+ "aix"
335
+ ],
336
+ "engines": {
337
+ "node": ">=12"
338
+ }
339
+ },
340
+ "node_modules/@esbuild/android-arm": {
341
+ "version": "0.21.5",
342
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
343
+ "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
344
+ "cpu": [
345
+ "arm"
346
+ ],
347
+ "dev": true,
348
+ "license": "MIT",
349
+ "optional": true,
350
+ "os": [
351
+ "android"
352
+ ],
353
+ "engines": {
354
+ "node": ">=12"
355
+ }
356
+ },
357
+ "node_modules/@esbuild/android-arm64": {
358
+ "version": "0.21.5",
359
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
360
+ "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
361
+ "cpu": [
362
+ "arm64"
363
+ ],
364
+ "dev": true,
365
+ "license": "MIT",
366
+ "optional": true,
367
+ "os": [
368
+ "android"
369
+ ],
370
+ "engines": {
371
+ "node": ">=12"
372
+ }
373
+ },
374
+ "node_modules/@esbuild/android-x64": {
375
+ "version": "0.21.5",
376
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
377
+ "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
378
+ "cpu": [
379
+ "x64"
380
+ ],
381
+ "dev": true,
382
+ "license": "MIT",
383
+ "optional": true,
384
+ "os": [
385
+ "android"
386
+ ],
387
+ "engines": {
388
+ "node": ">=12"
389
+ }
390
+ },
391
+ "node_modules/@esbuild/darwin-arm64": {
392
+ "version": "0.21.5",
393
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
394
+ "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
395
+ "cpu": [
396
+ "arm64"
397
+ ],
398
+ "dev": true,
399
+ "license": "MIT",
400
+ "optional": true,
401
+ "os": [
402
+ "darwin"
403
+ ],
404
+ "engines": {
405
+ "node": ">=12"
406
+ }
407
+ },
408
+ "node_modules/@esbuild/darwin-x64": {
409
+ "version": "0.21.5",
410
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
411
+ "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
412
+ "cpu": [
413
+ "x64"
414
+ ],
415
+ "dev": true,
416
+ "license": "MIT",
417
+ "optional": true,
418
+ "os": [
419
+ "darwin"
420
+ ],
421
+ "engines": {
422
+ "node": ">=12"
423
+ }
424
+ },
425
+ "node_modules/@esbuild/freebsd-arm64": {
426
+ "version": "0.21.5",
427
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
428
+ "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
429
+ "cpu": [
430
+ "arm64"
431
+ ],
432
+ "dev": true,
433
+ "license": "MIT",
434
+ "optional": true,
435
+ "os": [
436
+ "freebsd"
437
+ ],
438
+ "engines": {
439
+ "node": ">=12"
440
+ }
441
+ },
442
+ "node_modules/@esbuild/freebsd-x64": {
443
+ "version": "0.21.5",
444
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
445
+ "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
446
+ "cpu": [
447
+ "x64"
448
+ ],
449
+ "dev": true,
450
+ "license": "MIT",
451
+ "optional": true,
452
+ "os": [
453
+ "freebsd"
454
+ ],
455
+ "engines": {
456
+ "node": ">=12"
457
+ }
458
+ },
459
+ "node_modules/@esbuild/linux-arm": {
460
+ "version": "0.21.5",
461
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
462
+ "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
463
+ "cpu": [
464
+ "arm"
465
+ ],
466
+ "dev": true,
467
+ "license": "MIT",
468
+ "optional": true,
469
+ "os": [
470
+ "linux"
471
+ ],
472
+ "engines": {
473
+ "node": ">=12"
474
+ }
475
+ },
476
+ "node_modules/@esbuild/linux-arm64": {
477
+ "version": "0.21.5",
478
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
479
+ "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
480
+ "cpu": [
481
+ "arm64"
482
+ ],
483
+ "dev": true,
484
+ "license": "MIT",
485
+ "optional": true,
486
+ "os": [
487
+ "linux"
488
+ ],
489
+ "engines": {
490
+ "node": ">=12"
491
+ }
492
+ },
493
+ "node_modules/@esbuild/linux-ia32": {
494
+ "version": "0.21.5",
495
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
496
+ "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
497
+ "cpu": [
498
+ "ia32"
499
+ ],
500
+ "dev": true,
501
+ "license": "MIT",
502
+ "optional": true,
503
+ "os": [
504
+ "linux"
505
+ ],
506
+ "engines": {
507
+ "node": ">=12"
508
+ }
509
+ },
510
+ "node_modules/@esbuild/linux-loong64": {
511
+ "version": "0.21.5",
512
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
513
+ "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
514
+ "cpu": [
515
+ "loong64"
516
+ ],
517
+ "dev": true,
518
+ "license": "MIT",
519
+ "optional": true,
520
+ "os": [
521
+ "linux"
522
+ ],
523
+ "engines": {
524
+ "node": ">=12"
525
+ }
526
+ },
527
+ "node_modules/@esbuild/linux-mips64el": {
528
+ "version": "0.21.5",
529
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
530
+ "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
531
+ "cpu": [
532
+ "mips64el"
533
+ ],
534
+ "dev": true,
535
+ "license": "MIT",
536
+ "optional": true,
537
+ "os": [
538
+ "linux"
539
+ ],
540
+ "engines": {
541
+ "node": ">=12"
542
+ }
543
+ },
544
+ "node_modules/@esbuild/linux-ppc64": {
545
+ "version": "0.21.5",
546
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
547
+ "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
548
+ "cpu": [
549
+ "ppc64"
550
+ ],
551
+ "dev": true,
552
+ "license": "MIT",
553
+ "optional": true,
554
+ "os": [
555
+ "linux"
556
+ ],
557
+ "engines": {
558
+ "node": ">=12"
559
+ }
560
+ },
561
+ "node_modules/@esbuild/linux-riscv64": {
562
+ "version": "0.21.5",
563
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
564
+ "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
565
+ "cpu": [
566
+ "riscv64"
567
+ ],
568
+ "dev": true,
569
+ "license": "MIT",
570
+ "optional": true,
571
+ "os": [
572
+ "linux"
573
+ ],
574
+ "engines": {
575
+ "node": ">=12"
576
+ }
577
+ },
578
+ "node_modules/@esbuild/linux-s390x": {
579
+ "version": "0.21.5",
580
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
581
+ "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
582
+ "cpu": [
583
+ "s390x"
584
+ ],
585
+ "dev": true,
586
+ "license": "MIT",
587
+ "optional": true,
588
+ "os": [
589
+ "linux"
590
+ ],
591
+ "engines": {
592
+ "node": ">=12"
593
+ }
594
+ },
595
+ "node_modules/@esbuild/linux-x64": {
596
+ "version": "0.21.5",
597
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
598
+ "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
599
+ "cpu": [
600
+ "x64"
601
+ ],
602
+ "dev": true,
603
+ "license": "MIT",
604
+ "optional": true,
605
+ "os": [
606
+ "linux"
607
+ ],
608
+ "engines": {
609
+ "node": ">=12"
610
+ }
611
+ },
612
+ "node_modules/@esbuild/netbsd-x64": {
613
+ "version": "0.21.5",
614
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
615
+ "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
616
+ "cpu": [
617
+ "x64"
618
+ ],
619
+ "dev": true,
620
+ "license": "MIT",
621
+ "optional": true,
622
+ "os": [
623
+ "netbsd"
624
+ ],
625
+ "engines": {
626
+ "node": ">=12"
627
+ }
628
+ },
629
+ "node_modules/@esbuild/openbsd-x64": {
630
+ "version": "0.21.5",
631
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
632
+ "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
633
+ "cpu": [
634
+ "x64"
635
+ ],
636
+ "dev": true,
637
+ "license": "MIT",
638
+ "optional": true,
639
+ "os": [
640
+ "openbsd"
641
+ ],
642
+ "engines": {
643
+ "node": ">=12"
644
+ }
645
+ },
646
+ "node_modules/@esbuild/sunos-x64": {
647
+ "version": "0.21.5",
648
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
649
+ "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
650
+ "cpu": [
651
+ "x64"
652
+ ],
653
+ "dev": true,
654
+ "license": "MIT",
655
+ "optional": true,
656
+ "os": [
657
+ "sunos"
658
+ ],
659
+ "engines": {
660
+ "node": ">=12"
661
+ }
662
+ },
663
+ "node_modules/@esbuild/win32-arm64": {
664
+ "version": "0.21.5",
665
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
666
+ "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
667
+ "cpu": [
668
+ "arm64"
669
+ ],
670
+ "dev": true,
671
+ "license": "MIT",
672
+ "optional": true,
673
+ "os": [
674
+ "win32"
675
+ ],
676
+ "engines": {
677
+ "node": ">=12"
678
+ }
679
+ },
680
+ "node_modules/@esbuild/win32-ia32": {
681
+ "version": "0.21.5",
682
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
683
+ "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
684
+ "cpu": [
685
+ "ia32"
686
+ ],
687
+ "dev": true,
688
+ "license": "MIT",
689
+ "optional": true,
690
+ "os": [
691
+ "win32"
692
+ ],
693
+ "engines": {
694
+ "node": ">=12"
695
+ }
696
+ },
697
+ "node_modules/@esbuild/win32-x64": {
698
+ "version": "0.21.5",
699
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
700
+ "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
701
+ "cpu": [
702
+ "x64"
703
+ ],
704
+ "dev": true,
705
+ "license": "MIT",
706
+ "optional": true,
707
+ "os": [
708
+ "win32"
709
+ ],
710
+ "engines": {
711
+ "node": ">=12"
712
+ }
713
+ },
714
+ "node_modules/@jridgewell/gen-mapping": {
715
+ "version": "0.3.13",
716
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
717
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
718
+ "dev": true,
719
+ "license": "MIT",
720
+ "dependencies": {
721
+ "@jridgewell/sourcemap-codec": "^1.5.0",
722
+ "@jridgewell/trace-mapping": "^0.3.24"
723
+ }
724
+ },
725
+ "node_modules/@jridgewell/remapping": {
726
+ "version": "2.3.5",
727
+ "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
728
+ "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
729
+ "dev": true,
730
+ "license": "MIT",
731
+ "dependencies": {
732
+ "@jridgewell/gen-mapping": "^0.3.5",
733
+ "@jridgewell/trace-mapping": "^0.3.24"
734
+ }
735
+ },
736
+ "node_modules/@jridgewell/resolve-uri": {
737
+ "version": "3.1.2",
738
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
739
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
740
+ "dev": true,
741
+ "license": "MIT",
742
+ "engines": {
743
+ "node": ">=6.0.0"
744
+ }
745
+ },
746
+ "node_modules/@jridgewell/sourcemap-codec": {
747
+ "version": "1.5.5",
748
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
749
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
750
+ "dev": true,
751
+ "license": "MIT"
752
+ },
753
+ "node_modules/@jridgewell/trace-mapping": {
754
+ "version": "0.3.31",
755
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
756
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
757
+ "dev": true,
758
+ "license": "MIT",
759
+ "dependencies": {
760
+ "@jridgewell/resolve-uri": "^3.1.0",
761
+ "@jridgewell/sourcemap-codec": "^1.4.14"
762
+ }
763
+ },
764
+ "node_modules/@nodelib/fs.scandir": {
765
+ "version": "2.1.5",
766
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
767
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
768
+ "dev": true,
769
+ "license": "MIT",
770
+ "dependencies": {
771
+ "@nodelib/fs.stat": "2.0.5",
772
+ "run-parallel": "^1.1.9"
773
+ },
774
+ "engines": {
775
+ "node": ">= 8"
776
+ }
777
+ },
778
+ "node_modules/@nodelib/fs.stat": {
779
+ "version": "2.0.5",
780
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
781
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
782
+ "dev": true,
783
+ "license": "MIT",
784
+ "engines": {
785
+ "node": ">= 8"
786
+ }
787
+ },
788
+ "node_modules/@nodelib/fs.walk": {
789
+ "version": "1.2.8",
790
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
791
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
792
+ "dev": true,
793
+ "license": "MIT",
794
+ "dependencies": {
795
+ "@nodelib/fs.scandir": "2.1.5",
796
+ "fastq": "^1.6.0"
797
+ },
798
+ "engines": {
799
+ "node": ">= 8"
800
+ }
801
+ },
802
+ "node_modules/@rolldown/pluginutils": {
803
+ "version": "1.0.0-beta.27",
804
+ "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz",
805
+ "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==",
806
+ "dev": true,
807
+ "license": "MIT"
808
+ },
809
+ "node_modules/@rollup/rollup-android-arm-eabi": {
810
+ "version": "4.60.1",
811
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.1.tgz",
812
+ "integrity": "sha512-d6FinEBLdIiK+1uACUttJKfgZREXrF0Qc2SmLII7W2AD8FfiZ9Wjd+rD/iRuf5s5dWrr1GgwXCvPqOuDquOowA==",
813
+ "cpu": [
814
+ "arm"
815
+ ],
816
+ "dev": true,
817
+ "license": "MIT",
818
+ "optional": true,
819
+ "os": [
820
+ "android"
821
+ ]
822
+ },
823
+ "node_modules/@rollup/rollup-android-arm64": {
824
+ "version": "4.60.1",
825
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.1.tgz",
826
+ "integrity": "sha512-YjG/EwIDvvYI1YvYbHvDz/BYHtkY4ygUIXHnTdLhG+hKIQFBiosfWiACWortsKPKU/+dUwQQCKQM3qrDe8c9BA==",
827
+ "cpu": [
828
+ "arm64"
829
+ ],
830
+ "dev": true,
831
+ "license": "MIT",
832
+ "optional": true,
833
+ "os": [
834
+ "android"
835
+ ]
836
+ },
837
+ "node_modules/@rollup/rollup-darwin-arm64": {
838
+ "version": "4.60.1",
839
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.1.tgz",
840
+ "integrity": "sha512-mjCpF7GmkRtSJwon+Rq1N8+pI+8l7w5g9Z3vWj4T7abguC4Czwi3Yu/pFaLvA3TTeMVjnu3ctigusqWUfjZzvw==",
841
+ "cpu": [
842
+ "arm64"
843
+ ],
844
+ "dev": true,
845
+ "license": "MIT",
846
+ "optional": true,
847
+ "os": [
848
+ "darwin"
849
+ ]
850
+ },
851
+ "node_modules/@rollup/rollup-darwin-x64": {
852
+ "version": "4.60.1",
853
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.1.tgz",
854
+ "integrity": "sha512-haZ7hJ1JT4e9hqkoT9R/19XW2QKqjfJVv+i5AGg57S+nLk9lQnJ1F/eZloRO3o9Scy9CM3wQ9l+dkXtcBgN5Ew==",
855
+ "cpu": [
856
+ "x64"
857
+ ],
858
+ "dev": true,
859
+ "license": "MIT",
860
+ "optional": true,
861
+ "os": [
862
+ "darwin"
863
+ ]
864
+ },
865
+ "node_modules/@rollup/rollup-freebsd-arm64": {
866
+ "version": "4.60.1",
867
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.1.tgz",
868
+ "integrity": "sha512-czw90wpQq3ZsAVBlinZjAYTKduOjTywlG7fEeWKUA7oCmpA8xdTkxZZlwNJKWqILlq0wehoZcJYfBvOyhPTQ6w==",
869
+ "cpu": [
870
+ "arm64"
871
+ ],
872
+ "dev": true,
873
+ "license": "MIT",
874
+ "optional": true,
875
+ "os": [
876
+ "freebsd"
877
+ ]
878
+ },
879
+ "node_modules/@rollup/rollup-freebsd-x64": {
880
+ "version": "4.60.1",
881
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.1.tgz",
882
+ "integrity": "sha512-KVB2rqsxTHuBtfOeySEyzEOB7ltlB/ux38iu2rBQzkjbwRVlkhAGIEDiiYnO2kFOkJp+Z7pUXKyrRRFuFUKt+g==",
883
+ "cpu": [
884
+ "x64"
885
+ ],
886
+ "dev": true,
887
+ "license": "MIT",
888
+ "optional": true,
889
+ "os": [
890
+ "freebsd"
891
+ ]
892
+ },
893
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
894
+ "version": "4.60.1",
895
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.1.tgz",
896
+ "integrity": "sha512-L+34Qqil+v5uC0zEubW7uByo78WOCIrBvci69E7sFASRl0X7b/MB6Cqd1lky/CtcSVTydWa2WZwFuWexjS5o6g==",
897
+ "cpu": [
898
+ "arm"
899
+ ],
900
+ "dev": true,
901
+ "license": "MIT",
902
+ "optional": true,
903
+ "os": [
904
+ "linux"
905
+ ]
906
+ },
907
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
908
+ "version": "4.60.1",
909
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.1.tgz",
910
+ "integrity": "sha512-n83O8rt4v34hgFzlkb1ycniJh7IR5RCIqt6mz1VRJD6pmhRi0CXdmfnLu9dIUS6buzh60IvACM842Ffb3xd6Gg==",
911
+ "cpu": [
912
+ "arm"
913
+ ],
914
+ "dev": true,
915
+ "license": "MIT",
916
+ "optional": true,
917
+ "os": [
918
+ "linux"
919
+ ]
920
+ },
921
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
922
+ "version": "4.60.1",
923
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.1.tgz",
924
+ "integrity": "sha512-Nql7sTeAzhTAja3QXeAI48+/+GjBJ+QmAH13snn0AJSNL50JsDqotyudHyMbO2RbJkskbMbFJfIJKWA6R1LCJQ==",
925
+ "cpu": [
926
+ "arm64"
927
+ ],
928
+ "dev": true,
929
+ "license": "MIT",
930
+ "optional": true,
931
+ "os": [
932
+ "linux"
933
+ ]
934
+ },
935
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
936
+ "version": "4.60.1",
937
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.1.tgz",
938
+ "integrity": "sha512-+pUymDhd0ys9GcKZPPWlFiZ67sTWV5UU6zOJat02M1+PiuSGDziyRuI/pPue3hoUwm2uGfxdL+trT6Z9rxnlMA==",
939
+ "cpu": [
940
+ "arm64"
941
+ ],
942
+ "dev": true,
943
+ "license": "MIT",
944
+ "optional": true,
945
+ "os": [
946
+ "linux"
947
+ ]
948
+ },
949
+ "node_modules/@rollup/rollup-linux-loong64-gnu": {
950
+ "version": "4.60.1",
951
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.1.tgz",
952
+ "integrity": "sha512-VSvgvQeIcsEvY4bKDHEDWcpW4Yw7BtlKG1GUT4FzBUlEKQK0rWHYBqQt6Fm2taXS+1bXvJT6kICu5ZwqKCnvlQ==",
953
+ "cpu": [
954
+ "loong64"
955
+ ],
956
+ "dev": true,
957
+ "license": "MIT",
958
+ "optional": true,
959
+ "os": [
960
+ "linux"
961
+ ]
962
+ },
963
+ "node_modules/@rollup/rollup-linux-loong64-musl": {
964
+ "version": "4.60.1",
965
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.1.tgz",
966
+ "integrity": "sha512-4LqhUomJqwe641gsPp6xLfhqWMbQV04KtPp7/dIp0nzPxAkNY1AbwL5W0MQpcalLYk07vaW9Kp1PBhdpZYYcEw==",
967
+ "cpu": [
968
+ "loong64"
969
+ ],
970
+ "dev": true,
971
+ "license": "MIT",
972
+ "optional": true,
973
+ "os": [
974
+ "linux"
975
+ ]
976
+ },
977
+ "node_modules/@rollup/rollup-linux-ppc64-gnu": {
978
+ "version": "4.60.1",
979
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.1.tgz",
980
+ "integrity": "sha512-tLQQ9aPvkBxOc/EUT6j3pyeMD6Hb8QF2BTBnCQWP/uu1lhc9AIrIjKnLYMEroIz/JvtGYgI9dF3AxHZNaEH0rw==",
981
+ "cpu": [
982
+ "ppc64"
983
+ ],
984
+ "dev": true,
985
+ "license": "MIT",
986
+ "optional": true,
987
+ "os": [
988
+ "linux"
989
+ ]
990
+ },
991
+ "node_modules/@rollup/rollup-linux-ppc64-musl": {
992
+ "version": "4.60.1",
993
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.1.tgz",
994
+ "integrity": "sha512-RMxFhJwc9fSXP6PqmAz4cbv3kAyvD1etJFjTx4ONqFP9DkTkXsAMU4v3Vyc5BgzC+anz7nS/9tp4obsKfqkDHg==",
995
+ "cpu": [
996
+ "ppc64"
997
+ ],
998
+ "dev": true,
999
+ "license": "MIT",
1000
+ "optional": true,
1001
+ "os": [
1002
+ "linux"
1003
+ ]
1004
+ },
1005
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
1006
+ "version": "4.60.1",
1007
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.1.tgz",
1008
+ "integrity": "sha512-QKgFl+Yc1eEk6MmOBfRHYF6lTxiiiV3/z/BRrbSiW2I7AFTXoBFvdMEyglohPj//2mZS4hDOqeB0H1ACh3sBbg==",
1009
+ "cpu": [
1010
+ "riscv64"
1011
+ ],
1012
+ "dev": true,
1013
+ "license": "MIT",
1014
+ "optional": true,
1015
+ "os": [
1016
+ "linux"
1017
+ ]
1018
+ },
1019
+ "node_modules/@rollup/rollup-linux-riscv64-musl": {
1020
+ "version": "4.60.1",
1021
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.1.tgz",
1022
+ "integrity": "sha512-RAjXjP/8c6ZtzatZcA1RaQr6O1TRhzC+adn8YZDnChliZHviqIjmvFwHcxi4JKPSDAt6Uhf/7vqcBzQJy0PDJg==",
1023
+ "cpu": [
1024
+ "riscv64"
1025
+ ],
1026
+ "dev": true,
1027
+ "license": "MIT",
1028
+ "optional": true,
1029
+ "os": [
1030
+ "linux"
1031
+ ]
1032
+ },
1033
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
1034
+ "version": "4.60.1",
1035
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.1.tgz",
1036
+ "integrity": "sha512-wcuocpaOlaL1COBYiA89O6yfjlp3RwKDeTIA0hM7OpmhR1Bjo9j31G1uQVpDlTvwxGn2nQs65fBFL5UFd76FcQ==",
1037
+ "cpu": [
1038
+ "s390x"
1039
+ ],
1040
+ "dev": true,
1041
+ "license": "MIT",
1042
+ "optional": true,
1043
+ "os": [
1044
+ "linux"
1045
+ ]
1046
+ },
1047
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
1048
+ "version": "4.60.1",
1049
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.1.tgz",
1050
+ "integrity": "sha512-77PpsFQUCOiZR9+LQEFg9GClyfkNXj1MP6wRnzYs0EeWbPcHs02AXu4xuUbM1zhwn3wqaizle3AEYg5aeoohhg==",
1051
+ "cpu": [
1052
+ "x64"
1053
+ ],
1054
+ "dev": true,
1055
+ "license": "MIT",
1056
+ "optional": true,
1057
+ "os": [
1058
+ "linux"
1059
+ ]
1060
+ },
1061
+ "node_modules/@rollup/rollup-linux-x64-musl": {
1062
+ "version": "4.60.1",
1063
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.1.tgz",
1064
+ "integrity": "sha512-5cIATbk5vynAjqqmyBjlciMJl1+R/CwX9oLk/EyiFXDWd95KpHdrOJT//rnUl4cUcskrd0jCCw3wpZnhIHdD9w==",
1065
+ "cpu": [
1066
+ "x64"
1067
+ ],
1068
+ "dev": true,
1069
+ "license": "MIT",
1070
+ "optional": true,
1071
+ "os": [
1072
+ "linux"
1073
+ ]
1074
+ },
1075
+ "node_modules/@rollup/rollup-openbsd-x64": {
1076
+ "version": "4.60.1",
1077
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.1.tgz",
1078
+ "integrity": "sha512-cl0w09WsCi17mcmWqqglez9Gk8isgeWvoUZ3WiJFYSR3zjBQc2J5/ihSjpl+VLjPqjQ/1hJRcqBfLjssREQILw==",
1079
+ "cpu": [
1080
+ "x64"
1081
+ ],
1082
+ "dev": true,
1083
+ "license": "MIT",
1084
+ "optional": true,
1085
+ "os": [
1086
+ "openbsd"
1087
+ ]
1088
+ },
1089
+ "node_modules/@rollup/rollup-openharmony-arm64": {
1090
+ "version": "4.60.1",
1091
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.1.tgz",
1092
+ "integrity": "sha512-4Cv23ZrONRbNtbZa37mLSueXUCtN7MXccChtKpUnQNgF010rjrjfHx3QxkS2PI7LqGT5xXyYs1a7LbzAwT0iCA==",
1093
+ "cpu": [
1094
+ "arm64"
1095
+ ],
1096
+ "dev": true,
1097
+ "license": "MIT",
1098
+ "optional": true,
1099
+ "os": [
1100
+ "openharmony"
1101
+ ]
1102
+ },
1103
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
1104
+ "version": "4.60.1",
1105
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.1.tgz",
1106
+ "integrity": "sha512-i1okWYkA4FJICtr7KpYzFpRTHgy5jdDbZiWfvny21iIKky5YExiDXP+zbXzm3dUcFpkEeYNHgQ5fuG236JPq0g==",
1107
+ "cpu": [
1108
+ "arm64"
1109
+ ],
1110
+ "dev": true,
1111
+ "license": "MIT",
1112
+ "optional": true,
1113
+ "os": [
1114
+ "win32"
1115
+ ]
1116
+ },
1117
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
1118
+ "version": "4.60.1",
1119
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.1.tgz",
1120
+ "integrity": "sha512-u09m3CuwLzShA0EYKMNiFgcjjzwqtUMLmuCJLeZWjjOYA3IT2Di09KaxGBTP9xVztWyIWjVdsB2E9goMjZvTQg==",
1121
+ "cpu": [
1122
+ "ia32"
1123
+ ],
1124
+ "dev": true,
1125
+ "license": "MIT",
1126
+ "optional": true,
1127
+ "os": [
1128
+ "win32"
1129
+ ]
1130
+ },
1131
+ "node_modules/@rollup/rollup-win32-x64-gnu": {
1132
+ "version": "4.60.1",
1133
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.1.tgz",
1134
+ "integrity": "sha512-k+600V9Zl1CM7eZxJgMyTUzmrmhB/0XZnF4pRypKAlAgxmedUA+1v9R+XOFv56W4SlHEzfeMtzujLJD22Uz5zg==",
1135
+ "cpu": [
1136
+ "x64"
1137
+ ],
1138
+ "dev": true,
1139
+ "license": "MIT",
1140
+ "optional": true,
1141
+ "os": [
1142
+ "win32"
1143
+ ]
1144
+ },
1145
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
1146
+ "version": "4.60.1",
1147
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.1.tgz",
1148
+ "integrity": "sha512-lWMnixq/QzxyhTV6NjQJ4SFo1J6PvOX8vUx5Wb4bBPsEb+8xZ89Bz6kOXpfXj9ak9AHTQVQzlgzBEc1SyM27xQ==",
1149
+ "cpu": [
1150
+ "x64"
1151
+ ],
1152
+ "dev": true,
1153
+ "license": "MIT",
1154
+ "optional": true,
1155
+ "os": [
1156
+ "win32"
1157
+ ]
1158
+ },
1159
+ "node_modules/@types/babel__core": {
1160
+ "version": "7.20.5",
1161
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
1162
+ "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
1163
+ "dev": true,
1164
+ "license": "MIT",
1165
+ "dependencies": {
1166
+ "@babel/parser": "^7.20.7",
1167
+ "@babel/types": "^7.20.7",
1168
+ "@types/babel__generator": "*",
1169
+ "@types/babel__template": "*",
1170
+ "@types/babel__traverse": "*"
1171
+ }
1172
+ },
1173
+ "node_modules/@types/babel__generator": {
1174
+ "version": "7.27.0",
1175
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
1176
+ "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
1177
+ "dev": true,
1178
+ "license": "MIT",
1179
+ "dependencies": {
1180
+ "@babel/types": "^7.0.0"
1181
+ }
1182
+ },
1183
+ "node_modules/@types/babel__template": {
1184
+ "version": "7.4.4",
1185
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
1186
+ "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
1187
+ "dev": true,
1188
+ "license": "MIT",
1189
+ "dependencies": {
1190
+ "@babel/parser": "^7.1.0",
1191
+ "@babel/types": "^7.0.0"
1192
+ }
1193
+ },
1194
+ "node_modules/@types/babel__traverse": {
1195
+ "version": "7.28.0",
1196
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz",
1197
+ "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==",
1198
+ "dev": true,
1199
+ "license": "MIT",
1200
+ "dependencies": {
1201
+ "@babel/types": "^7.28.2"
1202
+ }
1203
+ },
1204
+ "node_modules/@types/estree": {
1205
+ "version": "1.0.8",
1206
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
1207
+ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
1208
+ "dev": true,
1209
+ "license": "MIT"
1210
+ },
1211
+ "node_modules/@types/openseadragon": {
1212
+ "version": "3.0.10",
1213
+ "resolved": "https://registry.npmjs.org/@types/openseadragon/-/openseadragon-3.0.10.tgz",
1214
+ "integrity": "sha512-nNVlu9PUNDVTudkSqVWhHtghCsyzQrJObEtN5zsVN2ghh5HYAC6U6xAcT9NQRfVfZVZkWXEYp2Hw7hQgwRxqgg==",
1215
+ "dev": true,
1216
+ "license": "MIT"
1217
+ },
1218
+ "node_modules/@types/prop-types": {
1219
+ "version": "15.7.15",
1220
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz",
1221
+ "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==",
1222
+ "dev": true,
1223
+ "license": "MIT"
1224
+ },
1225
+ "node_modules/@types/react": {
1226
+ "version": "18.3.28",
1227
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz",
1228
+ "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==",
1229
+ "dev": true,
1230
+ "license": "MIT",
1231
+ "dependencies": {
1232
+ "@types/prop-types": "*",
1233
+ "csstype": "^3.2.2"
1234
+ }
1235
+ },
1236
+ "node_modules/@types/react-dom": {
1237
+ "version": "18.3.7",
1238
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz",
1239
+ "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==",
1240
+ "dev": true,
1241
+ "license": "MIT",
1242
+ "peerDependencies": {
1243
+ "@types/react": "^18.0.0"
1244
+ }
1245
+ },
1246
+ "node_modules/@vitejs/plugin-react": {
1247
+ "version": "4.7.0",
1248
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz",
1249
+ "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==",
1250
+ "dev": true,
1251
+ "license": "MIT",
1252
+ "dependencies": {
1253
+ "@babel/core": "^7.28.0",
1254
+ "@babel/plugin-transform-react-jsx-self": "^7.27.1",
1255
+ "@babel/plugin-transform-react-jsx-source": "^7.27.1",
1256
+ "@rolldown/pluginutils": "1.0.0-beta.27",
1257
+ "@types/babel__core": "^7.20.5",
1258
+ "react-refresh": "^0.17.0"
1259
+ },
1260
+ "engines": {
1261
+ "node": "^14.18.0 || >=16.0.0"
1262
+ },
1263
+ "peerDependencies": {
1264
+ "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
1265
+ }
1266
+ },
1267
+ "node_modules/any-promise": {
1268
+ "version": "1.3.0",
1269
+ "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
1270
+ "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
1271
+ "dev": true,
1272
+ "license": "MIT"
1273
+ },
1274
+ "node_modules/anymatch": {
1275
+ "version": "3.1.3",
1276
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
1277
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
1278
+ "dev": true,
1279
+ "license": "ISC",
1280
+ "dependencies": {
1281
+ "normalize-path": "^3.0.0",
1282
+ "picomatch": "^2.0.4"
1283
+ },
1284
+ "engines": {
1285
+ "node": ">= 8"
1286
+ }
1287
+ },
1288
+ "node_modules/arg": {
1289
+ "version": "5.0.2",
1290
+ "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
1291
+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
1292
+ "dev": true,
1293
+ "license": "MIT"
1294
+ },
1295
+ "node_modules/autoprefixer": {
1296
+ "version": "10.5.0",
1297
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.5.0.tgz",
1298
+ "integrity": "sha512-FMhOoZV4+qR6aTUALKX2rEqGG+oyATvwBt9IIzVR5rMa2HRWPkxf+P+PAJLD1I/H5/II+HuZcBJYEFBpq39ong==",
1299
+ "dev": true,
1300
+ "funding": [
1301
+ {
1302
+ "type": "opencollective",
1303
+ "url": "https://opencollective.com/postcss/"
1304
+ },
1305
+ {
1306
+ "type": "tidelift",
1307
+ "url": "https://tidelift.com/funding/github/npm/autoprefixer"
1308
+ },
1309
+ {
1310
+ "type": "github",
1311
+ "url": "https://github.com/sponsors/ai"
1312
+ }
1313
+ ],
1314
+ "license": "MIT",
1315
+ "dependencies": {
1316
+ "browserslist": "^4.28.2",
1317
+ "caniuse-lite": "^1.0.30001787",
1318
+ "fraction.js": "^5.3.4",
1319
+ "picocolors": "^1.1.1",
1320
+ "postcss-value-parser": "^4.2.0"
1321
+ },
1322
+ "bin": {
1323
+ "autoprefixer": "bin/autoprefixer"
1324
+ },
1325
+ "engines": {
1326
+ "node": "^10 || ^12 || >=14"
1327
+ },
1328
+ "peerDependencies": {
1329
+ "postcss": "^8.1.0"
1330
+ }
1331
+ },
1332
+ "node_modules/baseline-browser-mapping": {
1333
+ "version": "2.10.19",
1334
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.19.tgz",
1335
+ "integrity": "sha512-qCkNLi2sfBOn8XhZQ0FXsT1Ki/Yo5P90hrkRamVFRS7/KV9hpfA4HkoWNU152+8w0zPjnxo5psx5NL3PSGgv5g==",
1336
+ "dev": true,
1337
+ "license": "Apache-2.0",
1338
+ "bin": {
1339
+ "baseline-browser-mapping": "dist/cli.cjs"
1340
+ },
1341
+ "engines": {
1342
+ "node": ">=6.0.0"
1343
+ }
1344
+ },
1345
+ "node_modules/binary-extensions": {
1346
+ "version": "2.3.0",
1347
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
1348
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
1349
+ "dev": true,
1350
+ "license": "MIT",
1351
+ "engines": {
1352
+ "node": ">=8"
1353
+ },
1354
+ "funding": {
1355
+ "url": "https://github.com/sponsors/sindresorhus"
1356
+ }
1357
+ },
1358
+ "node_modules/braces": {
1359
+ "version": "3.0.3",
1360
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
1361
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
1362
+ "dev": true,
1363
+ "license": "MIT",
1364
+ "dependencies": {
1365
+ "fill-range": "^7.1.1"
1366
+ },
1367
+ "engines": {
1368
+ "node": ">=8"
1369
+ }
1370
+ },
1371
+ "node_modules/browserslist": {
1372
+ "version": "4.28.2",
1373
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz",
1374
+ "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==",
1375
+ "dev": true,
1376
+ "funding": [
1377
+ {
1378
+ "type": "opencollective",
1379
+ "url": "https://opencollective.com/browserslist"
1380
+ },
1381
+ {
1382
+ "type": "tidelift",
1383
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
1384
+ },
1385
+ {
1386
+ "type": "github",
1387
+ "url": "https://github.com/sponsors/ai"
1388
+ }
1389
+ ],
1390
+ "license": "MIT",
1391
+ "dependencies": {
1392
+ "baseline-browser-mapping": "^2.10.12",
1393
+ "caniuse-lite": "^1.0.30001782",
1394
+ "electron-to-chromium": "^1.5.328",
1395
+ "node-releases": "^2.0.36",
1396
+ "update-browserslist-db": "^1.2.3"
1397
+ },
1398
+ "bin": {
1399
+ "browserslist": "cli.js"
1400
+ },
1401
+ "engines": {
1402
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
1403
+ }
1404
+ },
1405
+ "node_modules/camelcase-css": {
1406
+ "version": "2.0.1",
1407
+ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
1408
+ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
1409
+ "dev": true,
1410
+ "license": "MIT",
1411
+ "engines": {
1412
+ "node": ">= 6"
1413
+ }
1414
+ },
1415
+ "node_modules/caniuse-lite": {
1416
+ "version": "1.0.30001788",
1417
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001788.tgz",
1418
+ "integrity": "sha512-6q8HFp+lOQtcf7wBK+uEenxymVWkGKkjFpCvw5W25cmMwEDU45p1xQFBQv8JDlMMry7eNxyBaR+qxgmTUZkIRQ==",
1419
+ "dev": true,
1420
+ "funding": [
1421
+ {
1422
+ "type": "opencollective",
1423
+ "url": "https://opencollective.com/browserslist"
1424
+ },
1425
+ {
1426
+ "type": "tidelift",
1427
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
1428
+ },
1429
+ {
1430
+ "type": "github",
1431
+ "url": "https://github.com/sponsors/ai"
1432
+ }
1433
+ ],
1434
+ "license": "CC-BY-4.0"
1435
+ },
1436
+ "node_modules/chokidar": {
1437
+ "version": "3.6.0",
1438
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
1439
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
1440
+ "dev": true,
1441
+ "license": "MIT",
1442
+ "dependencies": {
1443
+ "anymatch": "~3.1.2",
1444
+ "braces": "~3.0.2",
1445
+ "glob-parent": "~5.1.2",
1446
+ "is-binary-path": "~2.1.0",
1447
+ "is-glob": "~4.0.1",
1448
+ "normalize-path": "~3.0.0",
1449
+ "readdirp": "~3.6.0"
1450
+ },
1451
+ "engines": {
1452
+ "node": ">= 8.10.0"
1453
+ },
1454
+ "funding": {
1455
+ "url": "https://paulmillr.com/funding/"
1456
+ },
1457
+ "optionalDependencies": {
1458
+ "fsevents": "~2.3.2"
1459
+ }
1460
+ },
1461
+ "node_modules/chokidar/node_modules/glob-parent": {
1462
+ "version": "5.1.2",
1463
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
1464
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
1465
+ "dev": true,
1466
+ "license": "ISC",
1467
+ "dependencies": {
1468
+ "is-glob": "^4.0.1"
1469
+ },
1470
+ "engines": {
1471
+ "node": ">= 6"
1472
+ }
1473
+ },
1474
+ "node_modules/commander": {
1475
+ "version": "4.1.1",
1476
+ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
1477
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
1478
+ "dev": true,
1479
+ "license": "MIT",
1480
+ "engines": {
1481
+ "node": ">= 6"
1482
+ }
1483
+ },
1484
+ "node_modules/convert-source-map": {
1485
+ "version": "2.0.0",
1486
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
1487
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
1488
+ "dev": true,
1489
+ "license": "MIT"
1490
+ },
1491
+ "node_modules/cookie": {
1492
+ "version": "1.1.1",
1493
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz",
1494
+ "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==",
1495
+ "license": "MIT",
1496
+ "engines": {
1497
+ "node": ">=18"
1498
+ },
1499
+ "funding": {
1500
+ "type": "opencollective",
1501
+ "url": "https://opencollective.com/express"
1502
+ }
1503
+ },
1504
+ "node_modules/cssesc": {
1505
+ "version": "3.0.0",
1506
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
1507
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
1508
+ "dev": true,
1509
+ "license": "MIT",
1510
+ "bin": {
1511
+ "cssesc": "bin/cssesc"
1512
+ },
1513
+ "engines": {
1514
+ "node": ">=4"
1515
+ }
1516
+ },
1517
+ "node_modules/csstype": {
1518
+ "version": "3.2.3",
1519
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
1520
+ "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
1521
+ "dev": true,
1522
+ "license": "MIT"
1523
+ },
1524
+ "node_modules/debug": {
1525
+ "version": "4.4.3",
1526
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
1527
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
1528
+ "dev": true,
1529
+ "license": "MIT",
1530
+ "dependencies": {
1531
+ "ms": "^2.1.3"
1532
+ },
1533
+ "engines": {
1534
+ "node": ">=6.0"
1535
+ },
1536
+ "peerDependenciesMeta": {
1537
+ "supports-color": {
1538
+ "optional": true
1539
+ }
1540
+ }
1541
+ },
1542
+ "node_modules/didyoumean": {
1543
+ "version": "1.2.2",
1544
+ "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
1545
+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
1546
+ "dev": true,
1547
+ "license": "Apache-2.0"
1548
+ },
1549
+ "node_modules/dlv": {
1550
+ "version": "1.1.3",
1551
+ "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
1552
+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
1553
+ "dev": true,
1554
+ "license": "MIT"
1555
+ },
1556
+ "node_modules/electron-to-chromium": {
1557
+ "version": "1.5.336",
1558
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.336.tgz",
1559
+ "integrity": "sha512-AbH9q9J455r/nLmdNZes0G0ZKcRX73FicwowalLs6ijwOmCJSRRrLX63lcAlzy9ux3dWK1w1+1nsBJEWN11hcQ==",
1560
+ "dev": true,
1561
+ "license": "ISC"
1562
+ },
1563
+ "node_modules/es-errors": {
1564
+ "version": "1.3.0",
1565
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
1566
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
1567
+ "dev": true,
1568
+ "license": "MIT",
1569
+ "engines": {
1570
+ "node": ">= 0.4"
1571
+ }
1572
+ },
1573
+ "node_modules/esbuild": {
1574
+ "version": "0.21.5",
1575
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
1576
+ "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
1577
+ "dev": true,
1578
+ "hasInstallScript": true,
1579
+ "license": "MIT",
1580
+ "bin": {
1581
+ "esbuild": "bin/esbuild"
1582
+ },
1583
+ "engines": {
1584
+ "node": ">=12"
1585
+ },
1586
+ "optionalDependencies": {
1587
+ "@esbuild/aix-ppc64": "0.21.5",
1588
+ "@esbuild/android-arm": "0.21.5",
1589
+ "@esbuild/android-arm64": "0.21.5",
1590
+ "@esbuild/android-x64": "0.21.5",
1591
+ "@esbuild/darwin-arm64": "0.21.5",
1592
+ "@esbuild/darwin-x64": "0.21.5",
1593
+ "@esbuild/freebsd-arm64": "0.21.5",
1594
+ "@esbuild/freebsd-x64": "0.21.5",
1595
+ "@esbuild/linux-arm": "0.21.5",
1596
+ "@esbuild/linux-arm64": "0.21.5",
1597
+ "@esbuild/linux-ia32": "0.21.5",
1598
+ "@esbuild/linux-loong64": "0.21.5",
1599
+ "@esbuild/linux-mips64el": "0.21.5",
1600
+ "@esbuild/linux-ppc64": "0.21.5",
1601
+ "@esbuild/linux-riscv64": "0.21.5",
1602
+ "@esbuild/linux-s390x": "0.21.5",
1603
+ "@esbuild/linux-x64": "0.21.5",
1604
+ "@esbuild/netbsd-x64": "0.21.5",
1605
+ "@esbuild/openbsd-x64": "0.21.5",
1606
+ "@esbuild/sunos-x64": "0.21.5",
1607
+ "@esbuild/win32-arm64": "0.21.5",
1608
+ "@esbuild/win32-ia32": "0.21.5",
1609
+ "@esbuild/win32-x64": "0.21.5"
1610
+ }
1611
+ },
1612
+ "node_modules/escalade": {
1613
+ "version": "3.2.0",
1614
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
1615
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
1616
+ "dev": true,
1617
+ "license": "MIT",
1618
+ "engines": {
1619
+ "node": ">=6"
1620
+ }
1621
+ },
1622
+ "node_modules/fast-glob": {
1623
+ "version": "3.3.3",
1624
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
1625
+ "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
1626
+ "dev": true,
1627
+ "license": "MIT",
1628
+ "dependencies": {
1629
+ "@nodelib/fs.stat": "^2.0.2",
1630
+ "@nodelib/fs.walk": "^1.2.3",
1631
+ "glob-parent": "^5.1.2",
1632
+ "merge2": "^1.3.0",
1633
+ "micromatch": "^4.0.8"
1634
+ },
1635
+ "engines": {
1636
+ "node": ">=8.6.0"
1637
+ }
1638
+ },
1639
+ "node_modules/fast-glob/node_modules/glob-parent": {
1640
+ "version": "5.1.2",
1641
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
1642
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
1643
+ "dev": true,
1644
+ "license": "ISC",
1645
+ "dependencies": {
1646
+ "is-glob": "^4.0.1"
1647
+ },
1648
+ "engines": {
1649
+ "node": ">= 6"
1650
+ }
1651
+ },
1652
+ "node_modules/fastq": {
1653
+ "version": "1.20.1",
1654
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz",
1655
+ "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==",
1656
+ "dev": true,
1657
+ "license": "ISC",
1658
+ "dependencies": {
1659
+ "reusify": "^1.0.4"
1660
+ }
1661
+ },
1662
+ "node_modules/fill-range": {
1663
+ "version": "7.1.1",
1664
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
1665
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
1666
+ "dev": true,
1667
+ "license": "MIT",
1668
+ "dependencies": {
1669
+ "to-regex-range": "^5.0.1"
1670
+ },
1671
+ "engines": {
1672
+ "node": ">=8"
1673
+ }
1674
+ },
1675
+ "node_modules/fraction.js": {
1676
+ "version": "5.3.4",
1677
+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz",
1678
+ "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==",
1679
+ "dev": true,
1680
+ "license": "MIT",
1681
+ "engines": {
1682
+ "node": "*"
1683
+ },
1684
+ "funding": {
1685
+ "type": "github",
1686
+ "url": "https://github.com/sponsors/rawify"
1687
+ }
1688
+ },
1689
+ "node_modules/fsevents": {
1690
+ "version": "2.3.3",
1691
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
1692
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
1693
+ "dev": true,
1694
+ "hasInstallScript": true,
1695
+ "license": "MIT",
1696
+ "optional": true,
1697
+ "os": [
1698
+ "darwin"
1699
+ ],
1700
+ "engines": {
1701
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1702
+ }
1703
+ },
1704
+ "node_modules/function-bind": {
1705
+ "version": "1.1.2",
1706
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
1707
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
1708
+ "dev": true,
1709
+ "license": "MIT",
1710
+ "funding": {
1711
+ "url": "https://github.com/sponsors/ljharb"
1712
+ }
1713
+ },
1714
+ "node_modules/gensync": {
1715
+ "version": "1.0.0-beta.2",
1716
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
1717
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
1718
+ "dev": true,
1719
+ "license": "MIT",
1720
+ "engines": {
1721
+ "node": ">=6.9.0"
1722
+ }
1723
+ },
1724
+ "node_modules/glob-parent": {
1725
+ "version": "6.0.2",
1726
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
1727
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
1728
+ "dev": true,
1729
+ "license": "ISC",
1730
+ "dependencies": {
1731
+ "is-glob": "^4.0.3"
1732
+ },
1733
+ "engines": {
1734
+ "node": ">=10.13.0"
1735
+ }
1736
+ },
1737
+ "node_modules/hasown": {
1738
+ "version": "2.0.2",
1739
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
1740
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
1741
+ "dev": true,
1742
+ "license": "MIT",
1743
+ "dependencies": {
1744
+ "function-bind": "^1.1.2"
1745
+ },
1746
+ "engines": {
1747
+ "node": ">= 0.4"
1748
+ }
1749
+ },
1750
+ "node_modules/is-binary-path": {
1751
+ "version": "2.1.0",
1752
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
1753
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
1754
+ "dev": true,
1755
+ "license": "MIT",
1756
+ "dependencies": {
1757
+ "binary-extensions": "^2.0.0"
1758
+ },
1759
+ "engines": {
1760
+ "node": ">=8"
1761
+ }
1762
+ },
1763
+ "node_modules/is-core-module": {
1764
+ "version": "2.16.1",
1765
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
1766
+ "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
1767
+ "dev": true,
1768
+ "license": "MIT",
1769
+ "dependencies": {
1770
+ "hasown": "^2.0.2"
1771
+ },
1772
+ "engines": {
1773
+ "node": ">= 0.4"
1774
+ },
1775
+ "funding": {
1776
+ "url": "https://github.com/sponsors/ljharb"
1777
+ }
1778
+ },
1779
+ "node_modules/is-extglob": {
1780
+ "version": "2.1.1",
1781
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1782
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
1783
+ "dev": true,
1784
+ "license": "MIT",
1785
+ "engines": {
1786
+ "node": ">=0.10.0"
1787
+ }
1788
+ },
1789
+ "node_modules/is-glob": {
1790
+ "version": "4.0.3",
1791
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
1792
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
1793
+ "dev": true,
1794
+ "license": "MIT",
1795
+ "dependencies": {
1796
+ "is-extglob": "^2.1.1"
1797
+ },
1798
+ "engines": {
1799
+ "node": ">=0.10.0"
1800
+ }
1801
+ },
1802
+ "node_modules/is-number": {
1803
+ "version": "7.0.0",
1804
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
1805
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1806
+ "dev": true,
1807
+ "license": "MIT",
1808
+ "engines": {
1809
+ "node": ">=0.12.0"
1810
+ }
1811
+ },
1812
+ "node_modules/jiti": {
1813
+ "version": "1.21.7",
1814
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz",
1815
+ "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==",
1816
+ "dev": true,
1817
+ "license": "MIT",
1818
+ "bin": {
1819
+ "jiti": "bin/jiti.js"
1820
+ }
1821
+ },
1822
+ "node_modules/js-tokens": {
1823
+ "version": "4.0.0",
1824
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
1825
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
1826
+ "license": "MIT"
1827
+ },
1828
+ "node_modules/jsesc": {
1829
+ "version": "3.1.0",
1830
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
1831
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
1832
+ "dev": true,
1833
+ "license": "MIT",
1834
+ "bin": {
1835
+ "jsesc": "bin/jsesc"
1836
+ },
1837
+ "engines": {
1838
+ "node": ">=6"
1839
+ }
1840
+ },
1841
+ "node_modules/json5": {
1842
+ "version": "2.2.3",
1843
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
1844
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
1845
+ "dev": true,
1846
+ "license": "MIT",
1847
+ "bin": {
1848
+ "json5": "lib/cli.js"
1849
+ },
1850
+ "engines": {
1851
+ "node": ">=6"
1852
+ }
1853
+ },
1854
+ "node_modules/lilconfig": {
1855
+ "version": "3.1.3",
1856
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz",
1857
+ "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==",
1858
+ "dev": true,
1859
+ "license": "MIT",
1860
+ "engines": {
1861
+ "node": ">=14"
1862
+ },
1863
+ "funding": {
1864
+ "url": "https://github.com/sponsors/antonk52"
1865
+ }
1866
+ },
1867
+ "node_modules/lines-and-columns": {
1868
+ "version": "1.2.4",
1869
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
1870
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
1871
+ "dev": true,
1872
+ "license": "MIT"
1873
+ },
1874
+ "node_modules/loose-envify": {
1875
+ "version": "1.4.0",
1876
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
1877
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
1878
+ "license": "MIT",
1879
+ "dependencies": {
1880
+ "js-tokens": "^3.0.0 || ^4.0.0"
1881
+ },
1882
+ "bin": {
1883
+ "loose-envify": "cli.js"
1884
+ }
1885
+ },
1886
+ "node_modules/lru-cache": {
1887
+ "version": "5.1.1",
1888
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
1889
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
1890
+ "dev": true,
1891
+ "license": "ISC",
1892
+ "dependencies": {
1893
+ "yallist": "^3.0.2"
1894
+ }
1895
+ },
1896
+ "node_modules/merge2": {
1897
+ "version": "1.4.1",
1898
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
1899
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
1900
+ "dev": true,
1901
+ "license": "MIT",
1902
+ "engines": {
1903
+ "node": ">= 8"
1904
+ }
1905
+ },
1906
+ "node_modules/micromatch": {
1907
+ "version": "4.0.8",
1908
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
1909
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
1910
+ "dev": true,
1911
+ "license": "MIT",
1912
+ "dependencies": {
1913
+ "braces": "^3.0.3",
1914
+ "picomatch": "^2.3.1"
1915
+ },
1916
+ "engines": {
1917
+ "node": ">=8.6"
1918
+ }
1919
+ },
1920
+ "node_modules/ms": {
1921
+ "version": "2.1.3",
1922
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1923
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
1924
+ "dev": true,
1925
+ "license": "MIT"
1926
+ },
1927
+ "node_modules/mz": {
1928
+ "version": "2.7.0",
1929
+ "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
1930
+ "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
1931
+ "dev": true,
1932
+ "license": "MIT",
1933
+ "dependencies": {
1934
+ "any-promise": "^1.0.0",
1935
+ "object-assign": "^4.0.1",
1936
+ "thenify-all": "^1.0.0"
1937
+ }
1938
+ },
1939
+ "node_modules/nanoid": {
1940
+ "version": "3.3.11",
1941
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
1942
+ "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
1943
+ "dev": true,
1944
+ "funding": [
1945
+ {
1946
+ "type": "github",
1947
+ "url": "https://github.com/sponsors/ai"
1948
+ }
1949
+ ],
1950
+ "license": "MIT",
1951
+ "bin": {
1952
+ "nanoid": "bin/nanoid.cjs"
1953
+ },
1954
+ "engines": {
1955
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
1956
+ }
1957
+ },
1958
+ "node_modules/node-releases": {
1959
+ "version": "2.0.37",
1960
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.37.tgz",
1961
+ "integrity": "sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==",
1962
+ "dev": true,
1963
+ "license": "MIT"
1964
+ },
1965
+ "node_modules/normalize-path": {
1966
+ "version": "3.0.0",
1967
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
1968
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
1969
+ "dev": true,
1970
+ "license": "MIT",
1971
+ "engines": {
1972
+ "node": ">=0.10.0"
1973
+ }
1974
+ },
1975
+ "node_modules/object-assign": {
1976
+ "version": "4.1.1",
1977
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
1978
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
1979
+ "dev": true,
1980
+ "license": "MIT",
1981
+ "engines": {
1982
+ "node": ">=0.10.0"
1983
+ }
1984
+ },
1985
+ "node_modules/object-hash": {
1986
+ "version": "3.0.0",
1987
+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
1988
+ "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
1989
+ "dev": true,
1990
+ "license": "MIT",
1991
+ "engines": {
1992
+ "node": ">= 6"
1993
+ }
1994
+ },
1995
+ "node_modules/openseadragon": {
1996
+ "version": "4.1.1",
1997
+ "resolved": "https://registry.npmjs.org/openseadragon/-/openseadragon-4.1.1.tgz",
1998
+ "integrity": "sha512-owU9gsasAcobLN+LM8lN58Xc2VDSDotY9mkrwS/NB6g9KX/PcusV4RZvhHng2RF/Q0pMziwldf62glwXoGnuzg==",
1999
+ "license": "BSD-3-Clause",
2000
+ "funding": {
2001
+ "url": "https://opencollective.com/openseadragon"
2002
+ }
2003
+ },
2004
+ "node_modules/path-parse": {
2005
+ "version": "1.0.7",
2006
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
2007
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
2008
+ "dev": true,
2009
+ "license": "MIT"
2010
+ },
2011
+ "node_modules/picocolors": {
2012
+ "version": "1.1.1",
2013
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
2014
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
2015
+ "dev": true,
2016
+ "license": "ISC"
2017
+ },
2018
+ "node_modules/picomatch": {
2019
+ "version": "2.3.2",
2020
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
2021
+ "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
2022
+ "dev": true,
2023
+ "license": "MIT",
2024
+ "engines": {
2025
+ "node": ">=8.6"
2026
+ },
2027
+ "funding": {
2028
+ "url": "https://github.com/sponsors/jonschlinkert"
2029
+ }
2030
+ },
2031
+ "node_modules/pify": {
2032
+ "version": "2.3.0",
2033
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
2034
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
2035
+ "dev": true,
2036
+ "license": "MIT",
2037
+ "engines": {
2038
+ "node": ">=0.10.0"
2039
+ }
2040
+ },
2041
+ "node_modules/pirates": {
2042
+ "version": "4.0.7",
2043
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz",
2044
+ "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==",
2045
+ "dev": true,
2046
+ "license": "MIT",
2047
+ "engines": {
2048
+ "node": ">= 6"
2049
+ }
2050
+ },
2051
+ "node_modules/postcss": {
2052
+ "version": "8.5.9",
2053
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.9.tgz",
2054
+ "integrity": "sha512-7a70Nsot+EMX9fFU3064K/kdHWZqGVY+BADLyXc8Dfv+mTLLVl6JzJpPaCZ2kQL9gIJvKXSLMHhqdRRjwQeFtw==",
2055
+ "dev": true,
2056
+ "funding": [
2057
+ {
2058
+ "type": "opencollective",
2059
+ "url": "https://opencollective.com/postcss/"
2060
+ },
2061
+ {
2062
+ "type": "tidelift",
2063
+ "url": "https://tidelift.com/funding/github/npm/postcss"
2064
+ },
2065
+ {
2066
+ "type": "github",
2067
+ "url": "https://github.com/sponsors/ai"
2068
+ }
2069
+ ],
2070
+ "license": "MIT",
2071
+ "dependencies": {
2072
+ "nanoid": "^3.3.11",
2073
+ "picocolors": "^1.1.1",
2074
+ "source-map-js": "^1.2.1"
2075
+ },
2076
+ "engines": {
2077
+ "node": "^10 || ^12 || >=14"
2078
+ }
2079
+ },
2080
+ "node_modules/postcss-import": {
2081
+ "version": "15.1.0",
2082
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
2083
+ "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
2084
+ "dev": true,
2085
+ "license": "MIT",
2086
+ "dependencies": {
2087
+ "postcss-value-parser": "^4.0.0",
2088
+ "read-cache": "^1.0.0",
2089
+ "resolve": "^1.1.7"
2090
+ },
2091
+ "engines": {
2092
+ "node": ">=14.0.0"
2093
+ },
2094
+ "peerDependencies": {
2095
+ "postcss": "^8.0.0"
2096
+ }
2097
+ },
2098
+ "node_modules/postcss-js": {
2099
+ "version": "4.1.0",
2100
+ "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz",
2101
+ "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==",
2102
+ "dev": true,
2103
+ "funding": [
2104
+ {
2105
+ "type": "opencollective",
2106
+ "url": "https://opencollective.com/postcss/"
2107
+ },
2108
+ {
2109
+ "type": "github",
2110
+ "url": "https://github.com/sponsors/ai"
2111
+ }
2112
+ ],
2113
+ "license": "MIT",
2114
+ "dependencies": {
2115
+ "camelcase-css": "^2.0.1"
2116
+ },
2117
+ "engines": {
2118
+ "node": "^12 || ^14 || >= 16"
2119
+ },
2120
+ "peerDependencies": {
2121
+ "postcss": "^8.4.21"
2122
+ }
2123
+ },
2124
+ "node_modules/postcss-load-config": {
2125
+ "version": "6.0.1",
2126
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz",
2127
+ "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==",
2128
+ "dev": true,
2129
+ "funding": [
2130
+ {
2131
+ "type": "opencollective",
2132
+ "url": "https://opencollective.com/postcss/"
2133
+ },
2134
+ {
2135
+ "type": "github",
2136
+ "url": "https://github.com/sponsors/ai"
2137
+ }
2138
+ ],
2139
+ "license": "MIT",
2140
+ "dependencies": {
2141
+ "lilconfig": "^3.1.1"
2142
+ },
2143
+ "engines": {
2144
+ "node": ">= 18"
2145
+ },
2146
+ "peerDependencies": {
2147
+ "jiti": ">=1.21.0",
2148
+ "postcss": ">=8.0.9",
2149
+ "tsx": "^4.8.1",
2150
+ "yaml": "^2.4.2"
2151
+ },
2152
+ "peerDependenciesMeta": {
2153
+ "jiti": {
2154
+ "optional": true
2155
+ },
2156
+ "postcss": {
2157
+ "optional": true
2158
+ },
2159
+ "tsx": {
2160
+ "optional": true
2161
+ },
2162
+ "yaml": {
2163
+ "optional": true
2164
+ }
2165
+ }
2166
+ },
2167
+ "node_modules/postcss-nested": {
2168
+ "version": "6.2.0",
2169
+ "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz",
2170
+ "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==",
2171
+ "dev": true,
2172
+ "funding": [
2173
+ {
2174
+ "type": "opencollective",
2175
+ "url": "https://opencollective.com/postcss/"
2176
+ },
2177
+ {
2178
+ "type": "github",
2179
+ "url": "https://github.com/sponsors/ai"
2180
+ }
2181
+ ],
2182
+ "license": "MIT",
2183
+ "dependencies": {
2184
+ "postcss-selector-parser": "^6.1.1"
2185
+ },
2186
+ "engines": {
2187
+ "node": ">=12.0"
2188
+ },
2189
+ "peerDependencies": {
2190
+ "postcss": "^8.2.14"
2191
+ }
2192
+ },
2193
+ "node_modules/postcss-selector-parser": {
2194
+ "version": "6.1.2",
2195
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
2196
+ "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
2197
+ "dev": true,
2198
+ "license": "MIT",
2199
+ "dependencies": {
2200
+ "cssesc": "^3.0.0",
2201
+ "util-deprecate": "^1.0.2"
2202
+ },
2203
+ "engines": {
2204
+ "node": ">=4"
2205
+ }
2206
+ },
2207
+ "node_modules/postcss-value-parser": {
2208
+ "version": "4.2.0",
2209
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
2210
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
2211
+ "dev": true,
2212
+ "license": "MIT"
2213
+ },
2214
+ "node_modules/queue-microtask": {
2215
+ "version": "1.2.3",
2216
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
2217
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
2218
+ "dev": true,
2219
+ "funding": [
2220
+ {
2221
+ "type": "github",
2222
+ "url": "https://github.com/sponsors/feross"
2223
+ },
2224
+ {
2225
+ "type": "patreon",
2226
+ "url": "https://www.patreon.com/feross"
2227
+ },
2228
+ {
2229
+ "type": "consulting",
2230
+ "url": "https://feross.org/support"
2231
+ }
2232
+ ],
2233
+ "license": "MIT"
2234
+ },
2235
+ "node_modules/react": {
2236
+ "version": "18.3.1",
2237
+ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
2238
+ "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
2239
+ "license": "MIT",
2240
+ "dependencies": {
2241
+ "loose-envify": "^1.1.0"
2242
+ },
2243
+ "engines": {
2244
+ "node": ">=0.10.0"
2245
+ }
2246
+ },
2247
+ "node_modules/react-dom": {
2248
+ "version": "18.3.1",
2249
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
2250
+ "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
2251
+ "license": "MIT",
2252
+ "dependencies": {
2253
+ "loose-envify": "^1.1.0",
2254
+ "scheduler": "^0.23.2"
2255
+ },
2256
+ "peerDependencies": {
2257
+ "react": "^18.3.1"
2258
+ }
2259
+ },
2260
+ "node_modules/react-refresh": {
2261
+ "version": "0.17.0",
2262
+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz",
2263
+ "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==",
2264
+ "dev": true,
2265
+ "license": "MIT",
2266
+ "engines": {
2267
+ "node": ">=0.10.0"
2268
+ }
2269
+ },
2270
+ "node_modules/react-router": {
2271
+ "version": "7.14.1",
2272
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.14.1.tgz",
2273
+ "integrity": "sha512-5BCvFskyAAVumqhEKh/iPhLOIkfxcEUz8WqFIARCkMg8hZZzDYX9CtwxXA0e+qT8zAxmMC0x3Ckb9iMONwc5jg==",
2274
+ "license": "MIT",
2275
+ "dependencies": {
2276
+ "cookie": "^1.0.1",
2277
+ "set-cookie-parser": "^2.6.0"
2278
+ },
2279
+ "engines": {
2280
+ "node": ">=20.0.0"
2281
+ },
2282
+ "peerDependencies": {
2283
+ "react": ">=18",
2284
+ "react-dom": ">=18"
2285
+ },
2286
+ "peerDependenciesMeta": {
2287
+ "react-dom": {
2288
+ "optional": true
2289
+ }
2290
+ }
2291
+ },
2292
+ "node_modules/react-router-dom": {
2293
+ "version": "7.14.1",
2294
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.14.1.tgz",
2295
+ "integrity": "sha512-ZkrQuwwhGibjQLqH1eCdyiZyLWglPxzxdl5tgwgKEyCSGC76vmAjleGocRe3J/MLfzMUIKwaFJWpFVJhK3d2xA==",
2296
+ "license": "MIT",
2297
+ "dependencies": {
2298
+ "react-router": "7.14.1"
2299
+ },
2300
+ "engines": {
2301
+ "node": ">=20.0.0"
2302
+ },
2303
+ "peerDependencies": {
2304
+ "react": ">=18",
2305
+ "react-dom": ">=18"
2306
+ }
2307
+ },
2308
+ "node_modules/read-cache": {
2309
+ "version": "1.0.0",
2310
+ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
2311
+ "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
2312
+ "dev": true,
2313
+ "license": "MIT",
2314
+ "dependencies": {
2315
+ "pify": "^2.3.0"
2316
+ }
2317
+ },
2318
+ "node_modules/readdirp": {
2319
+ "version": "3.6.0",
2320
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
2321
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
2322
+ "dev": true,
2323
+ "license": "MIT",
2324
+ "dependencies": {
2325
+ "picomatch": "^2.2.1"
2326
+ },
2327
+ "engines": {
2328
+ "node": ">=8.10.0"
2329
+ }
2330
+ },
2331
+ "node_modules/resolve": {
2332
+ "version": "1.22.12",
2333
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz",
2334
+ "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==",
2335
+ "dev": true,
2336
+ "license": "MIT",
2337
+ "dependencies": {
2338
+ "es-errors": "^1.3.0",
2339
+ "is-core-module": "^2.16.1",
2340
+ "path-parse": "^1.0.7",
2341
+ "supports-preserve-symlinks-flag": "^1.0.0"
2342
+ },
2343
+ "bin": {
2344
+ "resolve": "bin/resolve"
2345
+ },
2346
+ "engines": {
2347
+ "node": ">= 0.4"
2348
+ },
2349
+ "funding": {
2350
+ "url": "https://github.com/sponsors/ljharb"
2351
+ }
2352
+ },
2353
+ "node_modules/reusify": {
2354
+ "version": "1.1.0",
2355
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
2356
+ "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
2357
+ "dev": true,
2358
+ "license": "MIT",
2359
+ "engines": {
2360
+ "iojs": ">=1.0.0",
2361
+ "node": ">=0.10.0"
2362
+ }
2363
+ },
2364
+ "node_modules/rollup": {
2365
+ "version": "4.60.1",
2366
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.1.tgz",
2367
+ "integrity": "sha512-VmtB2rFU/GroZ4oL8+ZqXgSA38O6GR8KSIvWmEFv63pQ0G6KaBH9s07PO8XTXP4vI+3UJUEypOfjkGfmSBBR0w==",
2368
+ "dev": true,
2369
+ "license": "MIT",
2370
+ "dependencies": {
2371
+ "@types/estree": "1.0.8"
2372
+ },
2373
+ "bin": {
2374
+ "rollup": "dist/bin/rollup"
2375
+ },
2376
+ "engines": {
2377
+ "node": ">=18.0.0",
2378
+ "npm": ">=8.0.0"
2379
+ },
2380
+ "optionalDependencies": {
2381
+ "@rollup/rollup-android-arm-eabi": "4.60.1",
2382
+ "@rollup/rollup-android-arm64": "4.60.1",
2383
+ "@rollup/rollup-darwin-arm64": "4.60.1",
2384
+ "@rollup/rollup-darwin-x64": "4.60.1",
2385
+ "@rollup/rollup-freebsd-arm64": "4.60.1",
2386
+ "@rollup/rollup-freebsd-x64": "4.60.1",
2387
+ "@rollup/rollup-linux-arm-gnueabihf": "4.60.1",
2388
+ "@rollup/rollup-linux-arm-musleabihf": "4.60.1",
2389
+ "@rollup/rollup-linux-arm64-gnu": "4.60.1",
2390
+ "@rollup/rollup-linux-arm64-musl": "4.60.1",
2391
+ "@rollup/rollup-linux-loong64-gnu": "4.60.1",
2392
+ "@rollup/rollup-linux-loong64-musl": "4.60.1",
2393
+ "@rollup/rollup-linux-ppc64-gnu": "4.60.1",
2394
+ "@rollup/rollup-linux-ppc64-musl": "4.60.1",
2395
+ "@rollup/rollup-linux-riscv64-gnu": "4.60.1",
2396
+ "@rollup/rollup-linux-riscv64-musl": "4.60.1",
2397
+ "@rollup/rollup-linux-s390x-gnu": "4.60.1",
2398
+ "@rollup/rollup-linux-x64-gnu": "4.60.1",
2399
+ "@rollup/rollup-linux-x64-musl": "4.60.1",
2400
+ "@rollup/rollup-openbsd-x64": "4.60.1",
2401
+ "@rollup/rollup-openharmony-arm64": "4.60.1",
2402
+ "@rollup/rollup-win32-arm64-msvc": "4.60.1",
2403
+ "@rollup/rollup-win32-ia32-msvc": "4.60.1",
2404
+ "@rollup/rollup-win32-x64-gnu": "4.60.1",
2405
+ "@rollup/rollup-win32-x64-msvc": "4.60.1",
2406
+ "fsevents": "~2.3.2"
2407
+ }
2408
+ },
2409
+ "node_modules/run-parallel": {
2410
+ "version": "1.2.0",
2411
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
2412
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
2413
+ "dev": true,
2414
+ "funding": [
2415
+ {
2416
+ "type": "github",
2417
+ "url": "https://github.com/sponsors/feross"
2418
+ },
2419
+ {
2420
+ "type": "patreon",
2421
+ "url": "https://www.patreon.com/feross"
2422
+ },
2423
+ {
2424
+ "type": "consulting",
2425
+ "url": "https://feross.org/support"
2426
+ }
2427
+ ],
2428
+ "license": "MIT",
2429
+ "dependencies": {
2430
+ "queue-microtask": "^1.2.2"
2431
+ }
2432
+ },
2433
+ "node_modules/scheduler": {
2434
+ "version": "0.23.2",
2435
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
2436
+ "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
2437
+ "license": "MIT",
2438
+ "dependencies": {
2439
+ "loose-envify": "^1.1.0"
2440
+ }
2441
+ },
2442
+ "node_modules/semver": {
2443
+ "version": "6.3.1",
2444
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
2445
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
2446
+ "dev": true,
2447
+ "license": "ISC",
2448
+ "bin": {
2449
+ "semver": "bin/semver.js"
2450
+ }
2451
+ },
2452
+ "node_modules/set-cookie-parser": {
2453
+ "version": "2.7.2",
2454
+ "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz",
2455
+ "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==",
2456
+ "license": "MIT"
2457
+ },
2458
+ "node_modules/source-map-js": {
2459
+ "version": "1.2.1",
2460
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
2461
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
2462
+ "dev": true,
2463
+ "license": "BSD-3-Clause",
2464
+ "engines": {
2465
+ "node": ">=0.10.0"
2466
+ }
2467
+ },
2468
+ "node_modules/sucrase": {
2469
+ "version": "3.35.1",
2470
+ "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz",
2471
+ "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==",
2472
+ "dev": true,
2473
+ "license": "MIT",
2474
+ "dependencies": {
2475
+ "@jridgewell/gen-mapping": "^0.3.2",
2476
+ "commander": "^4.0.0",
2477
+ "lines-and-columns": "^1.1.6",
2478
+ "mz": "^2.7.0",
2479
+ "pirates": "^4.0.1",
2480
+ "tinyglobby": "^0.2.11",
2481
+ "ts-interface-checker": "^0.1.9"
2482
+ },
2483
+ "bin": {
2484
+ "sucrase": "bin/sucrase",
2485
+ "sucrase-node": "bin/sucrase-node"
2486
+ },
2487
+ "engines": {
2488
+ "node": ">=16 || 14 >=14.17"
2489
+ }
2490
+ },
2491
+ "node_modules/supports-preserve-symlinks-flag": {
2492
+ "version": "1.0.0",
2493
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
2494
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
2495
+ "dev": true,
2496
+ "license": "MIT",
2497
+ "engines": {
2498
+ "node": ">= 0.4"
2499
+ },
2500
+ "funding": {
2501
+ "url": "https://github.com/sponsors/ljharb"
2502
+ }
2503
+ },
2504
+ "node_modules/tailwindcss": {
2505
+ "version": "3.4.19",
2506
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.19.tgz",
2507
+ "integrity": "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==",
2508
+ "dev": true,
2509
+ "license": "MIT",
2510
+ "dependencies": {
2511
+ "@alloc/quick-lru": "^5.2.0",
2512
+ "arg": "^5.0.2",
2513
+ "chokidar": "^3.6.0",
2514
+ "didyoumean": "^1.2.2",
2515
+ "dlv": "^1.1.3",
2516
+ "fast-glob": "^3.3.2",
2517
+ "glob-parent": "^6.0.2",
2518
+ "is-glob": "^4.0.3",
2519
+ "jiti": "^1.21.7",
2520
+ "lilconfig": "^3.1.3",
2521
+ "micromatch": "^4.0.8",
2522
+ "normalize-path": "^3.0.0",
2523
+ "object-hash": "^3.0.0",
2524
+ "picocolors": "^1.1.1",
2525
+ "postcss": "^8.4.47",
2526
+ "postcss-import": "^15.1.0",
2527
+ "postcss-js": "^4.0.1",
2528
+ "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0",
2529
+ "postcss-nested": "^6.2.0",
2530
+ "postcss-selector-parser": "^6.1.2",
2531
+ "resolve": "^1.22.8",
2532
+ "sucrase": "^3.35.0"
2533
+ },
2534
+ "bin": {
2535
+ "tailwind": "lib/cli.js",
2536
+ "tailwindcss": "lib/cli.js"
2537
+ },
2538
+ "engines": {
2539
+ "node": ">=14.0.0"
2540
+ }
2541
+ },
2542
+ "node_modules/thenify": {
2543
+ "version": "3.3.1",
2544
+ "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
2545
+ "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
2546
+ "dev": true,
2547
+ "license": "MIT",
2548
+ "dependencies": {
2549
+ "any-promise": "^1.0.0"
2550
+ }
2551
+ },
2552
+ "node_modules/thenify-all": {
2553
+ "version": "1.6.0",
2554
+ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
2555
+ "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
2556
+ "dev": true,
2557
+ "license": "MIT",
2558
+ "dependencies": {
2559
+ "thenify": ">= 3.1.0 < 4"
2560
+ },
2561
+ "engines": {
2562
+ "node": ">=0.8"
2563
+ }
2564
+ },
2565
+ "node_modules/tinyglobby": {
2566
+ "version": "0.2.16",
2567
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz",
2568
+ "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==",
2569
+ "dev": true,
2570
+ "license": "MIT",
2571
+ "dependencies": {
2572
+ "fdir": "^6.5.0",
2573
+ "picomatch": "^4.0.4"
2574
+ },
2575
+ "engines": {
2576
+ "node": ">=12.0.0"
2577
+ },
2578
+ "funding": {
2579
+ "url": "https://github.com/sponsors/SuperchupuDev"
2580
+ }
2581
+ },
2582
+ "node_modules/tinyglobby/node_modules/fdir": {
2583
+ "version": "6.5.0",
2584
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
2585
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
2586
+ "dev": true,
2587
+ "license": "MIT",
2588
+ "engines": {
2589
+ "node": ">=12.0.0"
2590
+ },
2591
+ "peerDependencies": {
2592
+ "picomatch": "^3 || ^4"
2593
+ },
2594
+ "peerDependenciesMeta": {
2595
+ "picomatch": {
2596
+ "optional": true
2597
+ }
2598
+ }
2599
+ },
2600
+ "node_modules/tinyglobby/node_modules/picomatch": {
2601
+ "version": "4.0.4",
2602
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
2603
+ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
2604
+ "dev": true,
2605
+ "license": "MIT",
2606
+ "engines": {
2607
+ "node": ">=12"
2608
+ },
2609
+ "funding": {
2610
+ "url": "https://github.com/sponsors/jonschlinkert"
2611
+ }
2612
+ },
2613
+ "node_modules/to-regex-range": {
2614
+ "version": "5.0.1",
2615
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
2616
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
2617
+ "dev": true,
2618
+ "license": "MIT",
2619
+ "dependencies": {
2620
+ "is-number": "^7.0.0"
2621
+ },
2622
+ "engines": {
2623
+ "node": ">=8.0"
2624
+ }
2625
+ },
2626
+ "node_modules/ts-interface-checker": {
2627
+ "version": "0.1.13",
2628
+ "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
2629
+ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
2630
+ "dev": true,
2631
+ "license": "Apache-2.0"
2632
+ },
2633
+ "node_modules/typescript": {
2634
+ "version": "5.9.3",
2635
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
2636
+ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
2637
+ "dev": true,
2638
+ "license": "Apache-2.0",
2639
+ "bin": {
2640
+ "tsc": "bin/tsc",
2641
+ "tsserver": "bin/tsserver"
2642
+ },
2643
+ "engines": {
2644
+ "node": ">=14.17"
2645
+ }
2646
+ },
2647
+ "node_modules/update-browserslist-db": {
2648
+ "version": "1.2.3",
2649
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
2650
+ "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==",
2651
+ "dev": true,
2652
+ "funding": [
2653
+ {
2654
+ "type": "opencollective",
2655
+ "url": "https://opencollective.com/browserslist"
2656
+ },
2657
+ {
2658
+ "type": "tidelift",
2659
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
2660
+ },
2661
+ {
2662
+ "type": "github",
2663
+ "url": "https://github.com/sponsors/ai"
2664
+ }
2665
+ ],
2666
+ "license": "MIT",
2667
+ "dependencies": {
2668
+ "escalade": "^3.2.0",
2669
+ "picocolors": "^1.1.1"
2670
+ },
2671
+ "bin": {
2672
+ "update-browserslist-db": "cli.js"
2673
+ },
2674
+ "peerDependencies": {
2675
+ "browserslist": ">= 4.21.0"
2676
+ }
2677
+ },
2678
+ "node_modules/util-deprecate": {
2679
+ "version": "1.0.2",
2680
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
2681
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
2682
+ "dev": true,
2683
+ "license": "MIT"
2684
+ },
2685
+ "node_modules/vite": {
2686
+ "version": "5.4.21",
2687
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz",
2688
+ "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==",
2689
+ "dev": true,
2690
+ "license": "MIT",
2691
+ "dependencies": {
2692
+ "esbuild": "^0.21.3",
2693
+ "postcss": "^8.4.43",
2694
+ "rollup": "^4.20.0"
2695
+ },
2696
+ "bin": {
2697
+ "vite": "bin/vite.js"
2698
+ },
2699
+ "engines": {
2700
+ "node": "^18.0.0 || >=20.0.0"
2701
+ },
2702
+ "funding": {
2703
+ "url": "https://github.com/vitejs/vite?sponsor=1"
2704
+ },
2705
+ "optionalDependencies": {
2706
+ "fsevents": "~2.3.3"
2707
+ },
2708
+ "peerDependencies": {
2709
+ "@types/node": "^18.0.0 || >=20.0.0",
2710
+ "less": "*",
2711
+ "lightningcss": "^1.21.0",
2712
+ "sass": "*",
2713
+ "sass-embedded": "*",
2714
+ "stylus": "*",
2715
+ "sugarss": "*",
2716
+ "terser": "^5.4.0"
2717
+ },
2718
+ "peerDependenciesMeta": {
2719
+ "@types/node": {
2720
+ "optional": true
2721
+ },
2722
+ "less": {
2723
+ "optional": true
2724
+ },
2725
+ "lightningcss": {
2726
+ "optional": true
2727
+ },
2728
+ "sass": {
2729
+ "optional": true
2730
+ },
2731
+ "sass-embedded": {
2732
+ "optional": true
2733
+ },
2734
+ "stylus": {
2735
+ "optional": true
2736
+ },
2737
+ "sugarss": {
2738
+ "optional": true
2739
+ },
2740
+ "terser": {
2741
+ "optional": true
2742
+ }
2743
+ }
2744
+ },
2745
+ "node_modules/yallist": {
2746
+ "version": "3.1.1",
2747
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
2748
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
2749
+ "dev": true,
2750
+ "license": "ISC"
2751
+ }
2752
+ }
2753
+ }