From 407c15299fd7d12ae7c34ae7359c61ee220a7860 Mon Sep 17 00:00:00 2001 From: Igor Monadical Date: Tue, 6 Jan 2026 17:25:02 -0500 Subject: [PATCH] docs: docs website + installation (#778) * feat: WIP doc (vibe started and iterated) * install from scratch docs * caddyfile.example * gitignore * authentik script * authentik script * authentik script * llm doc * authentik ongoing * more daily setup logs * doc website * gpu self hosted setup guide (no-mistakes) * doc review round * doc review round * doc review round * update doc site sidebars * feat(docs): add mermaid diagram support * docs polishing * live pipeline doc * move pipeline dev docs to dev docs location * doc pr review iteration * dockerfile healthcheck * docs/pr-comments * remove jwt comment * llm suggestion * pr comments * pr comments * document auto migrations * cleanup docs --------- Co-authored-by: Mathieu Virbel Co-authored-by: Igor Loskutov --- .gitignore | 2 + .gitleaksignore | 4 + Caddyfile.example | 22 + docker-compose.prod.yml | 102 +- docs/.gitignore | 20 + docs/Dockerfile | 39 + docs/README.md | 41 + docs/TODO.md | 48 + docs/create-docs.sh | 777 + docs/docs/concepts/modes.md | 115 + docs/docs/concepts/overview.md | 201 + docs/docs/concepts/pipeline.md | 183 + docs/docs/installation/auth-setup.md | 285 + docs/docs/installation/daily-setup.md | 165 + docs/docs/installation/docker-setup.md | 192 + docs/docs/installation/docs-deployment.md | 139 + docs/docs/installation/modal-setup.md | 171 + docs/docs/installation/overview.md | 411 + docs/docs/installation/requirements.md | 63 + .../installation/self-hosted-gpu-setup.md | 307 + docs/docs/intro.md | 61 + docs/docs/pipelines/file-pipeline.md | 83 + docs/docs/reference/api.md | 28 + docs/docs/roadmap.md | 112 + docs/docusaurus.config.ts | 163 + docs/package-lock.json | 23526 ++++++++++++++++ docs/package.json | 53 + docs/scripts/fetch-openapi.sh | 115 + docs/sidebars.ts | 95 + .../src/components/HomepageFeatures/index.tsx | 70 + .../HomepageFeatures/styles.module.css | 11 + docs/src/css/custom.css | 46 + docs/src/pages/index.module.css | 23 + docs/src/pages/index.tsx | 7 + docs/src/pages/markdown-page.md | 7 + docs/static/.nojekyll | 0 docs/static/img/docusaurus-social-card.jpg | 0 docs/static/img/docusaurus.png | 0 docs/static/img/favicon.ico | 0 docs/static/img/logo.svg | 17 + docs/static/img/reflector-logo.svg | 17 + docs/static/img/reflector-transcript-view.png | Bin 0 -> 537332 bytes .../static/img/undraw_docusaurus_mountain.svg | 171 + docs/static/img/undraw_docusaurus_react.svg | 170 + docs/static/img/undraw_docusaurus_tree.svg | 40 + docs/static/openapi.json | 3456 +++ docs/tsconfig.json | 8 + gpu/modal_deployments/deploy-all.sh | 150 + gpu/modal_deployments/reflector_diarizer.py | 12 +- .../reflector_transcriber.py | 26 + .../reflector_transcriber_parakeet.py | 13 + gpu/modal_deployments/reflector_translator.py | 3 +- gpu/self_hosted/DEV_SETUP.md | 137 + gpu/self_hosted/README.md | 8 +- gpu/self_hosted/app/services/transcriber.py | 9 + gpu/self_hosted/app/utils.py | 8 + gpu/self_hosted/compose.yml | 8 + scripts/setup-authentik-oauth.sh | 258 + server/{env.example => .env.example} | 53 +- server/docs/daily_pipeline.md | 421 + server/reflector/settings.py | 7 +- 61 files changed, 32653 insertions(+), 26 deletions(-) create mode 100644 Caddyfile.example create mode 100644 docs/.gitignore create mode 100644 docs/Dockerfile create mode 100644 docs/README.md create mode 100644 docs/TODO.md create mode 100755 docs/create-docs.sh create mode 100644 docs/docs/concepts/modes.md create mode 100644 docs/docs/concepts/overview.md create mode 100644 docs/docs/concepts/pipeline.md create mode 100644 docs/docs/installation/auth-setup.md create mode 100644 docs/docs/installation/daily-setup.md create mode 100644 docs/docs/installation/docker-setup.md create mode 100644 docs/docs/installation/docs-deployment.md create mode 100644 docs/docs/installation/modal-setup.md create mode 100644 docs/docs/installation/overview.md create mode 100644 docs/docs/installation/requirements.md create mode 100644 docs/docs/installation/self-hosted-gpu-setup.md create mode 100644 docs/docs/intro.md create mode 100644 docs/docs/pipelines/file-pipeline.md create mode 100644 docs/docs/reference/api.md create mode 100644 docs/docs/roadmap.md create mode 100644 docs/docusaurus.config.ts create mode 100644 docs/package-lock.json create mode 100644 docs/package.json create mode 100755 docs/scripts/fetch-openapi.sh create mode 100644 docs/sidebars.ts create mode 100644 docs/src/components/HomepageFeatures/index.tsx create mode 100644 docs/src/components/HomepageFeatures/styles.module.css create mode 100644 docs/src/css/custom.css create mode 100644 docs/src/pages/index.module.css create mode 100644 docs/src/pages/index.tsx create mode 100644 docs/src/pages/markdown-page.md create mode 100644 docs/static/.nojekyll create mode 100644 docs/static/img/docusaurus-social-card.jpg create mode 100644 docs/static/img/docusaurus.png create mode 100644 docs/static/img/favicon.ico create mode 100644 docs/static/img/logo.svg create mode 100644 docs/static/img/reflector-logo.svg create mode 100644 docs/static/img/reflector-transcript-view.png create mode 100644 docs/static/img/undraw_docusaurus_mountain.svg create mode 100644 docs/static/img/undraw_docusaurus_react.svg create mode 100644 docs/static/img/undraw_docusaurus_tree.svg create mode 100644 docs/static/openapi.json create mode 100644 docs/tsconfig.json create mode 100755 gpu/modal_deployments/deploy-all.sh create mode 100644 gpu/self_hosted/DEV_SETUP.md create mode 100755 scripts/setup-authentik-oauth.sh rename server/{env.example => .env.example} (65%) create mode 100644 server/docs/daily_pipeline.md diff --git a/.gitignore b/.gitignore index 0d2121b4..ee3feb73 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ .DS_Store server/.env .env +Caddyfile server/exportdanswer .vercel .env*.local @@ -18,4 +19,5 @@ CLAUDE.local.md www/.env.development www/.env.production .playwright-mcp +docs/pnpm-lock.yaml .secrets diff --git a/.gitleaksignore b/.gitleaksignore index a883e62c..8eb80bd5 100644 --- a/.gitleaksignore +++ b/.gitleaksignore @@ -1 +1,5 @@ b9d891d3424f371642cb032ecfd0e2564470a72c:server/tests/test_transcripts_recording_deletion.py:generic-api-key:15 +docs/docs/installation/auth-setup.md:curl-auth-header:250 +docs/docs/installation/daily-setup.md:curl-auth-header:277 +gpu/self_hosted/DEV_SETUP.md:curl-auth-header:74 +gpu/self_hosted/DEV_SETUP.md:curl-auth-header:83 diff --git a/Caddyfile.example b/Caddyfile.example new file mode 100644 index 00000000..ebbaabdf --- /dev/null +++ b/Caddyfile.example @@ -0,0 +1,22 @@ +# Reflector Caddyfile +# Replace example.com with your actual domains +# CORS is handled by the backend - Caddy just proxies +# +# For environment variable substitution, set: +# FRONTEND_DOMAIN=app.example.com +# API_DOMAIN=api.example.com +# AUTHENTIK_DOMAIN=authentik.example.com (optional, for authentication) +# Or edit this file directly with your domains. + +{$FRONTEND_DOMAIN:app.example.com} { + reverse_proxy web:3000 +} + +{$API_DOMAIN:api.example.com} { + reverse_proxy server:1250 +} + +# Uncomment if using Authentik for authentication (see auth-setup.md) +# {$AUTHENTIK_DOMAIN:authentik.example.com} { +# reverse_proxy authentik-server-1:9000 +# } diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index cb067ee5..f897a624 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -1,26 +1,61 @@ -# Production Docker Compose configuration for Frontend +# Production Docker Compose configuration # Usage: docker compose -f docker-compose.prod.yml up -d +# +# Prerequisites: +# 1. Copy .env.example to .env and configure for both server/ and www/ +# 2. Copy Caddyfile.example to Caddyfile and edit with your domains +# 3. Deploy Modal GPU functions (see gpu/modal_deployments/deploy-all.sh) services: web: image: monadicalsas/reflector-frontend:latest + restart: unless-stopped + env_file: + - ./www/.env pull_policy: always environment: - - KV_URL=${KV_URL:-redis://redis:6379} - - SITE_URL=${SITE_URL} - - API_URL=${API_URL} - - WEBSOCKET_URL=${WEBSOCKET_URL} - - NEXTAUTH_URL=${NEXTAUTH_URL:-http://localhost:3000} - - NEXTAUTH_SECRET=${NEXTAUTH_SECRET:-changeme-in-production} - - AUTHENTIK_ISSUER=${AUTHENTIK_ISSUER} - - AUTHENTIK_CLIENT_ID=${AUTHENTIK_CLIENT_ID} - - AUTHENTIK_CLIENT_SECRET=${AUTHENTIK_CLIENT_SECRET} - - AUTHENTIK_REFRESH_TOKEN_URL=${AUTHENTIK_REFRESH_TOKEN_URL} - - SENTRY_DSN=${SENTRY_DSN} - - SENTRY_IGNORE_API_RESOLUTION_ERROR=${SENTRY_IGNORE_API_RESOLUTION_ERROR:-1} + - KV_URL=redis://redis:6379 depends_on: - redis + + server: + image: monadicalsas/reflector-backend:latest restart: unless-stopped + env_file: + - ./server/.env + environment: + ENTRYPOINT: server + depends_on: + - postgres + - redis + volumes: + - server_data:/app/data + - ./server/reflector/auth/jwt/keys:/app/reflector/auth/jwt/keys:ro + + worker: + image: monadicalsas/reflector-backend:latest + restart: unless-stopped + env_file: + - ./server/.env + environment: + ENTRYPOINT: worker + depends_on: + - postgres + - redis + volumes: + - server_data:/app/data + - ./server/reflector/auth/jwt/keys:/app/reflector/auth/jwt/keys:ro + + beat: + image: monadicalsas/reflector-backend:latest + restart: unless-stopped + env_file: + - ./server/.env + environment: + ENTRYPOINT: beat + depends_on: + - postgres + - redis redis: image: redis:7.2-alpine @@ -33,5 +68,46 @@ services: volumes: - redis_data:/data + postgres: + image: postgres:17-alpine + restart: unless-stopped + environment: + POSTGRES_USER: reflector + POSTGRES_PASSWORD: reflector + POSTGRES_DB: reflector + volumes: + - postgres_data:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U reflector"] + interval: 30s + timeout: 3s + retries: 3 + + caddy: + image: caddy:2-alpine + restart: unless-stopped + ports: + - "80:80" + - "443:443" + volumes: + - ./Caddyfile:/etc/caddy/Caddyfile:ro + - caddy_data:/data + - caddy_config:/config + depends_on: + - web + - server + + docs: + build: ./docs + restart: unless-stopped + volumes: redis_data: + postgres_data: + server_data: + caddy_data: + caddy_config: + +networks: + default: + attachable: true diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 00000000..b2d6de30 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,20 @@ +# Dependencies +/node_modules + +# Production +/build + +# Generated files +.docusaurus +.cache-loader + +# Misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/docs/Dockerfile b/docs/Dockerfile new file mode 100644 index 00000000..9ba748e0 --- /dev/null +++ b/docs/Dockerfile @@ -0,0 +1,39 @@ +FROM node:18-alpine AS builder +WORKDIR /app + +# Install curl for fetching OpenAPI spec +RUN apk add --no-cache curl + +# Copy package files +COPY package*.json ./ + +# Install dependencies +RUN npm ci + +# Copy source +COPY . . + +# Fetch OpenAPI spec from production API +ARG OPENAPI_URL=https://api-reflector.monadical.com/openapi.json +RUN mkdir -p ./static && curl -sf "${OPENAPI_URL}" -o ./static/openapi.json || echo '{}' > ./static/openapi.json + +# Fix docusaurus config: change onBrokenLinks to 'warn' for Docker build +RUN sed -i "s/onBrokenLinks: 'throw'/onBrokenLinks: 'warn'/g" docusaurus.config.ts + +# Build static site (skip prebuild hook by calling docusaurus directly) +RUN npx docusaurus build + +# Production image +FROM nginx:alpine + +# Copy built static files +COPY --from=builder /app/build /usr/share/nginx/html + +# Healthcheck for container orchestration +HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ + CMD wget --no-verbose --tries=1 --spider http://localhost/ || exit 1 + +# Expose port +EXPOSE 80 + +CMD ["nginx", "-g", "daemon off;"] diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..0c6c2c27 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,41 @@ +# Website + +This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator. + +### Installation + +``` +$ yarn +``` + +### Local Development + +``` +$ yarn start +``` + +This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. + +### Build + +``` +$ yarn build +``` + +This command generates static content into the `build` directory and can be served using any static contents hosting service. + +### Deployment + +Using SSH: + +``` +$ USE_SSH=true yarn deploy +``` + +Not using SSH: + +``` +$ GIT_USER= yarn deploy +``` + +If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. diff --git a/docs/TODO.md b/docs/TODO.md new file mode 100644 index 00000000..e8f8c5af --- /dev/null +++ b/docs/TODO.md @@ -0,0 +1,48 @@ +# Documentation TODO - PR #778 Review Comments + +Remaining items from Tito's review. See CHANGES.md for completed items. + +--- + +## Remaining Items + +| File | Issue | Priority | Notes | +|------|-------|----------|-------| +| ~~`intro.md:10`~~ | ~~Add screenshots~~ | ~~Low~~ | ✅ **DONE** - Added transcript view screenshot | +| `file-pipeline.md:47` | chunk_size example shows 30s | Low | Unclear what example config should show (~16s actual) | +| ~~`self-hosted-gpu-setup.md:235`~~ | ~~systemd template in repo~~ | ~~Medium~~ | ✅ **REMOVED** - Systemd support removed entirely | +| ~~`installation/overview.md:85`~~ | ~~uv tool install~~ | ~~Low~~ | ✅ **DONE** - Changed to `uv tool install modal` | +| ~~`installation/overview.md:101`~~ | ~~"Why systemd?"~~ | ~~Low~~ | ✅ **REMOVED** - Systemd support removed entirely | +| `installation/overview.md:271` | Caddyfile copy removal | Low | Keeping for clarity | + +--- + +## Skipped (Decided Not To Fix) + +| File | Issue | Reason | +|------|-------|--------| +| `installation/overview.md:40` | Model size requirements | Uncertain about exact requirements | +| `installation/overview.md:136` | WebRTC ports | Handled by Daily/Whereby, not us | +| `installation/overview.md:136` | Security section | Risk of incomplete/misleading docs | +| `installation/overview.md:179` | AWS setup order | Low priority, works as-is | +| `installation/overview.md:410` | Redundant next steps | Issue doesn't exist (file ends at 401) | + +--- + +## Completed + +See CHANGES.md for full list. Summary: + +### Removals (9) +- Encrypted data storage, session management, analytics claims +- "coming soon" GPU, 30-second segments, CPU optimization +- Encryption at rest, manual migrations, modprobe commands + +### Fixes (9) +- WebRTC + Daily/Whereby, 4 API endpoints, Docker docs link +- NVIDIA steps merged, compose.yml referenced, cross-reference duplicate +- tee→nano, MOV format, troubleshooting link + +### Previously Fixed (7) +- Blog removal, Daily.co added, rate limiting removed (x2) +- PII claim removed, python→yaml, LUFS removed diff --git a/docs/create-docs.sh b/docs/create-docs.sh new file mode 100755 index 00000000..456efd96 --- /dev/null +++ b/docs/create-docs.sh @@ -0,0 +1,777 @@ +#!/bin/bash + +# Create directory structure +mkdir -p docs/concepts +mkdir -p docs/installation +mkdir -p docs/pipelines +mkdir -p docs/reference/architecture +mkdir -p docs/reference/processors +mkdir -p docs/reference/api + +# Create all documentation files with content +echo "Creating documentation files..." + +# Concepts - Modes +cat > docs/concepts/modes.md << 'EOF' +--- +sidebar_position: 2 +title: Operating Modes +--- + +# Operating Modes + +Reflector operates in two distinct modes to accommodate different use cases and security requirements. + +## Public Mode + +Public mode provides immediate access to core transcription features without requiring authentication. + +### Features Available +- **File Upload**: Process audio files up to 2GB +- **Live Transcription**: Stream audio from microphone +- **Basic Processing**: Transcription and diarization +- **Temporary Storage**: Results available for 24 hours + +### Limitations +- No persistent storage +- No meeting rooms +- Limited to single-user sessions +- No team collaboration features + +### Use Cases +- Quick transcription needs +- Testing and evaluation +- Individual users +- Public demonstrations + +## Private Mode + +Private mode unlocks the full potential of Reflector with authentication and persistent storage. + +### Additional Features +- **Virtual Meeting Rooms**: Whereby integration +- **Team Collaboration**: Share transcripts with team +- **Persistent Storage**: Long-term transcript archive +- **Advanced Analytics**: Meeting insights and trends +- **Custom Integration**: Webhooks and API access +- **User Management**: Role-based access control + +### Authentication Options + +#### Authentik Integration +Enterprise-grade SSO with support for: +- SAML 2.0 +- OAuth 2.0 / OIDC +- LDAP / Active Directory +- Multi-factor authentication + +#### JWT Authentication +Stateless token-based auth for: +- API access +- Service-to-service communication +- Mobile applications + +### Room Management + +Virtual rooms provide dedicated spaces for meetings: +- **Persistent URLs**: Same link for recurring meetings +- **Access Control**: Invite-only or open rooms +- **Recording Consent**: Automatic consent management +- **Custom Settings**: Per-room configuration + +## Mode Selection + +The mode is determined by your deployment configuration: + +```yaml +# Public Mode (no authentication) +REFLECTOR_AUTH_BACKEND=none + +# Private Mode (with authentication) +REFLECTOR_AUTH_BACKEND=jwt +# or +REFLECTOR_AUTH_BACKEND=authentik +``` + +## Feature Comparison + +| Feature | Public Mode | Private Mode | +|---------|------------|--------------| +| File Upload | ✅ | ✅ | +| Live Transcription | ✅ | ✅ | +| Speaker Diarization | ✅ | ✅ | +| Translation | ✅ | ✅ | +| Summarization | ✅ | ✅ | +| Meeting Rooms | ❌ | ✅ | +| Persistent Storage | ❌ | ✅ | +| Team Collaboration | ❌ | ✅ | +| API Access | Limited | Full | +| User Management | ❌ | ✅ | +| Custom Branding | ❌ | ✅ | +| Analytics | ❌ | ✅ | +| Webhooks | ❌ | ✅ | + +## Security Considerations + +### Public Mode Security +- Rate limiting to prevent abuse +- File size restrictions +- Automatic cleanup of old data +- No PII storage + +### Private Mode Security +- Encrypted data storage +- Audit logging +- Session management +- Access control lists +- Data retention policies + +## Choosing the Right Mode + +### Choose Public Mode if: +- You need quick, one-time transcriptions +- You're evaluating Reflector +- You don't need persistent storage +- You're processing non-sensitive content + +### Choose Private Mode if: +- You need team collaboration +- You require persistent storage +- You're processing sensitive content +- You need meeting room functionality +- You want advanced analytics +EOF + +# Concepts - Independence +cat > docs/concepts/independence.md << 'EOF' +--- +sidebar_position: 3 +title: Data Independence +--- + +# Data Independence & Privacy + +Reflector is designed with privacy and data independence as core principles, giving you complete control over your data and processing. + +## Privacy by Design + +### No Third-Party Data Sharing + +Your audio and transcripts are never shared with third parties: +- **Local Processing**: All ML models can run on your infrastructure +- **No Training on User Data**: Your content is never used to improve models +- **Isolated Processing**: Each transcript is processed in isolation +- **No Analytics Tracking**: No usage analytics sent to external services + +### Data Ownership + +You maintain complete ownership of all data: +- **Export Anytime**: Download all your transcripts and audio +- **Delete on Demand**: Permanent deletion with no recovery +- **API Access**: Full programmatic access to your data +- **No Vendor Lock-in**: Standard formats for easy migration + +## Processing Transparency + +### What Happens to Your Audio + +1. **Upload/Stream**: Audio received by your server +2. **Temporary Storage**: Stored only for processing duration +3. **Processing**: ML models process audio locally or on Modal +4. **Results Storage**: Transcripts stored in your database +5. **Cleanup**: Original audio deleted (unless configured otherwise) + +### Local vs Cloud Processing + +#### Local Processing +When configured for local processing: +- All models run on your hardware +- No data leaves your infrastructure +- Complete air-gap capability +- Higher hardware requirements + +#### Modal.com Processing +When using Modal for GPU acceleration: +- Audio chunks sent to Modal for processing +- Processed immediately and deleted +- No long-term storage on Modal +- Modal's security: SOC 2 Type II compliant + +### Data Retention + +Default retention policies: +- **Public Mode**: 24 hours then automatic deletion +- **Private Mode**: Configurable (default: indefinite) +- **Audio Files**: Deleted after processing (configurable) +- **Transcripts**: Retained based on policy + +## Compliance Features + +### GDPR Compliance + +- **Right to Access**: Export all user data +- **Right to Deletion**: Permanent data removal +- **Data Portability**: Standard export formats +- **Privacy by Default**: Minimal data collection + +### HIPAA Considerations + +For healthcare deployments: +- **Self-hosted Option**: Complete infrastructure control +- **Encryption**: At rest and in transit +- **Audit Logging**: Complete access trail +- **Access Controls**: Role-based permissions + +### Industry Standards + +- **TLS 1.3**: Modern encryption for data in transit +- **AES-256**: Encryption for data at rest +- **JWT Tokens**: Secure, stateless authentication +- **OWASP Guidelines**: Security best practices + +## Self-Hosted Deployment + +### Complete Independence + +Self-hosting provides maximum control: +- **Your Infrastructure**: Run on your servers +- **Your Network**: No external connections required +- **Your Policies**: Implement custom retention +- **Your Compliance**: Meet specific requirements + +### Air-Gap Capability + +Reflector can run completely offline: +1. Download all models during setup +2. Configure for local processing only +3. Disable all external integrations +4. Run in isolated network environment + +## Data Flow Control + +### Configurable Processing + +Control where each step happens: + +```yaml +# All local processing +TRANSCRIPT_BACKEND=local +DIARIZATION_BACKEND=local +TRANSLATION_BACKEND=local + +# Hybrid approach +TRANSCRIPT_BACKEND=modal # Fast GPU processing +DIARIZATION_BACKEND=local # Sensitive speaker data +TRANSLATION_BACKEND=modal # Non-sensitive translation +``` + +### Storage Options + +Choose where data is stored: +- **Local Filesystem**: Complete control +- **PostgreSQL**: Self-hosted database +- **S3-Compatible**: MinIO or AWS with encryption +- **Hybrid**: Different storage for different data types + +## Security Architecture + +### Defense in Depth + +Multiple layers of security: +1. **Network Security**: Firewalls and VPNs +2. **Application Security**: Input validation and sanitization +3. **Data Security**: Encryption and access controls +4. **Operational Security**: Logging and monitoring + +### Zero Trust Principles + +- **Verify Everything**: All requests authenticated +- **Least Privilege**: Minimal permissions granted +- **Assume Breach**: Design for compromise containment +- **Encrypt Everything**: No plaintext transmission + +## Audit and Compliance + +### Audit Logging + +Comprehensive logging of: +- **Access Events**: Who accessed what and when +- **Processing Events**: What was processed and how +- **Configuration Changes**: System modifications +- **Security Events**: Failed authentication attempts + +### Compliance Reporting + +Generate reports for: +- **Data Processing**: What data was processed +- **Data Access**: Who accessed the data +- **Data Retention**: What was retained or deleted +- **Security Events**: Security-related incidents + +## Best Practices + +### For Maximum Privacy + +1. **Self-host** all components +2. **Use local processing** for all models +3. **Implement short retention** periods +4. **Encrypt all storage** at rest +5. **Use VPN** for all connections +6. **Regular audits** of access logs + +### For Balanced Approach + +1. **Self-host core services** (database, API) +2. **Use Modal for processing** (faster, cost-effective) +3. **Implement encryption** everywhere +4. **Regular backups** with encryption +5. **Monitor access** patterns +EOF + +# Concepts - Pipeline +cat > docs/concepts/pipeline.md << 'EOF' +--- +sidebar_position: 4 +title: Processing Pipeline +--- + +# Processing Pipeline + +Reflector uses a sophisticated pipeline architecture to process audio efficiently and accurately. + +## Pipeline Overview + +The processing pipeline consists of modular components that can be combined and configured based on your needs: + +```mermaid +graph LR + A[Audio Input] --> B[Pre-processing] + B --> C[Chunking] + C --> D[Transcription] + D --> E[Diarization] + E --> F[Alignment] + F --> G[Post-processing] + G --> H[Output] +``` + +## Pipeline Components + +### Audio Input + +Accepts various input sources: +- **File Upload**: MP3, WAV, M4A, WebM, MP4 +- **WebRTC Stream**: Live browser audio +- **Recording Integration**: Whereby recordings +- **API Upload**: Direct API submission + +### Pre-processing + +Prepares audio for optimal processing: +- **Format Conversion**: Convert to 16kHz mono WAV +- **Normalization**: Adjust volume to -23 LUFS +- **Noise Reduction**: Optional background noise removal +- **Validation**: Check duration and quality + +### Chunking + +Splits audio for parallel processing: +- **Fixed Size**: 30-second chunks by default +- **Overlap**: 1-second overlap for continuity +- **Smart Boundaries**: Attempt to split at silence +- **Metadata**: Track chunk positions + +### Transcription + +Converts speech to text: +- **Model Selection**: Whisper or Parakeet +- **Language Detection**: Automatic or specified +- **Timestamp Generation**: Word-level timing +- **Confidence Scores**: Quality indicators + +### Diarization + +Identifies different speakers: +- **Voice Activity Detection**: Find speech segments +- **Speaker Embedding**: Extract voice characteristics +- **Clustering**: Group similar voices +- **Label Assignment**: Assign speaker IDs + +### Alignment + +Merges all processing results: +- **Chunk Assembly**: Combine transcription chunks +- **Speaker Mapping**: Align speakers with text +- **Overlap Resolution**: Handle chunk boundaries +- **Timeline Creation**: Build unified timeline + +### Post-processing + +Enhances the final output: +- **Formatting**: Apply punctuation and capitalization +- **Translation**: Convert to target languages +- **Summarization**: Generate concise summaries +- **Topic Extraction**: Identify key themes +- **Action Items**: Extract tasks and decisions + +## Processing Modes + +### Batch Processing + +For uploaded files: +- Optimized for throughput +- Parallel chunk processing +- Higher accuracy models +- Complete file analysis + +### Stream Processing + +For live audio: +- Optimized for latency +- Sequential processing +- Real-time feedback +- Progressive results + +### Hybrid Processing + +For meetings: +- Stream during meeting +- Batch after completion +- Best of both modes +- Maximum accuracy + +## Pipeline Configuration + +### Model Selection + +Choose models based on requirements: + +```python +# High accuracy (slower) +config = { + "transcription_model": "whisper-large-v3", + "diarization_model": "pyannote-3.1", + "translation_model": "seamless-m4t-large" +} + +# Balanced (default) +config = { + "transcription_model": "whisper-base", + "diarization_model": "pyannote-3.1", + "translation_model": "seamless-m4t-medium" +} + +# Fast processing +config = { + "transcription_model": "whisper-tiny", + "diarization_model": "pyannote-3.1-fast", + "translation_model": "seamless-m4t-small" +} +``` + +### Processing Options + +Customize pipeline behavior: + +```yaml +# Parallel processing +max_parallel_chunks: 10 +chunk_size_seconds: 30 +chunk_overlap_seconds: 1 + +# Quality settings +enable_noise_reduction: true +enable_normalization: true +min_speech_confidence: 0.5 + +# Post-processing +enable_translation: true +target_languages: ["es", "fr", "de"] +enable_summarization: true +summary_length: "medium" +``` + +## Performance Characteristics + +### Processing Times + +For 1 hour of audio: + +| Pipeline Config | Processing Time | Accuracy | +|----------------|-----------------|----------| +| Fast | 2-3 minutes | 85-90% | +| Balanced | 5-8 minutes | 92-95% | +| High Accuracy | 15-20 minutes | 95-98% | + +### Resource Usage + +| Component | CPU Usage | Memory | GPU | +|-----------|-----------|---------|-----| +| Transcription | Medium | 2-4 GB | Required | +| Diarization | High | 4-8 GB | Required | +| Translation | Low | 2-3 GB | Optional | +| Post-processing | Low | 1-2 GB | Not needed | + +## Pipeline Orchestration + +### Celery Task Chain + +The pipeline is orchestrated using Celery: + +```python +chain = ( + chunk_audio.s(audio_id) | + group(transcribe_chunk.s(chunk) for chunk in chunks) | + merge_transcriptions.s() | + diarize_audio.s() | + align_speakers.s() | + post_process.s() +) +``` + +### Error Handling + +Robust error recovery: +- **Automatic Retry**: Failed tasks retry up to 3 times +- **Partial Recovery**: Continue with successful chunks +- **Fallback Models**: Use alternative models on failure +- **Error Reporting**: Detailed error messages + +### Progress Tracking + +Real-time progress updates: +- **Chunk Progress**: Track individual chunk processing +- **Overall Progress**: Percentage completion +- **ETA Calculation**: Estimated completion time +- **WebSocket Updates**: Live progress to clients + +## Optimization Strategies + +### GPU Utilization + +Maximize GPU efficiency: +- **Batch Processing**: Process multiple chunks together +- **Model Caching**: Keep models loaded in memory +- **Dynamic Batching**: Adjust batch size based on GPU memory +- **Multi-GPU Support**: Distribute across available GPUs + +### Memory Management + +Efficient memory usage: +- **Streaming Processing**: Process large files in chunks +- **Garbage Collection**: Clean up after each chunk +- **Memory Limits**: Prevent out-of-memory errors +- **Disk Caching**: Use disk for large intermediate results + +### Network Optimization + +Minimize network overhead: +- **Compression**: Compress audio before transfer +- **CDN Integration**: Use CDN for static assets +- **Connection Pooling**: Reuse network connections +- **Parallel Uploads**: Multiple concurrent uploads + +## Quality Assurance + +### Accuracy Metrics + +Monitor processing quality: +- **Word Error Rate (WER)**: Transcription accuracy +- **Diarization Error Rate (DER)**: Speaker identification accuracy +- **Translation BLEU Score**: Translation quality +- **Summary Coherence**: Summary quality metrics + +### Validation Steps + +Ensure output quality: +- **Confidence Thresholds**: Filter low-confidence segments +- **Consistency Checks**: Verify timeline consistency +- **Language Validation**: Ensure correct language detection +- **Format Validation**: Check output format compliance + +## Advanced Features + +### Custom Models + +Use your own models: +- **Fine-tuned Whisper**: Domain-specific models +- **Custom Diarization**: Trained on your speakers +- **Specialized Post-processing**: Industry-specific formatting + +### Pipeline Extensions + +Add custom processing steps: +- **Sentiment Analysis**: Analyze emotional tone +- **Entity Extraction**: Identify people, places, organizations +- **Custom Metrics**: Calculate domain-specific metrics +- **Integration Hooks**: Call external services +EOF + +# Create installation documentation +cat > docs/installation/overview.md << 'EOF' +--- +sidebar_position: 1 +title: Installation Overview +--- + +# Installation Overview + +Reflector is designed for self-hosted deployment, giving you complete control over your infrastructure and data. + +## Deployment Options + +### Docker Deployment (Recommended) + +The easiest way to deploy Reflector: +- Pre-configured containers +- Automated dependency management +- Consistent environment +- Easy updates + +### Manual Installation + +For custom deployments: +- Greater control over configuration +- Integration with existing infrastructure +- Custom optimization options +- Development environments + +## Requirements + +### System Requirements + +**Minimum Requirements:** +- CPU: 4 cores +- RAM: 8 GB +- Storage: 50 GB +- OS: Ubuntu 20.04+ or similar Linux + +**Recommended Requirements:** +- CPU: 8+ cores +- RAM: 16 GB +- Storage: 100 GB SSD +- GPU: NVIDIA GPU with 8GB+ VRAM (for local processing) + +### Network Requirements + +- Public IP address (for WebRTC) +- Ports: 80, 443, 8000, 3000 +- Domain name (for SSL) +- SSL certificate (Let's Encrypt supported) + +## Required Services + +### Core Services + +These services are required for basic operation: + +1. **PostgreSQL** - Primary database +2. **Redis** - Message broker and cache +3. **Docker** - Container runtime + +### GPU Processing + +Choose one: +- **Modal.com** - Serverless GPU (recommended) +- **Local GPU** - Self-hosted GPU processing + +### Optional Services + +Enhance functionality with: +- **AWS S3** - Long-term storage +- **Whereby** - Video conferencing rooms +- **Authentik** - Enterprise authentication +- **Zulip** - Chat integration + +## Quick Start + +### Using Docker Compose + +1. Clone the repository: +```bash +git clone https://github.com/monadical-sas/reflector.git +cd reflector +``` + +2. Navigate to docker directory: +```bash +cd docker +``` + +3. Copy and configure environment: +```bash +cp .env.example .env +# Edit .env with your settings +``` + +4. Start services: +```bash +docker compose up -d +``` + +5. Access Reflector: +- Frontend: https://your-domain.com +- API: https://your-domain.com/api + +## Configuration Overview + +### Essential Configuration + +```env +# Database +DATABASE_URL=postgresql://user:pass@localhost/reflector + +# Redis +REDIS_URL=redis://localhost:6379 + +# Modal.com (for GPU processing) +TRANSCRIPT_MODAL_API_KEY=your-key +DIARIZATION_MODAL_API_KEY=your-key + +# Domain +DOMAIN=your-domain.com +``` + +### Security Configuration + +```env +# Authentication +REFLECTOR_AUTH_BACKEND=jwt +NEXTAUTH_SECRET=generate-strong-secret + +# SSL (handled by Caddy) +# Automatic with Let's Encrypt +``` + +## Service Architecture + +```mermaid +graph TD + A[Caddy Reverse Proxy] --> B[Frontend - Next.js] + A --> C[Backend - FastAPI] + C --> D[PostgreSQL] + C --> E[Redis] + C --> F[Celery Workers] + F --> G[Modal.com GPU] +``` + +## Next Steps + +1. **Review Requirements**: [System Requirements](./requirements) +2. **Docker Setup**: [Docker Deployment Guide](./docker-setup) +3. **Configure Services**: + - [Modal.com Setup](./modal-setup) + - [Whereby Setup](./whereby-setup) + - [AWS S3 Setup](./aws-setup) +4. **Optional Services**: + - [Authentik Setup](./authentik-setup) + - [Zulip Setup](./zulip-setup) + +## Getting Help + +- [Troubleshooting Guide](../reference/troubleshooting) +- [GitHub Issues](https://github.com/monadical-sas/reflector/issues) +- [Community Discord](#) +EOF + +chmod +x create-docs.sh +echo "Documentation creation script ready. Run ./create-docs.sh to generate all docs." \ No newline at end of file diff --git a/docs/docs/concepts/modes.md b/docs/docs/concepts/modes.md new file mode 100644 index 00000000..38ad163c --- /dev/null +++ b/docs/docs/concepts/modes.md @@ -0,0 +1,115 @@ +--- +sidebar_position: 2 +title: Operating Modes +--- + +# Operating Modes + +Reflector operates in two distinct modes to accommodate different use cases and security requirements. + +## Public Mode + +Public mode provides immediate access to core transcription features without requiring authentication. + +### Features Available +- **File Upload**: Process audio files +- **Live Transcription**: Stream audio from microphone +- **Basic Processing**: Transcription and diarization +- **Temporary Storage**: Temporary data retention (configurable) + +### Limitations +- No persistent storage +- No meeting rooms +- Limited to single-user sessions +- No team collaboration features + +### Use Cases +- Quick transcription needs +- Testing and evaluation +- Individual users +- Public demonstrations + +## Private Mode + +Private mode unlocks the full potential of Reflector with authentication and persistent storage. + +### Additional Features +- **Virtual Meeting Rooms**: Whereby and Daily.co integration +- **Team Collaboration**: Share transcripts with team +- **Persistent Storage**: Long-term transcript archive +- **Meeting History**: Search and browse past transcripts +- **Custom Integration**: Webhooks and API access +- **User Management**: Role-based access control + +### Authentication Options + +#### Authentik Integration +Enterprise-grade SSO with support for: +- SAML 2.0 +- OAuth 2.0 / OIDC +- LDAP / Active Directory +- Multi-factor authentication + +### Room Management + +Virtual rooms provide dedicated spaces for meetings: +- **Persistent URLs**: Same link for recurring meetings +- **Access Control**: Invite-only or open rooms +- **Recording Consent**: Automatic consent management +- **Custom Settings**: Per-room configuration + +## Mode Selection + +The mode is determined by your deployment configuration: + +```yaml +# Public Mode (no authentication) +AUTH_BACKEND=none + +# Private Mode (with authentication) +AUTH_BACKEND=jwt +``` + +See [Authentication Setup](../installation/auth-setup) for configuring JWT authentication. + +## Feature Comparison + +| Feature | Public Mode | Private Mode | +|---------|------------|--------------| +| File Upload | ✅ | ✅ | +| Live Transcription | ✅ | ✅ | +| Speaker Diarization | ✅ | ✅ | +| Summarization | ✅ | ✅ | +| Meeting Rooms | ❌ | ✅ | +| Persistent Storage | ❌ | ✅ | +| Team Collaboration | ❌ | ✅ | +| API Access | Limited | Full | +| User Management | ❌ | ✅ | +| Custom Branding | ❌ | ✅ | +| Meeting History | ❌ | ✅ | +| Webhooks | ❌ | ✅ | + +## Security Considerations + +### Public Mode Security +- File size restrictions +- Automatic cleanup of old data + +### Private Mode Security +- Access control lists +- Data retention policies + +## Choosing the Right Mode + +### Choose Public Mode if: +- You need quick, one-time transcriptions +- You're evaluating Reflector +- You don't need persistent storage +- You're processing non-sensitive content + +### Choose Private Mode if: +- You need team collaboration +- You require persistent storage +- You're processing sensitive content +- You need meeting room functionality +- You want searchable meeting history diff --git a/docs/docs/concepts/overview.md b/docs/docs/concepts/overview.md new file mode 100644 index 00000000..53194256 --- /dev/null +++ b/docs/docs/concepts/overview.md @@ -0,0 +1,201 @@ +--- +sidebar_position: 1 +title: Architecture Overview +--- + +# Architecture Overview + +Reflector is built as a modern, scalable, microservices-based application designed to handle audio processing workloads efficiently while maintaining data privacy and control. + +## System Components + +### Frontend Application + +The user interface is built with **Next.js 15** using the App Router pattern, providing: + +- Server-side rendering for optimal performance +- Real-time WebSocket connections for live transcription +- WebRTC support for audio streaming and live meetings (via Daily.co or Whereby) +- Responsive design with Chakra UI components + +### Backend API Server + +The core API is powered by **FastAPI**, a modern Python framework that provides: + +- High-performance async request handling +- Automatic OpenAPI documentation generation +- Type safety with Pydantic models +- WebSocket support for real-time updates + +### Processing Pipeline + +Audio processing is handled through a modular pipeline architecture: + +``` +Audio Input → Chunking → Transcription → Diarization → Post-Processing → Storage +``` + +Each step can run independently and in parallel, allowing for: +- Scalable processing of large files +- Real-time streaming capabilities +- Fault tolerance and retry mechanisms + +### Worker Architecture + +Background tasks are managed by **Celery** workers with **Redis** as the message broker: + +- Distributed task processing +- Priority queues for time-sensitive operations +- Automatic retry on failure +- Progress tracking and notifications + +### GPU Acceleration + +ML models run on GPU-accelerated infrastructure: + +- **Modal.com** for serverless GPU processing +- **Self-hosted GPU** with Docker deployment +- Automatic scaling based on demand +- Cost-effective pay-per-use model + +## Data Flow + +### Daily.co Meeting Recording Flow + +1. **Recording**: Daily.co captures separate audio tracks per participant +2. **Webhook**: Daily.co notifies Reflector when recording is ready +3. **Track Download**: Individual participant tracks fetched from S3 +4. **Padding**: Tracks padded with silence based on join time for synchronization +5. **Transcription**: Each track transcribed independently (speaker = track index) +6. **Merge**: Transcriptions sorted by timestamp and combined +7. **Mixdown**: Tracks mixed to single MP3 for playback +8. **Post-Processing**: Topics, title, and summaries generated via LLM +9. **Delivery**: Results stored and user notified via WebSocket + +### File Upload Flow + +1. **Upload**: User uploads audio file through web interface +2. **Storage**: File stored temporarily +3. **Transcription**: Full file transcribed via Whisper +4. **Diarization**: ML-based speaker identification (Pyannote) +5. **Post-Processing**: Topics, title, summaries +6. **Delivery**: Results stored and user notified + +### Live Streaming Flow + +1. **WebRTC Connection**: Browser establishes peer connection via Daily.co or Whereby +2. **Audio Capture**: Microphone audio streamed to server +3. **Buffering**: Audio buffered for processing +4. **Real-time Processing**: Segments transcribed as they arrive +5. **WebSocket Updates**: Results streamed back to client +6. **Continuous Assembly**: Full transcript built progressively + +## Deployment Architecture + +### Container-Based Deployment + +All components are containerized for consistent deployment: + +```yaml +services: + web: # Next.js application + server: # FastAPI server + worker: # Celery workers + redis: # Message broker + postgres: # Database + caddy: # Reverse proxy +``` + +### Networking + +- **Host Network Mode**: Required for WebRTC/ICE compatibility +- **Caddy Reverse Proxy**: Handles SSL termination and routing +- **WebSocket Upgrade**: Supports real-time connections + +## Scalability Considerations + +### Horizontal Scaling + +- **Stateless Backend**: Multiple API server instances +- **Worker Pools**: Add workers based on queue depth +- **Database Pooling**: Connection management for concurrent access + +### Vertical Scaling + +- **GPU Workers**: Scale up for faster model inference +- **Memory Optimization**: Efficient audio buffering + +## Security Architecture + +### Authentication & Authorization + +- **JWT Tokens**: Stateless authentication +- **Authentik Integration**: Enterprise SSO support +- **Role-Based Access**: Granular permissions + +### Data Protection + +- **Encryption in Transit**: TLS for all connections +- **Temporary Storage**: Automatic cleanup of processed files + +### Privacy by Design + +- **Local Processing**: Option to process entirely on-premises +- **No Training on User Data**: Models are pre-trained +- **Data Isolation**: Multi-tenant data separation + +## Integration Points + +### External Services + +- **Modal.com**: GPU processing +- **AWS S3**: Long-term storage +- **Whereby**: Video conferencing rooms +- **Zulip**: Chat integration (optional) + +### APIs and Webhooks + +- **RESTful API**: Standard CRUD operations +- **WebSocket API**: Real-time updates +- **Webhook Notifications**: Processing completion events +- **OpenAPI Specification**: Machine-readable API definition + +## Performance Optimization + +### Caching Strategy + +- **Redis Cache**: Frequently accessed data +- **CDN**: Static asset delivery +- **Browser Cache**: Client-side optimization + +### Database Optimization + +- **Indexed Queries**: Fast search and retrieval +- **Connection Pooling**: Efficient resource usage +- **Query Optimization**: N+1 query prevention + +### Processing Optimization + +- **Batch Processing**: Efficient GPU utilization +- **Parallel Execution**: Multi-core CPU usage +- **Stream Processing**: Reduced memory footprint + +## Monitoring and Observability + +### Metrics Collection + +- **Application Metrics**: Request rates, response times +- **System Metrics**: CPU, memory, disk usage +- **Business Metrics**: Transcription accuracy, processing times + +### Logging + +- **Structured Logging**: JSON format for analysis +- **Log Aggregation**: Centralized log management +- **Error Tracking**: Sentry integration + +### Health Checks + +- **Liveness Probes**: Component availability +- **Readiness Probes**: Service readiness +- **Dependency Checks**: External service status \ No newline at end of file diff --git a/docs/docs/concepts/pipeline.md b/docs/docs/concepts/pipeline.md new file mode 100644 index 00000000..910722af --- /dev/null +++ b/docs/docs/concepts/pipeline.md @@ -0,0 +1,183 @@ +--- +sidebar_position: 4 +title: Processing Pipeline +--- + +# Processing Pipeline + +Reflector uses a modular pipeline architecture to process audio efficiently and accurately. + +## Pipeline Overview + +The processing pipeline consists of modular components that can be combined and configured based on your needs: + +```mermaid +graph LR + A[Audio Input] --> B[Pre-processing] + B --> C[Chunking] + C --> D[Transcription] + D --> E[Diarization] + E --> F[Alignment] + F --> G[Post-processing] + G --> H[Output] +``` + +## Pipeline Components + +### Audio Input + +Accepts various input sources: +- **File Upload**: MP3, WAV, M4A, WebM, MP4 +- **WebRTC Stream**: Live browser audio +- **Recording Integration**: Daily.co and Whereby recordings +- **API Upload**: Direct API submission + +### Pre-processing + +Prepares audio for optimal processing: +- **Format Conversion**: Convert to 16kHz mono WAV +- **Noise Reduction**: Optional background noise removal +- **Validation**: Check duration and quality + +### Chunking + +Splits audio for parallel processing: +- **Configurable Size**: Audio split into processable segments +- **Silence Detection**: Optional splitting at natural pauses +- **Metadata**: Track chunk positions + +### Transcription + +Converts speech to text: +- **Model Selection**: Whisper or Parakeet +- **Language Detection**: Automatic or specified +- **Timestamp Generation**: Word-level timing +- **Confidence Scores**: Quality indicators + +### Diarization + +Identifies different speakers: +- **Voice Activity Detection**: Find speech segments +- **Speaker Embedding**: Extract voice characteristics +- **Clustering**: Group similar voices +- **Label Assignment**: Assign speaker IDs + +### Alignment + +Merges all processing results: +- **Chunk Assembly**: Combine transcription chunks +- **Speaker Mapping**: Align speakers with text +- **Overlap Resolution**: Handle chunk boundaries +- **Timeline Creation**: Build unified timeline + +### Post-processing + +Enhances the final output: +- **Formatting**: Apply punctuation and capitalization +- **Summarization**: Generate concise summaries +- **Topic Extraction**: Identify key themes +- **Action Items**: Extract tasks and decisions + +## Processing Modes + +### Batch Processing + +For uploaded files: +- Optimized for throughput +- Parallel chunk processing +- Higher accuracy models +- Complete file analysis + +### Stream Processing + +For live audio: +- Optimized for latency +- Sequential processing +- Real-time feedback +- Progressive results + +### Hybrid Processing + +For meetings: +- Stream during meeting +- Batch after completion +- Best of both modes +- Maximum accuracy + +## Pipeline Orchestration + +### Error Handling + +Error recovery: +- **Automatic Retry**: Failed tasks retry up to 3 times +- **Partial Recovery**: Continue with successful chunks +- **Fallback Models**: Use alternative models on failure +- **Error Reporting**: Detailed error messages + +### Progress Tracking + +Real-time progress updates: +- **Chunk Progress**: Track individual chunk processing +- **Overall Progress**: Percentage completion +- **ETA Calculation**: Estimated completion time +- **WebSocket Updates**: Live progress to clients + +## Optimization Strategies + +### GPU Utilization + +Maximize GPU efficiency: +- **Batch Processing**: Process multiple chunks together +- **Model Caching**: Keep models loaded in memory +- **Dynamic Batching**: Adjust batch size based on GPU memory +- **Multi-GPU Support**: Distribute across available GPUs + +### Memory Management + +Efficient memory usage: +- **Streaming Processing**: Process large files in chunks +- **Garbage Collection**: Clean up after each chunk +- **Memory Limits**: Prevent out-of-memory errors +- **Disk Caching**: Use disk for large intermediate results + +### Network Optimization + +Minimize network overhead: +- **Compression**: Compress audio before transfer +- **CDN Integration**: Use CDN for static assets +- **Connection Pooling**: Reuse network connections +- **Parallel Uploads**: Multiple concurrent uploads + +## Quality Assurance + +### Accuracy Metrics + +Monitor processing quality: +- **Word Error Rate (WER)**: Transcription accuracy +- **Diarization Error Rate (DER)**: Speaker identification accuracy +- **Summary Coherence**: Summary quality metrics + +### Validation Steps + +Ensure output quality: +- **Confidence Thresholds**: Filter low-confidence segments +- **Consistency Checks**: Verify timeline consistency +- **Language Validation**: Ensure correct language detection +- **Format Validation**: Check output format compliance + +## Advanced Features + +### Custom Models + +Use your own models: +- **Fine-tuned Whisper**: Domain-specific models +- **Custom Diarization**: Trained on your speakers +- **Specialized Post-processing**: Industry-specific formatting + +### Pipeline Extensions + +Add custom processing steps: +- **Sentiment Analysis**: Analyze emotional tone +- **Entity Extraction**: Identify people, places, organizations +- **Custom Metrics**: Calculate domain-specific metrics +- **Integration Hooks**: Call external services diff --git a/docs/docs/installation/auth-setup.md b/docs/docs/installation/auth-setup.md new file mode 100644 index 00000000..2bed65a1 --- /dev/null +++ b/docs/docs/installation/auth-setup.md @@ -0,0 +1,285 @@ +--- +sidebar_position: 5 +title: Authentication Setup +--- + +# Authentication Setup + +This page covers authentication setup in detail. For the complete deployment guide, see [Deployment Guide](./overview). + +Reflector uses [Authentik](https://goauthentik.io/) for OAuth/OIDC authentication. This guide walks you through setting up Authentik and connecting it to Reflector. + +The guide simplistically sets Authentic on the same server as Reflector. You can use your own Authentic instance instead. + +## Overview + +Reflector's authentication flow: +1. User clicks "Sign In" on frontend +2. Frontend redirects to Authentik login page +3. User authenticates with Authentik +4. Authentik redirects back with OAuth tokens +5. Frontend stores tokens, backends verify JWT signature + +## Option 1: Self-Hosted Authentik (Same Server) + +This setup runs Authentik on the same server as Reflector, with Caddy proxying to both. + +### Deploy Authentik + +```bash +# Create directory for Authentik +mkdir -p ~/authentik && cd ~/authentik + +# Download docker-compose file +curl -O https://goauthentik.io/docker-compose.yml + +# Generate secrets and bootstrap credentials +cat > .env << 'EOF' +PG_PASS=$(openssl rand -base64 36 | tr -d '\n') +AUTHENTIK_SECRET_KEY=$(openssl rand -base64 60 | tr -d '\n') +# Privacy-focused choice for self-hosted deployments +AUTHENTIK_ERROR_REPORTING__ENABLED=false +AUTHENTIK_BOOTSTRAP_PASSWORD=YourSecurePassword123 +AUTHENTIK_BOOTSTRAP_EMAIL=admin@example.com +EOF + +# Start Authentik +sudo docker compose up -d +``` + +Authentik takes ~2 minutes to run migrations and apply blueprints on first start. + +### Connect Authentik to Reflector's Network + +If Authentik runs in a separate Docker Compose project, connect it to Reflector's network so Caddy can proxy to it: + +```bash +# Wait for Authentik to be healthy +# Connect Authentik server to Reflector's network +sudo docker network connect reflector_default authentik-server-1 +``` + +**Important:** This step must be repeated if you restart Authentik with `docker compose down`. Add it to your deployment scripts or use `docker compose up -d` (which preserves containers) instead of down/up. + +### Add Authentik to Caddy + +Uncomment the Authentik section in your `Caddyfile` and set your domain: + +```bash +nano Caddyfile +``` + +Uncomment and edit: +``` +{$AUTHENTIK_DOMAIN:authentik.example.com} { + reverse_proxy authentik-server-1:9000 +} +``` + +Reload Caddy: +```bash +docker compose -f docker-compose.prod.yml exec caddy caddy reload --config /etc/caddy/Caddyfile +``` + +### Create OAuth2 Provider in Authentik + +**Option A: Automated Setup (Recommended)** + +**Location: Reflector server** + +Run the setup script from the Reflector repository: + +```bash +ssh user@your-server-ip +cd ~/reflector +./scripts/setup-authentik-oauth.sh https://authentik.example.com YourSecurePassword123 https://app.example.com +``` + +**Important:** The script must be run from the `~/reflector` directory on your server, as it creates files using relative paths. + +The script will output the configuration values to add to your `.env` files. Skip to "Update docker-compose.prod.yml". + +**Option B: Manual Setup** + +1. **Login to Authentik Admin** at `https://authentik.example.com/` + - Username: `akadmin` + - Password: The `AUTHENTIK_BOOTSTRAP_PASSWORD` you set in .env + +2. **Create OAuth2 Provider:** + - Go to **Applications > Providers > Create** + - Select **OAuth2/OpenID Provider** + - Configure: + - **Name**: `Reflector` + - **Authorization flow**: `default-provider-authorization-implicit-consent` + - **Client type**: `Confidential` + - **Client ID**: Note this value (auto-generated) + - **Client Secret**: Note this value (auto-generated) + - **Redirect URIs**: Add entry with: + ``` + https://app.example.com/api/auth/callback/authentik + ``` + - Scroll down to **Advanced protocol settings** + - In **Scopes**, add these three mappings: + - `authentik default OAuth Mapping: OpenID 'email'` + - `authentik default OAuth Mapping: OpenID 'openid'` + - `authentik default OAuth Mapping: OpenID 'profile'` + - Click **Finish** + +3. **Create Application:** + - Go to **Applications > Applications > Create** + - Configure: + - **Name**: `Reflector` + - **Slug**: `reflector` (auto-filled) + - **Provider**: Select the `Reflector` provider you just created + - Click **Create** + +### Get Public Key for JWT Verification + +**Location: Reflector server** + +Extract the public key from Authentik's JWKS endpoint: + +```bash +mkdir -p ~/reflector/server/reflector/auth/jwt/keys +curl -s https://authentik.example.com/application/o/reflector/jwks/ | \ + jq -r '.keys[0].x5c[0]' | base64 -d | openssl x509 -pubkey -noout \ + > ~/reflector/server/reflector/auth/jwt/keys/authentik_public.pem +``` + +### Update docker-compose.prod.yml + +**Location: Reflector server** + +**Note:** This step is already done in the current `docker-compose.prod.yml`. Verify the volume mounts exist: + +```yaml +server: + image: monadicalsas/reflector-backend:latest + # ... other config ... + volumes: + - server_data:/app/data + - ./server/reflector/auth/jwt/keys:/app/reflector/auth/jwt/keys:ro + +worker: + image: monadicalsas/reflector-backend:latest + # ... other config ... + volumes: + - server_data:/app/data + - ./server/reflector/auth/jwt/keys:/app/reflector/auth/jwt/keys:ro +``` + +### Configure Reflector Backend + +**Location: Reflector server** + +Update `server/.env`: +```env +# Authentication +AUTH_BACKEND=jwt +AUTH_JWT_PUBLIC_KEY=authentik_public.pem +AUTH_JWT_AUDIENCE= +CORS_ALLOW_CREDENTIALS=true +``` + +Replace `` with the Client ID from previous steps. + +### Configure Reflector Frontend + +**Location: Reflector server** + +Update `www/.env`: +```env +# Authentication +FEATURE_REQUIRE_LOGIN=true + +# Authentik OAuth +AUTHENTIK_ISSUER=https://authentik.example.com/application/o/reflector +AUTHENTIK_REFRESH_TOKEN_URL=https://authentik.example.com/application/o/token/ +AUTHENTIK_CLIENT_ID= +AUTHENTIK_CLIENT_SECRET= + +# NextAuth +NEXTAUTH_SECRET= +``` + +### Restart Services + +**Location: Reflector server** + +```bash +cd ~/reflector +sudo docker compose -f docker-compose.prod.yml up -d --force-recreate server worker web +``` + +### Verify Authentication + +1. Visit `https://app.example.com` +2. Click "Log in" or navigate to `/api/auth/signin` +3. Click "Sign in with Authentik" +4. Login with your Authentik credentials +5. You should be redirected back and see "Log out" in the header + +## Option 2: Disable Authentication + +For testing or internal deployments where authentication isn't needed: + +**Backend `server/.env`:** +```env +AUTH_BACKEND=none +``` + +**Frontend `www/.env`:** +```env +FEATURE_REQUIRE_LOGIN=false +``` + +**Note:** The pre-built Docker images have `FEATURE_REQUIRE_LOGIN=true` baked in. To disable auth, you'll need to rebuild the frontend image with the env var set at build time, or set up Authentik. + +## Troubleshooting + +### "Invalid redirect URI" error +- Verify the redirect URI in Authentik matches exactly: + ``` + https://app.example.com/api/auth/callback/authentik + ``` +- Check for trailing slashes - they must match exactly + +### "Invalid audience" JWT error +- Ensure `AUTH_JWT_AUDIENCE` in `server/.env` matches the Client ID from Authentik +- The audience value is the OAuth Client ID, not the issuer URL + +### "JWT verification failed" error +- Verify the public key file is mounted in the container +- Check `AUTH_JWT_PUBLIC_KEY` points to the correct filename +- Ensure the key was extracted from the correct provider's JWKS endpoint + +### Caddy returns 503 for Authentik +- Verify Authentik container is connected to Reflector's network: + ```bash + sudo docker network connect reflector_default authentik-server-1 + ``` +- Check Authentik is healthy: `cd ~/authentik && sudo docker compose ps` + +### Users can't access protected pages +- Verify `FEATURE_REQUIRE_LOGIN=true` in frontend +- Check `AUTH_BACKEND=jwt` in backend +- Verify CORS settings allow credentials + +### Token refresh errors +- Ensure Redis is running (frontend uses Redis for token caching) +- Verify `KV_URL` is set correctly in frontend env +- Check `AUTHENTIK_REFRESH_TOKEN_URL` is correct + +## API Key Authentication + +For programmatic access (scripts, integrations), users can generate API keys: + +1. Login to Reflector +2. Go to Settings > API Keys +3. Click "Generate New Key" +4. Use the key in requests: + ```bash + curl -H "X-API-Key: your-api-key" https://api.example.com/v1/transcripts + ``` + +API keys are stored hashed and can be revoked at any time. diff --git a/docs/docs/installation/daily-setup.md b/docs/docs/installation/daily-setup.md new file mode 100644 index 00000000..ea13a304 --- /dev/null +++ b/docs/docs/installation/daily-setup.md @@ -0,0 +1,165 @@ +--- +sidebar_position: 6 +title: Daily.co Setup +--- + +# Daily.co Setup + +This page covers Daily.co video platform setup for live meeting rooms. For the complete deployment guide, see [Deployment Guide](./overview). + +Daily.co enables live video meetings with automatic recording and transcription. + +## What You'll Set Up + +``` +User joins meeting → Daily.co video room → Recording to S3 → [Webhook] → Reflector transcribes +``` + +## Prerequisites + +- [ ] **Daily.co account** - Free tier at https://dashboard.daily.co +- [ ] **AWS account** - For S3 storage +- [ ] **Reflector deployed** - Complete steps from [Deployment Guide](./overview) + +--- + +## Create Daily.co Account + +1. Visit https://dashboard.daily.co and sign up +2. Verify your email +3. Note your subdomain (e.g., `yourname.daily.co` → subdomain is `yourname`) + +--- + +## Get Daily.co API Key + +1. In Daily.co dashboard, go to **Developers** +2. Click **API Keys** +3. Click **Create API Key** +4. Copy the key (starts with a long string) + +Save this for later. + +--- + +## Create AWS S3 Bucket + +Daily.co needs somewhere to store recordings before Reflector processes them. + +```bash +# Choose a unique bucket name +BUCKET_NAME="reflector-dailyco-yourname" # -yourname is not a requirement, you can name the bucket as you wish +AWS_REGION="us-east-1" + +# Create bucket +aws s3 mb s3://$BUCKET_NAME --region $AWS_REGION + +# Enable versioning (required) +aws s3api put-bucket-versioning \ + --bucket $BUCKET_NAME \ + --versioning-configuration Status=Enabled +``` + +--- + +## Create IAM Role for Daily.co + +Daily.co needs permission to write recordings to your S3 bucket. + +Follow the guide https://docs.daily.co/guides/products/live-streaming-recording/storing-recordings-in-a-custom-s3-bucket + +Save the role ARN - you'll need it soon. + +It looks like: `arn:aws:iam::123456789012:role/DailyCo` + +Shortly, you'll need to set up a role and give this role your s3 bucket access + +No additional setup is required from Daily.co settings website side: the app code takes care of letting Daily know where to save the recordings. + +--- + +## Configure Reflector + +**Location: Reflector server** + +Add to `server/.env`: + +```env +# Daily.co Configuration +DEFAULT_VIDEO_PLATFORM=daily +DAILY_API_KEY= +DAILY_SUBDOMAIN= + +# S3 Storage for Daily.co recordings +DAILYCO_STORAGE_AWS_BUCKET_NAME= +DAILYCO_STORAGE_AWS_REGION=us-east-1 +DAILYCO_STORAGE_AWS_ROLE_ARN= + +# Transcript storage (should already be configured from main setup) +# TRANSCRIPT_STORAGE_BACKEND=aws +# TRANSCRIPT_STORAGE_AWS_ACCESS_KEY_ID= +# TRANSCRIPT_STORAGE_AWS_SECRET_ACCESS_KEY= +# TRANSCRIPT_STORAGE_AWS_BUCKET_NAME= +# TRANSCRIPT_STORAGE_AWS_REGION= +``` + +--- + +## Restart Services + +After changing `.env` files, reload with `up -d`: + +```bash +sudo docker compose -f docker-compose.prod.yml up -d server worker +``` + +**Note**: `docker compose up -d` detects env changes and recreates containers automatically. + +--- + +## Test Live Room + +1. Visit your Reflector frontend: `https://app.example.com` +2. Go to **Rooms** +3. Click **Create Room** +4. Select **Daily** as the platform +5. Allow camera/microphone access +6. You should see Daily.co video interface +7. Speak for 10-20 seconds +8. Leave the meeting +9. Recording should appear in **Transcripts** within 5 minutes (if webhooks aren't set up yet, see [Webhook Configuration](#webhook-configuration-optional) below) + +--- + +## Troubleshooting + +### Recording doesn't appear in S3 + +1. Check Daily.co dashboard → **Logs** for errors +2. Verify IAM role trust policy has correct Daily.co account ID and your Daily.co subdomain +3. Verify that the bucket has + +### Recording in S3 but not transcribed + +1. Check webhook is configured (Reflector should auto-create it) +2. Check worker logs: + ```bash + docker compose -f docker-compose.prod.yml logs worker --tail 50 + ``` +3. Verify `DAILYCO_STORAGE_AWS_*` vars in `server/.env` + +### "Access Denied" when Daily.co tries to write to S3 + +1. Double-check IAM role ARN in Daily.co settings +2. Verify bucket name matches exactly +3. Check IAM policy has `s3:PutObject` permission + +--- + +## Webhook Configuration [optional] + +`manage_daily_webhook.py` script guides you through creating a webhook for Daily recordings. + +The webhook isn't required - polling mechanism is the default and performed automatically. + +This guide won't go deep into webhook setup. diff --git a/docs/docs/installation/docker-setup.md b/docs/docs/installation/docker-setup.md new file mode 100644 index 00000000..701ad15e --- /dev/null +++ b/docs/docs/installation/docker-setup.md @@ -0,0 +1,192 @@ +--- +sidebar_position: 3 +title: Docker Reference +--- + +# Docker Reference + +This page documents the Docker Compose configuration for Reflector. For the complete deployment guide, see [Deployment Guide](./overview). + +## Services + +The `docker-compose.prod.yml` includes these services: + +| Service | Image | Purpose | +|---------|-------|---------| +| `web` | `monadicalsas/reflector-frontend` | Next.js frontend | +| `server` | `monadicalsas/reflector-backend` | FastAPI backend | +| `worker` | `monadicalsas/reflector-backend` | Celery worker for background tasks | +| `beat` | `monadicalsas/reflector-backend` | Celery beat scheduler | +| `redis` | `redis:7.2-alpine` | Message broker and cache | +| `postgres` | `postgres:17-alpine` | Primary database | +| `caddy` | `caddy:2-alpine` | Reverse proxy with auto-SSL | + +## Environment Files + +Reflector uses two separate environment files: + +### Backend (`server/.env`) + +Used by: `server`, `worker`, `beat` + +Key variables: +```env +# Database connection +DATABASE_URL=postgresql+asyncpg://reflector:reflector@postgres:5432/reflector + +# Redis +REDIS_HOST=redis +CELERY_BROKER_URL=redis://redis:6379/1 +CELERY_RESULT_BACKEND=redis://redis:6379/1 + +# API domain and CORS +BASE_URL=https://api.example.com +CORS_ORIGIN=https://app.example.com + +# Modal GPU processing +TRANSCRIPT_BACKEND=modal +TRANSCRIPT_URL=https://... +TRANSCRIPT_MODAL_API_KEY=... +``` + +### Frontend (`www/.env`) + +Used by: `web` + +Key variables: +```env +# Domain configuration +SITE_URL=https://app.example.com +API_URL=https://api.example.com +WEBSOCKET_URL=wss://api.example.com +SERVER_API_URL=http://server:1250 + +# Authentication +NEXTAUTH_URL=https://app.example.com +NEXTAUTH_SECRET=... +``` + +Note: `API_URL` is used client-side (browser), `SERVER_API_URL` is used server-side (SSR). + +## Volumes + +| Volume | Purpose | +|--------|---------| +| `redis_data` | Redis persistence | +| `postgres_data` | PostgreSQL data | +| `server_data` | Uploaded files, local storage | +| `caddy_data` | SSL certificates | +| `caddy_config` | Caddy configuration | + +## Network + +All services share the default network. The network is marked `attachable: true` to allow external containers (like Authentik) to join. + +## Common Commands + +### Start all services +```bash +docker compose -f docker-compose.prod.yml up -d +``` + +### View logs +```bash +# All services +docker compose -f docker-compose.prod.yml logs -f + +# Specific service +docker compose -f docker-compose.prod.yml logs server --tail 50 +``` + +### Restart a service +```bash +# Quick restart (doesn't reload .env changes) +docker compose -f docker-compose.prod.yml restart server + +# Reload .env and restart +docker compose -f docker-compose.prod.yml up -d server +``` + +### Run database migrations +```bash +docker compose -f docker-compose.prod.yml exec server uv run alembic upgrade head +``` + +### Access database +```bash +docker compose -f docker-compose.prod.yml exec postgres psql -U reflector +``` + +### Pull latest images +```bash +docker compose -f docker-compose.prod.yml pull +docker compose -f docker-compose.prod.yml up -d +``` + +### Stop all services +```bash +docker compose -f docker-compose.prod.yml down +``` + +### Full reset (WARNING: deletes data) +```bash +docker compose -f docker-compose.prod.yml down -v +``` + +## Customization + +### Using a different database + +To use an external PostgreSQL: + +1. Remove `postgres` service from compose file +2. Update `DATABASE_URL` in `server/.env`: + ```env + DATABASE_URL=postgresql+asyncpg://user:pass@external-host:5432/reflector + ``` + +### Using external Redis + +1. Remove `redis` service from compose file +2. Update Redis settings in `server/.env`: + ```env + REDIS_HOST=external-redis-host + CELERY_BROKER_URL=redis://external-redis-host:6379/1 + ``` + +### Adding Authentik + +To add Authentik for authentication, see [Authentication Setup](./auth-setup). Quick steps: + +1. Deploy Authentik separately +2. Connect to Reflector's network: + ```bash + docker network connect reflector_default authentik-server-1 + ``` +3. Add to Caddyfile: + ``` + authentik.example.com { + reverse_proxy authentik-server-1:9000 + } + ``` + +## Caddyfile Reference + +The Caddyfile supports environment variable substitution: + +``` +{$FRONTEND_DOMAIN:app.example.com} { + reverse_proxy web:3000 +} + +{$API_DOMAIN:api.example.com} { + reverse_proxy server:1250 +} +``` + +Set `FRONTEND_DOMAIN` and `API_DOMAIN` environment variables, or edit the file directly. + +### Reload Caddy after changes +```bash +docker compose -f docker-compose.prod.yml exec caddy caddy reload --config /etc/caddy/Caddyfile +``` diff --git a/docs/docs/installation/docs-deployment.md b/docs/docs/installation/docs-deployment.md new file mode 100644 index 00000000..fe604e9c --- /dev/null +++ b/docs/docs/installation/docs-deployment.md @@ -0,0 +1,139 @@ +--- +sidebar_position: 10 +title: Docs Website Deployment +--- + +# Docs Website Deployment + +This guide covers deploying the Reflector documentation website. **This is optional and intended for internal/experimental use only.** + +## Overview + +The documentation is built using Docusaurus and deployed as a static nginx-served site. + +## Prerequisites + +- Reflector already deployed (Steps 1-7 from [Deployment Guide](./overview)) +- DNS A record for docs subdomain (e.g., `docs.example.com`) + +## Deployment Steps + +### Step 1: Pre-fetch OpenAPI Spec + +The docs site includes API reference from your running backend. Fetch it before building: + +```bash +cd ~/reflector +docker compose -f docker-compose.prod.yml exec server curl -s http://localhost:1250/openapi.json > docs/static/openapi.json +``` + +This creates `docs/static/openapi.json` (should be ~70KB) which will be copied during Docker build. + +**Why not fetch during build?** Docker build containers are network-isolated and can't access the running backend services. + +### Step 2: Verify Dockerfile + +The Dockerfile is already in `docs/Dockerfile`: + +```dockerfile +FROM node:18-alpine AS builder +WORKDIR /app + +# Copy package files +COPY package*.json ./ + +# Inshall dependencies +RUN npm ci + +# Copy source (includes static/openapi.json if pre-fetched) +COPY . . + +# Fix docusaurus config: change onBrokenLinks to 'warn' for Docker build +RUN sed -i "s/onBrokenLinks: 'throw'/onBrokenLinks: 'warn'/g" docusaurus.config.ts + +# Build static site +RUN npx docusaurus build + +FROM nginx:alpine +COPY --from=builder /app/build /usr/share/nginx/html +EXPOSE 80 +CMD ["nginx", "-g", "daemon off;"] +``` + +### Step 3: Add Docs Service to docker-compose.prod.yml + +Add this service to `docker-compose.prod.yml`: + +```yaml +docs: + build: ./docs + restart: unless-stopped + networks: + - default +``` + +### Step 4: Add Caddy Route + +Add to `Caddyfile`: + +``` +{$DOCS_DOMAIN:docs.example.com} { + reverse_proxy docs:80 +} +``` + +### Step 5: Build and Deploy + +```bash +cd ~/reflector +docker compose -f docker-compose.prod.yml up -d --build docs +docker compose -f docker-compose.prod.yml exec caddy caddy reload --config /etc/caddy/Caddyfile +``` + +### Step 6: Verify + +```bash +# Check container status +docker compose -f docker-compose.prod.yml ps docs +# Should show "Up" + +# Test URL +curl -I https://docs.example.com +# Should return HTTP/2 200 +``` + +Visit `https://docs.example.com` in your browser + +## Updating Documentation + +When docs are updated: + +```bash +cd ~/reflector +git pull + +# Refresh OpenAPI spec from backend +docker compose -f docker-compose.prod.yml exec server curl -s http://localhost:1250/openapi.json > docs/static/openapi.json + +# Rebuild docs +docker compose -f docker-compose.prod.yml up -d --build docs +``` + +## Troubleshooting + +### Missing openapi.json during build +- Make sure you ran the pre-fetch step first (Step 1) +- Verify `docs/static/openapi.json` exists and is ~70KB +- Re-run: `docker compose exec server curl -s http://localhost:1250/openapi.json > docs/static/openapi.json` + +### Build fails with "Docusaurus found broken links" +- This happens if `onBrokenLinks: 'throw'` is set in docusaurus.config.ts +- Solution is already in Dockerfile: uses `sed` to change to `'warn'` during build + +### 404 on all pages +- Docusaurus baseUrl might be wrong - should be `/` for custom domain +- Check `docs/docusaurus.config.ts`: `baseUrl: '/'` + +### Docs not updating after rebuild +- Force rebuild: `docker compose -f docker-compose.prod.yml build --no-cache docs` +- Then: `docker compose -f docker-compose.prod.yml up -d docs` diff --git a/docs/docs/installation/modal-setup.md b/docs/docs/installation/modal-setup.md new file mode 100644 index 00000000..812fe541 --- /dev/null +++ b/docs/docs/installation/modal-setup.md @@ -0,0 +1,171 @@ +--- +sidebar_position: 4 +title: Modal.com Setup +--- + +# Modal.com Setup + +This page covers Modal.com GPU setup in detail. For the complete deployment guide, see [Deployment Guide](./overview). + +Reflector uses [Modal.com](https://modal.com) for GPU-accelerated audio processing. This guide walks you through deploying the required GPU functions. + +## What is Modal.com? + +Modal is a serverless GPU platform. You deploy Python code that runs on their GPUs, and pay only for actual compute time. Reflector uses Modal for: + +- **Transcription**: Whisper model for speech-to-text +- **Diarization**: Pyannote model for speaker identification + +## Prerequisites + +1. **Modal.com account** - Sign up at https://modal.com (free tier available) +2. **HuggingFace account** - Required for Pyannote diarization models: + - Create account at https://huggingface.co + - Accept **both** Pyannote licenses: + - https://huggingface.co/pyannote/speaker-diarization-3.1 + - https://huggingface.co/pyannote/segmentation-3.0 + - Generate access token at https://huggingface.co/settings/tokens + +## Deployment + +**Location: YOUR LOCAL COMPUTER (laptop/desktop)** + +Modal CLI requires browser authentication, so this must run on a machine with a browser - not on a headless server. + +### Install Modal CLI + +```bash +uv tool install modal +``` + +### Authenticate with Modal + +```bash +modal setup +``` + +This opens your browser for authentication. Complete the login flow. + +### Clone Repository and Deploy + +```bash +git clone https://github.com/monadical-sas/reflector.git +cd reflector/gpu/modal_deployments +./deploy-all.sh --hf-token YOUR_HUGGINGFACE_TOKEN +``` + +Or run interactively (script will prompt for token): +```bash +./deploy-all.sh +``` + +### What the Script Does + +1. **Prompts for HuggingFace token** - Needed to download the Pyannote diarization model +2. **Generates API key** - Creates a secure random key for authenticating requests to GPU functions +3. **Creates Modal secrets**: + - `hf_token` - Your HuggingFace token + - `reflector-gpu` - The generated API key +4. **Deploys GPU functions** - Transcriber (Whisper) and Diarizer (Pyannote) +5. **Outputs configuration** - Prints URLs and API key to console + +### Example Output + +``` +========================================== +Reflector GPU Functions Deployment +========================================== + +Generating API key for GPU services... +Creating Modal secrets... + -> Creating secret: hf_token + -> Creating secret: reflector-gpu + +Deploying transcriber (Whisper)... + -> https://yourname--reflector-transcriber-web.modal.run + +Deploying diarizer (Pyannote)... + -> https://yourname--reflector-diarizer-web.modal.run + +========================================== +Deployment complete! +========================================== + +Copy these values to your server's server/.env file: + +# --- Modal GPU Configuration --- +TRANSCRIPT_BACKEND=modal +TRANSCRIPT_URL=https://yourname--reflector-transcriber-web.modal.run +TRANSCRIPT_MODAL_API_KEY=abc123... + +DIARIZATION_BACKEND=modal +DIARIZATION_URL=https://yourname--reflector-diarizer-web.modal.run +DIARIZATION_MODAL_API_KEY=abc123... +# --- End Modal Configuration --- +``` + +Copy the output and paste it into your `server/.env` file on your server. + +## Costs + +Modal charges based on GPU compute time: +- Functions scale to zero when not in use (no cost when idle) +- You only pay for actual processing time +- Free tier includes $30/month of credits + +Typical costs for audio processing: +- Transcription: ~$0.01-0.05 per minute of audio +- Diarization: ~$0.02-0.10 per minute of audio + +## Troubleshooting + +### "Modal CLI not installed" +```bash +uv tool install modal +``` + +### "Not authenticated with Modal" +```bash +modal setup +# Complete browser authentication +``` + +### "Failed to create secret hf_token" +- Verify your HuggingFace token is valid +- Ensure you've accepted the Pyannote license +- Token needs `read` permission + +### Deployment fails +Check the Modal dashboard for detailed error logs: +- Visit https://modal.com/apps +- Click on the failed function +- View build and runtime logs + +### Re-running deployment +The script is safe to re-run. It will: +- Update existing secrets if they exist +- Redeploy functions with latest code +- Output new configuration (API key stays the same if secret exists) + +## Manual Deployment (Advanced) + +If you prefer to deploy functions individually: + +```bash +cd gpu/modal_deployments + +# Create secrets manually +modal secret create hf_token HF_TOKEN=your-hf-token +modal secret create reflector-gpu REFLECTOR_GPU_APIKEY=$(openssl rand -hex 32) + +# Deploy each function +modal deploy reflector_transcriber.py +modal deploy reflector_diarizer.py +``` + +## Monitoring + +View your deployed functions and their usage: +- **Modal Dashboard**: https://modal.com/apps +- **Function logs**: Click on any function to view logs +- **Usage**: View compute time and costs in the dashboard diff --git a/docs/docs/installation/overview.md b/docs/docs/installation/overview.md new file mode 100644 index 00000000..f6218d64 --- /dev/null +++ b/docs/docs/installation/overview.md @@ -0,0 +1,411 @@ +--- +sidebar_position: 1 +title: Deployment Guide +--- + +# Deployment Guide + +This guide walks you through deploying Reflector from scratch. Follow these steps in order. + +## What You'll Set Up + +```mermaid +flowchart LR + User --> Caddy["Caddy (auto-SSL)"] + Caddy --> Frontend["Frontend (Next.js)"] + Caddy --> Backend["Backend (FastAPI)"] + Backend --> PostgreSQL + Backend --> Redis + Backend --> Workers["Celery Workers"] + Workers --> PostgreSQL + Workers --> Redis + Workers --> GPU["GPU Processing
(Modal.com OR Self-hosted)"] +``` + +## Prerequisites + +Before starting, you need: + +- **Production server** - 4+ cores, 8GB+ RAM, public IP +- **Two domain names** - e.g., `app.example.com` (frontend) and `api.example.com` (backend) +- **GPU processing** - Choose one: + - Modal.com account, OR + - GPU server with NVIDIA GPU (8GB+ VRAM) +- **HuggingFace account** - Free at https://huggingface.co + - Accept both Pyannote licenses (required for speaker diarization): + - https://huggingface.co/pyannote/speaker-diarization-3.1 + - https://huggingface.co/pyannote/segmentation-3.0 +- **LLM API** - For summaries and topic detection. Choose one: + - OpenAI API key at https://platform.openai.com/account/api-keys, OR + - Any OpenAI-compatible endpoint (vLLM, LiteLLM, Ollama, etc.) +- **AWS S3 bucket** - For storing audio files and transcripts (see [S3 Setup](#create-s3-bucket-for-transcript-storage) below) + +### Optional (for live meeting rooms) + +- [ ] **Daily.co account** - Free tier at https://dashboard.daily.co +- [ ] **AWS S3 bucket + IAM Role** - For Daily.co recording storage (separate from transcript storage) + +--- + +## Configure DNS + +``` +Type: A Name: app Value: +Type: A Name: api Value: +``` + +--- + +## Deploy GPU Processing + +Reflector requires GPU processing for transcription and speaker diarization. Choose one option: + +| | **Modal.com (Cloud)** | **Self-Hosted GPU** | +|---|---|---| +| **Best for** | No GPU hardware, zero maintenance | Own GPU server, full control | +| **Pricing** | Pay-per-use | Fixed infrastructure cost | + +### Option A: Modal.com (Serverless Cloud GPU) + +#### Accept HuggingFace Licenses + +Visit both pages and click "Accept": +- https://huggingface.co/pyannote/speaker-diarization-3.1 +- https://huggingface.co/pyannote/segmentation-3.0 + +Generate a token at https://huggingface.co/settings/tokens + +#### Deploy to Modal + +There's an install script to help with this setup. It's using modal API to set all necessary moving parts. + +As an alternative, all those operations that script does could be performed in modal settings in modal UI. + +```bash +uv tool install modal +modal setup # opens browser for authentication + +git clone https://github.com/monadical-sas/reflector.git +cd reflector/gpu/modal_deployments +./deploy-all.sh --hf-token YOUR_HUGGINGFACE_TOKEN +``` + +**Save the output** - copy the configuration block, you'll need it soon. + +See [Modal Setup](./modal-setup) for troubleshooting and details. + +### Option B: Self-Hosted GPU + +**Location: YOUR GPU SERVER** + +Requires: NVIDIA GPU with 8GB+ VRAM, Ubuntu 22.04+, 40-50GB disk. + +See [Self-Hosted GPU Setup](./self-hosted-gpu-setup) for complete instructions. Quick summary: + +1. Install NVIDIA drivers and Docker +2. Clone repository: `git clone https://github.com/monadical-sas/reflector.git` +3. Configure `.env` with HuggingFace token +4. Start service with Docker compose +5. Set up Caddy reverse proxy for HTTPS + +**Save your API key and HTTPS URL** - you'll need them soon. + +--- + +## Prepare Server + +**Location: dedicated reflector server** + +### Install Docker + +```bash +ssh user@your-server-ip + +curl -fsSL https://get.docker.com | sh +sudo usermod -aG docker $USER + +# Log out and back in for group changes +exit +ssh user@your-server-ip + +docker --version # verify +``` + +### Firewall + +Ensure ports 80 (HTTP) and 443 (HTTPS) are open for inbound traffic. The method varies by cloud provider and OS configuration. + +**For live transcription without Daily/Whereby rooms**: WebRTC requires UDP port range 49152-65535 for media traffic. + +### Clone Repository + +The Docker images contain all application code. You clone the repository for configuration files and the compose definition: + +```bash +git clone https://github.com/monadical-sas/reflector.git +cd reflector +``` + +--- + +## Create S3 Bucket for Transcript Storage + +Reflector requires AWS S3 to store audio files during processing. + +### Create Bucket + +```bash +# Choose a unique bucket name +BUCKET_NAME="reflector-transcripts-yourname" +AWS_REGION="us-east-1" + +# Create bucket +aws s3 mb s3://$BUCKET_NAME --region $AWS_REGION +``` + +### Create IAM User + +Create an IAM user with S3 access for Reflector: + +1. Go to AWS IAM Console → Users → Create User +2. Name: `reflector-transcripts` +3. Attach policy: `AmazonS3FullAccess` (or create a custom policy for just your bucket) +4. Create access key (Access key ID + Secret access key) + +Save these credentials - you'll need them in the next step. + +--- + +## Configure Environment + +Reflector has two env files: +- `server/.env` - Backend configuration +- `www/.env` - Frontend configuration + +### Backend Configuration + +```bash +cp server/.env.example server/.env +nano server/.env +``` + +**Required settings:** +```env +# Database (defaults work with docker-compose.prod.yml) +DATABASE_URL=postgresql+asyncpg://reflector:reflector@postgres:5432/reflector + +# Redis +REDIS_HOST=redis +CELERY_BROKER_URL=redis://redis:6379/1 +CELERY_RESULT_BACKEND=redis://redis:6379/1 + +# Your domains +BASE_URL=https://api.example.com +CORS_ORIGIN=https://app.example.com +CORS_ALLOW_CREDENTIALS=true + +# Secret key - generate with: openssl rand -hex 32 +SECRET_KEY= + +# GPU Processing - choose ONE option: + +# Option A: Modal.com (paste from deploy-all.sh output) +TRANSCRIPT_BACKEND=modal +TRANSCRIPT_URL=https://yourname--reflector-transcriber-web.modal.run +TRANSCRIPT_MODAL_API_KEY= +DIARIZATION_BACKEND=modal +DIARIZATION_URL=https://yourname--reflector-diarizer-web.modal.run +DIARIZATION_MODAL_API_KEY= + +# Option B: Self-hosted GPU (use your GPU server URL and API key) +# TRANSCRIPT_BACKEND=modal +# TRANSCRIPT_URL=https://gpu.example.com +# TRANSCRIPT_MODAL_API_KEY= +# DIARIZATION_BACKEND=modal +# DIARIZATION_URL=https://gpu.example.com +# DIARIZATION_MODAL_API_KEY= + +# Storage - where to store audio files and transcripts (requires AWS S3) +TRANSCRIPT_STORAGE_BACKEND=aws +TRANSCRIPT_STORAGE_AWS_ACCESS_KEY_ID=your-aws-access-key +TRANSCRIPT_STORAGE_AWS_SECRET_ACCESS_KEY=your-aws-secret-key +TRANSCRIPT_STORAGE_AWS_BUCKET_NAME=reflector-media +TRANSCRIPT_STORAGE_AWS_REGION=us-east-1 + +# LLM - for generating titles, summaries, and topics +LLM_API_KEY=sk-your-openai-api-key +LLM_MODEL=gpt-4o-mini +# LLM_URL=https://api.openai.com/v1 # Optional: custom endpoint (vLLM, LiteLLM, Ollama, etc.) + +# Auth - disable for initial setup (see a dedicated step for authentication) +AUTH_BACKEND=none +``` + +### Frontend Configuration + +```bash +cp www/.env.example www/.env +nano www/.env +``` + +**Required settings:** +```env +# Your domains +SITE_URL=https://app.example.com +API_URL=https://api.example.com +WEBSOCKET_URL=wss://api.example.com +SERVER_API_URL=http://server:1250 + +# NextAuth +NEXTAUTH_URL=https://app.example.com +NEXTAUTH_SECRET= + +# Disable login requirement for initial setup +FEATURE_REQUIRE_LOGIN=false +``` + +--- + +## Configure Caddy + +```bash +cp Caddyfile.example Caddyfile +nano Caddyfile +``` + +Replace `example.com` with your domains. The `{$VAR:default}` syntax uses Caddy's env var substitution - you can either edit the file directly or set `FRONTEND_DOMAIN` and `API_DOMAIN` environment variables. + +``` +{$FRONTEND_DOMAIN:app.example.com} { + reverse_proxy web:3000 +} + +{$API_DOMAIN:api.example.com} { + reverse_proxy server:1250 +} +``` + +--- + +## Start Services + +```bash +docker compose -f docker-compose.prod.yml up -d +``` + +Wait for containers to start (first run may take 1-2 minutes to pull images and initialize). + +--- + +## Verify Deployment + +### Check services +```bash +docker compose -f docker-compose.prod.yml ps +# All should show "Up" +``` + +### Test API +```bash +curl https://api.example.com/health +# Should return: {"status":"healthy"} +``` + +### Test Frontend +- Visit https://app.example.com +- You should see the Reflector interface +- Try uploading an audio file to test transcription + +If any verification fails, see [Troubleshooting](#troubleshooting) below. + +--- + +## Enable Authentication (Required for Live Rooms) + +By default, Reflector is open (no login required). **Authentication is required if you want to use Live Meeting Rooms.** + +See [Authentication Setup](./auth-setup) for full Authentik OAuth configuration. + +Quick summary: +1. Deploy Authentik on your server +2. Create OAuth provider in Authentik +3. Extract public key for JWT verification +4. Update `server/.env`: `AUTH_BACKEND=jwt` + `AUTH_JWT_AUDIENCE` +5. Update `www/.env`: `FEATURE_REQUIRE_LOGIN=true` + Authentik credentials +6. Mount JWT keys volume and restart services + +--- + +## Enable Live Meeting Rooms + +**Requires: Authentication Step** + +Live rooms require Daily.co and AWS S3. See [Daily.co Setup](./daily-setup) for complete S3/IAM configuration instructions. + +Note that Reflector also supports Whereby as a call provider - this doc doesn't cover its setup yet. + +Quick config - Add to `server/.env`: + +```env +DEFAULT_VIDEO_PLATFORM=daily +DAILY_API_KEY= +DAILY_SUBDOMAIN= + +# S3 for recording storage +DAILYCO_STORAGE_AWS_BUCKET_NAME= +DAILYCO_STORAGE_AWS_REGION=us-east-1 +DAILYCO_STORAGE_AWS_ROLE_ARN= +``` + +Reload env and restart: +```bash +docker compose -f docker-compose.prod.yml up -d server worker +``` + +--- + +## Troubleshooting + +### Check logs for errors +```bash +docker compose -f docker-compose.prod.yml logs server --tail 20 +docker compose -f docker-compose.prod.yml logs worker --tail 20 +``` + +### Services won't start +```bash +docker compose -f docker-compose.prod.yml logs +``` + +### CORS errors in browser +- Verify `CORS_ORIGIN` in `server/.env` matches your frontend domain exactly (including `https://`) +- Reload env: `docker compose -f docker-compose.prod.yml up -d server` + +### SSL certificate errors +- Caddy auto-provisions Let's Encrypt certificates +- Ensure ports 80 and 443 are open +- Check: `docker compose -f docker-compose.prod.yml logs caddy` + +### Transcription not working +- Check Modal dashboard: https://modal.com/apps +- Verify URLs in `server/.env` match deployed functions +- Check worker logs: `docker compose -f docker-compose.prod.yml logs worker` + +### "Login required" but auth not configured +- Set `FEATURE_REQUIRE_LOGIN=false` in `www/.env` +- Rebuild frontend: `docker compose -f docker-compose.prod.yml up -d --force-recreate web` + +### Database migrations or connectivity issues +Migrations run automatically on server startup. To check database connectivity or debug migration failures: + +```bash +# Check server logs for migration errors +docker compose -f docker-compose.prod.yml logs server | grep -i -E "(alembic|migration|database|postgres)" + +# Verify database connectivity +docker compose -f docker-compose.prod.yml exec server uv run python -c "from reflector.db import engine; print('DB connected')" + +# Manually run migrations (if needed) +docker compose -f docker-compose.prod.yml exec server uv run alembic upgrade head +``` + diff --git a/docs/docs/installation/requirements.md b/docs/docs/installation/requirements.md new file mode 100644 index 00000000..726871b0 --- /dev/null +++ b/docs/docs/installation/requirements.md @@ -0,0 +1,63 @@ +--- +sidebar_position: 2 +title: System Requirements +--- + +# System Requirements + +This page lists hardware and software requirements. For the complete deployment guide, see [Deployment Guide](./overview). + +## Server Requirements + +### Minimum Requirements + +- **CPU**: 4 cores +- **RAM**: 8 GB +- **Storage**: 50 GB SSD +- **OS**: Ubuntu 22.04+ or compatible Linux +- **Network**: Public IP address + +### Recommended Requirements + +- **CPU**: 8+ cores +- **RAM**: 16 GB +- **Storage**: 100 GB SSD +- **Network**: 1 Gbps connection + +## Software Requirements + +- Docker Engine 20.10+ +- Docker Compose 2.0+ + +## External Services + +### Required + +- **Two domain names** - One for frontend (e.g., `app.example.com`), one for API (e.g., `api.example.com`) +- **Modal.com account** - For GPU-accelerated transcription and diarization (free tier available) +- **HuggingFace account** - For Pyannote diarization model access +- **LLM API** - For generating summaries and topic detection. Options: + - OpenAI API (https://platform.openai.com/account/api-keys) + - Any OpenAI-compatible endpoint (vLLM, LiteLLM, Ollama) + - Self-hosted: Phi-4 14B 4-bit recommended (~8GB VRAM) + +### Required for Live Meeting Rooms + +- **Daily.co account** - For video conferencing (free tier available at https://dashboard.daily.co) +- **AWS S3 bucket + IAM Role** - For Daily.co to store recordings +- **Another AWS S3 bucket (optional, can reuse the one above)** - For Reflector to store "compiled" mp3 files and transient diarization process temporary files + +### Optional + +- **AWS S3** - For cloud storage of recordings and transcripts +- **Authentik** - For SSO/OIDC authentication +- **Sentry** - For error tracking + +## Development Requirements + +For local development only (not required for production deployment): + +- Node.js 22+ (for frontend development) +- Python 3.12+ (for backend development) +- pnpm (for frontend package management) +- uv (for Python package management) diff --git a/docs/docs/installation/self-hosted-gpu-setup.md b/docs/docs/installation/self-hosted-gpu-setup.md new file mode 100644 index 00000000..48ec67e7 --- /dev/null +++ b/docs/docs/installation/self-hosted-gpu-setup.md @@ -0,0 +1,307 @@ +--- +sidebar_position: 5 +title: Self-Hosted GPU Setup +--- + +# Self-Hosted GPU Setup + +This guide covers deploying Reflector's GPU processing on your own server instead of Modal.com. For the complete deployment guide, see [Deployment Guide](./overview). + +## When to Use Self-Hosted GPU + +**Choose self-hosted GPU if you:** +- Have GPU hardware available (NVIDIA required) +- Want full control over processing +- Prefer fixed infrastructure costs over pay-per-use +- Have privacy or data locality requirements +- Need to process audio without external API calls + +**Choose Modal.com instead if you:** +- Don't have GPU hardware +- Want zero infrastructure management +- Prefer pay-per-use pricing +- Need instant scaling for variable workloads + +See [Modal.com Setup](./modal-setup) for cloud GPU deployment. + +## What Gets Deployed + +The self-hosted GPU service provides the same API endpoints as Modal: +- `POST /v1/audio/transcriptions` - Whisper transcription +- `POST /v1/audio/transcriptions-from-url` - Transcribe from URL +- `POST /diarize` - Pyannote speaker diarization +- `POST /translate` - Audio translation + +Your main Reflector server connects to this service exactly like it connects to Modal - only the URL changes. + +## Prerequisites + +### Hardware +- **GPU**: NVIDIA GPU with 8GB+ VRAM (tested on Tesla T4 with 15GB) +- **CPU**: 4+ cores recommended +- **RAM**: 8GB minimum, 16GB recommended +- **Disk**: 40-50GB minimum + +### Software +- Public IP address +- Domain name with DNS A record pointing to server + +### Accounts +- **HuggingFace account** with accepted Pyannote licenses: + - https://huggingface.co/pyannote/speaker-diarization-3.1 + - https://huggingface.co/pyannote/segmentation-3.0 +- **HuggingFace access token** from https://huggingface.co/settings/tokens + +## Docker Deployment + +### Step 1: Install NVIDIA Driver + +```bash +sudo apt update +sudo apt install -y nvidia-driver-535 +sudo reboot + +# After reboot, verify installation +nvidia-smi +``` + +Expected output: GPU details with driver version and CUDA version. + +### Step 2: Install Docker + +Follow the [official Docker installation guide](https://docs.docker.com/engine/install/ubuntu/) for your distribution. + +After installation, add your user to the docker group: + +```bash +sudo usermod -aG docker $USER + +# Log out and back in for group changes +exit +# SSH back in +``` + +### Step 3: Install NVIDIA Container Toolkit + +```bash +# Add NVIDIA repository and install toolkit +curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \ + sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg + +curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ + sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ + sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list + +sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit +sudo nvidia-ctk runtime configure --runtime=docker +sudo systemctl restart docker +``` + +### Step 4: Clone Repository and Configure + +```bash +git clone https://github.com/monadical-sas/reflector.git +cd reflector/gpu/self_hosted + +# Create environment file +cat > .env << EOF +REFLECTOR_GPU_APIKEY=$(openssl rand -hex 16) +HF_TOKEN=your_huggingface_token_here +EOF + +# Note the generated API key - you'll need it for main server config +cat .env +``` + +### Step 5: Build and Start + +The repository includes a `compose.yml` file. Build and start: + + +```bash +# Build image (takes ~5 minutes, downloads ~10GB) +sudo docker compose build + +# Start service +sudo docker compose up -d + +# Wait for startup and verify +sleep 30 +sudo docker compose logs +``` + +Look for: `INFO: Application startup complete. Uvicorn running on http://0.0.0.0:8000` + +### Step 7: Verify GPU Access + +```bash +# Check GPU is accessible from container +sudo docker exec $(sudo docker ps -q) nvidia-smi +``` + +Should show GPU with ~3GB VRAM used (models loaded). + +--- + +## Configure HTTPS with Caddy + +Caddy handles SSL automatically. + +### Install Caddy + +```bash +sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl + +curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | \ + sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg + +curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | \ + sudo tee /etc/apt/sources.list.d/caddy-stable.list + +sudo apt update +sudo apt install -y caddy +``` + +### Configure Reverse Proxy + +Edit the Caddyfile with your domain: + +```bash +sudo nano /etc/caddy/Caddyfile +``` + +Add (replace `gpu.example.com` with your domain): + +``` +gpu.example.com { + reverse_proxy localhost:8000 +} +``` + +Reload Caddy (auto-provisions SSL certificate): + +```bash +sudo systemctl reload caddy +``` + +### Verify HTTPS + +```bash +curl -I https://gpu.example.com/docs +# Should return HTTP/2 200 +``` + +--- + +## Configure Main Reflector Server + +On your main Reflector server, update `server/.env`: + +```env +# GPU Processing - Self-hosted +TRANSCRIPT_BACKEND=modal +TRANSCRIPT_URL=https://gpu.example.com +TRANSCRIPT_MODAL_API_KEY= + +DIARIZATION_BACKEND=modal +DIARIZATION_URL=https://gpu.example.com +DIARIZATION_MODAL_API_KEY= +``` + +**Note:** The backend type is `modal` because the self-hosted GPU service implements the same API contract as Modal.com. This allows you to switch between cloud and self-hosted GPU processing by only changing the URL and API key. + +Restart services to apply: + +```bash +docker compose -f docker-compose.prod.yml restart server worker +``` + +--- + +## Service Management + +All commands in this section assume you're in `~/reflector/gpu/self_hosted/`. + +```bash +# View logs +sudo docker compose logs -f + +# Restart service +sudo docker compose restart + +# Stop service +sudo docker compose down + +# Check status +sudo docker compose ps +``` + +### Monitor GPU + +```bash +# Check GPU usage +nvidia-smi + +# Watch in real-time +watch -n 1 nvidia-smi +``` + +**Typical GPU memory usage:** +- Idle (models loaded): ~3GB VRAM +- During transcription: ~4-5GB VRAM + +--- + +## Troubleshooting + +### nvidia-smi fails after driver install + +```bash +# Manually load kernel modules +sudo modprobe nvidia +nvidia-smi +``` + +### Service fails with "Could not download pyannote pipeline" + +1. Verify HF_TOKEN is valid: `echo $HF_TOKEN` +2. Check model access at https://huggingface.co/pyannote/speaker-diarization-3.1 +3. Update .env with correct token +4. Restart service: `sudo docker compose restart` + +### Cannot connect to HTTPS endpoint + +1. Verify DNS resolves: `dig +short gpu.example.com` +2. Check firewall: `sudo ufw status` (ports 80, 443 must be open) +3. Check Caddy: `sudo systemctl status caddy` +4. View Caddy logs: `sudo journalctl -u caddy -n 50` + +### SSL certificate not provisioning + +Requirements for Let's Encrypt: +- Ports 80 and 443 publicly accessible +- DNS resolves to server's public IP +- Valid domain (not localhost or private IP) + +### Docker container won't start + +```bash +# Check logs +sudo docker compose logs + +# Common issues: +# - Port 8000 already in use +# - GPU not accessible (nvidia-ctk not configured) +# - Missing .env file +``` + +--- + +## Updating + +```bash +cd ~/reflector/gpu/self_hosted +git pull +sudo docker compose build +sudo docker compose up -d +``` diff --git a/docs/docs/intro.md b/docs/docs/intro.md new file mode 100644 index 00000000..b69378b1 --- /dev/null +++ b/docs/docs/intro.md @@ -0,0 +1,61 @@ +--- +sidebar_position: 1 +title: Introduction +--- + +# Welcome to Reflector + +Reflector is a privacy-focused, self-hosted AI-powered audio transcription and meeting analysis platform that provides real-time transcription, speaker diarization, and summarization for audio content and live meetings. With complete control over your data and infrastructure, you can run models on your own hardware (roadmap - currently supports Modal.com for GPU processing). + +## What is Reflector? + +Reflector is a web application that utilizes AI to process audio content, providing: + +- **Real-time Transcription**: Convert speech to text using [Whisper](https://github.com/openai/whisper) (multi-language) or [Parakeet](https://github.com/NVIDIA/NeMo) (English) models +- **Speaker Diarization**: Identify and label different speakers using [Pyannote](https://github.com/pyannote/pyannote-audio) 3.1 +- **Topic Detection & Summarization**: Extract key topics and generate concise summaries using LLMs +- **Meeting Recording**: Create permanent records of meetings with searchable transcripts + +![Reflector Transcript View](/img/reflector-transcript-view.png) + +## Features + +| Feature | Public Mode | Private Mode | +|--------------------------------------------|------------|--------------| +| **Authentication** | None required | Required | +| **Audio Upload** | ✅ | ✅ | +| **Live Microphone Streaming** | ✅ | ✅ | +| **Transcription** | ✅ | ✅ | +| **Speaker Diarization** | ✅ | ✅ | +| **Topic Detection** | ✅ | ✅ | +| **Summarization** | ✅ | ✅ | +| **Virtual Meeting Rooms (Whereby, Daily)** | ❌ | ✅ | +| **Browse Transcripts Page** | ❌ | ✅ | +| **Search Functionality** | ❌ | ✅ | +| **Persistent Storage** | ❌ | ✅ | + +## Architecture Overview + +Reflector consists of three main components: + +- **Frontend**: React application built with Next.js +- **Backend**: Python server using FastAPI +- **Processing**: Scalable GPU workers for ML inference (Modal.com or local) + +## Getting Started + +Ready to deploy Reflector? Head over to our [Installation Guide](./installation/overview) to set up your own instance. + +For a quick overview of how Reflector processes audio, check out our [Pipeline Documentation](./pipelines/overview). + +## Open Source + +Reflector is open source software developed by [Monadical](https://monadical.com) and licensed under the **MIT License**. We welcome contributions from the community! + +- [GitHub Repository](https://github.com/monadical-sas/reflector) +- [Issue Tracker](https://github.com/monadical-sas/reflector/issues) +- [Pull Requests](https://github.com/monadical-sas/reflector/pulls) + +## Support + +Need help? Reach out to the community through GitHub Discussions. \ No newline at end of file diff --git a/docs/docs/pipelines/file-pipeline.md b/docs/docs/pipelines/file-pipeline.md new file mode 100644 index 00000000..6f03cdd2 --- /dev/null +++ b/docs/docs/pipelines/file-pipeline.md @@ -0,0 +1,83 @@ +--- +sidebar_position: 2 +title: File Processing Pipeline +--- + +# File Processing Pipeline + +The file processing pipeline handles uploaded audio files, optimizing for accuracy and throughput. + +## Pipeline Stages + +### 1. Input Stage + +**Accepted Formats:** +- MP3 (most common) +- WAV (uncompressed) +- M4A (Apple format) +- WebM (browser recordings) +- MP4 (video with audio track) + +**File Validation:** +- Sample rate: Any (will be resampled to 16kHz) + +### 2. Pre-processing + +**Audio Normalization:** +```yaml +# Convert to standard format +- Sample rate: 16kHz (Whisper requirement) +- Channels: Mono +- Bit depth: 16-bit +- Format: WAV +``` + +**Noise Reduction (Optional):** +- Background noise removal +- Echo cancellation +- High-pass filter for rumble + +### 3. Chunking Strategy + +Audio is split into segments for processing: +- Configurable chunk sizes +- Optional silence detection for natural breaks +- Parallel processing of chunks + +### 4. Transcription Processing + +Transcription uses OpenAI Whisper models via Modal.com or self-hosted GPU: +- Automatic language detection +- Word-level timestamps + +### 5. Diarization (Speaker Identification) + +Speaker diarization uses Pyannote 3.1: + +1. **Voice Activity Detection (VAD)** - Identifies speech segments +2. **Speaker Embedding** - Extracts voice characteristics +3. **Clustering** - Groups similar voices +4. **Segmentation** - Assigns speaker labels to time segments + +### 6. Alignment & Merging + +- Combines transcription with speaker diarization +- Maps speaker labels to transcript segments +- Resolves timing overlaps +- Validates timeline consistency + +### 7. Post-processing Chain + +- **Text Formatting**: Punctuation, capitalization +- **Topic Detection**: LLM-based topic extraction +- **Summarization**: AI-generated summaries and action items + +### 8. Storage & Delivery + +**File Storage:** +- Original audio: S3 (optional) +- Transcript exports: JSON, VTT, TXT + +**Notifications:** +- WebSocket updates during processing +- Webhook notifications on completion (optional) \ No newline at end of file diff --git a/docs/docs/reference/api.md b/docs/docs/reference/api.md new file mode 100644 index 00000000..ac4ff698 --- /dev/null +++ b/docs/docs/reference/api.md @@ -0,0 +1,28 @@ +--- +title: API Reference +--- + +# API Reference + +The complete API documentation is auto-generated from the OpenAPI specification. + +## Interactive Documentation + +When running Reflector, interactive API docs are available at: + +- **Swagger UI**: `https://your-api-domain/docs` +- **ReDoc**: `https://your-api-domain/redoc` + +## OpenAPI Specification + +The raw OpenAPI 3.0 specification can be downloaded from: + +``` +https://your-api-domain/openapi.json +``` + +A static copy is also available: [openapi.json](/openapi.json) + +## Authentication + +See [Authentication Setup](../installation/auth-setup) for configuring API authentication. diff --git a/docs/docs/roadmap.md b/docs/docs/roadmap.md new file mode 100644 index 00000000..5a590398 --- /dev/null +++ b/docs/docs/roadmap.md @@ -0,0 +1,112 @@ +--- +sidebar_position: 100 +title: Roadmap +--- + +# Product Roadmap + +Our development roadmap for Reflector, focusing on expanding capabilities while maintaining privacy and performance. + +## Planned Features + +### 🌍 Multi-Language Support Enhancement + +**Current State:** +- Whisper supports multi-language transcription +- Parakeet supports English only with high accuracy + +**Planned Improvements:** +- Default language selection per room/user +- Automatic language detection improvements +- Multi-language diarization support +- RTL (Right-to-Left) language UI support +- Language-specific post-processing rules + +### 🏠 Self-Hosted Room Providers + +**Jitsi Integration** + +Moving beyond Whereby to support self-hosted video conferencing: + +- No API keys required +- Complete control over video infrastructure +- Custom branding and configuration +- Lower operational costs +- Enhanced privacy with self-hosted video + +**Implementation Plan:** +- WebRTC bridge for Jitsi Meet +- Room management API integration +- Recording synchronization +- Participant tracking + +### 📅 Calendar Integration + +**Planned Capabilities:** +- Google Calendar synchronization +- Microsoft Outlook integration +- Automatic meeting room creation +- Pre-meeting document preparation +- Post-meeting transcript delivery +- Recurring meeting support + +**Features:** +- Auto-join scheduled meetings +- Calendar-based access control +- Meeting agenda import +- Action item export to calendar + +## Future Considerations + +### Enhanced Analytics +- Meeting insights dashboard +- Speaker participation metrics +- Topic trends over time +- Team collaboration patterns + +### Advanced AI Features +- Real-time sentiment analysis +- Emotion detection +- Meeting quality scores +- Automated coaching suggestions + +### Integration Ecosystem +- Slack/Teams notifications +- CRM integration (Salesforce, HubSpot) +- Project management tools (Jira, Asana) +- Knowledge bases (Notion, Confluence) + +### Performance Improvements +- WebAssembly for client-side processing +- Edge computing support +- 5G network optimization +- Blockchain for transcript verification + +## Contributing + +We welcome community contributions! Areas where you can help: + +1. **Language Support**: Add support for your language +2. **Integrations**: Connect with your favorite tools +3. **Models**: Fine-tune models for specific domains +4. **Documentation**: Improve guides and examples + +See our [Contributing Guide](https://github.com/monadical-sas/reflector/blob/main/CONTRIBUTING.md) for details. + +## Timeline + +We don't provide specific dates as development depends on community contributions and priorities. Features are generally released when they're ready and properly tested. + +## Feature Requests + +Have an idea for Reflector? We'd love to hear it! + +- [Open a GitHub Issue](https://github.com/monadical-sas/reflector/issues/new) +- [Join our Discord](#) +- [Email us](mailto:reflector@monadical.com) + +## Stay Updated + +- Watch our [GitHub repository](https://github.com/monadical-sas/reflector) +- Follow our [blog](#) +- Subscribe to our [newsletter](#) \ No newline at end of file diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts new file mode 100644 index 00000000..1c6522bc --- /dev/null +++ b/docs/docusaurus.config.ts @@ -0,0 +1,163 @@ +import {themes as prismThemes} from 'prism-react-renderer'; +import type {Config} from '@docusaurus/types'; +import type * as Preset from '@docusaurus/preset-classic'; +import type * as OpenApiPlugin from 'docusaurus-plugin-openapi-docs'; + +const config: Config = { + title: 'Reflector', + tagline: 'AI-powered audio transcription and meeting analysis platform', + favicon: 'img/favicon.ico', + + url: 'https://monadical-sas.github.io', + baseUrl: '/', + + organizationName: 'monadical-sas', + projectName: 'reflector', + + onBrokenLinks: 'throw', + onBrokenMarkdownLinks: 'warn', + + markdown: { + mermaid: true, + }, + + i18n: { + defaultLocale: 'en', + locales: ['en'], + }, + + presets: [ + [ + 'classic', + { + docs: { + sidebarPath: './sidebars.ts', + editUrl: 'https://github.com/monadical-sas/reflector/tree/main/docs/', + }, + blog: false, + theme: { + customCss: './src/css/custom.css', + }, + } satisfies Preset.Options, + ], + ], + + plugins: [ + [ + 'docusaurus-plugin-openapi-docs', + { + id: 'openapi', + docsPluginId: 'classic', + config: { + reflectorapi: { + specPath: 'static/openapi.json', // Use local file fetched by script + outputDir: 'docs/reference/api-generated', + sidebarOptions: { + groupPathsBy: 'tag', + categoryLinkSource: 'tag', + }, + downloadUrl: '/openapi.json', + hideSendButton: false, + showExtensions: true, + }, + } satisfies OpenApiPlugin.Options, + }, + ], + ], + + themes: ['docusaurus-theme-openapi-docs', '@docusaurus/theme-mermaid'], + + themeConfig: { + image: 'img/reflector-social-card.jpg', + colorMode: { + defaultMode: 'light', + disableSwitch: false, + respectPrefersColorScheme: true, + }, + navbar: { + title: 'Reflector', + logo: { + alt: 'Reflector Logo', + src: 'img/reflector-logo.svg', + }, + items: [ + { + type: 'docSidebar', + sidebarId: 'tutorialSidebar', + position: 'left', + label: 'Documentation', + }, + { + to: '/docs/reference/api', + label: 'API', + position: 'left', + }, + { + href: 'https://github.com/monadical-sas/reflector', + label: 'GitHub', + position: 'right', + }, + ], + }, + footer: { + style: 'dark', + links: [ + { + title: 'Documentation', + items: [ + { + label: 'Introduction', + to: '/docs/intro', + }, + { + label: 'Installation', + to: '/docs/installation/overview', + }, + { + label: 'API Reference', + to: '/docs/reference/api', + }, + ], + }, + { + title: 'Resources', + items: [ + { + label: 'Architecture', + to: '/docs/reference/architecture/overview', + }, + { + label: 'Pipelines', + to: '/docs/pipelines/overview', + }, + { + label: 'Roadmap', + to: '/docs/roadmap', + }, + ], + }, + { + title: 'More', + items: [ + { + label: 'GitHub', + href: 'https://github.com/monadical-sas/reflector', + }, + { + label: 'Docker Hub', + href: 'https://hub.docker.com/r/reflector/backend', + }, + ], + }, + ], + copyright: `Copyright © ${new Date().getFullYear()} Monadical. Licensed under MIT. Built with Docusaurus.`, + }, + prism: { + theme: prismThemes.github, + darkTheme: prismThemes.dracula, + additionalLanguages: ['python', 'bash', 'docker', 'yaml'], + }, + } satisfies Preset.ThemeConfig, +}; + +export default config; \ No newline at end of file diff --git a/docs/package-lock.json b/docs/package-lock.json new file mode 100644 index 00000000..04f14419 --- /dev/null +++ b/docs/package-lock.json @@ -0,0 +1,23526 @@ +{ + "name": "docs", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "docs", + "version": "0.0.0", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/preset-classic": "3.6.3", + "@docusaurus/theme-mermaid": "3.6.3", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "docusaurus-plugin-openapi-docs": "^4.5.1", + "docusaurus-theme-openapi-docs": "^4.5.1", + "prism-react-renderer": "^2.3.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "3.6.3", + "@docusaurus/tsconfig": "3.6.3", + "@docusaurus/types": "3.6.3", + "typescript": "~5.6.2" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@algolia/abtesting": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.1.0.tgz", + "integrity": "sha512-sEyWjw28a/9iluA37KLGu8vjxEIlb60uxznfTUmXImy7H5NvbpSO6yYgmgH5KiD7j+zTUUihiST0jEP12IoXow==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.17.9.tgz", + "integrity": "sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.17.9", + "@algolia/autocomplete-shared": "1.17.9" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.9.tgz", + "integrity": "sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-shared": "1.17.9" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.9.tgz", + "integrity": "sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-shared": "1.17.9" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.9.tgz", + "integrity": "sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ==", + "license": "MIT", + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/cache-browser-local-storage": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.25.2.tgz", + "integrity": "sha512-tA1rqAafI+gUdewjZwyTsZVxesl22MTgLWRKt1+TBiL26NiKx7SjRqTI3pzm8ngx1ftM5LSgXkVIgk2+SRgPTg==", + "license": "MIT", + "dependencies": { + "@algolia/cache-common": "4.25.2" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.25.2.tgz", + "integrity": "sha512-E+aZwwwmhvZXsRA1+8DhH2JJIwugBzHivASTnoq7bmv0nmForLyH7rMG5cOTiDK36DDLnKq1rMGzxWZZ70KZag==", + "license": "MIT" + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.25.2.tgz", + "integrity": "sha512-KYcenhfPKgR+WJ6IEwKVEFMKKCWLZdnYuw08+3Pn1cxAXbJcTIKjoYgEXzEW6gJmDaau2l55qNrZo6MBbX7+sw==", + "license": "MIT", + "dependencies": { + "@algolia/cache-common": "4.25.2" + } + }, + "node_modules/@algolia/client-abtesting": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.35.0.tgz", + "integrity": "sha512-uUdHxbfHdoppDVflCHMxRlj49/IllPwwQ2cQ8DLC4LXr3kY96AHBpW0dMyi6ygkn2MtFCc6BxXCzr668ZRhLBQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-account": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.25.2.tgz", + "integrity": "sha512-IfRGhBxvjli9mdexrCxX2N4XT9NBN3tvZK5zCaL8zkDcgsthiM9WPvGIZS/pl/FuXB7hA0lE5kqOzsQDP6OmGQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.25.2", + "@algolia/client-search": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/@algolia/client-account/node_modules/@algolia/client-common": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.25.2.tgz", + "integrity": "sha512-HXX8vbJPYW29P18GxciiwaDpQid6UhpPP9nW9WE181uGUgFhyP5zaEkYWf9oYBrjMubrGwXi5YEzJOz6Oa4faA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/@algolia/client-account/node_modules/@algolia/client-search": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.25.2.tgz", + "integrity": "sha512-pO/LpVnQlbJpcHRk+AroWyyFnh01eOlO6/uLZRUmYvr/hpKZKxI6n7ufgTawbo0KrAu2CePfiOkStYOmDuRjzQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.25.2", + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.25.2.tgz", + "integrity": "sha512-4Yxxhxh+XjXY8zPyo+h6tQuyoJWDBn8E3YLr8j+YAEy5p+r3/5Tp+ANvQ+hNaQXbwZpyf5d4ViYOBjJ8+bWNEg==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.25.2", + "@algolia/client-search": "4.25.2", + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/@algolia/client-analytics/node_modules/@algolia/client-common": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.25.2.tgz", + "integrity": "sha512-HXX8vbJPYW29P18GxciiwaDpQid6UhpPP9nW9WE181uGUgFhyP5zaEkYWf9oYBrjMubrGwXi5YEzJOz6Oa4faA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/@algolia/client-analytics/node_modules/@algolia/client-search": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.25.2.tgz", + "integrity": "sha512-pO/LpVnQlbJpcHRk+AroWyyFnh01eOlO6/uLZRUmYvr/hpKZKxI6n7ufgTawbo0KrAu2CePfiOkStYOmDuRjzQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.25.2", + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/@algolia/client-common": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.35.0.tgz", + "integrity": "sha512-ipE0IuvHu/bg7TjT2s+187kz/E3h5ssfTtjpg1LbWMgxlgiaZIgTTbyynM7NfpSJSKsgQvCQxWjGUO51WSCu7w==", + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.35.0.tgz", + "integrity": "sha512-UNbCXcBpqtzUucxExwTSfAe8gknAJ485NfPN6o1ziHm6nnxx97piIbcBQ3edw823Tej2Wxu1C0xBY06KgeZ7gA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.25.2.tgz", + "integrity": "sha512-K81PRaHF77mHv2u8foWTHnIf5c+QNf/SnKNM7rB8JPi7TMYi4E5o2mFbgdU1ovd8eg9YMOEAuLkl1Nz1vbM3zQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.25.2", + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/@algolia/client-personalization/node_modules/@algolia/client-common": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.25.2.tgz", + "integrity": "sha512-HXX8vbJPYW29P18GxciiwaDpQid6UhpPP9nW9WE181uGUgFhyP5zaEkYWf9oYBrjMubrGwXi5YEzJOz6Oa4faA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.35.0.tgz", + "integrity": "sha512-8oCuJCFf/71IYyvQQC+iu4kgViTODbXDk3m7yMctEncRSRV+u2RtDVlpGGfPlJQOrAY7OONwJlSHkmbbm2Kp/w==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.35.0.tgz", + "integrity": "sha512-FfmdHTrXhIduWyyuko1YTcGLuicVbhUyRjO3HbXE4aP655yKZgdTIfMhZ/V5VY9bHuxv/fGEh3Od1Lvv2ODNTg==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/events": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", + "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==", + "license": "MIT" + }, + "node_modules/@algolia/ingestion": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.35.0.tgz", + "integrity": "sha512-gPzACem9IL1Co8mM1LKMhzn1aSJmp+Vp434An4C0OBY4uEJRcqsLN3uLBlY+bYvFg8C8ImwM9YRiKczJXRk0XA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/logger-common": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.25.2.tgz", + "integrity": "sha512-aUXpcodoIpLPsnVc2OHgC9E156R7yXWLW2l+Zn24Cyepfq3IvmuVckBvJDpp7nPnXkEzeMuvnVxQfQsk+zP/BA==", + "license": "MIT" + }, + "node_modules/@algolia/logger-console": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.25.2.tgz", + "integrity": "sha512-H3Y+UB0Ty0htvMJ6zDSufhFTSDlg3Pyj3AXilfDdDRcvfhH4C/cJNVm+CTaGORxL5uKABGsBp+SZjsEMTyAunQ==", + "license": "MIT", + "dependencies": { + "@algolia/logger-common": "4.25.2" + } + }, + "node_modules/@algolia/monitoring": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.35.0.tgz", + "integrity": "sha512-w9MGFLB6ashI8BGcQoVt7iLgDIJNCn4OIu0Q0giE3M2ItNrssvb8C0xuwJQyTy1OFZnemG0EB1OvXhIHOvQwWw==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.25.2.tgz", + "integrity": "sha512-puRrGeXwAuVa4mLdvXvmxHRFz9MkcCOLPcjz7MjU4NihlpIa+lZYgikJ7z0SUAaYgd6l5Bh00hXiU/OlX5ffXQ==", + "license": "MIT", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.25.2", + "@algolia/cache-common": "4.25.2", + "@algolia/cache-in-memory": "4.25.2", + "@algolia/client-common": "4.25.2", + "@algolia/client-search": "4.25.2", + "@algolia/logger-common": "4.25.2", + "@algolia/logger-console": "4.25.2", + "@algolia/requester-browser-xhr": "4.25.2", + "@algolia/requester-common": "4.25.2", + "@algolia/requester-node-http": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/client-common": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.25.2.tgz", + "integrity": "sha512-HXX8vbJPYW29P18GxciiwaDpQid6UhpPP9nW9WE181uGUgFhyP5zaEkYWf9oYBrjMubrGwXi5YEzJOz6Oa4faA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/client-search": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.25.2.tgz", + "integrity": "sha512-pO/LpVnQlbJpcHRk+AroWyyFnh01eOlO6/uLZRUmYvr/hpKZKxI6n7ufgTawbo0KrAu2CePfiOkStYOmDuRjzQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.25.2", + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/requester-browser-xhr": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.25.2.tgz", + "integrity": "sha512-aAjfsI0AjWgXLh/xr9eoR8/9HekBkIER3bxGoBf9d1XWMMoTo/q92Da2fewkxwLE6mla95QJ9suJGOtMOewXXQ==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.25.2" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/requester-node-http": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.25.2.tgz", + "integrity": "sha512-Ja/FYB7W9ZM+m8UrMIlawNUAKpncvb9Mo+D8Jq5WepGTUyQ9CBYLsjwxv9O8wbj3TSWqTInf4uUBJ2FKR8G7xw==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.25.2" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.35.0.tgz", + "integrity": "sha512-diY415KLJZ6x1Kbwl9u96Jsz0OstE3asjXtJ9pmk1d+5gPuQ5jQyEsgC+WmEXzlec3iuVszm8AzNYYaqw6B+Zw==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-common": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.25.2.tgz", + "integrity": "sha512-Q4wC3sgY0UFjV3Rb3icRLTpPB5/M44A8IxzJHM9PNeK1T3iX7X/fmz7ATUYQYZTpwHCYATlsQKWiTpql1hHjVg==", + "license": "MIT" + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.35.0.tgz", + "integrity": "sha512-uydqnSmpAjrgo8bqhE9N1wgcB98psTRRQXcjc4izwMB7yRl9C8uuAQ/5YqRj04U0mMQ+fdu2fcNF6m9+Z1BzDQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-node-http": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.35.0.tgz", + "integrity": "sha512-RgLX78ojYOrThJHrIiPzT4HW3yfQa0D7K+MQ81rhxqaNyNBu4F1r+72LNHYH/Z+y9I1Mrjrd/c/Ue5zfDgAEjQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/transporter": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.25.2.tgz", + "integrity": "sha512-yw3RLHWc6V+pbdsFtq8b6T5bJqLDqnfKWS7nac1Vzcmgvs/V/Lfy7/6iOF9XRilu5aBDOBHoP1SOeIDghguzWw==", + "license": "MIT", + "dependencies": { + "@algolia/cache-common": "4.25.2", + "@algolia/logger-common": "4.25.2", + "@algolia/requester-common": "4.25.2" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@antfu/install-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-1.1.0.tgz", + "integrity": "sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==", + "license": "MIT", + "dependencies": { + "package-manager-detector": "^1.3.0", + "tinyexec": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@apidevtools/json-schema-ref-parser": { + "version": "11.9.3", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.9.3.tgz", + "integrity": "sha512-60vepv88RwcJtSHrD6MjIL6Ta3SOYbgfnkHb+ppAVK+o9mXprRtulx7VlRl3lN3bbvysAfCS7WMVfhUYemB0IQ==", + "license": "MIT", + "dependencies": { + "@jsdevtools/ono": "^7.1.3", + "@types/json-schema": "^7.0.15", + "js-yaml": "^4.1.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/philsturgeon" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz", + "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.3.tgz", + "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.3", + "@babel/parser": "^7.28.3", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.3", + "@babel/types": "^7.28.2", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz", + "integrity": "sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz", + "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "regexpu-core": "^6.2.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", + "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "debug": "^4.4.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.22.10" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", + "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz", + "integrity": "sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.3.tgz", + "integrity": "sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.3.tgz", + "integrity": "sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz", + "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz", + "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", + "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", + "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", + "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.0.tgz", + "integrity": "sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", + "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz", + "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.3", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.3.tgz", + "integrity": "sha512-DoEWC5SuxuARF2KdKmGUq3ghfPMO6ZzR12Dnp5gubwbeWJo4dbNWXJPVlwvh4Zlq6Z7YVvL8VFxeSOJgjsx4Sg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-globals": "^7.28.0", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", + "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/template": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz", + "integrity": "sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", + "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-explicit-resource-management": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz", + "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz", + "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", + "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz", + "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", + "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz", + "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", + "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", + "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.0.tgz", + "integrity": "sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", + "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz", + "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", + "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", + "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.27.1.tgz", + "integrity": "sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz", + "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz", + "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", + "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", + "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.3.tgz", + "integrity": "sha512-K3/M/a4+ESb5LEldjQb+XSrpY0nF+ZBFlTCbSnKaYAMfD8v33O6PMs4uYnOk19HlcsI8WMu3McdFPTiQHF/1/A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", + "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.3.tgz", + "integrity": "sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", + "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.0.tgz", + "integrity": "sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", + "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", + "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.3.tgz", + "integrity": "sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.0", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.27.1", + "@babel/plugin-syntax-import-attributes": "^7.27.1", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.28.0", + "@babel/plugin-transform-async-to-generator": "^7.27.1", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.0", + "@babel/plugin-transform-class-properties": "^7.27.1", + "@babel/plugin-transform-class-static-block": "^7.28.3", + "@babel/plugin-transform-classes": "^7.28.3", + "@babel/plugin-transform-computed-properties": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-dotall-regex": "^7.27.1", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.0", + "@babel/plugin-transform-exponentiation-operator": "^7.27.1", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.27.1", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.27.1", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-modules-systemjs": "^7.27.1", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", + "@babel/plugin-transform-numeric-separator": "^7.27.1", + "@babel/plugin-transform-object-rest-spread": "^7.28.0", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/plugin-transform-private-methods": "^7.27.1", + "@babel/plugin-transform-private-property-in-object": "^7.27.1", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.28.3", + "@babel/plugin-transform-regexp-modifiers": "^7.27.1", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.27.1", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.27.1", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "core-js-compat": "^3.43.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.27.1.tgz", + "integrity": "sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-transform-react-display-name": "^7.27.1", + "@babel/plugin-transform-react-jsx": "^7.27.1", + "@babel/plugin-transform-react-jsx-development": "^7.27.1", + "@babel/plugin-transform-react-pure-annotations": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz", + "integrity": "sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-typescript": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.3.tgz", + "integrity": "sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.28.3.tgz", + "integrity": "sha512-LKYxD2CIfocUFNREQ1yk+dW+8OH8CRqmgatBZYXb+XhuObO8wsDpEoCNri5bKld9cnj8xukqZjxSX8p1YiRF8Q==", + "license": "MIT", + "dependencies": { + "core-js-pure": "^3.43.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.3.tgz", + "integrity": "sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.3", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.2", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz", + "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@braintree/sanitize-url": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.1.tgz", + "integrity": "sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==", + "license": "MIT" + }, + "node_modules/@chevrotain/cst-dts-gen": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.0.3.tgz", + "integrity": "sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/gast": "11.0.3", + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/@chevrotain/gast": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-11.0.3.tgz", + "integrity": "sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/@chevrotain/regexp-to-ast": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.0.3.tgz", + "integrity": "sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==", + "license": "Apache-2.0" + }, + "node_modules/@chevrotain/types": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-11.0.3.tgz", + "integrity": "sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==", + "license": "Apache-2.0" + }, + "node_modules/@chevrotain/utils": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-11.0.3.tgz", + "integrity": "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==", + "license": "Apache-2.0" + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@csstools/cascade-layer-name-parser": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.5.tgz", + "integrity": "sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/color-helpers": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.2.tgz", + "integrity": "sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/css-calc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", + "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.10.tgz", + "integrity": "sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^5.0.2", + "@csstools/css-calc": "^2.1.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", + "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", + "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/media-query-list-parser": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.3.tgz", + "integrity": "sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/postcss-cascade-layers": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-5.0.2.tgz", + "integrity": "sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-cascade-layers/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/@csstools/postcss-cascade-layers/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@csstools/postcss-color-function": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-4.0.10.tgz", + "integrity": "sha512-4dY0NBu7NVIpzxZRgh/Q/0GPSz/jLSw0i/u3LTUor0BkQcz/fNhN10mSWBDsL0p9nDb0Ky1PD6/dcGbhACuFTQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.10", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-color-mix-function": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.10.tgz", + "integrity": "sha512-P0lIbQW9I4ShE7uBgZRib/lMTf9XMjJkFl/d6w4EMNHu2qvQ6zljJGEcBkw/NsBtq/6q3WrmgxSS8kHtPMkK4Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.10", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-color-mix-variadic-function-arguments": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-variadic-function-arguments/-/postcss-color-mix-variadic-function-arguments-1.0.0.tgz", + "integrity": "sha512-Z5WhouTyD74dPFPrVE7KydgNS9VvnjB8qcdes9ARpCOItb4jTnm7cHp4FhxCRUoyhabD0WVv43wbkJ4p8hLAlQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.10", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-content-alt-text": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.6.tgz", + "integrity": "sha512-eRjLbOjblXq+byyaedQRSrAejKGNAFued+LcbzT+LCL78fabxHkxYjBbxkroONxHHYu2qxhFK2dBStTLPG3jpQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-exponential-functions": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.9.tgz", + "integrity": "sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.4", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-4.0.0.tgz", + "integrity": "sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-gamut-mapping": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.10.tgz", + "integrity": "sha512-QDGqhJlvFnDlaPAfCYPsnwVA6ze+8hhrwevYWlnUeSjkkZfBpcCO42SaUD8jiLlq7niouyLgvup5lh+f1qessg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.10", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-gradients-interpolation-method": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.10.tgz", + "integrity": "sha512-HHPauB2k7Oits02tKFUeVFEU2ox/H3OQVrP3fSOKDxvloOikSal+3dzlyTZmYsb9FlY9p5EUpBtz0//XBmy+aw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.10", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-hwb-function": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.10.tgz", + "integrity": "sha512-nOKKfp14SWcdEQ++S9/4TgRKchooLZL0TUFdun3nI4KPwCjETmhjta1QT4ICQcGVWQTvrsgMM/aLB5We+kMHhQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.10", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-ic-unit": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-4.0.2.tgz", + "integrity": "sha512-lrK2jjyZwh7DbxaNnIUjkeDmU8Y6KyzRBk91ZkI5h8nb1ykEfZrtIVArdIjX4DHMIBGpdHrgP0n4qXDr7OHaKA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^4.1.0", + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-initial": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-2.0.1.tgz", + "integrity": "sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-5.0.3.tgz", + "integrity": "sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@csstools/postcss-light-dark-function": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.9.tgz", + "integrity": "sha512-1tCZH5bla0EAkFAI2r0H33CDnIBeLUaJh1p+hvvsylJ4svsv2wOmJjJn+OXwUZLXef37GYbRIVKX+X+g6m+3CQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-float-and-clear": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-3.0.0.tgz", + "integrity": "sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-overflow": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-2.0.0.tgz", + "integrity": "sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-overscroll-behavior": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-2.0.0.tgz", + "integrity": "sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-resize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-resize/-/postcss-logical-resize-3.0.0.tgz", + "integrity": "sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-viewport-units": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-3.0.4.tgz", + "integrity": "sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-media-minmax": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.9.tgz", + "integrity": "sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/css-calc": "^2.1.4", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/media-query-list-parser": "^4.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-3.0.5.tgz", + "integrity": "sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/media-query-list-parser": "^4.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-nested-calc": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-4.0.0.tgz", + "integrity": "sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.0.tgz", + "integrity": "sha512-HlEoG0IDRoHXzXnkV4in47dzsxdsjdz6+j7MLjaACABX2NfvjFS6XVAnpaDyGesz9gK2SC7MbNwdCHusObKJ9Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-oklab-function": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.10.tgz", + "integrity": "sha512-ZzZUTDd0fgNdhv8UUjGCtObPD8LYxMH+MJsW9xlZaWTV8Ppr4PtxlHYNMmF4vVWGl0T6f8tyWAKjoI6vePSgAg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.10", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-4.1.0.tgz", + "integrity": "sha512-YrkI9dx8U4R8Sz2EJaoeD9fI7s7kmeEBfmO+UURNeL6lQI7VxF6sBE+rSqdCBn4onwqmxFdBU3lTwyYb/lCmxA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-random-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-random-function/-/postcss-random-function-2.0.1.tgz", + "integrity": "sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.4", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-relative-color-syntax": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.10.tgz", + "integrity": "sha512-8+0kQbQGg9yYG8hv0dtEpOMLwB9M+P7PhacgIzVzJpixxV4Eq9AUQtQw8adMmAJU1RBBmIlpmtmm3XTRd/T00g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.10", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-scope-pseudo-class": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-4.0.1.tgz", + "integrity": "sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-scope-pseudo-class/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@csstools/postcss-sign-functions": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.4.tgz", + "integrity": "sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.4", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.9.tgz", + "integrity": "sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.4", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-4.0.2.tgz", + "integrity": "sha512-8XvCRrFNseBSAGxeaVTaNijAu+FzUvjwFXtcrynmazGb/9WUdsPCpBX+mHEHShVRq47Gy4peYAoxYs8ltUnmzA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/color-helpers": "^5.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.9.tgz", + "integrity": "sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.4", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-unset-value": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-4.0.0.tgz", + "integrity": "sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/utilities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/utilities/-/utilities-2.0.0.tgz", + "integrity": "sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@docsearch/css": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.9.0.tgz", + "integrity": "sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA==", + "license": "MIT" + }, + "node_modules/@docsearch/react": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.9.0.tgz", + "integrity": "sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-core": "1.17.9", + "@algolia/autocomplete-preset-algolia": "1.17.9", + "@docsearch/css": "3.9.0", + "algoliasearch": "^5.14.2" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 20.0.0", + "react": ">= 16.8.0 < 20.0.0", + "react-dom": ">= 16.8.0 < 20.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, + "node_modules/@docsearch/react/node_modules/@algolia/client-analytics": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.35.0.tgz", + "integrity": "sha512-SunAgwa9CamLcRCPnPHx1V2uxdQwJGqb1crYrRWktWUdld0+B2KyakNEeVn5lln4VyeNtW17Ia7V7qBWyM/Skw==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docsearch/react/node_modules/@algolia/client-personalization": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.35.0.tgz", + "integrity": "sha512-/KWjttZ6UCStt4QnWoDAJ12cKlQ+fkpMtyPmBgSS2WThJQdSV/4UWcqCUqGH7YLbwlj3JjNirCu3Y7uRTClxvA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docsearch/react/node_modules/@algolia/recommend": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.35.0.tgz", + "integrity": "sha512-AhrVgaaXAb8Ue0u2nuRWwugt0dL5UmRgS9LXe0Hhz493a8KFeZVUE56RGIV3hAa6tHzmAV7eIoqcWTQvxzlJeQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docsearch/react/node_modules/algoliasearch": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.35.0.tgz", + "integrity": "sha512-Y+moNhsqgLmvJdgTsO4GZNgsaDWv8AOGAaPeIeHKlDn/XunoAqYbA+XNpBd1dW8GOXAUDyxC9Rxc7AV4kpFcIg==", + "license": "MIT", + "dependencies": { + "@algolia/abtesting": "1.1.0", + "@algolia/client-abtesting": "5.35.0", + "@algolia/client-analytics": "5.35.0", + "@algolia/client-common": "5.35.0", + "@algolia/client-insights": "5.35.0", + "@algolia/client-personalization": "5.35.0", + "@algolia/client-query-suggestions": "5.35.0", + "@algolia/client-search": "5.35.0", + "@algolia/ingestion": "1.35.0", + "@algolia/monitoring": "1.35.0", + "@algolia/recommend": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docusaurus/babel": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/babel/-/babel-3.6.3.tgz", + "integrity": "sha512-7dW9Hat9EHYCVicFXYA4hjxBY38+hPuCURL8oRF9fySRm7vzNWuEOghA1TXcykuXZp0HLG2td4RhDxCvGG7tNw==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.25.9", + "@babel/preset-env": "^7.25.9", + "@babel/preset-react": "^7.25.9", + "@babel/preset-typescript": "^7.25.9", + "@babel/runtime": "^7.25.9", + "@babel/runtime-corejs3": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@docusaurus/logger": "3.6.3", + "@docusaurus/utils": "3.6.3", + "babel-plugin-dynamic-import-node": "^2.3.3", + "fs-extra": "^11.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/bundler": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/bundler/-/bundler-3.6.3.tgz", + "integrity": "sha512-47JLuc8D4wA+6VOvmMd5fUC9rFppBQpQOnxDYiVXffm/DeV/wmm3sbpNd5Y+O+G2+nevLTRnvCm/qyancv0Y3A==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.9", + "@docusaurus/babel": "3.6.3", + "@docusaurus/cssnano-preset": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "babel-loader": "^9.2.1", + "clean-css": "^5.3.2", + "copy-webpack-plugin": "^11.0.0", + "css-loader": "^6.8.1", + "css-minimizer-webpack-plugin": "^5.0.1", + "cssnano": "^6.1.2", + "file-loader": "^6.2.0", + "html-minifier-terser": "^7.2.0", + "mini-css-extract-plugin": "^2.9.1", + "null-loader": "^4.0.1", + "postcss": "^8.4.26", + "postcss-loader": "^7.3.3", + "postcss-preset-env": "^10.1.0", + "react-dev-utils": "^12.0.1", + "terser-webpack-plugin": "^5.3.9", + "tslib": "^2.6.0", + "url-loader": "^4.1.1", + "webpack": "^5.95.0", + "webpackbar": "^6.0.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/faster": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/faster": { + "optional": true + } + } + }, + "node_modules/@docusaurus/core": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.6.3.tgz", + "integrity": "sha512-xL7FRY9Jr5DWqB6pEnqgKqcMPJOX5V0pgWXi5lCiih11sUBmcFKM7c3+GyxcVeeWFxyYSDP3grLTWqJoP4P9Vw==", + "license": "MIT", + "dependencies": { + "@docusaurus/babel": "3.6.3", + "@docusaurus/bundler": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "cli-table3": "^0.6.3", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "core-js": "^3.31.1", + "del": "^6.1.1", + "detect-port": "^1.5.1", + "escape-html": "^1.0.3", + "eta": "^2.2.0", + "eval": "^0.1.8", + "fs-extra": "^11.1.1", + "html-tags": "^3.3.1", + "html-webpack-plugin": "^5.6.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "p-map": "^4.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@6.0.0", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.4", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.4", + "rtl-detect": "^1.0.4", + "semver": "^7.5.4", + "serve-handler": "^6.1.6", + "shelljs": "^0.8.5", + "tslib": "^2.6.0", + "update-notifier": "^6.0.2", + "webpack": "^5.95.0", + "webpack-bundle-analyzer": "^4.10.2", + "webpack-dev-server": "^4.15.2", + "webpack-merge": "^6.0.1" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@mdx-js/react": "^3.0.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/cssnano-preset": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.6.3.tgz", + "integrity": "sha512-qP7SXrwZ+23GFJdPN4aIHQrZW+oH/7tzwEuc/RNL0+BdZdmIjYQqUxdXsjE4lFxLNZjj0eUrSNYIS6xwfij+5Q==", + "license": "MIT", + "dependencies": { + "cssnano-preset-advanced": "^6.1.2", + "postcss": "^8.4.38", + "postcss-sort-media-queries": "^5.2.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/logger": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.6.3.tgz", + "integrity": "sha512-xSubJixcNyMV9wMV4q0s47CBz3Rlc5jbcCCuij8pfQP8qn/DIpt0ks8W6hQWzHAedg/J/EwxxUOUrnEoKzJo8g==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/mdx-loader": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.6.3.tgz", + "integrity": "sha512-3iJdiDz9540ppBseeI93tWTDtUGVkxzh59nMq4ignylxMuXBLK8dFqVeaEor23v1vx6TrGKZ2FuLaTB+U7C0QQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/logger": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "@mdx-js/mdx": "^3.0.0", + "@slorber/remark-comment": "^1.0.0", + "escape-html": "^1.0.3", + "estree-util-value-to-estree": "^3.0.1", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "image-size": "^1.0.2", + "mdast-util-mdx": "^3.0.0", + "mdast-util-to-string": "^4.0.0", + "rehype-raw": "^7.0.0", + "remark-directive": "^3.0.0", + "remark-emoji": "^4.0.0", + "remark-frontmatter": "^5.0.0", + "remark-gfm": "^4.0.0", + "stringify-object": "^3.3.0", + "tslib": "^2.6.0", + "unified": "^11.0.3", + "unist-util-visit": "^5.0.0", + "url-loader": "^4.1.1", + "vfile": "^6.0.1", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/module-type-aliases": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.6.3.tgz", + "integrity": "sha512-MjaXX9PN/k5ugNvfRZdWyKWq4FsrhN4LEXaj0pEmMebJuBNlFeGyKQUa9DRhJHpadNaiMLrbo9m3U7Ig5YlsZg==", + "license": "MIT", + "dependencies": { + "@docusaurus/types": "3.6.3", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "@types/react-router-dom": "*", + "react-helmet-async": "*", + "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@docusaurus/plugin-content-blog": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.6.3.tgz", + "integrity": "sha512-k0ogWwwJU3pFRFfvW1kRVHxzf2DutLGaaLjAnHVEU6ju+aRP0Z5ap/13DHyPOfHeE4WKpn/M0TqjdwZAcY3kAw==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/theme-common": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "cheerio": "1.0.0-rc.12", + "feed": "^4.2.2", + "fs-extra": "^11.1.1", + "lodash": "^4.17.21", + "reading-time": "^1.5.0", + "srcset": "^4.0.0", + "tslib": "^2.6.0", + "unist-util-visit": "^5.0.0", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/plugin-content-docs": "*", + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-docs": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.6.3.tgz", + "integrity": "sha512-r2wS8y/fsaDcxkm20W5bbYJFPzdWdEaTWVYjNxlHlcmX086eqQR1Fomlg9BHTJ0dLXPzAlbC8EN4XqMr3QzNCQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/module-type-aliases": "3.6.3", + "@docusaurus/theme-common": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "@types/react-router-config": "^5.0.7", + "combine-promises": "^1.1.0", + "fs-extra": "^11.1.1", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-pages": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.6.3.tgz", + "integrity": "sha512-eHrmTgjgLZsuqfsYr5X2xEwyIcck0wseSofWrjTwT9FLOWp+KDmMAuVK+wRo7sFImWXZk3oV/xX/g9aZrhD7OA==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "fs-extra": "^11.1.1", + "tslib": "^2.6.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-debug": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.6.3.tgz", + "integrity": "sha512-zB9GXfIZNPRfzKnNjU6xGVrqn9bPXuGhpjgsuc/YtcTDjnjhasg38NdYd5LEqXex5G/zIorQgWB3n6x/Ut62vQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "fs-extra": "^11.1.1", + "react-json-view-lite": "^1.2.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.6.3.tgz", + "integrity": "sha512-rCDNy1QW8Dag7nZq67pcum0bpFLrwvxJhYuVprhFh8BMBDxV0bY+bAkGHbSf68P3Bk9C3hNOAXX1srGLIDvcTA==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-gtag": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.6.3.tgz", + "integrity": "sha512-+OyDvhM6rqVkQOmLVkQWVJAizEEfkPzVWtIHXlWPOCFGK9X4/AWeBSrU0WG4iMg9Z4zD4YDRrU+lvI4s6DSC+w==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "@types/gtag.js": "^0.0.12", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-tag-manager": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.6.3.tgz", + "integrity": "sha512-1M6UPB13gWUtN2UHX083/beTn85PlRI9ABItTl/JL1FJ5dJTWWFXXsHf9WW/6hrVwthwTeV/AGbGKvLKV+IlCA==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-sitemap": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.6.3.tgz", + "integrity": "sha512-94qOO4M9Fwv9KfVQJsgbe91k+fPJ4byf1L3Ez8TUa6TAFPo/BrLwQ80zclHkENlL1824TuxkcMKv33u6eydQCg==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "fs-extra": "^11.1.1", + "sitemap": "^7.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/preset-classic": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.6.3.tgz", + "integrity": "sha512-VHSYWROT3flvNNI1SrnMOtW1EsjeHNK9dhU6s9eY5hryZe79lUqnZJyze/ymDe2LXAqzyj6y5oYvyBoZZk6ErA==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/plugin-content-blog": "3.6.3", + "@docusaurus/plugin-content-docs": "3.6.3", + "@docusaurus/plugin-content-pages": "3.6.3", + "@docusaurus/plugin-debug": "3.6.3", + "@docusaurus/plugin-google-analytics": "3.6.3", + "@docusaurus/plugin-google-gtag": "3.6.3", + "@docusaurus/plugin-google-tag-manager": "3.6.3", + "@docusaurus/plugin-sitemap": "3.6.3", + "@docusaurus/theme-classic": "3.6.3", + "@docusaurus/theme-common": "3.6.3", + "@docusaurus/theme-search-algolia": "3.6.3", + "@docusaurus/types": "3.6.3" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/theme-classic": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.6.3.tgz", + "integrity": "sha512-1RRLK1tSArI2c00qugWYO3jRocjOZwGF1mBzPPylDVRwWCS/rnWWR91ChdbbaxIupRJ+hX8ZBYrwr5bbU0oztQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/module-type-aliases": "3.6.3", + "@docusaurus/plugin-content-blog": "3.6.3", + "@docusaurus/plugin-content-docs": "3.6.3", + "@docusaurus/plugin-content-pages": "3.6.3", + "@docusaurus/theme-common": "3.6.3", + "@docusaurus/theme-translations": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "copy-text-to-clipboard": "^3.2.0", + "infima": "0.2.0-alpha.45", + "lodash": "^4.17.21", + "nprogress": "^0.2.0", + "postcss": "^8.4.26", + "prism-react-renderer": "^2.3.0", + "prismjs": "^1.29.0", + "react-router-dom": "^5.3.4", + "rtlcss": "^4.1.0", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/theme-common": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.6.3.tgz", + "integrity": "sha512-b8ZkhczXHDxWWyvz+YJy4t/PlPbEogTTbgnHoflYnH7rmRtyoodTsu8WVM12la5LmlMJBclBXFl29OH8kPE7gg==", + "license": "MIT", + "dependencies": { + "@docusaurus/mdx-loader": "3.6.3", + "@docusaurus/module-type-aliases": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "clsx": "^2.0.0", + "parse-numeric-range": "^1.3.0", + "prism-react-renderer": "^2.3.0", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/plugin-content-docs": "*", + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/theme-mermaid": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-mermaid/-/theme-mermaid-3.6.3.tgz", + "integrity": "sha512-kIqpjNCP/9R2GGf8UmiDxD3CkOAEJuJIEFlaKMgQtjVxa/vH+9PLI1+DFbArGoG4+0ENTYUq8phHPW7SeL36uQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/module-type-aliases": "3.6.3", + "@docusaurus/theme-common": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "mermaid": ">=10.4", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/theme-search-algolia": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.6.3.tgz", + "integrity": "sha512-rt+MGCCpYgPyWCGXtbxlwFbTSobu15jWBTPI2LHsHNa5B0zSmOISX6FWYAPt5X1rNDOqMGM0FATnh7TBHRohVA==", + "license": "MIT", + "dependencies": { + "@docsearch/react": "^3.5.2", + "@docusaurus/core": "3.6.3", + "@docusaurus/logger": "3.6.3", + "@docusaurus/plugin-content-docs": "3.6.3", + "@docusaurus/theme-common": "3.6.3", + "@docusaurus/theme-translations": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-validation": "3.6.3", + "algoliasearch": "^4.18.0", + "algoliasearch-helper": "^3.13.3", + "clsx": "^2.0.0", + "eta": "^2.2.0", + "fs-extra": "^11.1.1", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/theme-translations": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.6.3.tgz", + "integrity": "sha512-Gb0regclToVlngSIIwUCtBMQBq48qVUaN1XQNKW4XwlsgUyk0vP01LULdqbem7czSwIeBAFXFoORJ0RPX7ht/w==", + "license": "MIT", + "dependencies": { + "fs-extra": "^11.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/tsconfig": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.6.3.tgz", + "integrity": "sha512-1pT/rTrRpMV15E4tJH95W5PrjboMn5JkKF+Ys8cTjMegetiXjs0gPFOSDA5hdTlberKQLDO50xPjMJHondLuzA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@docusaurus/types": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.3.tgz", + "integrity": "sha512-xD9oTGDrouWzefkhe9ogB2fDV96/82cRpNGx2HIvI5L87JHNhQVIWimQ/3JIiiX/TEd5S9s+VO6FFguwKNRVow==", + "license": "MIT", + "dependencies": { + "@mdx-js/mdx": "^3.0.0", + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.9.2", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.95.0", + "webpack-merge": "^5.9.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/types/node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@docusaurus/utils": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.6.3.tgz", + "integrity": "sha512-0R/FR3bKVl4yl8QwbL4TYFfR+OXBRpVUaTJdENapBGR3YMwfM6/JnhGilWQO8AOwPJGtGoDK7ib8+8UF9f3OZQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/logger": "3.6.3", + "@docusaurus/types": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "@svgr/webpack": "^8.1.0", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "github-slugger": "^1.5.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "jiti": "^1.20.0", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "prompts": "^2.4.2", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.6.0", + "url-loader": "^4.1.1", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/utils-common": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.6.3.tgz", + "integrity": "sha512-v4nKDaANLgT3pMBewHYEMAl/ufY0LkXao1QkFWzI5huWFOmNQ2UFzv2BiKeHX5Ownis0/w6cAyoxPhVdDonlSQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/types": "3.6.3", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/utils-validation": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.6.3.tgz", + "integrity": "sha512-bhEGGiN5BE38h21vjqD70Gxg++j+PfYVddDUE5UFvLDup68QOcpD33CLr+2knPorlxRbEaNfz6HQDUMQ3HuqKw==", + "license": "MIT", + "dependencies": { + "@docusaurus/logger": "3.6.3", + "@docusaurus/utils": "3.6.3", + "@docusaurus/utils-common": "3.6.3", + "fs-extra": "^11.2.0", + "joi": "^17.9.2", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@exodus/schemasafe": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.3.0.tgz", + "integrity": "sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==", + "license": "MIT" + }, + "node_modules/@faker-js/faker": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-5.5.3.tgz", + "integrity": "sha512-R11tGE6yIFwqpaIqcfkcg7AICXzFg14+5h5v0TfF/9+RMDL6jhzCy/pxHVOfbALGdtVYdt6JdR21tuxEgl34dw==", + "deprecated": "Please update to a newer version.", + "license": "MIT" + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@hookform/error-message": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@hookform/error-message/-/error-message-2.0.1.tgz", + "integrity": "sha512-U410sAr92xgxT1idlu9WWOVjndxLdgPUHEB8Schr27C9eh7/xUnITWpCMF93s+lGiG++D4JnbSnrb5A21AdSNg==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0", + "react-hook-form": "^7.0.0" + } + }, + "node_modules/@iconify/types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", + "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", + "license": "MIT" + }, + "node_modules/@iconify/utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-3.1.0.tgz", + "integrity": "sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw==", + "license": "MIT", + "dependencies": { + "@antfu/install-pkg": "^1.1.0", + "@iconify/types": "^2.0.0", + "mlly": "^1.8.0" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz", + "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.30", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz", + "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", + "license": "MIT" + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "license": "MIT" + }, + "node_modules/@mdx-js/mdx": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.0.tgz", + "integrity": "sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-scope": "^1.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "recma-build-jsx": "^1.0.0", + "recma-jsx": "^1.0.0", + "recma-stringify": "^1.0.0", + "rehype-recma": "^1.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/react": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.0.tgz", + "integrity": "sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==", + "license": "MIT", + "dependencies": { + "@types/mdx": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "react": ">=16" + } + }, + "node_modules/@mermaid-js/parser": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-0.6.3.tgz", + "integrity": "sha512-lnjOhe7zyHjc+If7yT4zoedx2vo4sHaTmtkl1+or8BRTnCtDmcTpAjpzDSfCZrshM5bCoz0GyidzadJAH1xobA==", + "license": "MIT", + "dependencies": { + "langium": "3.3.1" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "license": "MIT", + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "license": "MIT", + "dependencies": { + "graceful-fs": "4.2.10" + }, + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "license": "ISC" + }, + "node_modules/@pnpm/npm-conf": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz", + "integrity": "sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==", + "license": "MIT", + "dependencies": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "license": "MIT" + }, + "node_modules/@redocly/ajv": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.3.tgz", + "integrity": "sha512-4P3iZse91TkBiY+Dx5DUgxQ9GXkVJf++cmI0MOyLDxV9b5MUBI4II6ES8zA5JCbO72nKAJxWrw4PUPW+YP3ZDQ==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js-replace": "^1.0.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@redocly/config": { + "version": "0.22.2", + "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.22.2.tgz", + "integrity": "sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ==", + "license": "MIT" + }, + "node_modules/@redocly/openapi-core": { + "version": "1.34.5", + "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.34.5.tgz", + "integrity": "sha512-0EbE8LRbkogtcCXU7liAyC00n9uNG9hJ+eMyHFdUsy9lB/WGqnEBgwjA9q2cyzAVcdTkQqTBBU1XePNnN3OijA==", + "license": "MIT", + "dependencies": { + "@redocly/ajv": "^8.11.2", + "@redocly/config": "^0.22.0", + "colorette": "^1.2.0", + "https-proxy-agent": "^7.0.5", + "js-levenshtein": "^1.1.6", + "js-yaml": "^4.1.0", + "minimatch": "^5.0.1", + "pluralize": "^8.0.0", + "yaml-ast-parser": "0.0.43" + }, + "engines": { + "node": ">=18.17.0", + "npm": ">=9.5.0" + } + }, + "node_modules/@redocly/openapi-core/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@redocly/openapi-core/node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "license": "MIT" + }, + "node_modules/@redocly/openapi-core/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@reduxjs/toolkit": { + "version": "1.9.7", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.7.tgz", + "integrity": "sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ==", + "license": "MIT", + "dependencies": { + "immer": "^9.0.21", + "redux": "^4.2.1", + "redux-thunk": "^2.4.2", + "reselect": "^4.1.8" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18", + "react-redux": "^7.2.1 || ^8.0.2" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } + } + }, + "node_modules/@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "license": "BSD-3-Clause" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "license": "MIT" + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@slorber/remark-comment": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@slorber/remark-comment/-/remark-comment-1.0.0.tgz", + "integrity": "sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==", + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.1.0", + "micromark-util-symbol": "^1.0.1" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "license": "MIT", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", + "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^8.1.3", + "deepmerge": "^4.3.1", + "svgo": "^3.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/webpack": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", + "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@babel/plugin-transform-react-constant-elements": "^7.21.3", + "@babel/preset-env": "^7.20.2", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.21.0", + "@svgr/core": "8.1.0", + "@svgr/plugin-jsx": "8.1.0", + "@svgr/plugin-svgo": "8.1.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "license": "MIT", + "dependencies": { + "defer-to-connect": "^2.0.1" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "license": "MIT", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/d3": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz", + "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==", + "license": "MIT", + "dependencies": { + "@types/d3-array": "*", + "@types/d3-axis": "*", + "@types/d3-brush": "*", + "@types/d3-chord": "*", + "@types/d3-color": "*", + "@types/d3-contour": "*", + "@types/d3-delaunay": "*", + "@types/d3-dispatch": "*", + "@types/d3-drag": "*", + "@types/d3-dsv": "*", + "@types/d3-ease": "*", + "@types/d3-fetch": "*", + "@types/d3-force": "*", + "@types/d3-format": "*", + "@types/d3-geo": "*", + "@types/d3-hierarchy": "*", + "@types/d3-interpolate": "*", + "@types/d3-path": "*", + "@types/d3-polygon": "*", + "@types/d3-quadtree": "*", + "@types/d3-random": "*", + "@types/d3-scale": "*", + "@types/d3-scale-chromatic": "*", + "@types/d3-selection": "*", + "@types/d3-shape": "*", + "@types/d3-time": "*", + "@types/d3-time-format": "*", + "@types/d3-timer": "*", + "@types/d3-transition": "*", + "@types/d3-zoom": "*" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz", + "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==", + "license": "MIT" + }, + "node_modules/@types/d3-axis": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz", + "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-brush": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz", + "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-chord": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz", + "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==", + "license": "MIT" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", + "license": "MIT" + }, + "node_modules/@types/d3-contour": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz", + "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==", + "license": "MIT", + "dependencies": { + "@types/d3-array": "*", + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==", + "license": "MIT" + }, + "node_modules/@types/d3-dispatch": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.7.tgz", + "integrity": "sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==", + "license": "MIT" + }, + "node_modules/@types/d3-drag": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz", + "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-dsv": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", + "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==", + "license": "MIT" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", + "license": "MIT" + }, + "node_modules/@types/d3-fetch": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", + "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==", + "license": "MIT", + "dependencies": { + "@types/d3-dsv": "*" + } + }, + "node_modules/@types/d3-force": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.10.tgz", + "integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==", + "license": "MIT" + }, + "node_modules/@types/d3-format": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz", + "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==", + "license": "MIT" + }, + "node_modules/@types/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==", + "license": "MIT", + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-hierarchy": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz", + "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==", + "license": "MIT" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "license": "MIT", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", + "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==", + "license": "MIT" + }, + "node_modules/@types/d3-polygon": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz", + "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==", + "license": "MIT" + }, + "node_modules/@types/d3-quadtree": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", + "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==", + "license": "MIT" + }, + "node_modules/@types/d3-random": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz", + "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==", + "license": "MIT" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", + "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", + "license": "MIT", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==", + "license": "MIT" + }, + "node_modules/@types/d3-selection": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.11.tgz", + "integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==", + "license": "MIT" + }, + "node_modules/@types/d3-shape": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.7.tgz", + "integrity": "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==", + "license": "MIT", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", + "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", + "license": "MIT" + }, + "node_modules/@types/d3-time-format": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz", + "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==", + "license": "MIT" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", + "license": "MIT" + }, + "node_modules/@types/d3-transition": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.9.tgz", + "integrity": "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-zoom": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", + "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", + "license": "MIT", + "dependencies": { + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.23.tgz", + "integrity": "sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==", + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.7.tgz", + "integrity": "sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { + "version": "4.19.6", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", + "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", + "license": "MIT" + }, + "node_modules/@types/gtag.js": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz", + "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==", + "license": "MIT" + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/history": { + "version": "4.7.11", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", + "license": "MIT" + }, + "node_modules/@types/hoist-non-react-statics": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.7.tgz", + "integrity": "sha512-PQTyIulDkIDro8P+IHbKCsw7U2xxBYflVzW/FgWdCAePD9xGSidgA76/GeJ6lBKoblyhf9pBY763gbrN+1dI8g==", + "license": "MIT", + "dependencies": { + "hoist-non-react-statics": "^3.3.0" + }, + "peerDependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "license": "MIT" + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "license": "MIT" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.16", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.16.tgz", + "integrity": "sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.3.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.3.0.tgz", + "integrity": "sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.10.0" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.14", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz", + "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "license": "MIT" + }, + "node_modules/@types/parse5": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz", + "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==", + "license": "MIT" + }, + "node_modules/@types/prismjs": { + "version": "1.26.5", + "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.5.tgz", + "integrity": "sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==", + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "license": "MIT" + }, + "node_modules/@types/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "19.1.10", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.10.tgz", + "integrity": "sha512-EhBeSYX0Y6ye8pNebpKrwFJq7BoQ8J5SO6NlvNwwHjSj6adXJViPQrKlsyPw7hLBLvckEMO1yxeGdR82YBBlDg==", + "license": "MIT", + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-redux": { + "version": "7.1.34", + "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.34.tgz", + "integrity": "sha512-GdFaVjEbYv4Fthm2ZLvj1VSCedV7TqE5y1kNwnjSdBOTXuRSgowux6J8TAct15T3CKBr63UMk+2CO7ilRhyrAQ==", + "license": "MIT", + "dependencies": { + "@types/hoist-non-react-statics": "^3.3.0", + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0", + "redux": "^4.0.0" + } + }, + "node_modules/@types/react-router": { + "version": "5.1.20", + "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", + "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "license": "MIT", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*" + } + }, + "node_modules/@types/react-router-config": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.11.tgz", + "integrity": "sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==", + "license": "MIT", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "^5.1.0" + } + }, + "node_modules/@types/react-router-dom": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", + "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", + "license": "MIT", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "license": "MIT" + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/send": { + "version": "0.17.5", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.5.tgz", + "integrity": "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==", + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.8.tgz", + "integrity": "sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==", + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "license": "Apache-2.0" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-draft-04": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", + "license": "MIT", + "peerDependencies": { + "ajv": "^8.5.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/algoliasearch": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.25.2.tgz", + "integrity": "sha512-lYx98L6kb1VvXypbPI7Z54C4BJB2VT5QvOYthvPq6/POufZj+YdyeZSKjoLBKHJgGmYWQTHOKtcCTdKf98WOCA==", + "license": "MIT", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.25.2", + "@algolia/cache-common": "4.25.2", + "@algolia/cache-in-memory": "4.25.2", + "@algolia/client-account": "4.25.2", + "@algolia/client-analytics": "4.25.2", + "@algolia/client-common": "4.25.2", + "@algolia/client-personalization": "4.25.2", + "@algolia/client-search": "4.25.2", + "@algolia/logger-common": "4.25.2", + "@algolia/logger-console": "4.25.2", + "@algolia/recommend": "4.25.2", + "@algolia/requester-browser-xhr": "4.25.2", + "@algolia/requester-common": "4.25.2", + "@algolia/requester-node-http": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/algoliasearch-helper": { + "version": "3.26.0", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.26.0.tgz", + "integrity": "sha512-Rv2x3GXleQ3ygwhkhJubhhYGsICmShLAiqtUuJTUkr9uOCOXyF2E71LVT4XDnVffbknv8XgScP4U0Oxtgm+hIw==", + "license": "MIT", + "dependencies": { + "@algolia/events": "^4.0.1" + }, + "peerDependencies": { + "algoliasearch": ">= 3.1 < 6" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/client-common": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.25.2.tgz", + "integrity": "sha512-HXX8vbJPYW29P18GxciiwaDpQid6UhpPP9nW9WE181uGUgFhyP5zaEkYWf9oYBrjMubrGwXi5YEzJOz6Oa4faA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/client-search": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.25.2.tgz", + "integrity": "sha512-pO/LpVnQlbJpcHRk+AroWyyFnh01eOlO6/uLZRUmYvr/hpKZKxI6n7ufgTawbo0KrAu2CePfiOkStYOmDuRjzQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.25.2", + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/requester-browser-xhr": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.25.2.tgz", + "integrity": "sha512-aAjfsI0AjWgXLh/xr9eoR8/9HekBkIER3bxGoBf9d1XWMMoTo/q92Da2fewkxwLE6mla95QJ9suJGOtMOewXXQ==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.25.2" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/requester-node-http": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.25.2.tgz", + "integrity": "sha512-Ja/FYB7W9ZM+m8UrMIlawNUAKpncvb9Mo+D8Jq5WepGTUyQ9CBYLsjwxv9O8wbj3TSWqTInf4uUBJ2FKR8G7xw==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.25.2" + } + }, + "node_modules/allof-merge": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/allof-merge/-/allof-merge-0.6.7.tgz", + "integrity": "sha512-slvjkM56OdeVkm1tllrnaumtSHwqyHrepXkAe6Am+CW4WdbHkNqdOKPF6cvY3/IouzvXk1BoLICT5LY7sCoFGw==", + "license": "MIT", + "dependencies": { + "json-crawl": "^0.5.3" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.21", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", + "integrity": "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.24.4", + "caniuse-lite": "^1.0.30001702", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/babel-loader": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", + "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", + "license": "MIT", + "dependencies": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "license": "MIT", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", + "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.7", + "@babel/helper-define-polyfill-provider": "^0.6.5", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", + "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "license": "MIT" + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/bonjour-service": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", + "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/boxen": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", + "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^6.2.0", + "chalk": "^4.1.2", + "cli-boxes": "^3.0.0", + "string-width": "^5.0.1", + "type-fest": "^2.5.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.3.tgz", + "integrity": "sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001735", + "electron-to-chromium": "^1.5.204", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "license": "MIT", + "engines": { + "node": ">=14.16" + } + }, + "node_modules/cacheable-request": { + "version": "10.2.14", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", + "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", + "license": "MIT", + "dependencies": { + "@types/http-cache-semantics": "^4.0.2", + "get-stream": "^6.0.1", + "http-cache-semantics": "^4.1.1", + "keyv": "^4.5.3", + "mimic-response": "^4.0.0", + "normalize-url": "^8.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-me-maybe": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", + "license": "MIT" + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001735", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001735.tgz", + "integrity": "sha512-EV/laoX7Wq2J9TQlyIXRxTJqIw4sxfXS4OYgudGxBYRuTv0q7AM6yMEpU/Vo1I94thg9U6EZ2NfZx9GJq83u7w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/charset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/charset/-/charset-1.0.1.tgz", + "integrity": "sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "license": "MIT", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chevrotain": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz", + "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/cst-dts-gen": "11.0.3", + "@chevrotain/gast": "11.0.3", + "@chevrotain/regexp-to-ast": "11.0.3", + "@chevrotain/types": "11.0.3", + "@chevrotain/utils": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/chevrotain-allstar": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz", + "integrity": "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==", + "license": "MIT", + "dependencies": { + "lodash-es": "^4.17.21" + }, + "peerDependencies": { + "chevrotain": "^11.0.0" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "license": "MIT", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table3": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", + "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", + "license": "MIT", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-table3/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/cli-table3/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "license": "MIT" + }, + "node_modules/combine-promises": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", + "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "license": "ISC" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compressible/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/compute-gcd": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/compute-gcd/-/compute-gcd-1.2.1.tgz", + "integrity": "sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg==", + "dependencies": { + "validate.io-array": "^1.0.3", + "validate.io-function": "^1.0.2", + "validate.io-integer-array": "^1.0.0" + } + }, + "node_modules/compute-lcm": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/compute-lcm/-/compute-lcm-1.1.2.tgz", + "integrity": "sha512-OFNPdQAXnQhDSKioX8/XYT6sdUlXwpeMjfd6ApxMJfyZ4GxmLR1xvMERctlYhlHwIiz6CSpBc2+qYKjHGZw4TQ==", + "dependencies": { + "compute-gcd": "^1.2.1", + "validate.io-array": "^1.0.3", + "validate.io-function": "^1.0.2", + "validate.io-integer-array": "^1.0.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "license": "MIT" + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/configstore": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", + "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", + "license": "BSD-2-Clause", + "dependencies": { + "dot-prop": "^6.0.1", + "graceful-fs": "^4.2.6", + "unique-string": "^3.0.0", + "write-file-atomic": "^3.0.3", + "xdg-basedir": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/yeoman/configstore?sponsor=1" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/consola": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", + "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "license": "MIT" + }, + "node_modules/copy-text-to-clipboard": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", + "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "license": "MIT", + "dependencies": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "license": "MIT", + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/core-js": { + "version": "3.45.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.45.1.tgz", + "integrity": "sha512-L4NPsJlCfZsPeXukyzHFlg/i7IIVwHSItR0wg0FLNqYClJ4MQYTYLbC7EkjKYRLZF2iof2MUgN0EGy7MdQFChg==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.45.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.45.1.tgz", + "integrity": "sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.25.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.45.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.45.1.tgz", + "integrity": "sha512-OHnWFKgTUshEU8MK+lOs1H8kC8GkTi9Z1tvNkxrCcw9wl3MJIO7q2ld77wjWn4/xuGrVu2X+nME1iIIPBSdyEQ==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/cose-base": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz", + "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", + "license": "MIT", + "dependencies": { + "layout-base": "^1.0.0" + } + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==", + "license": "MIT" + }, + "node_modules/crypto-random-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", + "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", + "license": "MIT", + "dependencies": { + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/crypto-random-string/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/css-blank-pseudo": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-7.0.1.tgz", + "integrity": "sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-blank-pseudo/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-declaration-sorter": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", + "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", + "license": "ISC", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-has-pseudo": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-7.0.2.tgz", + "integrity": "sha512-nzol/h+E0bId46Kn2dQH5VElaknX2Sr0hFuB/1EomdC7j+OISt2ZzK7EHX9DZDY53WbIVAR7FYKSO2XnSf07MQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-has-pseudo/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-loader": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz", + "integrity": "sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "cssnano": "^6.0.1", + "jest-worker": "^29.4.3", + "postcss": "^8.4.24", + "schema-utils": "^4.0.1", + "serialize-javascript": "^6.0.1" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "lightningcss": { + "optional": true + } + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-10.0.0.tgz", + "integrity": "sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssdb": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-8.4.0.tgz", + "integrity": "sha512-lyATYGyvXwQ8h55WeQeEHXhI+47rl52pXSYkFK/ZrCbAJSgVIaPFjYc3RM8TpRHKk7W3wsAZImmLps+P5VyN9g==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ], + "license": "MIT-0" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", + "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", + "license": "MIT", + "dependencies": { + "cssnano-preset-default": "^6.1.2", + "lilconfig": "^3.1.1" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-preset-advanced": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz", + "integrity": "sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==", + "license": "MIT", + "dependencies": { + "autoprefixer": "^10.4.19", + "browserslist": "^4.23.0", + "cssnano-preset-default": "^6.1.2", + "postcss-discard-unused": "^6.0.5", + "postcss-merge-idents": "^6.0.3", + "postcss-reduce-idents": "^6.0.3", + "postcss-zindex": "^6.0.2" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-preset-default": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", + "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "css-declaration-sorter": "^7.2.0", + "cssnano-utils": "^4.0.2", + "postcss-calc": "^9.0.1", + "postcss-colormin": "^6.1.0", + "postcss-convert-values": "^6.1.0", + "postcss-discard-comments": "^6.0.2", + "postcss-discard-duplicates": "^6.0.3", + "postcss-discard-empty": "^6.0.3", + "postcss-discard-overridden": "^6.0.2", + "postcss-merge-longhand": "^6.0.5", + "postcss-merge-rules": "^6.1.1", + "postcss-minify-font-values": "^6.1.0", + "postcss-minify-gradients": "^6.0.3", + "postcss-minify-params": "^6.1.0", + "postcss-minify-selectors": "^6.0.4", + "postcss-normalize-charset": "^6.0.2", + "postcss-normalize-display-values": "^6.0.2", + "postcss-normalize-positions": "^6.0.2", + "postcss-normalize-repeat-style": "^6.0.2", + "postcss-normalize-string": "^6.0.2", + "postcss-normalize-timing-functions": "^6.0.2", + "postcss-normalize-unicode": "^6.1.0", + "postcss-normalize-url": "^6.0.2", + "postcss-normalize-whitespace": "^6.0.2", + "postcss-ordered-values": "^6.0.2", + "postcss-reduce-initial": "^6.1.0", + "postcss-reduce-transforms": "^6.0.2", + "postcss-svgo": "^6.0.3", + "postcss-unique-selectors": "^6.0.4" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-utils": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", + "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/cytoscape": { + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.33.1.tgz", + "integrity": "sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/cytoscape-cose-bilkent": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", + "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", + "license": "MIT", + "dependencies": { + "cose-base": "^1.0.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz", + "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==", + "license": "MIT", + "dependencies": { + "cose-base": "^2.2.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/cose-base": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz", + "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", + "license": "MIT", + "dependencies": { + "layout-base": "^2.0.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/layout-base": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz", + "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==", + "license": "MIT" + }, + "node_modules/d3": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz", + "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==", + "license": "ISC", + "dependencies": { + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "4", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "license": "ISC", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-axis": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-brush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-chord": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "license": "ISC", + "dependencies": { + "d3-path": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-contour": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "license": "ISC", + "dependencies": { + "d3-array": "^3.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "license": "ISC", + "dependencies": { + "delaunator": "5" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "license": "ISC", + "dependencies": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/d3-dsv/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "license": "ISC", + "dependencies": { + "d3-dsv": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", + "license": "ISC", + "dependencies": { + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-polygon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-sankey": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.12.3.tgz", + "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "1 - 2", + "d3-shape": "^1.2.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-array": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", + "license": "BSD-3-Clause", + "dependencies": { + "internmap": "^1.0.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", + "license": "BSD-3-Clause" + }, + "node_modules/d3-sankey/node_modules/d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-path": "1" + } + }, + "node_modules/d3-sankey/node_modules/internmap": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==", + "license": "ISC" + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "license": "ISC", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "license": "ISC", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "license": "ISC", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "license": "ISC", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "d3-selection": "2 - 3" + } + }, + "node_modules/d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dagre-d3-es": { + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.13.tgz", + "integrity": "sha512-efEhnxpSuwpYOKRm/L5KbqoZmNNukHa/Flty4Wp62JRvgH2ojwVgPgdYyr4twpieZnyRDdIH7PY2mopX26+j2Q==", + "license": "MIT", + "dependencies": { + "d3": "^7.9.0", + "lodash-es": "^4.17.21" + } + }, + "node_modules/dayjs": { + "version": "1.11.19", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", + "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", + "license": "MIT" + }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz", + "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "license": "BSD-2-Clause", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "license": "MIT", + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delaunator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", + "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", + "license": "ISC", + "dependencies": { + "robust-predicates": "^3.0.2" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "license": "MIT" + }, + "node_modules/detect-package-manager": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/detect-package-manager/-/detect-package-manager-3.0.2.tgz", + "integrity": "sha512-8JFjJHutStYrfWwzfretQoyNGoZVW1Fsrp4JO9spa7h/fBfwgTMEIy4/LBzRDGsxwVPHU0q+T9YvwLDJoOApLQ==", + "license": "MIT", + "dependencies": { + "execa": "^5.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/detect-port": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.6.1.tgz", + "integrity": "sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==", + "license": "MIT", + "dependencies": { + "address": "^1.0.1", + "debug": "4" + }, + "bin": { + "detect": "bin/detect-port.js", + "detect-port": "bin/detect-port.js" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "license": "MIT", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/diff": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "license": "MIT", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/docusaurus-plugin-openapi-docs": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/docusaurus-plugin-openapi-docs/-/docusaurus-plugin-openapi-docs-4.5.1.tgz", + "integrity": "sha512-3I6Sjz19D/eM86a24/nVkYfqNkl/zuXSP04XVo7qm/vlPeCpHVM4li2DLj7PzElr6dlS9RbaS4HVIQhEOPGBRQ==", + "license": "MIT", + "dependencies": { + "@apidevtools/json-schema-ref-parser": "^11.5.4", + "@redocly/openapi-core": "^1.10.5", + "allof-merge": "^0.6.6", + "chalk": "^4.1.2", + "clsx": "^1.1.1", + "fs-extra": "^9.0.1", + "json-pointer": "^0.6.2", + "json5": "^2.2.3", + "lodash": "^4.17.20", + "mustache": "^4.2.0", + "openapi-to-postmanv2": "^4.21.0", + "postman-collection": "^4.4.0", + "slugify": "^1.6.5", + "swagger2openapi": "^7.0.8", + "xml-formatter": "^2.6.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@docusaurus/plugin-content-docs": "^3.5.0", + "@docusaurus/utils": "^3.5.0", + "@docusaurus/utils-validation": "^3.5.0", + "react": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/docusaurus-plugin-openapi-docs/node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/docusaurus-plugin-openapi-docs/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/docusaurus-plugin-sass": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/docusaurus-plugin-sass/-/docusaurus-plugin-sass-0.2.6.tgz", + "integrity": "sha512-2hKQQDkrufMong9upKoG/kSHJhuwd+FA3iAe/qzS/BmWpbIpe7XKmq5wlz4J5CJaOPu4x+iDJbgAxZqcoQf0kg==", + "license": "MIT", + "peer": true, + "dependencies": { + "sass-loader": "^16.0.2" + }, + "peerDependencies": { + "@docusaurus/core": "^2.0.0-beta || ^3.0.0-alpha", + "sass": "^1.30.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/docusaurus-theme-openapi-docs/-/docusaurus-theme-openapi-docs-4.5.1.tgz", + "integrity": "sha512-C7mYh9JC3l9jjRtqJVu0EIyOgxHB08jE0Tp5NSkNkrrBak4A13SrXCisNjvt1eaNjS+tsz7qD0bT3aI5hsRvWA==", + "license": "MIT", + "dependencies": { + "@hookform/error-message": "^2.0.1", + "@reduxjs/toolkit": "^1.7.1", + "allof-merge": "^0.6.6", + "buffer": "^6.0.3", + "clsx": "^1.1.1", + "copy-text-to-clipboard": "^3.1.0", + "crypto-js": "^4.1.1", + "file-saver": "^2.0.5", + "lodash": "^4.17.20", + "pako": "^2.1.0", + "postman-code-generators": "^1.10.1", + "postman-collection": "^4.4.0", + "prism-react-renderer": "^2.3.0", + "process": "^0.11.10", + "react-hook-form": "^7.43.8", + "react-live": "^4.0.0", + "react-magic-dropzone": "^1.0.1", + "react-markdown": "^8.0.1", + "react-modal": "^3.15.1", + "react-redux": "^7.2.0", + "rehype-raw": "^6.1.1", + "remark-gfm": "3.0.1", + "sass": "^1.80.4", + "sass-loader": "^16.0.2", + "unist-util-visit": "^5.0.0", + "url": "^0.11.1", + "xml-formatter": "^2.6.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@docusaurus/theme-common": "^3.5.0", + "docusaurus-plugin-openapi-docs": "^4.0.0", + "docusaurus-plugin-sass": "^0.2.3", + "react": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/@types/hast": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", + "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/@types/mdast": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/hast-util-from-parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz", + "integrity": "sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0", + "hastscript": "^7.0.0", + "property-information": "^6.0.0", + "vfile": "^5.0.0", + "vfile-location": "^4.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/hast-util-parse-selector": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz", + "integrity": "sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/hast-util-raw": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-7.2.3.tgz", + "integrity": "sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/parse5": "^6.0.0", + "hast-util-from-parse5": "^7.0.0", + "hast-util-to-parse5": "^7.0.0", + "html-void-elements": "^2.0.0", + "parse5": "^6.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0", + "vfile": "^5.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/hast-util-raw/node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/hast-util-to-parse5": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-7.1.0.tgz", + "integrity": "sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/hastscript": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz", + "integrity": "sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^3.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/html-void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz", + "integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-find-and-replace": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz", + "integrity": "sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-from-markdown": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", + "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-gfm": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz", + "integrity": "sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-gfm-autolink-literal": "^1.0.0", + "mdast-util-gfm-footnote": "^1.0.0", + "mdast-util-gfm-strikethrough": "^1.0.0", + "mdast-util-gfm-table": "^1.0.0", + "mdast-util-gfm-task-list-item": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-gfm-autolink-literal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz", + "integrity": "sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "ccount": "^2.0.0", + "mdast-util-find-and-replace": "^2.0.0", + "micromark-util-character": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-gfm-footnote": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz", + "integrity": "sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0", + "micromark-util-normalize-identifier": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-gfm-strikethrough": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz", + "integrity": "sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-gfm-table": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz", + "integrity": "sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-gfm-task-list-item": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz", + "integrity": "sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-phrasing": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz", + "integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-to-markdown": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz", + "integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^3.0.0", + "mdast-util-to-string": "^3.0.0", + "micromark-util-decode-string": "^1.0.0", + "unist-util-visit": "^4.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-to-markdown/node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-to-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", + "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", + "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-core-commonmark": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", + "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-factory-destination": "^1.0.0", + "micromark-factory-label": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-factory-title": "^1.0.0", + "micromark-factory-whitespace": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-html-tag-name": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-extension-gfm": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.3.tgz", + "integrity": "sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^1.0.0", + "micromark-extension-gfm-footnote": "^1.0.0", + "micromark-extension-gfm-strikethrough": "^1.0.0", + "micromark-extension-gfm-table": "^1.0.0", + "micromark-extension-gfm-tagfilter": "^1.0.0", + "micromark-extension-gfm-task-list-item": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-extension-gfm-autolink-literal": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.5.tgz", + "integrity": "sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-extension-gfm-footnote": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.1.2.tgz", + "integrity": "sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==", + "license": "MIT", + "dependencies": { + "micromark-core-commonmark": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-extension-gfm-strikethrough": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.7.tgz", + "integrity": "sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==", + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-extension-gfm-table": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.7.tgz", + "integrity": "sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==", + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-extension-gfm-tagfilter": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.2.tgz", + "integrity": "sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-extension-gfm-task-list-item": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.5.tgz", + "integrity": "sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==", + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-factory-destination": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", + "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-factory-label": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", + "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-factory-title": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", + "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-factory-whitespace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", + "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-chunked": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", + "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-classify-character": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", + "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-combine-extensions": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", + "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-decode-numeric-character-reference": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", + "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-decode-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", + "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", + "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-html-tag-name": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", + "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-normalize-identifier": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", + "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-resolve-all": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", + "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-sanitize-uri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", + "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-subtokenize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", + "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "license": "MIT" + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/rehype-raw": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-6.1.1.tgz", + "integrity": "sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "hast-util-raw": "^7.2.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/remark-gfm": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz", + "integrity": "sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-gfm": "^2.0.0", + "micromark-extension-gfm": "^2.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/unist-util-position": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", + "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/vfile-location": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.1.0.tgz", + "integrity": "sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "license": "MIT", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/dompurify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.1.tgz", + "integrity": "sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==", + "license": "(MPL-2.0 OR Apache-2.0)", + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-prop": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "license": "MIT", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dot-prop/node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "license": "MIT" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.207", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.207.tgz", + "integrity": "sha512-mryFrrL/GXDTmAtIVMVf+eIXM09BBPlO5IQ7lUyKmK8d+A4VpRGG+M3ofoVef6qyF8s60rJei8ymlJxjUA8Faw==", + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/emojilib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", + "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", + "license": "MIT" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/emoticon": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.1.0.tgz", + "integrity": "sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.18.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", + "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", + "license": "MIT" + }, + "node_modules/esast-util-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", + "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esast-util-from-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", + "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "acorn": "^8.0.0", + "esast-util-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-goat": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", + "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-scope": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", + "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-value-to-estree": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.4.0.tgz", + "integrity": "sha512-Zlp+gxis+gCfK12d3Srl2PdX2ybsEA8ZYy6vQGVQTNNYLEGRQQ56XB64bjemN8kxIKXP1nC9ip4Z+ILy9LGzvQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/remcohaszing" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eta": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz", + "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eval": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", + "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", + "dependencies": { + "@types/node": "*", + "require-like": ">= 0.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exenv": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==", + "license": "BSD-3-Clause" + }, + "node_modules/express": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.12", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "license": "MIT" + }, + "node_modules/express/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fault": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", + "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", + "license": "MIT", + "dependencies": { + "format": "^0.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "license": "Apache-2.0", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/feed": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", + "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "license": "MIT", + "dependencies": { + "xml-js": "^1.6.11" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/file-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/file-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==", + "license": "MIT" + }, + "node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "license": "MIT", + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "license": "MIT", + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreach": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.6.tgz", + "integrity": "sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==", + "license": "MIT" + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/form-data-encoder": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", + "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", + "license": "MIT", + "engines": { + "node": ">= 14.17" + } + }, + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "11.3.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.1.tgz", + "integrity": "sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs-monkey": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.1.0.tgz", + "integrity": "sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==", + "license": "Unlicense" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "license": "ISC" + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-slugger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==", + "license": "ISC" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "license": "BSD-2-Clause" + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "license": "MIT", + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-dirs/node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "license": "MIT", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.8", + "decompress-response": "^6.0.0", + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/got/node_modules/@sindresorhus/is": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/graphlib": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", + "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.15" + } + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "license": "MIT", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hachure-fill": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/hachure-fill/-/hachure-fill-0.5.2.tgz", + "integrity": "sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==", + "license": "MIT" + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-yarn": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", + "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz", + "integrity": "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", + "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5/node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz", + "integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "license": "MIT" + }, + "node_modules/html-minifier-terser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", + "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "~5.3.2", + "commander": "^10.0.0", + "entities": "^4.4.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.15.1" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.6.4", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.4.tgz", + "integrity": "sha512-V/PZeWsqhfpE27nKeX9EO2sbR+D17A+tLf6qU+ht66jdUsN0QLKJN27Z+1+gHrVMKgndBahes0PU6rRihDgHTw==", + "license": "MIT", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/html-webpack-plugin/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/html-webpack-plugin/node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "license": "BSD-2-Clause" + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "license": "MIT" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", + "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", + "license": "MIT" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", + "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", + "license": "MIT", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/http-reasons": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/http-reasons/-/http-reasons-0.1.0.tgz", + "integrity": "sha512-P6kYh0lKZ+y29T2Gqz+RlC9WBLhKe8kDmcJ+A+611jFfxdPsbMRQ5aNmFRM3lENqFkK+HTTL+tlQviAiv0AbLQ==", + "license": "Apache-2.0" + }, + "node_modules/http2-client": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/http2-client/-/http2-client-1.3.5.tgz", + "integrity": "sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==", + "license": "MIT" + }, + "node_modules/http2-wrapper": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", + "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", + "license": "MIT", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.2.1.tgz", + "integrity": "sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==", + "license": "MIT", + "dependencies": { + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=16.x" + } + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/immutable": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz", + "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==", + "license": "MIT" + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/infima": { + "version": "0.2.0-alpha.45", + "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.45.tgz", + "integrity": "sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/inline-style-parser": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", + "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==", + "license": "MIT" + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ipaddr.js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "license": "MIT", + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "license": "MIT", + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-npm": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", + "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "license": "MIT" + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-yarn-global": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz", + "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/joi": { + "version": "17.13.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", + "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "license": "MIT" + }, + "node_modules/json-crawl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/json-crawl/-/json-crawl-0.5.3.tgz", + "integrity": "sha512-BEjjCw8c7SxzNK4orhlWD5cXQh8vCk2LqDr4WgQq4CV+5dvopeYwt1Tskg67SuSLKvoFH5g0yuYtg7rcfKV6YA==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, + "node_modules/json-pointer": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.2.tgz", + "integrity": "sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw==", + "license": "MIT", + "dependencies": { + "foreach": "^2.0.4" + } + }, + "node_modules/json-schema-compare": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/json-schema-compare/-/json-schema-compare-0.2.2.tgz", + "integrity": "sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.4" + } + }, + "node_modules/json-schema-merge-allof": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/json-schema-merge-allof/-/json-schema-merge-allof-0.8.1.tgz", + "integrity": "sha512-CTUKmIlPJbsWfzRRnOXz+0MjIqvnleIXwFTzz+t9T86HnYX/Rozria6ZVGLktAU9e+NygNljveP+yxqtQp/Q4w==", + "license": "MIT", + "dependencies": { + "compute-lcm": "^1.1.2", + "json-schema-compare": "^0.2.2", + "lodash": "^4.17.20" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/katex": { + "version": "0.16.27", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.27.tgz", + "integrity": "sha512-aeQoDkuRWSqQN6nSvVCEFvfXdqo1OQiCmmW1kc9xSdjutPv7BGO7pqY9sQRJpMOGrEdfDgF2TfRXe5eUAD2Waw==", + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "license": "MIT", + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "node_modules/katex/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/khroma": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.1.0.tgz", + "integrity": "sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==" + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/langium": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/langium/-/langium-3.3.1.tgz", + "integrity": "sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==", + "license": "MIT", + "dependencies": { + "chevrotain": "~11.0.3", + "chevrotain-allstar": "~0.3.0", + "vscode-languageserver": "~9.0.1", + "vscode-languageserver-textdocument": "~1.0.11", + "vscode-uri": "~3.0.8" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/latest-version": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", + "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", + "license": "MIT", + "dependencies": { + "package-json": "^8.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/launch-editor": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.11.1.tgz", + "integrity": "sha512-SEET7oNfgSaB6Ym0jufAdCeo3meJVeCaaDyzRygy0xsp2BFKCprcfHljTq4QkzTLUxEKkFK6OK4811YM2oSrRg==", + "license": "MIT", + "dependencies": { + "picocolors": "^1.1.1", + "shell-quote": "^1.8.3" + } + }, + "node_modules/layout-base": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz", + "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==", + "license": "MIT" + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/liquid-json": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/liquid-json/-/liquid-json-0.3.1.tgz", + "integrity": "sha512-wUayTU8MS827Dam6MxgD72Ui+KOSF+u/eIqpatOtjnvgJ0+mnDq33uC2M7J0tPK+upe/DpUAuK4JUU89iBoNKQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "license": "MIT", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "license": "MIT", + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "license": "MIT" + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/marked": { + "version": "16.4.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-16.4.2.tgz", + "integrity": "sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdast-util-definitions": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz", + "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-definitions/node_modules/@types/mdast": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/mdast-util-definitions/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/mdast-util-definitions/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-definitions/node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-definitions/node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-directive": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz", + "integrity": "sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/mdast-util-frontmatter": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz", + "integrity": "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "escape-string-regexp": "^5.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-frontmatter/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "license": "CC0-1.0" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/mermaid": { + "version": "11.12.2", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.12.2.tgz", + "integrity": "sha512-n34QPDPEKmaeCG4WDMGy0OT6PSyxKCfy2pJgShP+Qow2KLrvWjclwbc3yXfSIf4BanqWEhQEpngWwNp/XhZt6w==", + "license": "MIT", + "dependencies": { + "@braintree/sanitize-url": "^7.1.1", + "@iconify/utils": "^3.0.1", + "@mermaid-js/parser": "^0.6.3", + "@types/d3": "^7.4.3", + "cytoscape": "^3.29.3", + "cytoscape-cose-bilkent": "^4.1.0", + "cytoscape-fcose": "^2.2.0", + "d3": "^7.9.0", + "d3-sankey": "^0.12.3", + "dagre-d3-es": "7.0.13", + "dayjs": "^1.11.18", + "dompurify": "^3.2.5", + "katex": "^0.16.22", + "khroma": "^2.1.0", + "lodash-es": "^4.17.21", + "marked": "^16.2.1", + "roughjs": "^4.6.6", + "stylis": "^4.3.6", + "ts-dedent": "^2.2.0", + "uuid": "^11.1.0" + } + }, + "node_modules/mermaid/node_modules/uuid": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/esm/bin/uuid" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-directive": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz", + "integrity": "sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-directive/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-directive/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-directive/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-frontmatter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz", + "integrity": "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==", + "license": "MIT", + "dependencies": { + "fault": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz", + "integrity": "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-expression/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz", + "integrity": "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "license": "MIT", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-destination/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-destination/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz", + "integrity": "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-factory-space": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", + "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-space/node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-character": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", + "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-character/node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz", + "integrity": "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-util-events-to-acorn/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-normalize-identifier/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-symbol": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", + "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-format": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mime-format/-/mime-format-2.0.1.tgz", + "integrity": "sha512-XxU3ngPbEnrYnNbIX+lYSaYg0M01v6p2ntd2YaFksTu0vayaw5OJvbdRyWs07EYRlLED5qadUZ+xo+XhOvFhwg==", + "license": "Apache-2.0", + "dependencies": { + "charset": "^1.0.0" + } + }, + "node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "license": "MIT", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.4.tgz", + "integrity": "sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==", + "license": "MIT", + "dependencies": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mlly": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.0.tgz", + "integrity": "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==", + "license": "MIT", + "dependencies": { + "acorn": "^8.15.0", + "pathe": "^2.0.3", + "pkg-types": "^1.3.1", + "ufo": "^1.6.1" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "license": "MIT", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mustache": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", + "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", + "license": "MIT", + "bin": { + "mustache": "bin/mustache" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "license": "MIT" + }, + "node_modules/neotraverse": { + "version": "0.6.15", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.15.tgz", + "integrity": "sha512-HZpdkco+JeXq0G+WWpMJ4NsX3pqb5O7eR9uGz3FfoFt+LYzU8iRWp49nJtud6hsDoywM8tIrDo3gjgmOqJA8LA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT", + "optional": true + }, + "node_modules/node-emoji": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.2.0.tgz", + "integrity": "sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==", + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^4.6.0", + "char-regex": "^1.0.2", + "emojilib": "^2.4.0", + "skin-tone": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch-h2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/node-fetch-h2/-/node-fetch-h2-2.3.0.tgz", + "integrity": "sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==", + "license": "MIT", + "dependencies": { + "http2-client": "^1.2.5" + }, + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-readfiles": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/node-readfiles/-/node-readfiles-0.2.0.tgz", + "integrity": "sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==", + "license": "MIT", + "dependencies": { + "es6-promise": "^3.2.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.2.tgz", + "integrity": "sha512-Ee/R3SyN4BuynXcnTaekmaVdbDAEiNrHqjQIA37mHU8G9pf7aaAD4ZX3XjBLo6rsdcxA/gtkcNYZLt30ACgynw==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==", + "license": "MIT" + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/null-loader": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-4.0.1.tgz", + "integrity": "sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/null-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/null-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/null-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/null-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/oas-kit-common": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/oas-kit-common/-/oas-kit-common-1.0.8.tgz", + "integrity": "sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==", + "license": "BSD-3-Clause", + "dependencies": { + "fast-safe-stringify": "^2.0.7" + } + }, + "node_modules/oas-linter": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/oas-linter/-/oas-linter-3.2.2.tgz", + "integrity": "sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@exodus/schemasafe": "^1.0.0-rc.2", + "should": "^13.2.1", + "yaml": "^1.10.0" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-resolver": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/oas-resolver/-/oas-resolver-2.5.6.tgz", + "integrity": "sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==", + "license": "BSD-3-Clause", + "dependencies": { + "node-fetch-h2": "^2.3.0", + "oas-kit-common": "^1.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "bin": { + "resolve": "resolve.js" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-resolver-browser": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/oas-resolver-browser/-/oas-resolver-browser-2.5.6.tgz", + "integrity": "sha512-Jw5elT/kwUJrnGaVuRWe1D7hmnYWB8rfDDjBnpQ+RYY/dzAewGXeTexXzt4fGEo6PUE4eqKqPWF79MZxxvMppA==", + "license": "BSD-3-Clause", + "dependencies": { + "node-fetch-h2": "^2.3.0", + "oas-kit-common": "^1.0.8", + "path-browserify": "^1.0.1", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "bin": { + "resolve": "resolve.js" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-schema-walker": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/oas-schema-walker/-/oas-schema-walker-1.1.5.tgz", + "integrity": "sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==", + "license": "BSD-3-Clause", + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-validator": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/oas-validator/-/oas-validator-5.0.8.tgz", + "integrity": "sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==", + "license": "BSD-3-Clause", + "dependencies": { + "call-me-maybe": "^1.0.1", + "oas-kit-common": "^1.0.8", + "oas-linter": "^3.2.2", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "reftools": "^1.1.9", + "should": "^13.2.1", + "yaml": "^1.10.0" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/openapi-to-postmanv2": { + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/openapi-to-postmanv2/-/openapi-to-postmanv2-4.25.0.tgz", + "integrity": "sha512-sIymbkQby0gzxt2Yez8YKB6hoISEel05XwGwNrAhr6+vxJWXNxkmssQc/8UEtVkuJ9ZfUXLkip9PYACIpfPDWg==", + "license": "Apache-2.0", + "dependencies": { + "ajv": "8.11.0", + "ajv-draft-04": "1.0.0", + "ajv-formats": "2.1.1", + "async": "3.2.4", + "commander": "2.20.3", + "graphlib": "2.1.8", + "js-yaml": "4.1.0", + "json-pointer": "0.6.2", + "json-schema-merge-allof": "0.8.1", + "lodash": "4.17.21", + "neotraverse": "0.6.15", + "oas-resolver-browser": "2.5.6", + "object-hash": "3.0.0", + "path-browserify": "1.0.1", + "postman-collection": "^4.4.0", + "swagger2openapi": "7.0.8", + "yaml": "1.10.2" + }, + "bin": { + "openapi2postmanv2": "bin/openapi2postmanv2.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/openapi-to-postmanv2/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/openapi-to-postmanv2/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "license": "MIT", + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", + "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", + "license": "MIT", + "dependencies": { + "got": "^12.1.0", + "registry-auth-token": "^5.0.1", + "registry-url": "^6.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, + "node_modules/package-manager-detector": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz", + "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==", + "license": "MIT" + }, + "node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", + "license": "(MIT AND Zlib)" + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-numeric-range": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==", + "license": "ISC" + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", + "license": "MIT", + "dependencies": { + "domhandler": "^5.0.3", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", + "license": "MIT", + "dependencies": { + "process": "^0.11.1", + "util": "^0.10.3" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "license": "MIT" + }, + "node_modules/path-data-parser": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/path-data-parser/-/path-data-parser-0.1.0.tgz", + "integrity": "sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==", + "license": "MIT" + }, + "node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "license": "(WTFPL OR MIT)" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/path-to-regexp": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", + "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", + "license": "MIT", + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "license": "MIT", + "dependencies": { + "find-up": "^6.3.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "license": "MIT", + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/points-on-curve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/points-on-curve/-/points-on-curve-0.2.0.tgz", + "integrity": "sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==", + "license": "MIT" + }, + "node_modules/points-on-path": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/points-on-path/-/points-on-path-0.2.1.tgz", + "integrity": "sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==", + "license": "MIT", + "dependencies": { + "path-data-parser": "0.1.0", + "points-on-curve": "0.2.0" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-7.0.1.tgz", + "integrity": "sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-attribute-case-insensitive/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-calc": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", + "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.10.tgz", + "integrity": "sha512-k9qX+aXHBiLTRrWoCJuUFI6F1iF6QJQUXNVWJVSbqZgj57jDhBlOvD8gNUGl35tgqDivbGLhZeW3Ongz4feuKA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.10", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-10.0.0.tgz", + "integrity": "sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-10.0.0.tgz", + "integrity": "sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-colormin": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz", + "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0", + "colord": "^2.9.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-convert-values": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", + "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-custom-media": { + "version": "11.0.6", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-11.0.6.tgz", + "integrity": "sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/cascade-layer-name-parser": "^2.0.5", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/media-query-list-parser": "^4.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-custom-properties": { + "version": "14.0.6", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-14.0.6.tgz", + "integrity": "sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/cascade-layer-name-parser": "^2.0.5", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-8.0.5.tgz", + "integrity": "sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/cascade-layer-name-parser": "^2.0.5", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-9.0.1.tgz", + "integrity": "sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-discard-comments": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", + "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", + "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-empty": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", + "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", + "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-unused": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz", + "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.2.tgz", + "integrity": "sha512-7qTqnL7nfLRyJK/AHSVrrXOuvDDzettC+wGoienURV8v2svNbu6zJC52ruZtHaO6mfcagFmuTGFdzRsJKB3k5Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^4.1.0", + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-10.0.1.tgz", + "integrity": "sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-visible/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-focus-within": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-9.0.1.tgz", + "integrity": "sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-6.0.0.tgz", + "integrity": "sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-image-set-function": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-7.0.0.tgz", + "integrity": "sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-lab-function": { + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.10.tgz", + "integrity": "sha512-tqs6TCEv9tC1Riq6fOzHuHcZyhg4k3gIAMB8GGY/zA1ssGdm6puHMVE7t75aOSoFg7UD2wyrFFhbldiCMyyFTQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.10", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-loader": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz", + "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^8.3.5", + "jiti": "^1.20.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-logical": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-8.1.0.tgz", + "integrity": "sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-merge-idents": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz", + "integrity": "sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==", + "license": "MIT", + "dependencies": { + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", + "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^6.1.1" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-merge-rules": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", + "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^4.0.2", + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", + "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", + "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", + "license": "MIT", + "dependencies": { + "colord": "^2.9.3", + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-params": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", + "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", + "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "license": "ISC", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nesting": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-13.0.2.tgz", + "integrity": "sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-resolve-nested": "^3.1.0", + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-nesting/node_modules/@csstools/selector-resolve-nested": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.1.0.tgz", + "integrity": "sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/postcss-nesting/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/postcss-nesting/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", + "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", + "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", + "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", + "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-string": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", + "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", + "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", + "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-url": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", + "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", + "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-opacity-percentage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-3.0.0.tgz", + "integrity": "sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-ordered-values": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", + "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", + "license": "MIT", + "dependencies": { + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-6.0.0.tgz", + "integrity": "sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-10.0.0.tgz", + "integrity": "sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-preset-env": { + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.2.4.tgz", + "integrity": "sha512-q+lXgqmTMdB0Ty+EQ31SuodhdfZetUlwCA/F0zRcd/XdxjzI+Rl2JhZNz5US2n/7t9ePsvuhCnEN4Bmu86zXlA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/postcss-cascade-layers": "^5.0.2", + "@csstools/postcss-color-function": "^4.0.10", + "@csstools/postcss-color-mix-function": "^3.0.10", + "@csstools/postcss-color-mix-variadic-function-arguments": "^1.0.0", + "@csstools/postcss-content-alt-text": "^2.0.6", + "@csstools/postcss-exponential-functions": "^2.0.9", + "@csstools/postcss-font-format-keywords": "^4.0.0", + "@csstools/postcss-gamut-mapping": "^2.0.10", + "@csstools/postcss-gradients-interpolation-method": "^5.0.10", + "@csstools/postcss-hwb-function": "^4.0.10", + "@csstools/postcss-ic-unit": "^4.0.2", + "@csstools/postcss-initial": "^2.0.1", + "@csstools/postcss-is-pseudo-class": "^5.0.3", + "@csstools/postcss-light-dark-function": "^2.0.9", + "@csstools/postcss-logical-float-and-clear": "^3.0.0", + "@csstools/postcss-logical-overflow": "^2.0.0", + "@csstools/postcss-logical-overscroll-behavior": "^2.0.0", + "@csstools/postcss-logical-resize": "^3.0.0", + "@csstools/postcss-logical-viewport-units": "^3.0.4", + "@csstools/postcss-media-minmax": "^2.0.9", + "@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.5", + "@csstools/postcss-nested-calc": "^4.0.0", + "@csstools/postcss-normalize-display-values": "^4.0.0", + "@csstools/postcss-oklab-function": "^4.0.10", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", + "@csstools/postcss-random-function": "^2.0.1", + "@csstools/postcss-relative-color-syntax": "^3.0.10", + "@csstools/postcss-scope-pseudo-class": "^4.0.1", + "@csstools/postcss-sign-functions": "^1.1.4", + "@csstools/postcss-stepped-value-functions": "^4.0.9", + "@csstools/postcss-text-decoration-shorthand": "^4.0.2", + "@csstools/postcss-trigonometric-functions": "^4.0.9", + "@csstools/postcss-unset-value": "^4.0.0", + "autoprefixer": "^10.4.21", + "browserslist": "^4.25.0", + "css-blank-pseudo": "^7.0.1", + "css-has-pseudo": "^7.0.2", + "css-prefers-color-scheme": "^10.0.0", + "cssdb": "^8.3.0", + "postcss-attribute-case-insensitive": "^7.0.1", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^7.0.10", + "postcss-color-hex-alpha": "^10.0.0", + "postcss-color-rebeccapurple": "^10.0.0", + "postcss-custom-media": "^11.0.6", + "postcss-custom-properties": "^14.0.6", + "postcss-custom-selectors": "^8.0.5", + "postcss-dir-pseudo-class": "^9.0.1", + "postcss-double-position-gradients": "^6.0.2", + "postcss-focus-visible": "^10.0.1", + "postcss-focus-within": "^9.0.1", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^6.0.0", + "postcss-image-set-function": "^7.0.0", + "postcss-lab-function": "^7.0.10", + "postcss-logical": "^8.1.0", + "postcss-nesting": "^13.0.2", + "postcss-opacity-percentage": "^3.0.0", + "postcss-overflow-shorthand": "^6.0.0", + "postcss-page-break": "^3.0.4", + "postcss-place": "^10.0.0", + "postcss-pseudo-class-any-link": "^10.0.1", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^8.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-10.0.1.tgz", + "integrity": "sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-reduce-idents": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz", + "integrity": "sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", + "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", + "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-8.0.1.tgz", + "integrity": "sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-selector-not/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-sort-media-queries": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz", + "integrity": "sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==", + "license": "MIT", + "dependencies": { + "sort-css-media-queries": "2.2.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.4.23" + } + }, + "node_modules/postcss-svgo": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz", + "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^3.2.0" + }, + "engines": { + "node": "^14 || ^16 || >= 18" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", + "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" + }, + "node_modules/postcss-zindex": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz", + "integrity": "sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postman-code-generators": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/postman-code-generators/-/postman-code-generators-1.14.2.tgz", + "integrity": "sha512-qZAyyowfQAFE4MSCu2KtMGGQE/+oG1JhMZMJNMdZHYCSfQiVVeKxgk3oI4+KJ3d1y5rrm2D6C6x+Z+7iyqm+fA==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "async": "3.2.2", + "detect-package-manager": "3.0.2", + "lodash": "4.17.21", + "path": "0.12.7", + "postman-collection": "^4.4.0", + "shelljs": "0.8.5" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/postman-code-generators/node_modules/async": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.2.tgz", + "integrity": "sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==", + "license": "MIT" + }, + "node_modules/postman-collection": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/postman-collection/-/postman-collection-4.5.0.tgz", + "integrity": "sha512-152JSW9pdbaoJihwjc7Q8lc3nPg/PC9lPTHdMk7SHnHhu/GBJB7b2yb9zG7Qua578+3PxkQ/HYBuXpDSvsf7GQ==", + "license": "Apache-2.0", + "dependencies": { + "@faker-js/faker": "5.5.3", + "file-type": "3.9.0", + "http-reasons": "0.1.0", + "iconv-lite": "0.6.3", + "liquid-json": "0.3.1", + "lodash": "4.17.21", + "mime-format": "2.0.1", + "mime-types": "2.1.35", + "postman-url-encoder": "3.0.5", + "semver": "7.6.3", + "uuid": "8.3.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postman-collection/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postman-collection/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/postman-collection/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/postman-collection/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postman-url-encoder": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postman-url-encoder/-/postman-url-encoder-3.0.5.tgz", + "integrity": "sha512-jOrdVvzUXBC7C+9gkIkpDJ3HIxOHTIqjpQ4C1EMt1ZGeMvSEpbFCKq23DEfgsj46vMnDgyQf+1ZLp2Wm+bKSsA==", + "license": "Apache-2.0", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/prism-react-renderer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz", + "integrity": "sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==", + "license": "MIT", + "dependencies": { + "@types/prismjs": "^1.26.0", + "clsx": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.0.0" + } + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "license": "ISC" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pupa": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", + "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", + "license": "MIT", + "dependencies": { + "escape-goat": "^4.0.0" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "license": "MIT", + "dependencies": { + "inherits": "~2.0.3" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-error-overlay": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.1.0.tgz", + "integrity": "sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ==", + "license": "MIT" + }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==", + "license": "MIT" + }, + "node_modules/react-helmet-async": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", + "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime": "^7.12.5", + "invariant": "^2.2.4", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.2.0", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.6.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-hook-form": { + "version": "7.62.0", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.62.0.tgz", + "integrity": "sha512-7KWFejc98xqG/F4bAxpL41NB3o1nnvQO1RWZT3TqRZYL8RryQETGfEdVnJN2fy1crCiBLLjkRBVK05j24FxJGA==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-hook-form" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17 || ^18 || ^19" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/react-json-view-lite": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.5.0.tgz", + "integrity": "sha512-nWqA1E4jKPklL2jvHWs6s+7Na0qNgw9HCP6xehdQJeg6nPBTFZgGwyko9Q0oj+jQWKTTVRS30u0toM5wiuL3iw==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": "^16.13.1 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", + "license": "MIT" + }, + "node_modules/react-live": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/react-live/-/react-live-4.1.8.tgz", + "integrity": "sha512-B2SgNqwPuS2ekqj4lcxi5TibEcjWkdVyYykBEUBshPAPDQ527x2zPEZg560n8egNtAjUpwXFQm7pcXV65aAYmg==", + "license": "MIT", + "dependencies": { + "prism-react-renderer": "^2.4.0", + "sucrase": "^3.35.0", + "use-editable": "^2.3.3" + }, + "engines": { + "node": ">= 0.12.0", + "npm": ">= 2.0.0" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/react-loadable": { + "name": "@docusaurus/react-loadable", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz", + "integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==", + "license": "MIT", + "dependencies": { + "@types/react": "*" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/react-loadable-ssr-addon-v5-slorber": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", + "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.3" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "react-loadable": "*", + "webpack": ">=4.41.1 || 5.x" + } + }, + "node_modules/react-magic-dropzone": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-magic-dropzone/-/react-magic-dropzone-1.0.1.tgz", + "integrity": "sha512-0BIROPARmXHpk4AS3eWBOsewxoM5ndk2psYP/JmbCq8tz3uR2LIV1XiroZ9PKrmDRMctpW+TvsBCtWasuS8vFA==", + "license": "MIT" + }, + "node_modules/react-markdown": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.7.tgz", + "integrity": "sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/prop-types": "^15.0.0", + "@types/unist": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^2.0.0", + "prop-types": "^15.0.0", + "property-information": "^6.0.0", + "react-is": "^18.0.0", + "remark-parse": "^10.0.0", + "remark-rehype": "^10.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.0", + "unified": "^10.0.0", + "unist-util-visit": "^4.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "react": ">=16" + } + }, + "node_modules/react-markdown/node_modules/@types/hast": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", + "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/react-markdown/node_modules/@types/mdast": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/react-markdown/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/react-markdown/node_modules/hast-util-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", + "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/react-markdown/node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", + "license": "MIT" + }, + "node_modules/react-markdown/node_modules/mdast-util-from-markdown": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", + "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/react-markdown/node_modules/mdast-util-to-hast": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz", + "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-definitions": "^5.0.0", + "micromark-util-sanitize-uri": "^1.1.0", + "trim-lines": "^3.0.0", + "unist-util-generated": "^2.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/react-markdown/node_modules/mdast-util-to-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", + "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/react-markdown/node_modules/micromark": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", + "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/react-markdown/node_modules/micromark-core-commonmark": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", + "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-factory-destination": "^1.0.0", + "micromark-factory-label": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-factory-title": "^1.0.0", + "micromark-factory-whitespace": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-html-tag-name": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/react-markdown/node_modules/micromark-factory-destination": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", + "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/react-markdown/node_modules/micromark-factory-label": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", + "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/react-markdown/node_modules/micromark-factory-title": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", + "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/react-markdown/node_modules/micromark-factory-whitespace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", + "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/react-markdown/node_modules/micromark-util-chunked": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", + "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/react-markdown/node_modules/micromark-util-classify-character": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", + "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/react-markdown/node_modules/micromark-util-combine-extensions": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", + "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/react-markdown/node_modules/micromark-util-decode-numeric-character-reference": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", + "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/react-markdown/node_modules/micromark-util-decode-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", + "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/react-markdown/node_modules/micromark-util-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", + "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/react-markdown/node_modules/micromark-util-html-tag-name": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", + "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/react-markdown/node_modules/micromark-util-normalize-identifier": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", + "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/react-markdown/node_modules/micromark-util-resolve-all": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", + "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/react-markdown/node_modules/micromark-util-sanitize-uri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", + "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/react-markdown/node_modules/micromark-util-subtokenize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", + "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/react-markdown/node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/react-markdown/node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/react-markdown/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" + }, + "node_modules/react-markdown/node_modules/remark-parse": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz", + "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/react-markdown/node_modules/remark-rehype": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", + "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-to-hast": "^12.1.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/react-markdown/node_modules/style-to-object": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, + "node_modules/react-markdown/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/react-markdown/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/react-markdown/node_modules/unist-util-position": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", + "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/react-markdown/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/react-markdown/node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/react-markdown/node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/react-markdown/node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/react-markdown/node_modules/vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/react-modal": { + "version": "3.16.3", + "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.16.3.tgz", + "integrity": "sha512-yCYRJB5YkeQDQlTt17WGAgFJ7jr2QYcWa1SHqZ3PluDmnKJ/7+tVU+E6uKyZ0nODaeEj+xCpK4LcSnKXLMC0Nw==", + "license": "MIT", + "dependencies": { + "exenv": "^1.2.0", + "prop-types": "^15.7.2", + "react-lifecycles-compat": "^3.0.0", + "warning": "^4.0.3" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 || ^19", + "react-dom": "^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 || ^19" + } + }, + "node_modules/react-redux": { + "version": "7.2.9", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.9.tgz", + "integrity": "sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@types/react-redux": "^7.1.20", + "hoist-non-react-statics": "^3.3.2", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2", + "react-is": "^17.0.2" + }, + "peerDependencies": { + "react": "^16.8.3 || ^17 || ^18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/react-redux/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "license": "MIT" + }, + "node_modules/react-router": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", + "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router-config": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", + "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.1.2" + }, + "peerDependencies": { + "react": ">=15", + "react-router": ">=5" + } + }, + "node_modules/react-router-dom": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", + "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.3.4", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reading-time": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", + "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==", + "license": "MIT" + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/recma-build-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", + "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-jsx": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.1.tgz", + "integrity": "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==", + "license": "MIT", + "dependencies": { + "acorn-jsx": "^5.0.0", + "estree-util-to-js": "^2.0.0", + "recma-parse": "^1.0.0", + "recma-stringify": "^1.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/recma-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", + "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "esast-util-from-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", + "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-to-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "license": "MIT", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.9.2" + } + }, + "node_modules/redux-thunk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", + "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", + "license": "MIT", + "peerDependencies": { + "redux": "^4" + } + }, + "node_modules/reftools": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/reftools/-/reftools-1.1.9.tgz", + "integrity": "sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==", + "license": "BSD-3-Clause", + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regexpu-core": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.12.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/registry-auth-token": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.0.tgz", + "integrity": "sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==", + "license": "MIT", + "dependencies": { + "@pnpm/npm-conf": "^2.1.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/registry-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", + "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", + "license": "MIT", + "dependencies": { + "rc": "1.2.8" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.0.2" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-recma": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", + "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "hast-util-to-estree": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remark-directive": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.1.tgz", + "integrity": "sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-directive": "^3.0.0", + "micromark-extension-directive": "^3.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-emoji": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-4.0.1.tgz", + "integrity": "sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.2", + "emoticon": "^4.0.1", + "mdast-util-find-and-replace": "^3.0.1", + "node-emoji": "^2.1.0", + "unified": "^11.0.4" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/remark-frontmatter": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz", + "integrity": "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-frontmatter": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.0.tgz", + "integrity": "sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==", + "license": "MIT", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "license": "MIT", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/renderkid/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/renderkid/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-like": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", + "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", + "engines": { + "node": "*" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "license": "MIT" + }, + "node_modules/reselect": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", + "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==", + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "license": "MIT" + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==", + "license": "MIT" + }, + "node_modules/responselike": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", + "license": "MIT", + "dependencies": { + "lowercase-keys": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/robust-predicates": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", + "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", + "license": "Unlicense" + }, + "node_modules/roughjs": { + "version": "4.6.6", + "resolved": "https://registry.npmjs.org/roughjs/-/roughjs-4.6.6.tgz", + "integrity": "sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==", + "license": "MIT", + "dependencies": { + "hachure-fill": "^0.5.2", + "path-data-parser": "^0.1.0", + "points-on-curve": "^0.2.0", + "points-on-path": "^0.2.1" + } + }, + "node_modules/rtl-detect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz", + "integrity": "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==", + "license": "BSD-3-Clause" + }, + "node_modules/rtlcss": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.3.0.tgz", + "integrity": "sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==", + "license": "MIT", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0", + "postcss": "^8.4.21", + "strip-json-comments": "^3.1.1" + }, + "bin": { + "rtlcss": "bin/rtlcss.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "license": "BSD-3-Clause" + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "license": "MIT", + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/sass": { + "version": "1.90.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.90.0.tgz", + "integrity": "sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==", + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/sass-loader": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.5.tgz", + "integrity": "sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw==", + "license": "MIT", + "dependencies": { + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/sass/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/sass/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "license": "ISC" + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-utils": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", + "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/search-insights": { + "version": "2.17.3", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz", + "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==", + "license": "MIT", + "peer": true + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "license": "MIT" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "license": "MIT", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", + "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-handler": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz", + "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==", + "license": "MIT", + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "3.3.0", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/path-to-regexp": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz", + "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==", + "license": "MIT" + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "license": "ISC" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", + "license": "MIT" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "license": "BSD-3-Clause", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/should": { + "version": "13.2.3", + "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", + "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", + "license": "MIT", + "dependencies": { + "should-equal": "^2.0.0", + "should-format": "^3.0.3", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" + } + }, + "node_modules/should-equal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", + "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", + "license": "MIT", + "dependencies": { + "should-type": "^1.4.0" + } + }, + "node_modules/should-format": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", + "integrity": "sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==", + "license": "MIT", + "dependencies": { + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" + } + }, + "node_modules/should-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", + "integrity": "sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==", + "license": "MIT" + }, + "node_modules/should-type-adaptors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", + "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", + "license": "MIT", + "dependencies": { + "should-type": "^1.3.0", + "should-util": "^1.0.0" + } + }, + "node_modules/should-util": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", + "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", + "license": "MIT" + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/sitemap": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.2.tgz", + "integrity": "sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==", + "license": "MIT", + "dependencies": { + "@types/node": "^17.0.5", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, + "bin": { + "sitemap": "dist/cli.js" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=5.6.0" + } + }, + "node_modules/sitemap/node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", + "license": "MIT" + }, + "node_modules/skin-tone": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", + "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", + "license": "MIT", + "dependencies": { + "unicode-emoji-modifier-base": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slugify": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", + "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "license": "MIT", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sort-css-media-queries": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz", + "integrity": "sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==", + "license": "MIT", + "engines": { + "node": ">= 6.3.0" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "node_modules/srcset": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", + "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", + "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", + "license": "MIT" + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz", + "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "license": "BSD-2-Clause", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-to-js": { + "version": "1.1.17", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.17.tgz", + "integrity": "sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==", + "license": "MIT", + "dependencies": { + "style-to-object": "1.0.9" + } + }, + "node_modules/style-to-object": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.9.tgz", + "integrity": "sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.4" + } + }, + "node_modules/stylehacks": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz", + "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/stylis": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz", + "integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==", + "license": "MIT" + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "license": "MIT" + }, + "node_modules/svgo": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/swagger2openapi": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/swagger2openapi/-/swagger2openapi-7.0.8.tgz", + "integrity": "sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==", + "license": "BSD-3-Clause", + "dependencies": { + "call-me-maybe": "^1.0.1", + "node-fetch": "^2.6.1", + "node-fetch-h2": "^2.3.0", + "node-readfiles": "^0.2.0", + "oas-kit-common": "^1.0.8", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "oas-validator": "^5.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "bin": { + "boast": "boast.js", + "oas-validate": "oas-validate.js", + "swagger2openapi": "swagger2openapi.js" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/tapable": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz", + "integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.43.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.43.1.tgz", + "integrity": "sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==", + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.14.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.14", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", + "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "license": "MIT" + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "license": "MIT" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", + "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "license": "MIT", + "engines": { + "node": ">=6.10" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "license": "Apache-2.0" + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "license": "MIT", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", + "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==", + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-emoji-modifier-base": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", + "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unique-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", + "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", + "license": "MIT", + "dependencies": { + "crypto-random-string": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unist-util-generated": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz", + "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-notifier": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz", + "integrity": "sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==", + "license": "BSD-2-Clause", + "dependencies": { + "boxen": "^7.0.0", + "chalk": "^5.0.1", + "configstore": "^6.0.0", + "has-yarn": "^3.0.0", + "import-lazy": "^4.0.0", + "is-ci": "^3.0.1", + "is-installed-globally": "^0.4.0", + "is-npm": "^6.0.0", + "is-yarn-global": "^0.4.0", + "latest-version": "^7.0.0", + "pupa": "^3.1.0", + "semver": "^7.3.7", + "semver-diff": "^4.0.0", + "xdg-basedir": "^5.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/boxen": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", + "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.1", + "chalk": "^5.2.0", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/chalk": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.0.tgz", + "integrity": "sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js-replace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uri-js-replace/-/uri-js-replace-1.0.1.tgz", + "integrity": "sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==", + "license": "MIT" + }, + "node_modules/url": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz", + "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==", + "license": "MIT", + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.12.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "file-loader": "*", + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "file-loader": { + "optional": true + } + } + }, + "node_modules/url-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/url-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/url-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/url-loader/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/url-loader/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/url-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "license": "MIT" + }, + "node_modules/use-editable": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/use-editable/-/use-editable-2.3.3.tgz", + "integrity": "sha512-7wVD2JbfAFJ3DK0vITvXBdpd9JAz5BcKAAolsnLBuBn6UDDwBGuCIAGvR3yA2BNKm578vAMVHFCWaOcA+BhhiA==", + "license": "MIT", + "peerDependencies": { + "react": ">= 16.8.0" + } + }, + "node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "license": "MIT", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC" + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "license": "MIT" + }, + "node_modules/utility-types": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/uvu": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", + "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0", + "diff": "^5.0.0", + "kleur": "^4.0.3", + "sade": "^1.7.3" + }, + "bin": { + "uvu": "bin.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/uvu/node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/validate.io-array": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/validate.io-array/-/validate.io-array-1.0.6.tgz", + "integrity": "sha512-DeOy7CnPEziggrOO5CZhVKJw6S3Yi7e9e65R1Nl/RTN1vTQKnzjfvks0/8kQ40FP/dsjRAOd4hxmJ7uLa6vxkg==", + "license": "MIT" + }, + "node_modules/validate.io-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/validate.io-function/-/validate.io-function-1.0.2.tgz", + "integrity": "sha512-LlFybRJEriSuBnUhQyG5bwglhh50EpTL2ul23MPIuR1odjO7XaMLFV8vHGwp7AZciFxtYOeiSCT5st+XSPONiQ==" + }, + "node_modules/validate.io-integer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/validate.io-integer/-/validate.io-integer-1.0.5.tgz", + "integrity": "sha512-22izsYSLojN/P6bppBqhgUDjCkr5RY2jd+N2a3DCAUey8ydvrZ/OkGvFPR7qfOpwR2LC5p4Ngzxz36g5Vgr/hQ==", + "dependencies": { + "validate.io-number": "^1.0.3" + } + }, + "node_modules/validate.io-integer-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/validate.io-integer-array/-/validate.io-integer-array-1.0.0.tgz", + "integrity": "sha512-mTrMk/1ytQHtCY0oNO3dztafHYyGU88KL+jRxWuzfOmQb+4qqnWmI+gykvGp8usKZOM0H7keJHEbRaFiYA0VrA==", + "dependencies": { + "validate.io-array": "^1.0.3", + "validate.io-integer": "^1.0.4" + } + }, + "node_modules/validate.io-number": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/validate.io-number/-/validate.io-number-1.0.3.tgz", + "integrity": "sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg==" + }, + "node_modules/value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==", + "license": "MIT" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", + "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", + "license": "MIT", + "dependencies": { + "vscode-languageserver-protocol": "3.17.5" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "license": "MIT", + "dependencies": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", + "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==", + "license": "MIT" + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", + "license": "MIT" + }, + "node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", + "license": "MIT" + }, + "node_modules/warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", + "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "license": "MIT", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/webpack": { + "version": "5.101.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.101.3.tgz", + "integrity": "sha512-7b0dTKR3Ed//AD/6kkx/o7duS8H3f1a4w3BYpIriX4BzIhjkn4teo05cptsxvLesHFKK5KObnadmCHBwGc+51A==", + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.15.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.24.0", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.3", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.2", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.11", + "watchpack": "^2.4.1", + "webpack-sources": "^3.3.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", + "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", + "license": "MIT", + "dependencies": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "html-escaper": "^2.0.2", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "license": "MIT", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "license": "MIT", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.4", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-merge": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", + "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", + "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpackbar": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-6.0.1.tgz", + "integrity": "sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==", + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "consola": "^3.2.3", + "figures": "^3.2.0", + "markdown-table": "^2.0.0", + "pretty-time": "^1.1.0", + "std-env": "^3.7.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=14.21.3" + }, + "peerDependencies": { + "webpack": "3 || 4 || 5" + } + }, + "node_modules/webpackbar/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/webpackbar/node_modules/markdown-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", + "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", + "license": "MIT", + "dependencies": { + "repeat-string": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/webpackbar/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpackbar/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "license": "Apache-2.0", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "license": "MIT", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "license": "MIT" + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz", + "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xdg-basedir": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", + "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xml-formatter": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/xml-formatter/-/xml-formatter-2.6.1.tgz", + "integrity": "sha512-dOiGwoqm8y22QdTNI7A+N03tyVfBlQ0/oehAzxIZtwnFAHGeSlrfjF73YQvzSsa/Kt6+YZasKsrdu6OIpuBggw==", + "license": "MIT", + "dependencies": { + "xml-parser-xo": "^3.2.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/xml-js": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "license": "MIT", + "dependencies": { + "sax": "^1.2.4" + }, + "bin": { + "xml-js": "bin/cli.js" + } + }, + "node_modules/xml-parser-xo": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/xml-parser-xo/-/xml-parser-xo-3.2.0.tgz", + "integrity": "sha512-8LRU6cq+d7mVsoDaMhnkkt3CTtAs4153p49fRo+HIB3I1FD1o5CeXRjRH29sQevIfVJIcPjKSsPU/+Ujhq09Rg==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yaml-ast-parser": { + "version": "0.0.43", + "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz", + "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==", + "license": "Apache-2.0" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yocto-queue": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", + "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 00000000..3741d814 --- /dev/null +++ b/docs/package.json @@ -0,0 +1,53 @@ +{ + "name": "docs", + "version": "0.0.0", + "private": true, + "scripts": { + "docusaurus": "docusaurus", + "start": "docusaurus start", + "build": "docusaurus build", + "swizzle": "docusaurus swizzle", + "deploy": "docusaurus deploy", + "clear": "docusaurus clear", + "serve": "docusaurus serve", + "write-translations": "docusaurus write-translations", + "write-heading-ids": "docusaurus write-heading-ids", + "typecheck": "tsc", + "fetch-openapi": "./scripts/fetch-openapi.sh", + "gen-api-docs": "npm run fetch-openapi && docusaurus gen-api-docs reflector", + "prebuild": "npm run fetch-openapi" + }, + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/preset-classic": "3.6.3", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "docusaurus-plugin-openapi-docs": "^4.5.1", + "docusaurus-theme-openapi-docs": "^4.5.1", + "@docusaurus/theme-mermaid": "3.6.3", + "prism-react-renderer": "^2.3.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "3.6.3", + "@docusaurus/tsconfig": "3.6.3", + "@docusaurus/types": "3.6.3", + "typescript": "~5.6.2" + }, + "browserslist": { + "production": [ + ">0.5%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 3 chrome version", + "last 3 firefox version", + "last 5 safari version" + ] + }, + "engines": { + "node": ">=18.0" + } +} diff --git a/docs/scripts/fetch-openapi.sh b/docs/scripts/fetch-openapi.sh new file mode 100755 index 00000000..4801e77d --- /dev/null +++ b/docs/scripts/fetch-openapi.sh @@ -0,0 +1,115 @@ +#!/bin/bash + +# Script to fetch OpenAPI specification from FastAPI backend +# Used during documentation build process + +set -e + +echo "📡 Fetching OpenAPI specification from FastAPI backend..." + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# Configuration +BACKEND_DIR="../server" +OPENAPI_OUTPUT="./static/openapi.json" +SERVER_PORT=1250 # Reflector uses port 1250 by default +MAX_WAIT=30 + +# Check if backend directory exists +if [ ! -d "$BACKEND_DIR" ]; then + echo -e "${RED}Error: Backend directory not found at $BACKEND_DIR${NC}" + exit 1 +fi + +# Function to check if server is running +check_server() { + curl -s -o /dev/null -w "%{http_code}" "http://localhost:${SERVER_PORT}/openapi.json" 2>/dev/null +} + +# Function to cleanup on exit +cleanup() { + if [ ! -z "$SERVER_PID" ]; then + echo -e "\n${YELLOW}Stopping FastAPI server (PID: $SERVER_PID)...${NC}" + kill $SERVER_PID 2>/dev/null || true + wait $SERVER_PID 2>/dev/null || true + fi +} + +# Set trap to cleanup on exit +trap cleanup EXIT INT TERM + +# Change to backend directory +cd "$BACKEND_DIR" + +# Check if uv is installed +if ! command -v uv &> /dev/null; then + echo -e "${YELLOW}uv not found, checking for python...${NC}" + if command -v python3 &> /dev/null; then + PYTHON_CMD="python3" + elif command -v python &> /dev/null; then + PYTHON_CMD="python" + else + echo -e "${RED}Error: Neither uv nor python found${NC}" + exit 1 + fi + RUN_CMD="$PYTHON_CMD -m" +else + RUN_CMD="uv run -m" +fi + +# Start the FastAPI server in the background (let it use default port 1250) +echo -e "${YELLOW}Starting FastAPI server...${NC}" +$RUN_CMD reflector.app > /dev/null 2>&1 & +SERVER_PID=$! + +# Wait for server to be ready +echo -n "Waiting for server to be ready" +WAITED=0 +while [ $WAITED -lt $MAX_WAIT ]; do + if [ "$(check_server)" = "200" ]; then + echo -e " ${GREEN}✓${NC}" + break + fi + echo -n "." + sleep 1 + WAITED=$((WAITED + 1)) +done + +if [ $WAITED -ge $MAX_WAIT ]; then + echo -e " ${RED}✗${NC}" + echo -e "${RED}Error: Server failed to start within ${MAX_WAIT} seconds${NC}" + exit 1 +fi + +# Change back to docs directory +cd - > /dev/null + +# Create static directory if it doesn't exist +mkdir -p "$(dirname "$OPENAPI_OUTPUT")" + +# Fetch the OpenAPI specification +echo -e "${YELLOW}Fetching OpenAPI specification...${NC}" +if curl -s "http://localhost:${SERVER_PORT}/openapi.json" -o "$OPENAPI_OUTPUT"; then + echo -e "${GREEN}✓ OpenAPI specification saved to $OPENAPI_OUTPUT${NC}" + + # Validate JSON + if command -v jq &> /dev/null; then + if jq empty "$OPENAPI_OUTPUT" 2>/dev/null; then + echo -e "${GREEN}✓ OpenAPI specification is valid JSON${NC}" + # Pretty print the JSON + jq . "$OPENAPI_OUTPUT" > "${OPENAPI_OUTPUT}.tmp" && mv "${OPENAPI_OUTPUT}.tmp" "$OPENAPI_OUTPUT" + else + echo -e "${RED}Error: Invalid JSON in OpenAPI specification${NC}" + exit 1 + fi + fi +else + echo -e "${RED}Error: Failed to fetch OpenAPI specification${NC}" + exit 1 +fi + +echo -e "${GREEN}✅ OpenAPI specification successfully fetched!${NC}" \ No newline at end of file diff --git a/docs/sidebars.ts b/docs/sidebars.ts new file mode 100644 index 00000000..ba9e8e4f --- /dev/null +++ b/docs/sidebars.ts @@ -0,0 +1,95 @@ +import type {SidebarsConfig} from '@docusaurus/plugin-content-docs'; + +const sidebars: SidebarsConfig = { + tutorialSidebar: [ + 'intro', + { + type: 'category', + label: 'Concepts', + collapsed: false, + items: [ + 'concepts/overview', + 'concepts/modes', + 'concepts/pipeline', + ], + }, + { + type: 'category', + label: 'Installation', + collapsed: false, + items: [ + 'installation/overview', + 'installation/requirements', + 'installation/docker-setup', + 'installation/modal-setup', + 'installation/self-hosted-gpu-setup', + 'installation/auth-setup', + 'installation/daily-setup', + { + type: 'category', + label: 'Other Integrations', + collapsed: true, + items: [ + 'installation/whereby-setup', + 'installation/zulip-setup', + ], + }, + ], + }, + { + type: 'category', + label: 'Pipelines', + items: [ + 'pipelines/overview', + 'pipelines/file-pipeline', + 'pipelines/live-pipeline', + ], + }, + { + type: 'category', + label: 'Reference', + items: [ + { + type: 'category', + label: 'Architecture', + items: [ + 'reference/architecture/overview', + 'reference/architecture/backend', + 'reference/architecture/frontend', + 'reference/architecture/workers', + 'reference/architecture/database', + ], + }, + { + type: 'category', + label: 'Processors', + items: [ + 'reference/processors/transcription', + 'reference/processors/diarization', + 'reference/processors/translation', + 'reference/processors/analysis', + ], + }, + { + type: 'category', + label: 'API', + items: [ + { + type: 'doc', + id: 'reference/api/overview', + }, + { + type: 'link', + label: 'OpenAPI Reference', + href: '/docs/reference/api', + }, + ], + }, + 'reference/configuration', + ], + }, + 'roadmap', + ], +}; + +export default sidebars; \ No newline at end of file diff --git a/docs/src/components/HomepageFeatures/index.tsx b/docs/src/components/HomepageFeatures/index.tsx new file mode 100644 index 00000000..50a9e6f4 --- /dev/null +++ b/docs/src/components/HomepageFeatures/index.tsx @@ -0,0 +1,70 @@ +import clsx from 'clsx'; +import Heading from '@theme/Heading'; +import styles from './styles.module.css'; + +type FeatureItem = { + title: string; + Svg: React.ComponentType>; + description: JSX.Element; +}; + +const FeatureList: FeatureItem[] = [ + { + title: 'Easy to Use', + Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default, + description: ( + <> + Docusaurus was designed from the ground up to be easily installed and + used to get your website up and running quickly. + + ), + }, + { + title: 'Focus on What Matters', + Svg: require('@site/static/img/undraw_docusaurus_tree.svg').default, + description: ( + <> + Docusaurus lets you focus on your docs, and we'll do the chores. Go + ahead and move your docs into the docs directory. + + ), + }, + { + title: 'Powered by React', + Svg: require('@site/static/img/undraw_docusaurus_react.svg').default, + description: ( + <> + Extend or customize your website layout by reusing React. Docusaurus can + be extended while reusing the same header and footer. + + ), + }, +]; + +function Feature({title, Svg, description}: FeatureItem) { + return ( +
+
+ +
+
+ {title} +

{description}

+
+
+ ); +} + +export default function HomepageFeatures(): JSX.Element { + return ( +
+
+
+ {FeatureList.map((props, idx) => ( + + ))} +
+
+
+ ); +} diff --git a/docs/src/components/HomepageFeatures/styles.module.css b/docs/src/components/HomepageFeatures/styles.module.css new file mode 100644 index 00000000..b248eb2e --- /dev/null +++ b/docs/src/components/HomepageFeatures/styles.module.css @@ -0,0 +1,11 @@ +.features { + display: flex; + align-items: center; + padding: 2rem 0; + width: 100%; +} + +.featureSvg { + height: 200px; + width: 200px; +} diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css new file mode 100644 index 00000000..9eec105c --- /dev/null +++ b/docs/src/css/custom.css @@ -0,0 +1,46 @@ +/** + * Reflector Documentation Theme + * Based on frontend colors from www/app/styles/theme.ts + */ + +@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap'); + +:root { + --ifm-color-primary: #3158E2; + --ifm-color-primary-dark: #2847C9; + --ifm-color-primary-darker: #2442BF; + --ifm-color-primary-darkest: #1D369C; + --ifm-color-primary-light: #4A6FE5; + --ifm-color-primary-lighter: #5F81E8; + --ifm-color-primary-lightest: #8DA6F0; + + --ifm-background-color: #FFFFFF; + --ifm-background-surface-color: #F4F4F4; + --ifm-font-color-base: #1A202C; + --ifm-font-color-secondary: #838383; + + --ifm-code-font-size: 95%; + --docusaurus-highlighted-code-line-bg: rgba(49, 88, 226, 0.1); + + --ifm-font-family-base: 'Poppins', system-ui, -apple-system, sans-serif; + --ifm-font-family-monospace: 'Fira Code', 'Monaco', 'Consolas', monospace; + --ifm-navbar-background-color: #FFFFFF; + --ifm-heading-font-weight: 600; +} + +[data-theme='dark'] { + --ifm-color-primary: #B1CBFF; + --ifm-color-primary-dark: #91B3FF; + --ifm-color-primary-darker: #81A7FF; + --ifm-color-primary-darkest: #5189FF; + --ifm-color-primary-light: #D1DFFF; + --ifm-color-primary-lighter: #E1EBFF; + --ifm-color-primary-lightest: #F0F5FF; + + --ifm-background-color: #0C0D0E; + --ifm-background-surface-color: #1A202C; + --ifm-font-color-base: #E2E8F0; + --ifm-font-color-secondary: #A0AEC0; + --docusaurus-highlighted-code-line-bg: rgba(177, 203, 255, 0.1); + --ifm-navbar-background-color: #1A202C; +} diff --git a/docs/src/pages/index.module.css b/docs/src/pages/index.module.css new file mode 100644 index 00000000..9f71a5da --- /dev/null +++ b/docs/src/pages/index.module.css @@ -0,0 +1,23 @@ +/** + * CSS files with the .module.css suffix will be treated as CSS modules + * and scoped locally. + */ + +.heroBanner { + padding: 4rem 0; + text-align: center; + position: relative; + overflow: hidden; +} + +@media screen and (max-width: 996px) { + .heroBanner { + padding: 2rem; + } +} + +.buttons { + display: flex; + align-items: center; + justify-content: center; +} diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx new file mode 100644 index 00000000..617865a3 --- /dev/null +++ b/docs/src/pages/index.tsx @@ -0,0 +1,7 @@ +import React from 'react'; +import { Redirect } from '@docusaurus/router'; +import useBaseUrl from '@docusaurus/useBaseUrl'; + +export default function Home(): JSX.Element { + return ; +} \ No newline at end of file diff --git a/docs/src/pages/markdown-page.md b/docs/src/pages/markdown-page.md new file mode 100644 index 00000000..9756c5b6 --- /dev/null +++ b/docs/src/pages/markdown-page.md @@ -0,0 +1,7 @@ +--- +title: Markdown page example +--- + +# Markdown page example + +You don't need React to write simple standalone pages. diff --git a/docs/static/.nojekyll b/docs/static/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/docs/static/img/docusaurus-social-card.jpg b/docs/static/img/docusaurus-social-card.jpg new file mode 100644 index 00000000..e69de29b diff --git a/docs/static/img/docusaurus.png b/docs/static/img/docusaurus.png new file mode 100644 index 00000000..e69de29b diff --git a/docs/static/img/favicon.ico b/docs/static/img/favicon.ico new file mode 100644 index 00000000..e69de29b diff --git a/docs/static/img/logo.svg b/docs/static/img/logo.svg new file mode 100644 index 00000000..953738af --- /dev/null +++ b/docs/static/img/logo.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + diff --git a/docs/static/img/reflector-logo.svg b/docs/static/img/reflector-logo.svg new file mode 100644 index 00000000..953738af --- /dev/null +++ b/docs/static/img/reflector-logo.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + diff --git a/docs/static/img/reflector-transcript-view.png b/docs/static/img/reflector-transcript-view.png new file mode 100644 index 0000000000000000000000000000000000000000..0ed788230eb47a252a5ce5d21999df334fb7058c GIT binary patch literal 537332 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%0AsJ;4^0Ej!3uf<~8j z3E2Oa&BPLnHo(J~qSbjPJEJLsu*CFIC}A8F5A1QDn2iKVN38Gyh90`sJ7mpyXTV3e zbN-Mj`zYf-rsK?&F_?64o*Bi(&R4x^1dvVXaEqlp@oWAM6>0r{3 zAfaP@oL2efoW5Xt*Tq&zIo4*pNOitF+DqJBY)%m}tzYRrSL9dhq8ZgxuwIbI+5ZGHm$qoq!(x~wY0JkYvlf4Gx{-tRwojY}kPt%-UXH30&G z(%X*~inGHgo4{lXG^KPT_832A1rg#n1+4q6Dv67-+E+yJBVQp~8*M(CTXJ_J;G+5Y zkCCs+OwcTsQ7dWUNKl@tfk4yWrV`4j#LU}{rvJSEEPp>2&;4`}zQ1#vY^C#La;Azg0=G}9@ zWm+_;Uq-@CziyB1E;)1EROx5a`J9ull~&KEN|*8QX7I4oMntEX3YX*E3x-n1&yQ ztRV5(mv>Q9ab%<8P<%(I=tMN@yQA5`tkAhWKuZW?E7zI};VfRiIAb;s{VBeE|65fF z6aPG3r=&8gNV`f#px|zO78mwIc>P;Wpeyi*#^)$_Y0+?TmSHD0Xw@UN#&PKDl;9!6 zwoig(vdH#Jj%`dk^tEZ*{#c5#oeW_WP)#`KRwc2BryCkK zZ4UoL3!67Pj_6h|O}Bop2RB>#%*#DN3EyQ^GWb&S?U}fPLX z1J7MvL`h#qzno8xw_*>1bJ;cM`VyKL=&qx$ygB3W%2#m>{TgBR>$(hn`5+e9&M)#n zugSxCoF#UDyi;F>%u}|ZH*rDUe;beyx>?E*dIvxZDO>!)@HrTo#pt{czgSeum7e#{*~(*{Bc(jV0a=(Ps--rMl2kQfZ1fx<%CDaEBCmKp~Rf zKwyjfb9Hmf39q)Q^iQm?uAVmzr9Ktr2aOK(2!{yDX5c)h?kyS?9w*6lo)WqSd;Kpi zEycZf0Pyb!08RNw%S(+HwSuIb%-a$?&1vuMXI(9`y=lCoM;TN3Z3UsTw%5=2_ub>k z6!-ro1ip!7#ut4`+Wqr3L&|PJf0-{H9{pQ{|FOu!VYyKJy9UP^yNo=E&qxqI z`^}pBt>?;S#0Up6b(tRqC=l`Of>YvOX!LqfHf5G_(dj9>UwQo<*@BgU1nx3k6xW1* zfAv4l@7@w$bR)Mpxj=L=Wx@T!ymeV-=2+J*V^B4d>v=0Q^Ro7!(p(<9>Tw1%PeO+n zPzB<(3^ehTkd)9!dk{K9X@s|7}4z`tMnmqO*?adBVK-6`^fiAIy<_@n%M{oOzWOY`;EuZK6rJ28MFtMfsuVFGAChX3$Oz3Z5NfXY!-X_ z{G9+1{00#ZgNz>HJ@NNf|MUD_0?SQ8O9+?=?j;7#75;BF(v-}@q1aTLde!{*XZf$6 z?y`vw{0{hrArEU_ky>gq>{!eBF`ak(Z&USu|v{oN24af~%xZ5M&oU5;LZ%P#!Sbd^3pdtj{{Q&z+u_`APf1n+X@ zhuh}}gZUVspg12#-YZ2IHO@or450uA(tujVZhvgx-l^|(DE(jxy_WxKs{84+@ubxQ zJq=KXTtO3rvs}y*bfv-DY3mV@ugJ90K_@sF;F{9(x}&MN2YHfRM!#Rrf%mUR3oIYd zl`+WAJH?3K!2nPtX|S*H0zeC>Az%aP>N>8ji3Wk5(gy$J;h%TQ8U3M@AvWuA3=O*? z8NVWcX1qy62!3%k#xC4)_&An`5xyo9MX|-AmcMv+oN*5WAO-#PG8zD2e}6ep+d4Xs zai2VEo|vY8eYT6uHq@dcquUSy>kstt2$78*6|Dqc&FGIJX|f5(EdZ5rRBZc zO=Izv)91Er>(F_zw0~cE|I)Gk^Rbl_OKRvd81^r`PszUIJ^g8Ad-CnYUOV1o{Z|J0 zE>e$;v=tOR*vtcvhvj!M=ze3&=)wRC09I7i%)&Qd_`?3?0<#npk(WsJ;q^^r7+)@z zLU-mcnW$)qMM0k2Ru0Ia>f?0GOXH)*;4B1TP=}$EFP2~OoBhI{EYcjxoT{;&tf#bV z?AfhS;&%ll5ZaRTt?2`FEy*Ix74mgBppf)G`8^%Q#$}&L3(cY&#&;} zfM7IqzX6O0IPfXH_O#qNHwExf^82V6xjz_aSyi%wJU6on$T!Fp`n+@t)!v@ZSReD2 znfJ{*fX1(5nvk;-Nb3p*=g=)2s4_SmH7!CT33I=IUpWASXTJd?cUzpHVqNH<=y8A5 z9&9CAm0~0W1jW9MGudv~n>&Y${V-R&&(3VG)sRssp@m$BIa#SZHWi<%1bUBcwQ18R zniWRHMy2z2Wz9kh)E=8gNiFO3j0zMR{If{%lP&iMiRyfP3h74@{%e<-eU{d4M`aTe zmfkC8Uq=LHdym0rz)o99Wh7D?g5^Vh$9gzZQfCX=`DWIH601Qm7!k{6$L|0H4yzCASC~kfw-=SwcPY3Z zND>5;5wfmQ^M2ZcyYGR6b>(ci`O5s~`VR3wz8AB=pWO|hnt=i9JNhmfv&>-* znCMD=yZkSM$x0{3*rzB8>sMPrA1%z<03R#qOwu z!78U0Y3u&bu;7-55b?E~o^AcVYvaFut_5fx8MfZQ>!YBW{D44f1clD6Kh0sh2# zfNsPZPQXDqI0C(Ir-waZy>0C;k(R?Q$~{2Na(b9TfOeUpLm)QSIUw`E2GfMYtZSn7 z(p)v_Bm;4sAbtm6Fwjx5lvoNz8hfC)P%Rn)s@ZxXB@vaQ(iIlX(zwxAkAH3?k6Xhz z8upd}d!@)WwIyTDdocN> z(r^LH3e_(TOKtoeyW1nBzV|*zg;b0Q-k$Z~ccEH+ZuwtGGI}q7BtzsSF`8;M>%-+jGA!(XXD!SABIRvEzdSJQ)ni9H-3GL&jq9%cjw z>9nhc&0d0`TXMo0;1TA zr0eo{slM*@uSm4T5%5W1rOmQZw@G^gxXes9&WrjV7++IIpqxyQ?I%WgP3#~{S6>CbT*8~h#LF{13;ER=RK?lPu?TpF!1#~_^E@+ zn@`E{rQ}YKUQVJ~amnHe7h0w@_-YpB<#T(gNp1Z*!ab&<7GMd{q@^XZT<6_o=WP;S zx)PEF-lq7LhCqtbVP7vmJEV%r^^_I=)y zbwAJaNvfjGx}x3{e?rB;MdM!m4wbh9u=a1lz!XCizSDzj8ooU(e}}7Uk~`LY5149B@Q#71r4wNGgzs=q zEMmH4oTBd>058=%0N}~!n*k9@`!dTtBOnu|ZGTM^{5nKFmD&YwGauR-gq&dSaGLCZ znD5PcGH8g^y6>GQfMCMGjrhB>`MWZ$iuYI9#ab+`n*66yrnaUfXutLWD{$6xA8U#2 zgx|40TRH;H2np2DSx22fbbIdcf@$$6@z9{bgX2fd2r^EW$U}#<-Xd9yb^eK0UAP915ndnC6U-@bX-?*=ymn_z zeUT|ei(_Da0Mv!q1lz@UHD=dS=G5rH{Y+&?!m|plTRg3{ptk zf##Pz*cy$AvK=G%F&|S}Q+c9wX*@>T9<9rnhMi8x+ z;w1BcmI<44nSBbm+Ol{SyboPK3^6>;n{X+BiUK8NoSa&rn)X<=&8*myOcVT# zQcPECm{%XiKOkx~A16j!NjYBec_-K*TN?n6jnZej7b+Ddxg9i~ac@A$uHhS-?gDUP zOb~!G4ZM*SNSJb65Yy?J_tYE}VGga2pp#v(QJ~DJj^8(91aLO_z9OC6wXULCQm11bn={@as%apj$7dp7ZQA18|A@iWDL$s;sN z^?c2(d1U!^&N4Kf#0GgOsULk6wM<3Kb%yB2r7u{hI)Hwn%sI$+i*x20Fsx9W%j>5^ zb(qrMx&juPwJvjn3s*wA=icRauXOLTX{qtTabANQ83iYi(LH;2Bxc5M3&o89WXyEc zebD|iMx^kRFP+{8-uT3J!m*#SI^{A-@DWY6;=v}6Hf3<#JrQ4iQTBqATsP8Yrt1Q9 zu{BLVe@{}hq}gTYnGG1q5CVEv{{!&MbhiMj@oJNz(^1G#Pp@Sd+P~|5`n(a8 zPS(^s#SFz;zZ-mRL+WWjG_2NA%zN(nZ7bT*7?6P?AtAdxFoWV9ChH5a&}(aGgtoxk zLEB|da9wa`wz12@>9(9V>Jo)wETPi8s#*zX-k#*6pBhKLV2r;%E6leEoCnb6eB-v91eS_E6ozly{7bbSb2MK{(xz8+O3Z{D&O^<#={|Z zfQ5|I0yVWx7uZ^5S=X=W<2(AVnY&J;i+P`oRX*pJKdbLQAItbwYJ9>E>BOlP3q8+I zklmTEAp|P4)Gqm&#Amibo*v61lK>;@_owHIb&eeQz!wzAM6}-3Pas|7Pw!KYD<{3z zt-6B7Lp_BYrvc{kuPN&?tYj$j@)j6^G9+4xjkrq^>kz#T#U1l8j#OrHyUNcAVUUu1 zTJXnSG<@0B){U$mhA_t8uSanKob4OD30 zh$aNtpGm!y@lYuII5CcjZB0%Y>E3E1W>yCO0#NXV9}TNtp*h5e)Z2k%$gU1HxV*~b-idXpI>af6IU_1&2}SvI%@ zjCSe6`5s}!o&^yp{yroabX@Lu`}Sr)cpYV3sufH1kKYdWGkuvtZp z>~utOG#$Z)Lauv-ra!NE=ENAi;Ubi4NdTJhQFqf?x9FQIBDrM@aQ%~^-w@FlGYzlYy9m_haZbr#t>(+YGnZ@0~Zjk4mdoPLBrumg*&{+k4 zjYH14K>9P~#!c#AFJf0z)d0k;LEwLrxV^lfrIN59F zlnV6=yH&)Mt4ca+iA_>k2sU4>TiBab zgdj||!9I+t8dpfe7v{ZMVkTHl;`|NhL^9LqladaIk(5d$;)Xb~49gkeSj3C%%f zjr<8v%r9gi;Un<0jeJKplERM}M(c|R#1(obJ4f*9sQ|gSPe3zI)pq~_F+I4&$bLc>BWr}%+xCB}0vJxWtq+16k=$$Cl=eHzlQ$q1v61eHg#x>%j zpgI5KSFW8hm@dl1r~d#uli=;cp8t_nomj4GSEn9)P^4k5i$mlx@4jK(w8S7!)*M6b zn1BT#5D94yThK>|UCqG4-Ayr zY&hH^a7%=IN9;}W462O8{-Ktb-u16h{x zCe_@K6!Cky{iP7E&6(aVy(iWQ;8n^x^@~HE=6BA7)zMSo*;8cQ++0qRUaBnF)%)4k zAEWKI1!%y>7{>#JUSy1tZkipI7h_K*F4#4lCLGDJ9B_?QM=Dg|Gu{ISM;Efe(??EF z4{lc^Hm-DxDrdTSF{9wm%Hl%zh=Z>}!DnZE<#he6a(R84c_@=@xKKTXN~CLw!P`x- z7X^RNI=ZjgFf!dGlpoPeWxbqh52V4xk6Lg4wtBmCfa&y-bxGH3&@@^b%He)Tk5>!_ z;Q`DF89gEv-YJt>N~jnqoi#P+3_QgNI9|zO-ZGzNKl{$RlWhv8C}Bj*DiIUYrS8pq z4L4M&&Ji!?u03+j^TZH+hOAR^gGuESvUeuJ(W_BQPYneObOu5LD&$8^I91U zmiD&q#_DVhCNuPU%Whka(7IOP#iOx|p@D#gLEFAn5n04q+S+am$Wy36h(hG9ewnae58}^Qz0a}y2}#3d_qW$r zj|Iib6RI8BC3Jk&k*nTS-yqzTM+R#IA>Pp)u&e&~WHME5sZ{E|SQu z%7IRc6g0-?SR%J@`e&MTvayG=<>7)08OPp%arqum(qs;5g=&kaE{BZ4l%mKLq4zm=h82{-+jTkr1#| z2;}U?;j~7v;hOARIs>`wNH(r22yI>bZUSMWob|O_Oz{MX^CL9`{F{+>5=HjH7f~s8 zE9ZZ^qJ&g@-TZ|z?AtIU(|}qjhG~TFupdr%j)~UFb7bCBeKSfO>%P__#uF=Iqqok> zG)B`!n9#(0{DQxVqpL=kD&b>HpAJnlKg6V#3~i_Hpn>d~h8b$Uq}cANY0?A6oK zPgkESLEOfmnNmh!89*w{+huW)+4h0{b4_V+R*(gEBH$&?8eCm&#Fl(+cV-@3koGS9 zUef7pBa8Z{z4N9TFI87dWdRIAy0bY(6F2_tGx_gKn**|}R(5RHo|+#y!nesg*Y6C& zJ&l-32jMd{`@#f&1V)@(&*wd3V(rN4<5?FVz`C+0HMJFjD>|Cywv4IRJhX;#;{b&_ zR0(hAX90|>~r0j@HSFO)e7hlNZAA326v{?RDB>fa(V=e2-9HroIGKA zxGXJs1EWnkfP?5CwwvQPBF&;+Wbn;804zr0&hG-#FQ?0$5y46p^<)O$a!!R;BFE;y zR40?W#-0+(L@aX{Xb54)L*ff6xRYQ|_vFNFqKDri7jNCFu3r%Nv?k9-e3yg{Ij%k( zX4Swf)vs_VoHF}~kl~;`^~1DvxnmCXcdVF~;l;AKH~WHPoM#)bmgT%1$tr@WI)kJT z2(Z++ZVgiMMSm0CI)_7d5sd~Ltr$S91 zOUfE!-_$yxG~(J2Dz?Fx#a&n^8WWv<>q5|9ih4i#yr%uTsWib%{n^0Q^U2V4?xB5p zN1?;zQV_}udm1f3zbnQVvne94^-cCu^kcz~-ypf?Hr&eC*++~sy{Fw%NNP9pE&5$d84nLlY;2azg%pfb+>=Rx|ahgcr zYWZt|1G2%sV;A$?+rP=QtW#{Wey4OGe?Ub@CWGC#p=$7ZJ2I)Eo~SS)i@DcoVUv{S>nRZr_KZk1kNZDWL*}&O zaA41~(J^2#P;ljV)2l~Q{HHTw!5(zXt3Uf42oYFvI+3ub*(XiB z$a=ry`?c9ERkgkn&P0}f{y(&=G@Q05g2_74yQZ&MUSuh4M&AQS8xtUDdNR+X7mW& zhc)cN@WD*kSRftJwY3MTP_ zlJ>T+f;y@5Sc>|IvS4;`uQQ}AD?tuOxP(Jl+%d8oM@QPrE$tQ$#m0}Hmq)R3qs)8b z-fo8abXZazbC9P+oe@B8S&uu@xeb^udkTijz>Rr^HsUqd;59rWR`ij&{?VkQiScYN zAkFOt-~SwojKm;|xEA<~3Xqf-od(x0mI*OZ77wN^r0NPyqaEVM0S|H{8^c+p8EFYv zFzdleTTk%Rwo>Vo#iCNE;^3V;T|fHPAp6MOhom2@_=DdEM`|QbplddhPS*&B3*N5j z7&F)54hDw&=0|4yyW>`+l7UyrYTyp5E+P2wcVI%bL6T_!6P8CmyUL8oUnSA~z|9*U zD=2*XLi@MX5BXRE5$+gn&LoqS{v;lCiO;WA7JqhYpAwc{mO$7mp9@sV&~Rn8h)(R7 z{k#W#*S~67)kt8Z38c@Safr{8to5d6>$!JRLmP6Ug}9e^ckm!gv}71%T89Y|=_41c-DJq9wFMNCehDQ`*85C;FK>b_Q|6 zGnbd7CgKFKLNPhzH)Y@MvleLZp|)YMA{k>}d>M54^&`yf*L5OFA|hgppX?@b7G97T z{*}akJ^A#>n~t)y>FS*JvGCF7oRh|SUh9d?X3R+slU)MgqhC2Dsn{DULD;Vc7gqW? zJ)?`}zznpbr~ZqDB@-6)(OzHhfpS|epvp@TV8)73c%__NBz~&KJIlO4}$7E#UjnwZ9R?W|r0)z$dd z_Hn-M8*v;sK9l1d^F)M);*ZYV*>f&YyUTG+!>Em#tFiGH6+ebOE;({KN7eNWuJ$gn zImE%(_vz0TuVUGl^cVMfdV_B}*tu+Z+3i|HLBa`uVrv{dCyVJO5B8zFh76cjV<_^9 z2`u3%7l)Xd*ib43)-I-s>s?Qud(9T8l0`LWz=>xaOH-|*JZ+mni@1Zw?$!LttUJggpK zKxyWA^JoAlrF5+R!pK=RU!>BXp_h{{jvV2Z_SF@sIQm`xc`f!wl&&UFXvx@_!#GhxLW zg(Apvlqr46o{!D+eQ{t-Ka9VYTe>XCD?)cL02T>A*yWUBUT&`hGvkd+OK)!7TRE9Z zqpf0PY205fT}uW=|E>#gEDg)Br6l49%Y~1)Ne2e|f&#y7=4@mg7+mRCW$km%Se9Yv z6ZJmMwHjH_7-Ej<`>xN1(;##GLo|cS*yNRA^@d(nC!aXGVYA-Gy9z>u%oo}4%!L%; znRlCdg|!TJzQwW|c1|54#6D|+!wRBDD~z_g)#=}JKMAaAR`qgp>=-@V4-lcA6@*3PGc(sQoFe zJ;hx2^dLVC6(+dSR)*f6jyqZT=h|o<{fO$373u3ZHnuHQuZpgX2gnf{=|e`w@Sqo0 zg}IQqgB{*^5F5BW^tFV6M|&*q0LJK1-QsxyKs@$-$Y5@fE?)4aVke`GE z9UVSC1_lZW5)z{Szkhu8nvOCV4!b4(kz>uo@fVZAyit5G>u_EMO_^;dxUn_5K`LPJ zRibHJ>c7=rl-gHN{1h_zoge!9Rn)J7;-KuIinfmTcts|9s)VBz>8%dSuobi-RAW$s zq+&?_1~(npC(oO(ZbG=4g^nz{)an9o{4ka}(<);_fwClD-iA#WQUk1hL*cnwEVoF_ z$O)}lb}y|b-sw^7GbD6k1K!B)%k+J23VBol#plr=TTabdPvwIqe{oxfDp@xu9aLSt zz#ucUK_9+;W@yLoHE~=Cc&vy?t%daFjNK>8jbB%w&Fbsf4yn5?!e$bxa&q5IS~t1P z=eZhc8V_NaSZQg_g_!niG(47$t1)dUK-tBvky&-L_H=|(DnDN%2pkx`h&X9Pmtp4&v_-3B zA!GE_1<3asYX-h1l8U`g`L{uQKZVH2)`G%D@dimecJ@yra*HsQs+DM*hW+<;Y783$m)ou`eg=Yi9*@bR6rWx71nT{z-{S;S zb}B{lV7y#F0;FghlNC`Z6Hi`8Pb%dkXlliTA^DwTxsD$-s%^cWaT!KpYugBOX5+}g z)Zzz@{9k%b$R2*usUtXSMh~oGXZM9%d9q#kVJ*Fi<@y%MKq~0L0g1GV>{TmO#b7Bb zX_fj3C4AVIDd9~+&tu?>@8;d#Y zr>Q!f;!Tl7K(dG>wyyMiz=L$KTPfJY#B_W-uAQ}W1OuW{6&|Yk}oqN^>90ruhFRkcpZIvK%4X#6LXyViqvH=A% zxd5iKM_GYCRHTsOt%}WjKU#y&cn8ofOvn4$+_t1we=ZSIc(_fh#tO>9y&{70TW^}BMS zR{@ug%O0!dHPh3`2w@ErWtx9z6k(@f>~C_2tJMheT% zghm}ZSyf`to2NO&mLB#durnm;VxF7}|<5(e$O+=d@Y;}cst7^)LaR^;BwaVNiHAK8|n z_a4$yP2zXz#EqZ4A)9#Hl6ZQBe4vqf}Nv$mH?N7gyesF{THDEq;OSjAS5MSl_S0Gp#ZV_B;ho z^VqgcWItPY8_!5Uy_k5Qu|y;kmNtX=a)o> zEQx+rkLG%95yAR%v{XJ((F2Xr0!}}i&uFnpXv9Z==Wlg+v=%hou%tJvUG?F4mx=om z4kc@>v8Ifo_vY=F*<95GQ!8KbC#QVycR0+Om$OIkxX>Wt!e&jG5w6v=ky?5Tjx;M^-S6|Tt#7~Bqoe5y)^UllKKdGK7434g_NeoKN zXF0wjq&<&oVYap-+3_F;uqf!zHQ76TgQQE$*7kwV=`1-w9{TrCcf@5Ew|r)zh`h(J#F z7r}3_oZT=we@Fl!iX1vqhF4|%ObyKBFn_~tY+qoXvi_%A#3;_@Pqi)1svuiBrw?Ak zvJlyAbQDeu4y&iHz#VWr>I4Q^2|{dn{VL8RkHgowoFw)fOq8G#NXb&WFbTGtCB8xiR)o% z4D1Tq6EwN(dL29=z;)(K{koVvGpBe*nXd{zm;FqS&FJ)#XGZ#WVMZQ>*c_w}{og8l zQlV9;7@sgonyu)7~+I(5L?>H}+(3cnO9{m3T!?k|Gb`MQhL zk-i!;`QtG+1Z)l8Ss_|o`tvfcNEK(*D4y^H=4?IRh*?uYm|3k`Y5ZC%^KC+0a@L^>%!$f4uzrWhCBX~C6r;b#NRxtrC zP+iBS+4r<`i?W*mep4uKLxQ#2K}2EPcO(EgE!Aa2!f0x__es+_<{v~wNXWy`Vp2@~ zvZL>Yk3XeG@UR$T1U+p+jf%$quWjnz{ac^liajZ zDqO4f_*D}!*xnMpLO>-JjL;B4ZOkXVOkhuN0bY(|&(*&|iHdjr+$MP0OqMoz$Uo-a zD}cp63osEZQ!PFt3ujn+<*eDjU`o85PKn4SKn^%>@s4Z(onNX_JCke5XcUYmmd-fz zkdacjk*23KZJm&oKJgpjV^}nxzPkIrK1ib#X*x>E^C+??YgidoW zl0q2_!@rn@MdU{T#m%X<@Lfx@@_+-x?eNV~Wzdm>ItEQ;MKyt}O z;qo#y*#Q9fmcY(@)aPaZnKH0cHfGP=n`Yi73u7@E1f+)MTQAKwd2ZDmQqB79>;N!b znDfC!=9}{1v#5cZ8SqzsP^F7ZxzyvxshWdHKgXZ<*eQvBBRwS3>q7nd|2zmfx-S%n z#aegg8yS1|W@8jM(^D|nK71c^lv*>CbhqWVqOn&W1;qvaSz{;@V%$8p4yZ8gF3b#f zG!Z1L1uiF#`Ii<|Azvu{$BV=rL2)|D)9QP@%MUF}o%2|J%k)co9LGTxR|yGehrkF& z?CoIwM&uE%b@TA?d;_)97h&52h{u^V0t;Qa;FB-^Jb$a_KCt4?>yRP~?^UY~aexD%|s@-UJ*(k}xs^Kt%r^Mr_4>i|sOQq24RKVO== zBymtiH@{oYy+%V5e0dO>Y;nTWVgGM8_P>42%Ux-47wN6c*IQj_@!sJ5PZtq*c=;fy z|LFJ(Ht|tOkiLe!rf;0(veBPKuFc-SUPk)=wtD~d;_b+YxxU@ttq@9JT=>8IlY*H4 zdR^q8c9V#?N(7zxTwy+pZ6ct;D7ts|Fh4m3~Wzg#2xnd%$_kE=WtN0EU1Fqp)~b|Y=pP;%{a-#u zDcVLwXm78dtZnE2?Vs%a$4BkhU>Q8P?O=d15tN&LAME+t0l{GOL-^7ETzO0p;K#(@ z3kn`mydgLg)I!uQGd=)N5Ao?LYqh7f#MW=*dxyDd+ftSE+S2zuEepUce+U{Sf3IO- z>m~qf;nTU(#91j)&J>#kq3wTwp+wZS8l0H30!|Av9(z+9JGUGgt6(S$IL7M>@+3z8 zp6-Cwj$n7l1=Jw(jx5{>-r~Siu?z5mKm4k@`EbaP5e4}WbKMkOHAhZuCV$ryf&8U7 zOP-JCT~0qUJU@U@j@$tMMC!y_f5Tv|NQ^xEVws>y*k-!(La|+weOkO40a5yy z5f?FSdh}&HNPTYi13eRnbzY*-BCDz>gBC2j-Do@IvMR~Oshu0}x7t95J0o{#Z>!bg30 z(wF7Z^*LipA^PJVst>QS3{T#PU*8_J$!8nR8Ug*_lfSl~2uQp9-F%OX)Kcm)7J>IE zbMHRse5G;E$pyTv>8NWau7ES(8Y{_|lI4|o`!AlT)O}~%0H2U-5~PkudV(oPFa@tg z1otdoU!m)I!Q9WCJS40z4q53lj+i6Ty^XNx*8;8M)vD^}g+#mvQA~kNu+V<;w@UAshQDPHv6L*R!Ya`s=DnCXZETAm z`~~-szfG8fnrBd`Crrb5GL3gb7?j_DMqsi0M^vJ_+;TBxP-@Z!#~Z7f=u>SQG|d^t zVZqD3G&P;{?(sd;zTEB&BY9Aq@>4@Ekyy9~ zz8m0KNgQ-*NpZ~)I>m9SUscem21fo#1+8(1eYPr&I!xkD3M~@MFtq>i>4c*R`ZewX z9t(e;&ijHdQU&m4!OjbOJfuu|EKmYSg1oEQW39e?#PS zF!yLB_wJNUQ={72-^XF#2-4&yWEu2ibz2aecc7OkjGXHR>Y*l^=tv3sF zbsEXR+MK12R{@V(AgOB8W#e<;w+|~ayyQuoM!Vn-<6%-Afl|KqT5aVA{>WR03u~v< z+%Tu2l3HT>d2QPU{eofV7J-TTyR#AfWKi9O2XOKlffPJVk?~>`!R7O7U;teHB5=3_ z{Jq3>iE&@Tj)6h;Xel6|LVxK1ET4xTRbXygtwl-Fx|_gP$q^&ZiwuGW{g^s8@&Q;^ zT=QDkdRX**oG$0#+c|%o68%XI!}?e3)e^2?HT)JcUJu_Nctz$ONXgdL$Vqa~Cmd^M zwa1-Fxs)o?L7i*>(-G}vSKGzkT1vKMSea`{Tqc}~KKBLp2@(}HW4F(nIr9#ghb9F} zGXR#svF@OD{tbl(VRBT1kzGg^G_`60paXZFTvYdwf{fz5&+g+~Pk`LMzsWOAn>UDC zmkVE6!sxy*h5}Y@vSi`$kL=~!(9?hCw+wS27YuFtR(frG#%$_wHBJ0KMtnk;yeI5qKuopQd7;V zZ4&?G=N!FzfR;>u-%?|$O_xdOBTWK=k#~kg_LTE44(1L>0@NP!mcN<+)@H(GiBXgG zEyu~H>CJ94hgGD&djC}I;_I1cO5t&k>X+wqckTLyz9NOs8Odh|@1*lb{mJ}9?r52< z!FE8yhYcejv`?67I~z94sk;3wUrpn+)a+wNhF+3q47QLJ(*sP%2-`h?D0K*kPmSa9 z3o*BJWLWSRy(E5rLSsH5L?e`eVO(E4cVllzt>gSQWjwoz4e8+{nDnAhIRmOGQ`z#u9r$kcJmb-0ER`}2&c%<+?j;c;$JS;f69;BgT zjPqca#jK?WIk)DS@X}QFenFl~ykIp)X~3@jV`IVZbS^Yt3B83@0eIx7L>5%$<}XJOG|9IndhfOs7|-B0UP$cVPbV`2uVafG zU7rh*89_s*6e^U$vFGN#3LK%(uqW3nJlByHv#(B+_!CDnw(=7V>wOtMVkd?AK*7Q{ z9;u&dsFh^O*GA)#7H=bndQ4s?i-Opq|6>vHbbXYMm2wa89%2jVIfX%bx%Q7ZjV@y^ z4t#Z$Q}in`Jm(k~iTN9?6RQ9okkZY;0f^S3CyO;iwJY8;v`Fs$$}?}S`UDudnYugU zO?{VhMQ@80qV+4l0KE@b<6zgm2>IOY`p0bGapIbF%IzrvivsoyAJIVehTK zyIMI+8!7cfRBdGv2^iNoq4de262>Z~H9r|r1e{$pif^E5Kx_1FM0jfRBr=pjnfAygTFBeXXAm!h6v6 z2p1_l@+&rf&qO}^=W-N{r15gwaVG?3Kze}I1^}$AEN(Zt2XnrCa=HcAKt2`Wod&k2 zA^u*29Cf>VAZu36rs%$F9Q+Kb%Ax8f&etk!w)3?amtjvPJ#wQaYEtk>2vt7$+6Dgrp^JJE{M zFJL|WT+reV+T7>A1ekl1^FoZ6?K9CrOE3Iv>qz~As;_;oS9wm3`T-temOSg6P3w2D zU)k&Uf(qZm2AwlPtD@ev$JRKQL1^#m0LUoQRJJtzz5lWw#deK(pDGV`jfi|%HP?Dj z^I#Ik&-;i9Zr4sZKSs>{>$+Uj9LM-~ZGMElu#)A>ACgv3QmW+UB9LQR3*yhP%%8hJ zeoj_dAL$+$`>nN=7^;a2sGbQ#l?=b<_`Uv1dr0KOd7KQVZrL;ZQgXKr=qPO48Xq6x z(i9r``;P*czPscWtWU5Ha1P+k9maxOl;%&`Kbr@>azEWcg*dEP_$S2;T%fRlu|CA;`v7tKz*j=x)IBGcrgv)bC|bi3^BtFTCY z&NVTxsfU5&slMJl=HM{h!K9K4pN#?G^U#lmeis5KFBK-b1!`gx$MZ{aH-ZGEx$d^i zd&P2XvwSx7&_-}1>J|5oyHIwj{<)WEMtR1J*E}u$NcnW6Lr9y(s=*b&ZrQz;!gfP3 zJl8E8wW+3U5~P@2g2U2|Y9d21zQzbtk@(sSlM(-WSf6gu^+;*Mrhd;uFNM&k*b=aH zdpsbKCp*KgD6+3WFOpEomSR#I`_{|;F-LYJLOPr*Pw)_SF8rc5NKN$MTo)u1 zerO?~D@Zy37=S4+!R1Y%wr`${q&&U4@#V&IVBqR;_~ULwJelwE)yQe>TJMN1C(WW9;P^x#PE)7IeIv5PaVvogUOc$q|P;^7z?z zlXFU~n&Kq&XfT0=#CIhK#oS|epTm9=tC~q~xe%Z+qRJF6eDk7x#-f!sk=Tk*)oWta z6*dK6kouXJSPla&{49U3m7v9Hv3;yx1or;hl;&|Sk@9P_sUOogsi1lkg0W>-IZC7G za|0$Aah{d@w^uYN_Kru%^yybV2P{51l$LC;#Sd02$U!bv-i~7x^63nMj&nr@{Kyna z8yX9MlN-#*DU`%}vw^EpFatzg_lm0$!GYh0@SA{t;Qg$2=NCe@RcqI3bN-?2qfmH< z97(weanC6|>prm0YYBU<&O0e60vl6gd&AiE^?!|22uXvs6`Fqt9daw1^-}uon-V3Y zt^5Psl@4+;us^|g1c9@INGii0rfx|~>k?MT;3Q+t-SVZ29M>vE*Tjx8G$UWDT!Y~f zY2~eL32z%u*a(M&ajRZ0rT^BG@I81y#zA90k2o4ExaGG z3QJ)cIP8i>K(i`gDL9lRX%YY!|MJB?XGs-6e)lqy$@cGWErXP}s&ldnsT3rFzlihi zg>!GBDQ^O&;$EVr4WPb@`JjJuzqePWHVx~)ajGoq$4jFX+nFq?d#|hAT64WK6<%Yh zheud#GsgQlJLE|6-o1vm9Cs=BwHZ<;_YDX|P@5=l`Wx^09!t@`S1h~(1v{K_T<5kw zip;rtPnJRssWagK95XR}04r!sv~Jcl43TVdy1vj4$KbrKV@Cf}sN40TK>2TaGiKHH zWT-T1X>nFcHbMcfdEI?+o2Bb-=V!K}FJegM#?1Hw|MCZ`Y$N}`2*j77 z2?3dsS|>QrGlwvQwu8_Z5OGvFj-H~qBjHB>rt(=AW}7Yh?e!%h6+6=<5ba5nP~1m7 zNPlGfOXm#h0NMxqUFVHeql6^xscm`%C2GL4yZ1Y&=~_3pU+t7P?0r&pA)AF#j5T zERG4Mn&R?ohePQNIBTYLGxc|8E#n83>8GRJ+3!gvR$NYH>dz$`W*1jw{pIDAFYI-u zItnNiXw0d`4IgZT#w}Z0b_a@Tocaml*_~mewiTPfQ_^SM2Mw%<&y~ex6PUlGPhUrl zE37f)QJj;NuNe8C1t*TQy;U^`(M=_dO~_b=Vy$_|C*Eh<-hDPc&2$DcA`AgzY1xZl@J}MO_Qda zF3aq2`v?YCzs-Ok6GE_JD%Jrt?@}KR8sdt2#g5wOb(8}+2T3AHN-vEl4@gz`U`;zfyanXy)$lCI|~V9hHCA%*M!l zj9~zmb62E%HJ@tsW!QhsIHRQ!G}Ol_yhsalaj!9t!K}zIOqCJ$Vi1)8kC8A+uNdC+ z(zMXr)jQ@HTn_$-@=QM;#9U|U4R=ttR{9}E1$#Sh`_eoSBgaijPinqxlmH}L9{!{| zqq4xYhe*dxT=}JnSW3kDv_U^_8G)qUtm(IDTx8be@}w6_^qCt}7we)~(vBM|tfgmv zzfH5-?NfEyg`!AIFfYPDy7CR{cL4_umCX^(jH_whG~B+W*-7i&Gbm|luV&3MD(yZ+ zseO+=k@Odynix!F_@+%#^PI>zcIkTy9mV~&@Tyxb!Bm;ljy(EFL zt|;Ac{z9?Wy*FwGu3)6SiJt^WN3HplXLRokl>HDoF!=ZY=1taF83|vF8Q1Ajxdn~V zQ|K!Ja{sff9sG`P14>aE(ROqq5Cw13Z}L!AEr&iGLTsNNYQ*Q}&>|3^ceu z`4q1=)I5*snC>ukuddg>tS20mA7AXnyvJ)(N$pXih$UtA2y7Uu21>d=T8fVpFcr`Z ztaoDh>k!IE0V==JnKWG3^(bXR_BL1QsK7u_WgpAW@5Edv%X}kpTOw_S{c}R`PZg)K z0fCFgo1pMTCdKCP;)-S0_FMlm8%D>iX}~e8<2X~_AtnBMXO$UJ<^ptSELMUz%S`Jb zKB1lr#*FZ*>oF9ReT%1k=3Ub7hiuyNrj?O8Z-&ZJO}j~Zzs(Y^6gw0PZ!3}*U(;~Z z4IP}ngLGX0TlKg=q*{E6uQJ-#m;IsHNT~>CdGAtx*j`lBD1kduyx6Dj`x0ct+DV!R z1LO%uB}N<2)lk6|Dr2&3>!jF#8lR`{(ubD1i&C^uj#zgadY>106sb@Qf8hfO$)Mu| zmUju-F%(zsrLb(u2&u#eU0i*8%j2@tQR%7A(4%6Xd;Y^#QEO`Hn{QjGKY+_^==R%^ z&f95+a6?cqNPhhik*eL(_ncg0@Ueu;{DvQdpsR>lc!Dh=Qj! z!-6)W>PGB^QOYf(R!5cE#g#TR@Ec&TN$%y8_+{ex2`C=C0=mJ3NPYXvY4{r=Y49J_TN7<7R<4 z?9AZ(79%t4xX%qYFNS!16DDdhdR8M>lKG(=)SXFID(OYEo8U%AAQUOgxxb$tPEDSF zV)pCC;~#Yq{kT3oaZa(L8N3;b(!FbiJ*JHk+sB^Y*#VDm4ZAX8rx0*_72-Hu>eo5N z^AAzfQ(k~bD15U=q+7Gf_5daY#QLEV4^T!t_%SgA^-{9}vM6+cKT#!MY$ zR_ZH_T13F!PP4vU^G_B8d{0Vy*4wF4Q}5IMpLXPoh&+QH5QLK4#T=ANcCvLzBmMX0 z5WnyF$-8M_Ftu>E8KJo|>jo|>(@~1e;xoQYyoc>0p{q=h`R2bXB70a|D`NQ51V3GS zG>lhQAD}OfCTMTt)C*WUg%prRx5JYS8n*T)l*S>SDL*A8A3JcSay(jqD@l64_h2k` zsuU@C)Syf8;r$0vqXB2?p&ti#=LZk%2sm#UUiimS--2 z;MLHe@yy;*l6U{DDEM$2>8HG=mO%E*!o*-x`t2#;H9S?yTp~A*VJQeJ-&i+sTvDp# zw89GB;98GyW`C*(C-Gy^?psK0Q4fCp@MhO}qs|GIcSrS#K3HjYu)VUqCS_YkesOo*AP=Z{(5nqFm34@RRUFFt#q{4yX)QMkCEBdG>hW;g+JP183v`L!| zgobEyDPu7@N&*g~YK2*_lqe<#WePjD^_`TT2!zoGcozgDyf>LrvLpjq-}CsK5)LId z9#c`McLJ~^FH)xlZV-1j8Hs~wzc~2;P)IFp*nxO@onZI*1l-pU{QXSuF zKcBqzeLMaWp-&)5p>&Xsrse9VjJa{FAUQi;)#GDd2MO#5Je%R zYTNWk$%wioFn&2|hLI2?Z2I@tSnv)-#a-w&Q1M3FSq6uMY4I}U{tK#Qy>8(=6f!H8 zL$D3WksLYUP_{FC3p-;uOUw{P>WVm$c>JUy^NlpLp(#r+>_ndH!j90|J=Kl z?7WTAeKcJbFfQ`edHGv{MA%n2%Y5-m<~(W$`_Xod=YhyaWVdtSws0&_$z-XQ88G*q z4^qWdy74cR2#((T4fElg^)=s3_o%L^;L*x!yXSX#6m_?W35!HiyTrFw9R89n$pzdq zG;P`?3!Hg=B;&*Ys9HuuIcV!c!eyMhA%yV?TzrS&RT*%tIN;+eEC;n&=Hom_Y&*`^ z?=+OAORd5Vuk3xp0}mKa*gKEbyCb6{EROELc&t<^#d)VnXn-t57me;mHIyW$`(_RGl?=2{jZSN*9NFE2(87fF&+p&pEuvb_0_brMXRCBdKUO6@H|ZKmIU7}Z zyjAX%CYE&_Y3b4<@tC@td2TO8 zEH!=qa)Hl!f<%QDs#{{@dt`VLaT~$>5zi}i-y^yp|EGpL@&r}I@cj`jDm+X(uY$fjf}er82f%#tEamMt6fTgJv#5Y*vbd8rtO*-@2G(()X) zAR~9=?x`s+>`>&oWoVw3sY_I8oz#^=nn zrwjza#8%kV?hP<^)_DHBi`U7-R^P%+RGZX3%U81#C)-yW=_&rOWBZ5qQ0M9FhP`yL zpBf;)+Jo4cdQLU|NKC2JSX%=tn^L9=|2}Dxt z93#fLH+bb!l*g5|3mnAQK%3|ReQFb5VE}*}NhhVBgqqb2m*nGbS7Hu!{k>KTcr!L? z8A3rxM$Lc1@jRv9b=}J&%%83OM()6Z1GZmd{No2J3Wa+&Dr%TUPa6& z$5p2FFO5|a&4*!WyI&`li*-T9{mJrWNGbFGVn5T9%i2VD+?fVjo7n{+A&&eZ(4oJ} z$A2kZKHL746T|euR6hlSb3oP9^%W(mAK=2dhoCVkW3qp{|H`gH?1Jk4s%!kbt>V@u zAUAdezSgMeQXeOU|3^?w*AvDvEqDd3_FO=a2q2&;|7of#e`3@ho_faRvO$(EloCc< zJaixg@37m8Xp;X%V6uE&R1n%~YW~hHAk^qHok#AyF69hk?8la?C7A<+zljf0kJ1$J zxIGcpJ5fxCmp>FGqTnbn&dmik3gI24XiV|dh)C({>3HC%ExR2_(hYjyf(PEd*OO|Z z$Gngg@y3%bhCb3sXz$iWb^0>;ArOb~aXHpDRS8V~>AQ4c2U!HgdFR7cDNOznzfa&I> zIr2_BB@6qavI2yotl3b3j~GC7^DfLJeruOB4x`j3%Ur)HuhhVC$$^ShZPij=5aj=iAUM_58r>0c|Vp@{$_XM@SDW>6ha&LjG#Quo1)@WPi!t- z%;l$IwwgNefbva>o1;V+ow@nv2U!CNKq!SRf;}v;Ip?auCYqq$LRF9)s#8w6TTDJd z>63)&g!Y*mST^GE6o+z1AwWAx801KeiL-gSnTm;Y%nH1NzcHdeCw_S}a7oR5>vCcX zm){K-n=>O(r5c-3ubmh2Fy9SyEg{0fX$ABp7DU~aIO|IY3SM#^WKVXl&w^Z^1jh7A zrcMK!^YfiAQ!L#=aMK`km0^U4_3zoDn!ytH`&V7;0TV>1^e@&&##b{1(A)?{%H?Pm z3v<1#UH1plFyIi{T>D>%A5dN7e>d$;o5{SLrWXIWqmQn9x3y4Z{Y4-3Cq3?G;URMR z-RIx<@jhrIf5S(usy&*!km{(cz4U8~X?+&HHMUGVO@ca+tQ+#7IRTtWGw+U?L%lEd zgf#bzZhK4ZLswM-1Umd#3$oDMk~tT%w@q!!{RM)!6-k2JD!uC;HjEnK&2~31YH?Lv zRoVB{2It#UP1=@xz{K6HB|w|-?VowX&f2o~4mY+gvCj(|O82KqnlAfnD6cu06Y~Q5 zMHhVCdOz?}-?#VC6S+ympL|s&P3Kg}{nQVmNYan;-R&V?Bt*=;s95eF{3`KO_Xn23 z?^3h&$#h^0FZlwvk#+OZh{|bVYlM8Ys_s<6_?EAOiT&$r;%+flm2J@c@N?2ZStdhB zSPXsaWjjv99Z#jt-BAFt#xEL(_Xish=^tCAZ6RKaxV05_)<0l7*i;`spOV|gDkFAA zO;=hD+CJ#UtZ@XpSCsxR2|~NQ#M$sB&$O1AW=7%fIHE@-%mIFXH)qbf5{dsc2jC4l zM!*rvhL_!quFTlTIuuKLJ+C+SFj-u(y57O``KaGFO4@F+IL|%#WF2E9Z;#^gcHj5j z{mkz14zZItHGwD-vb^=0;)rifE&u*HqjZIvAWHpTN0+R7w6tH!SvHx^23BmmK$%(4 zdx4}Kuq}>}RANM|an<@NJbJpeJ5i`S9`!zzlLPt!r|mnq=|gPv*g17fXfZRgB}c=- zi8lh~mx=UwBR5zFGP4J~t2FYla@A?P(_xX5(``lr}R(dlwT^qDbAZ z(apnVDv3o%n(YA{6B|jGg4xdcF}ib4&T+Hi4!=-gQ>-mxXes;AI*WOXPJq}c7Qu_F z)EFo~iH5H4L~t2Hb?fjpr~EPVHWyO^E;CCo9yb((oqQM$?RgWsjEXpvi`t8TNEE~h zeLq)e)}@f^k-_}zL#TRb*5NeDG#E9MRvDRl zwL-!a0h#9vN%Nm{%M7MNxw>vK<{rqo{!#?ptN?p>+eU7(nd8b6BpP_g>*}~B4^dqq zY%$qDNDsM>nY@arnVbYW_RFfUXYr9p2#40t;ICUdjhF@O>@I!LzWS;5+%q%$I=>U> z`FU1L(9le6Qam^uBW}?LLfa>0e)F5P8{8T!Yzxd~nGT;}rJG~udhyV$O3Vz0tWu@F zF7FTsN1Eq;=fwE-IG4lBB9X&D6^Tqi(#CB~&vYH(!MsOg4Bi7|^n7M!q_m5zj@9Um zZn>X5ulfoQyfsc1zn;bO+=usYdaMZ1B@S*gE9}HD*@xd>+LMrUJ|4>s>t-uE2*!sA zh0!TBs1v>xQdejN)RVGCpEc2xP}B=t+A$Q=)D^rEuX8UmSmcGlfVJ7>eqGH`1+y8w zV&G2COm4|_)mPP}bJyPS!k?Mc*11(3@Jyu3{qWVebgWVERk+r&7SQE5dYXuUUikQv z6rDeWN1BeW#6N+L(OOg2u1zE6#P+W&j`$A`YXqktpGYxBr!`^XGpNd)Gy>Y_EAy{r zEvn_8-Xt$^^pXj(d*0MCZ(Ai08yNebh3+tM>&}GY+645{x}O1}#)P$YEpU!%env?T z*fjOU=8%JANM&v&#d&^qwR0zcL%&ua3OVn(c-xhZSuS^ zM-)`8#-rdm{b|Ttlz?Z}I@D4KPM56CC9i#7(v-$5B&wcZap^FCSx@bP?J5;om^Kcj$1#@6pca?N!IEjEuhm z&2Q3qulN9W%_-%FKRJz7$ZEc|pKih%ANs`kM@)ld-CWyjT}`J>F>?q;bP2fY${(!6 z%}-2qb5mp=E-^n-L@mu$S@&g~VBK=HT1$d$C(5jsXU$DNd#Ik5&bRx>k>-by0M4m< z5;v>>jHC``83FkF7Qo!70dVubo2Ywzm-^u?E#R{Nqe zw;GaDoR^O01C0ns(!IGY2=wgEvnJ&0qC^uTQ>6VV3;P$!v{BD3W-B+&p^{4RcfF7e z)17f&8;T!nxK{Vj6P4nO*C7ux4Q?b_R<$D6ItOKyOBQ9pOccHVdk@i~mAR$hOY*}y zd8tFjAO#V%(~JRRl#gOv6oktahcz$%O{gID>@&<59Df&JIN6>ic1}Fz+>Kmg9l@&8 zgx)CkhVabZpD1MRjJ{Z7*mFK=6;&Jj^38X#@nS8-z$kZG)ACiag8W1X95z++-6!MWo*c4-e|d9hc*lrpkO}xn?KmL53s`Q%X|?WL7vI?A9?&EdfPvl)zWvpq7N5Ae=xtc)u~k zPE^aCuIdJ^7ZyM;q%fO&lqZ9s#5Y+J@EBA<-y=f=*Ak7x9mo`cMC*(HI4`!721Qbs z)_o^;i%R`>rpraUG^-#WtJsf^%=u=FjsR759oHsj=2;suxvX#kr@%LY z&w57%_q>j!Z7?$3ioerHHnuhZy~{dvA-l2hK~|O&X&K$Qa5~K^0)|-7CvKl9bAK<4EV*$_Vw=MFJz)7iRu1!FDZiid3+VT2z;4eqU(16B^_% zB9Srhy6V%o579@|UcoYjz4-t0G=b{FbQ-t&b$DBCY!Z_}n-UlziC0kpwGv@3Y5Xj!u7-fW*}xHopI=>C zVI~P9$dvu{Y$TvhJe}WA27ff=63G^({viD<71iZLUaCFlf>N#*o?IVS-~9LoFcIok z;eH;Ats&TwlSfEfOECNUi;^)OEir2Ks85mfnY6__Ra%^Z!Qg%zT;=ia+;oaIrbo&M z*ec$gE$=50JFbjO^bLvo`>2F;16pg1Y446dLYN@3t=#`qya&(R5j&NV{?#A7pP<3= zyo}7ZRVH;gL4Zf(7T@|#snn%Bem?QkIRp!jRN0iDnWqNcbAR}U5Gjn|9n9nN$zB42 zBO82~D$J+&Y!&0?7YVUVYj%5UUhFXy22N+e_=7G=rF7&a-|j$z;$Id5a9*$X&jm^B zqj0}4F`t4R)eA}ELyp`-q8C9c@?w=>8^fpN#wz9+KY`d?t90(eQSLUI;8N>@h$8Js z0gBSyb|{3ly0!k@dj#cILeATa7*52A#Mi_y;-3B`gVay*1is;n!f*J`;bcVMSCvl+ zN^&i$1Vc~a+2z9WFMa=fC2(6h7Pa_aECBhw-$W$w#NW_Dhl=2|<;Kb%AJ*nH#%XmW zfRI>Org|+qJxPZ(sC>+{csX|!XeHl5I5G`pO;fHrGV}J=Q3zQElFPEK;S{G0fpDz& zJI=zN*i09-PsIZ}A<#syLp8CjT5j9P$ zKBsnfQY)0RILW~ig3Q}4SmW!`JeQItMdibv zm1y87|Moel!2YZ{qPe5hiK_4hzh!S_K$jAl%o2F~y2*}FL-Ce)lckjK0&7TCk@r-_ zd8P4pO7P84j1{x{P)}cuU`|7enQ#{jGLs7KYm0`|7;zaLNi+9xPM(cbm|G7`TQ7}& z_BJonuW8hme!}n#q~u~--F&7^gYigqxG3b{B2(ET4vNlB66U8gVT+%06KV30L<@-wy^B?e)yX@a`*9-Fcz*R?+)rmrEp$AEJh0eHDTV zK3ya!6`KrMa{6!IwbiAd{~XTdMX&}TIuu>JO!$5D zu{m>Bd(f9)F{OC>YVp~^~ExKrgCThYm(UbPDEimKs=ycmAHxIA8aW4U$0g;g#cdQV?<95`4K#4ZR z10;5`85Hq}Vb+CnLW}<;aroEwG13F>yt7#g$Qw=_Pixr-B!~N)n=CHE+TeRfSsulk zr84uNhmx_S&bZ%Xy6hrzurhzHG;B^jfC}Nb~%!l!M2E1*s zW!M$e7x+_5B$@V^w&JhUKce6?s%Er=d3kBy8T694`9F7L&ojm=%#v(<`(KL)PqpQ< zY1;nYslBxw#ITs}7w??)&g#Y*smcSUuhZto2NR~|ydDIMp2k!!#h-&`N=z--+TGDv zLDT<%qRa0I@Z(n7rA^rGC?{Rr3;Ds{v|p)|Gk$ZCyu9#Nr=SU_Be=YdJB$`C=N+?- zePaQjR1?-OaX5ED3kDi`AlT$xzp*HtzSHr_`ohJu$yTU$0}yw;)T3qUzQ4a(UH}n3 z>%gJ$(F;h78UR0LPp)a=iLrJVO7Qt5p2*8tXcGXlbOP{S$%Cp8#~9RoFv)La6PkJu zTDUGZI18fZ^8nwE4}YK?$8~-e`z1)sK5Fq2)!P@QO95Cq=O>#{GOiABcd1s9;M=VV z;O3Ed+e?s9|2w`73GF15=O9L8m$c5bL+rJ0*0ty^eY&XEqDNOvYbB{`F3WD{pYHXU zq3$mPi=YVaZw_ayhqjB%?l+L}6*K`ow;o{&dRIG8$1W~@+~WWm&m~pCk;6ot0>8s zCHJHqZfy0#nYEZRA?}@HTJrbxl<~W!!+hs;(v$qAMKbZkP!)E6RSFBoJwYNK7Mv{1wn8g5fw+ED3qTvGw|w%W zo?m~HxT~4BD=JxYEl~mXMV{%hWiw82*nW)9ew-iYP&UCUd6hG}xCl*kZUhloqP=eG zz0rxi-E8F#3dAgPkH1V9eL?_S({LA{^h(WBS`C1=!shg3`GZpoP}*)SrU_&*th_>m zNxIwjM8^IwVijJCgs2JyJTzZljioD}3>RTN!Rx$c%);fXT);A;E`CV$lk&VXY#O9^ zCF5qDK3PtN(yvM-m?SmCJ^<@O{5U%x5o}f)G+nlx zd;;$z>s47mhOQHteT{WdKQ zj2@g%?7sDrhPdd$;Z@T(ov&DN=^`G#2?hwOJh2 zgAw!)Jd3+5;b)!m02FUji(WDq^i_iew|>EzqFZyYR`nVnOw{^T}%$`XEK|&a(pQzS5~5CEPoO zfQI%_5Pg$ zL)PNjNrPG2a)TSw?7Z`g0mO9lOJynngT7JG*AW1-p-+)Gh!MXet(!LXWpPXuxga|D z8AWCj{g_^@_j5uLJk+}5g$2I)bNprP4@P2MEQdfdpMI%zSuMP=|Ggan*DN9FT`^18 zNM-mGf<7_UipnG10VrGzAo6WNt5}zZE{&OTcPXvnNs!(Mrhn>vga7*9t<^IWAR zSr58SNUz0@)%>QWGhM95r@}~;mhijn%kzkR>mwHkaZB08qD2E|66?T9<~I!WiGThl`P&rJ4?e;D zcgY;JnsX0hx9&f2ILzXXlfUz`H18zzd`pdPYhnaWi)hz<1ECDi<@f*S&W4yX5ZK{% z5!52;qmoOFni^xM+%}!o0=*InX6yP(p>DZ^2Oyn}e#bpZQLo-5?yq0k=y&Ni1Z!OX zkQ)Up2i)FFuZVw@yd}^uP4xJK9dlX3?Ytz$gkIWtboXY9XG!BwldkMi#jANk9w^yS zHUf=-D0}?!z-@EFeN&_LVjg=A`Y}itRXNowRrD>=0NR21{nU@w>)!kt%3pbh5Y0ec|;R=>E@=9XWn)BEh?*~a& zO5VA#J9h|1vBP!#rY3)plxo{5b0?GW+Kh4q9;kTk2&g=*Wn>WATod%Ay zds{xxaId&r0gc+LHoG+vzEz1xr0O0M#hbYJ8a8`D4VMof07hmiFW+LnS_gW6^lcG{ zCTS`aGMMfA!WthWwzETiWO-<3+GmK=cyQJprPTfVgU~Z>L%+^0(t4Upu``U3^wX%v zMs1q3#9#|5UTCu?vU(MPpBd5@Oo>1)lacFN9z3eg1_@9J$1c#Ph)hOided9kCMsg4 z!moJA_kOn6eh5I`{-oJv6VQ{bdO7LN-&+3J{Eussz1c=mSPvU&=$X_g2|5r*c)G5- zxT1!zC};+5kwl|u^J8kg>X&1i^Aicm*GHv2mj5M#8?CvB+IBg|Z{!`B6ph)5RGG3k zUt#uIh{J>yDx*>DBe&ukEBbJa74?D*oQ^6MC(~2n$L+6(t|PRQZovWl0Zld~1-N55 zJ4YxxzGa2y_Yif`lgFV&+4^#&wH<=>wd>Y*w^~#}weflsnuQ@_CPPrRb34rmQ0W(9 zR5x?+3Mt$|w?jc|{@(A2u`Me|h2iF?t-B5JwBiin4h|sY@!tkBQwOQqxSj#NPE93A z6-lh7*h{9AGt?ue#vKJnu1SjN|?dY~BgD$zicJ ziEpUN;*drg&}3TGB=lIKGJ1cvs{=1|=+SBZ?nLSTvz3Q4^L3x7x;^x*2V`QyFsBpv5};pUBBrS%rC@^Q8jnrC4lrSWHzUx$ z#nXKSxyVB0qlt^w3)o@WS;qrXDkDO_F!??>6!*lTX-u%aP|^zA8O>>7=8w88%Dy_k z2N_;P?V|C`H`n)9Bzw8H4O^M{2COy00H=O7!ZdTIDBkz>-WRXVlE{~o#1-9Iqvgmx~McVrnT z>&n(fPMgfAi7@OJb;U0J>PA1La>JAJ+x$XjEhZCj50suC2N&NGwEl`9lH}5pFp&W* z;GX~8`x-278VHbuqJk_|?eI3AQv8rQ!&2S8YnR-|C zhP-wKfdH&|u9DH%d z+NmLFVZMI2W%Bo`RjU5i1on=jF=~11HIV$sqkc1>{aO_(F17jCedB*7L;JU&9yjo2 zvDHs8e*=WFR@PUd?GW?9Goy95D@r3Fc}OB?SWgbC;HiPUp>>e? z^^1u4CZw%izF(L2`|C7+@dJsutjIUCVpdR_$LVej6})?Sm}2s$Iiq)SIEa0Q2{C|?O+EK--^GR-v?kL0cxH_ z5D_7~&hkJi%zc06btacikV~VF`6~Q61P>B{QPL<3TR&tVyn8BMrVUjwO;I(0nbAZ3;~t6SSdSIHazo? zM3Jx!Fg|H;NQqOt%8TodT7Bi~ClvU3wthb+JDS};v6e9+RkT6jqXvGd)>?UBjrPg= zF8JZ!{ckusAJ->;_+%RD9!0Od*%qbbfeQ^VbrRyhgE|z*`*0!>iYzI!IH4wK#32U| zKfkEu)sJ78((x#;2Zm!&6lizrHmtZJHU>^IPr0{#V{m^Krd=!_E3(U6<03yu#nuM6 zN^CnKFUs^4t|9<%W=pHJvlRn=wexxX#;4ddD*HiT;?}rQ*LD-OR%;nvsX#1h1jwM& z=iF|a>>5k^Ta0S{g2~~5$`j}(Rgh-`Kbehll_=@9Oc{}VA3NcT*w z7$nv0y24Wj`*?Lcdli$4`w;HNXVvTkIzZa;S=uM&j7C2P#yIM0q)w#QznI&;{0E3c z10JI8En0!QWc(1xCx_(yFKk|r6tVuG1AWS{V+llrzen>9t1nH#_v#3)ajtV(l()Hy zt0%gqJ=Bj1qv8Bs@wbB<$_UVf@V}CJtY0{C^mG%cv@&wrzLO zB`MvZbcqPkNF!1rDIEgR9a17lgLH?abjPBlySux)n>~5ncYpiG=QGA0>mM?fi+jy` z-q$>@^Eytl%I=;D``nT~m*-;o+sELL)kcI>L-RL+aG9_u ztL8>Tu;=IJuka!u2|W+_!A{eI=9AfE(U01CVaQ*710_>WP1qiFCTjS@EY@kPFW4p7 zMw&|(tL5jgdUHnI*QP5Xmm*F8&S1j-ApYvT6F3{=ictp7Qk%f5Gyo!p%v=j0u?>hs z&CfS05VER2Mr1Lr2v)iJ!~W_y7+sX`B&aHm6CQ$ZsS%1Q9~s*@o;bH$%JoYU%{eG3 z{m^d2NtIl$=O!x8R=Xv1eBpD@4VB#)c#Kk#o2a<+WN-T|Q`6T{SZvW_e_aca76aMq_#Z4Dw-XB#wFi)HWKvJ-F%VSB&IyGO>3;8rW$!;0km$5JJCv5sc?ZZ zeb@2^;9ltk;T2xEKU{A*+y_pEvuf4;5kcnRs9v6keuHs3F;i(aev2hpT@UCrJ1Qq2 zeIlmv+(bF*L?&P)ib1M$A@;Omtnk%)dH}qfy#G!il>BW2`~N(t-cf3f`CB$_FE1oQ zov%+Y$4^mv2Ik~b_@y_FML+5B=fOj-)3Lv*L?I{Hk1*7Bw2G=BCvw5kSCQMah1aTd zGCgTcOcGSZd1&W;g_DAJ8G zlb+M^lM#GTyRK=W^oxH0x?jGT+(7plX+SS)-KRmzKHyL=B?rym9-r3voGh2?_1Hl6 zos*jJQXPysHc)5AEVlY#s&)uj2sj*06;)R56JoW=-Nwqo!FUV62Eo%Y+cGzobXp1$98>0{W^W`FFT zO?0m{)rf`0|BWYZ5olV@Au!mX(m@ zC(8P-<2f8*m1CzvHUysI%Bu7%KVSXDMy%UwA)+VC#C-VENoZX)19ZDTF|K)TCpbkn z_$^UPS{g}=Y)zJczY%T+j~U5xO;PD_3rIh{@h5?Q%0r@*zF`XLm2UBpu4``W^aiXdbrX;m`9H8 z4D-~;pnBGF{(|@~(4q1EKF04@lDE@sWC3RJt_IvYY)if4=I@m_lCQD6h1K+sA7Nn= z`C-*yMUfPcIb~oNl}BzRwo)kohVSx}ZRgvZLpfLDYUpeb@Aj{SFa8h}ezmjm9C7s@ z<%c(C+Znf5pF6F7j$ttyMjIxvA(^vQ1OsdTy+b#qoYn$?vhMnBG3w zc?4yL$Z)h+>(9HV_LU~`(qHsOn$4?+)4|0Zm@O~_qG*-a9&IeeP5Ddq=`MRhIb9x~ z$Ok{ziAY=RvFJP!&+pwHazF=ZOX8zO!*0Re5!l=Q=EgsSRO1X#;8l8)J{@RUk3aDw z*M1$OzG00i?S{vx2_UCY`D}8235140E{{|ljhehRtvP8r3+sSD1iYd}EXQqXr8&V? z`-?%wV+6q@89s2fKLC&V=pS1o`B^96VM)v;TE_3(Eyn3_=j_x$B&rM{coeoQiSrH! zIZs9)TuSN>81h9w`D>eP4N_0{Dg_5ifAPMW~Vd1c{!1 z@JPIe48Oz8+q~?94;*@)Z$2O^y4z$n36~jcFvVu z1;!m&0Qu>0v}{NRJ5wFF`%~=2-#^7+exPUuu^BZ z-(|=A{D|2a2)+TnkB$5zzc9#$IWwB1k>9DjyG0G;teKRAX(I@I_if1hZaXJ6`eNu( zBDiK6(3u)UCMPyNQTEpd+zs&AA*2$0y&sGZpoeAOI7L+>pz)GWkeUPCg@89Iq0u?+ zmmnYP&#f%}+_kUwl7(sZSJ7|sIzCk*Y+!gOYohGIDyS20`2~Ku$J4#^JedTGk%JB- z*GURp18y0@kDRdx1aTan9po1*VyBgxYNbXJ+^0G1xhG}(`>0wu^D)foj72R@(Z}N| z@kJfhvdUGT2Bn>V=bx7w$d(kn62*OQ)E2a?|2E;I+zP4X>-F<_KENhNl5m+*+Iyri z@?0I)2!VKxEVAspx|1zlZ~M3~MNMy7-39?&;YaxIn1OI@%LT(gT~=GE7-IIvloh2y zCXE|JLMM(Aj(i#k*u?>CL|E9*T>lG<`|OD3GxPM5|BIp5kM{llFt!p^DHiC>R?&R8 zdtiTxWcdnf$K;y6#G(d|IWLIHbL15}=Dp_vy1L;{h|HHFFn?WgOF=aD> za(5nj3p<~hj8kGQ@Xy%DJCE<52sRLig%3!Ok zu&&*^B`_K@dFlx=zjW#$V^f-WcsozbLi69qV*jb%t$q*ref{?}!1>QLV5t5yU3?c* z7o4s9L)f`|Z&tnV6Ci8iJy7@ZBl`qB>-nXCLSsF^vsnuU)7D+jwu+3WpOnN}y<#;R zHXeX%<+{%T;P@INV#}~w$zLN!0!#8gKIKCdqZ{jFZ^7| zHC0I#ijV1E_}F27WLP}~w0ElA<0Kl?GuDm zhK7ub46{+0tE4krZU#_6g~ohN2XpELbn=m}^vMxT&k^2RxMqq9gXsUF zFg~q17F6(OFCZuI)dD(Xc-eMPU7FE{|c!}Edk0txGc9bM2Np5@0dsxN^ z)gE3ZQ6=po27?2UMv6J?=OK>&22iBL{=P;23gA%NaPSVaz*8=w>{^c0Dg85Z=B))4i7*1E~X4LL2HIPkN4I$p6^nN8$38B zYitZy@*j)n4`lT3aK(9EOB=`#7Uv#K#hKXUao|s$f>hwz_tA_{z{FUOZ;zQ1g3v|^ z>YMpJh1!524MBO$QFk8C2e(Tg)YleiVM<*_vIs7Kj==sC0cEnziER>Kc0!0TZzi{f zG3$~zbdnv_o31xVxXmV*tAX-b2g+ZT{X>y9FX3$Dr&RF+P=VOE-<%DcjaIB00}?5~ zQx?7U8I{P7qm}?wZ9na7Gk(R~a^1g|z?7G;eOO#b$nDP&+{gLVFoETt$^ReC(0AbI zxbtO$-X>HrgWMK?D{_Xmvl5%57zUw$Ff@uz`j+yc8+>4~G@y~*Y!OZZ?DExVdi^%Y zfc;#x2Uo4%?q`{3Q6 zXwFtyXf=8Gtp^I~xAi}DpBzA*hDMQ7ykJ+R=5R&iIl;=D`=vmSW{#G^*FWI4IU5aG zxxBkZ(*!3a%{s?hD0rHVlYt8(u3fZ3D3p71-$~)Qm*V+=z-`!trFTV;f{_LL^relF z@oF}@xoi{6uP7J>aeao-Eu(q1Gnx|%<^%5cY>IZTj-QK3oBpml>FIrq&zZd=8A8H6 ze!T_c-R|hr$F#KjR(S)Z#=*?6r`+U&IXgcnAUZ;Ue+*x`(hoymv;llumK%NCK`$Cu zsIW6e0hiLdZu#df_Y5OY;RiVmX8G3WIw^$St`k#E&ppk&*22Ic)^3mLIH8kp(NFMt zoR6!9Ha6(~{T9jrXm{;^VJC}l@IY(@<{1ybz8Ms2R1~gs)4ZvhFdj?GU7uQ{8@#4t=P2`4a>WDMo96 zE2(TgKKKN+x9!!$Z~4NU^i>#_zu4P;~%|*KsPl ziJ0v)S%d@yJ+v)e`>kICbm~Eo0ZZqLkBtfdrJ}ewm>L@dlOU~etz5%y`f`_T4XieK zV1VG!I}=RMxlnia+<((LpV1PmU1c8d)O8BVVs3xs@$vkYRPPAIa-kkNV4O|h&|c+p zjQRz@+_C>k(>M(ZIJHyt;agO}#wp|&^~M|k+fYd-%A}6RbvtPNe=y~Fb`A0)d6wNh zgg%~Ufb$u`KE-vknUYJYGzALma!8JHEYL?=x;}KuNKY)CPv+Et!F}r|iNm>4$|5(_ z+>&cXaSm3GA3n+b0tz^W9MtfFQqeDB0evv#i?#zg@fg9&MmjBD)O9?r&wQ!&BLOS# zjF2wDGKBKjE!gxW0`d}RwXJdT2`G~0Yi#79a2QiU3~L~bGavcX%HBA|;owN~DaUD3{+eb;E%s$HRlSD+*odbWxeYG!7z2dspc}JNfs6zDx zRPz5DfPoMv>)w3u{8io znYU{^*Ue=<)Ev$5St9;Zsz>d6LiKNX2;PSa!*LplXnF+}#sLUzs%A~L-}WnG%@!LQ zI2xE+!L~QAPX5`dyi(2bgA)?DbJ~yJcfgvf6@=eEj&lZ{onem;V0$|w8QE|LTLv@q z3Xl9R-{BhjcuzDFn|FvD26rR-*v{mlYT?34_~fEjCjiG#J%j4ZgJh^ec`#^r2mqSp zHNNa3s&k4S$L$0~(vh^(%%+605}u$CA7cTxtu zhK6XW!Pl@~dWZ%`Unh&mJUc@c34qULxA}+bl-)?Xx9f2FWfrs16WVtL|5uI9(=JjOX1_J0*rEB= zX&0QsZ6|d+8^D1L@8DwAD)N=0+>O+|vpVp|^U3Z$9kh7IVj8EZ-?4`w;1U9JxZGTF zu}ZBCuuQBj&W5mI9V|4|h5iMz5AQwjG;`$0R*kB!G_kjqXHEfEA$Oe*zwe83bl&1> zp2yx)sb!o0XE86A>e_^yWb0!yDmGUs(isBMlB!fe_n&~6m!1FF$?BHhqq55D0c(Va zEw?AR+qn|{l6%vlB zUn+hW`@S8s8XPYL(Z{Hkz^F^i5jn^A9j*D)mAyqUg zV;W*&+?uk+2uYQj@SbdMh|s+&w3;-8QGi8t*>(;}k#B~QA(8@8zOrQ<+V z+eMt2tZ9-L7%RjJ>6gnhecA1>J8%n_!oxw;+5bx@CVMf(=l9@-8P#5A)?8m$#A?i9 z428#4cqmF```1RvL2?%hPF>a(weOWL?tOu1XcFpz`VcHDEy-tX^m7msx`DqYPVrNF zJkMeuBA-iOfMNG*O|5kbHe~x05NZ8axlBr28(TEZms@-fWS}GZyI;o*SJkal!Spyw z-Z7j@90dg=hRBI$xs{av6*z89);i=TO?t6cyPo!oALu;Z#D+>fIN!GuFwFs7DvQqg zL$YgKXnQvl1~h#V`$gh*g+MCs-cmW4<5tQmt1=Ez`HgR>J-P5pZz{B;Rraj9NbMH? z-a^A^Bx_|@<9`ib#>wviULvnCP(O{y63Iq42Kto!o)Kl+#Q~BS@a*&ZUNf!Ui(>Yd zP7t8RO!y|JFkLLq`eM5-w$r6yIxt zTw1rkq*(whN$mFqKBtCq(6aHG_B_LCM&gGi|N3V8RS)rZ*T<7nwxY|>hLvMd^%L+Y z-yzkz-LJCK5{p?|oe)d)o78bxSB_RT|ENoj2U&L0$iUUhR4P)EL+ty*|1gpJ-nRuF z_1~|kK-li{WuMJQvh^F8pKQBUimqZ$$>tU9_@Bi=JZIR>L}AV$5}Cbq8}|t4k#`Tr zd{zk+GbJoG_QMpS+!@X=J_D7j7%0KDKjn_Z3`a3cii3ofk&^SBHwsN4noE+co}Dh# z=~TA*PZNE;LDN$zT%JzT@0%w!SSt9^0|CyM$gh;2R<542jQvUggbNaD3!|f(HL=w! zwMao0{s20gB6z!WM&+u|qMDVSw*osaQAhuLt|sGr;Hun}0Gmh=NW{k)R0=IP3qiY$mWBnUgSr$$S) zo#F06Zr4}Z;_2xRGEbAjCx@t7R~GSwuA^?vE1A>j!!)G$B2_q^t@lRbpZ`(H(LQU2 z8?7ufDK4xoD%u9{x}`19(hV5>kS+e0mfC!KG{7}GHeO?EXfT#8-fMEU^_zHa*&woKHN~Pa{fNGBBvzS&c)#mTb!a2g?JqK zM$A}N^oR-YGKIlYPFPQ0J2B*c z@$*T}g#wjA*B1~IM5~QFw0qAmfg7`Xz#wLDQQ8G|`K+uc=p|IO z*jRXz$jmkULEE>>b-J0_HeHWda#_z1Z+q?3_`2G%q2VkCF0lRGMWtm!@&(!q7Ln!l z22H;0F*fHruCDM(MjhfeU(-2Pt0C$(g3=FNs^ryXlY+btSBf^gDwZ&+oT=sp{=;iP zR*Z4{nsGvSEqOm%xr^03d}NaVyKPxmJDY9LGgE35y%4c$?5#xSt@`Z2KRRRgBtl&t zcajT*HsrL+l2iw-S#GKwRGE|(jvzsM35~Y11dKAI#wyL6SUdr;bmhT*Sp4~lbJsj= zNa9XXul#D|BuIh$cG#fWy79UiOIUt2n8NeRi^ROMdoW=a2wbt;(G4Cq^+H#=!)mv{ zU?++H z;5{?HJPfIkIa!7QiUFO4d>u``Ax&5Z7zqksEI!)gt3SxmJ2W+TZQFd)4RXRW&r4ih z)cdElZ+7$B`jNSISjff`KBtqbXQoM_@N=5>&svqNYP^{;2opEx2oCA|xEuB`7jI7s zdcx=2*X{fW@sjEYCM+t59grIed!GG@mHW{i2FkBKbLp%xDPDs;o_#uBC-WkCHzUxw z5*|_??~(^p5i#Z@dpimH2}deS%WE`2$@y!*^A}Ap+1(QvUt=S}InefIUu@=#XG;fa z8}0AXMq*XZVEY?d#AYtbVc4axu9t5-V<&s&as%rQn__;I*hk81|F{LZgvzy<(HZr3 zwuKDWD%#gq+fiTNX@-Uy+MU*}yRAg6YdQ86e8xk|Lcs;P&p%%D{;&nR5xXsw4c0;z zQ>)6--#LDj`HOqe?^7ru_%b9Zs_j=O3Bm01itE3`761aLBA((^e8i|1X%rb<5<8a$ z__*0GRf144(%d5I@W?QsI8#c%r|enl_7WF= zp9r#iby{g>{TD$Ni&%8d12+>*AQzNCc2$H=STai3D-_?OxB)RQy{DPU3nKgyHL9u7x{l)8p;kTAU1wZN4O!?-)8sgBVA`2C56|$voHi*wJuF{)duYm}BwC zZvuiWfmxcQSfayBkbyzQ8-Q~Qhb}|9qNJ_EVC6D(3T7lm9;}*NPkBHFJ2h@w zSE#B^axsK+3F6^XF1T1_aVvFT7CgHsALO(vCZ(Ij$x!>I3JKIz<%;7tO zE39~be!r$?SlKCBwe}$rp_&bf5TVF++C;SI^Xav%R#+*z?WBv@lT`cu${wcfDi2|< zI|%iMIP21hPDr$fp)!{shc%8uOHT(P-PD{&I>Bl#1_#*>-?FLnb`mtjewj45-N z60{=&`>qKq3U~YL9sw?~0u5!(37TG@WaimMc}UFz*S`sZ=dU0MxDG8Yvf-xVaxMTBNRqjKsheG;F(?9FbJ3{t?8h^) z)~|+rZk#iEMil~5Ip}5_XD3hzH4?h%mUz-$dG^I$g=!)eWHfe&R$w=QW0(!P!FH0{ z$yTaDCd<7Nu=uZ6)dr_z}5 z!|Hk0Z<>dOacfq)Vba2JHYwLZzSS;02X&W|F2&cUhQSAO(4YYVm~VD4Eq&Jji*x8~ zK+pO6U_wP-tC*zhgZ3}M3gg$H3l=hZGG{+3%WI`x?_BzzUAe;){XD9_=Z)iDKrK(d z$7x?|&YdF%W&BBVao_H*$cMQLAU1uf)v@c}>3`8@a-gkIuR4hfOvaR?^m~b%AetkU6R>keputTmC@6UQT1lWJPCX7)_Qf{wv zQUe)aCN^5MLhC>IdJ;nbk;pigx>J}ImlyI;&BCHuD-oFq@_CW?*N>MFRJzm60GyQh z8v=jt;6>>ye3ei1*%4l-sO=m5pZ_3W9y4P`efPKl`;~9my_`mR+Lgq$DJ5deS9&y1 zj5Y?JNs;6eHAdrOU6_ix(leLhBSvj-tB{Dh5UAqo7lz>d(vf@=K%q>#YdvX+TExd^ zGKzYbAUAC$v{4u!IkK{GdCEZ1kWlK0#B>lg-Sg|^_GC8Ubvn=}NTR=lflQn0ZYPM0 zdgKTw62j_hd}}=&k5H_kGsk@@!FqrsFts1|u{LCbh z>uA(KW<0#lZ*H67+MON!ZMg(a>0X10>LXarG-i+K{>5tAjawg-=N_wdA5wJ63!+=neiOMwVlKUQ@bbH|aQE2g>kRZg@3nB}r{JOPG-V_-=<$?6(haP) z0s$=jOd*FTiHK|Ji5oPSi2-k@Rr+GAs*J_YRP#IkC|)0b(a`!Jq4zz$fTY5=W8(4( zL+uj|rRJZ4L0ZXsk7(w^$Jq|p4n$_V(#*>yIP!3OFOu_Dx*1sN(H)X&FtXtS9v=0g za9%>Em)99sE}AOBZ)G=n8?xT}|t4o*`H|H!fcZOchVyo7~5I2bNQ#XMqleP{sb#cE>rW<)O^X1LyCQ6B~L*8)h(+IUFK4LAW<=hKc z+>XH;iy7yQL6&D@MyKIf?awJmf^4|r;)PCppo^K(lX--?g-M?TE~GJX^C__+b&lswLJ+5F^Gy5TXshc|F6n?9d!f_qW|NDn5LsSUVXWc-aE5s%*^j=PIQY_W@l$ylSJh+s< zH2uqSIfzfM)0@GY+9|S@thWxeni($+{TO9dNP4uo5_`l~93@57M^J74egDEDOkg0? z5CnazHyqYrZmo3jEAe_M7YgIp`V)Qp+wxtDwaymMG4?n5T>jcj;>m?-PTV%uFxef< z5v=kFfX0Ab1E15$n)E^14~&z@;Y-l65IsDt1yWJa{14jB7d^?&v%T(CPWVA|Dq^;t zYb3U8QzFJLbGE(xw#G9aHfnWr5hoQEvmMiifZMKd$Poh96QmYd3&z-F5B6$5?b<}o zQQaJug{`r6*n`JH;*fD_u+@cVR1-)S_OO@dKaO*0H>%&S`aHMv_lJR} zHX{{1)JpsuhkCy&zg=|1Kk?xtPkdR zZUSyss^)B&xD7hsh~BY;fk9@4Ln=3*_a&=s)x-n8bKSk;SV{U;^f$P=T7ioxfmJy* z!N8B74?2?$4(jdlWk@(8MRRUOqbSl3pFBkum6BY*pVB$`!w*kmf>6dIx zH#)1^k_z?HKek)Yf;Q zom4W4;Gq6_R?*3Z_BZsdn%SwF0dSqx5uZ(shW*s@o|B)RBeQO{b^`XF?P^Ys>;%Sx1`i%wm`#W zD9yS@hbqT`zBu`K{%o_B_3|~&Wliwg3sKx7SIP9saQcmP?bQL-%jH*{qy~Ri=-kGu zt#r6eN5*YZfko|dO|Gl&7I78%ME_~)f+eewf4*>@{A(cq?-z(Y3AbEnlUef^S#gth zE~U4#&8(V3zy1kE`buf_EE2-_*Fx1!8h7%T?)QQkRK+~kQzX`08|&j$2qGzHRqq44 zH^`uicHf*D=fZl)qG}r5Zv*Zu=$tro2$0^Wo15Y??v{5CvsBNC97Hy7575m9r9M7& zh1N{upp)k;e*8E~A8t+sN1Qfxr8h#7KAS`u#gUF&A~# z&V0r^f(o#7Tge>O!YxGtnf(sArVR})k6JNJ%V2AFuPiTr1df+<%|wF{yOi-m74lW= zj&4xLygRsKCSJTN>z070OSC`3&^wUNPX3iD;JUYjG+HONj*HE$2c$Dl;j)_S9Y1Hx zGkaLYx9D~sM#Hb)p`&RE+E6by7Aki7YwQ+9(KP{jX%Yt}kAJ4-JA?ni#s!dmn+3rP zsyCA%uA5s(6!pbU$KYc;XII{MR$QY}Sk?c{^7|gHjOSAnoy>#5>%bSfCEqUMjpuQQ zK11tN3VufC{K}f+?jvhz^Oby>XJSc(*zu-zOG$ZjnR2-5?8&h8k2@M`rtL#z)Itv& zz?fxug*+TlZ>L$^!&488tI`ooqpzMM#-4678|+%r#)f?Pq&MIbkDIV960a?jguZ!$IBrK`F0^cq+c zF%|X|5HOAyL0atN(BZ`jrJfpS%7zzIhr-|g{c?zdHM3g=xn+&+PB`K^m7ns`*g2cq zAXx|Vb#?0HB1{t%DVabWfSZ}V70rg1ihNMl^$OHRVvlA zu{F%_N|1R93RL?3D#NteQcFBsLnuD_0g-ZV4r({ycG9f_vwRaWr>4lC>V6U5eiBZD znXFdu=VM~n^vD?v&IVZOj-W%Pw8w&9lx|)3Im-Qz5jjO(1JVNF)N!vYi)-}f2r&9x z2dr`8C<62unzpg&B)s;XmqVhMwIG$G!>ELybY>z1%@?*szm&E9l^i60QXG4>En;+& zd+|=uD;uMwI#L-XX$=7_ssC}>IMt56iNJ;OPdj!#yW&miu0#m$LOn-{v@l@IHvN*N z&NSs6VU>5Qa6YD^GUqj({|X$4ZXX#Fw$*Guh}n&RtLQHCaDQ?taW?L zoV@JOhXKD3*W&lOB*|f~{yz7jhH93vlpQ;|T&Q|^i#We7WbN<+o%I9|i=!@qw>}1Q zY^KOgsi~qaPvypwp!g?>Vj?9Nz3_82&QVF7`FkD_uGQe-5Nyb2uZ=ErI3Mn5!{?J} zkf#a{_hm@-l@4gn9RTSE&w3Bd;|rvvrMVmFHWFj}O%&o0*aFpev~k&(R*fF3!AcUp~7UMqm*I8yB6C zJ3o?j$lyPoE&F-;&nv~XAu8g2D;ln5$VjhE+(B+m>RIHt6ZG~|N0=S%+k%f-fiVVk z`=9H;2ns%0P$w9^V)HU+@}3!$@7hT?tcl*+jloaEyqGc5edd$UBp?|=%#vu2zx4&- zv^+<1k!tmdemeLx+uZT%TAR13OAya9Th#-On9^M)n8CoU=)*aEyYOVeKW5j*QL7og zmUWDO!k9_fb=i{Pi2tO*`-BO3RE+KOOixt=rGB^@m|O8i8<S zy2DB96rX+LK`q0@YmXk3w`Je68xpOD#Sh{P!b0!u8m{hbf>^4o`7USMEtpSsfcJKg z9rvu0a6`1u229F=f+UE|Ub~l8zPURBqSxd70jJk&p0w6}8>tp$2QZMsxD`RhZ!2m^ z8A>`ZqC{9CCHKDOO1K5dIQ9mRvWN=l_6@&*&R~i_@;Q~zDwsZBoM#~+g`?b4$}&F;eC%oJick!L zAd~R4yjGz6=S!C?qj?72XPuR!@&rzo_|=Nnv-e=G{k_vowbi2bcMcvdIj>p4ugYgz zG_U84^vP_lmi$|Chs(Z6dNPn@D&lYs9oF80~CfkXTJdR^}M--3R876q6=Ilhb zek}r{$8)3MY@ln7uoo+N5Q>Yi`O5NQZ!>ezu@4e?XDv-$YPF7nOmesfs@|^%<}OEV zjG%8YpzrP&dNlDz-+cjdw~2sSa*bZO@>2%pH3r&i9@dd3DnY&x|MI9;y~vs#SMwkn z+F^H9S4UX)L&TS9b56G0CjH;a$X40o>$1zO4L+E3@{KBT?r+&MG|G(!@tZ_Z5q)|Y zcNxS?Vf30M3YcK%OSQpdx8MzY)DeuHSIqwuOaq(=E2(H$1J&-}*`$;EJrMn(o3wmNKZ5@F}6Z>iraoa^pwyzbH&*z)Ng59gpFN{AICs{V87af==* z&;N@F5%+}%#=~XPqm37Z`P5$#yjarW(iOxmAZZ$vDVo`#8$7<%6A8^!7A8E({dP(I zRjd21-N`nyw2wih1|Sa11br)VQZWvF+hi{sWb$7KU(J}&F_~DZG~IUae#<@e zD^*^{mLy$=;Kmcc>}c7v8`WO>9$gQxM5M9WxYIe+_spebg<2i8^~Hz1Pu(tj7hyvr zv@WMIJ$4?TF?G9L4<;m0$vMJW^{5_un2H%G-2mA^%7q~Bap-re{VGwS?8Eh-=Z*x; z{jaM_aFnf)v*lK zTX#FWN{&<%yfud=av!$qC*q)RI_z++JITSAOqYq5KA5;~j>yn43b5#T2LG1taUkVL zC1WFDT8s#x&p(SIY}tVI;c4*a5jq*-V(B?&a~olLo6J3QV<|GSo5-TX}2RZ^EYD-wmY+3 z2LxI4{>1LDNX?xI(MQyO2-{C$w^}Q%TA~-b^1ISOn*_CIPsjx`(8yM`jMZ|)6PLeL z+Ya)j>=7uy9*Ckrpuk7_6q-`V)JaJEt9)33B=?+JQf@^7KfG}+Bq zmtcY3p-o-|HMuT(ph5x3mp*6VFuV%>9yBb(w=FF;y)0GsKt(VJ zj`D*BgtYvN06B$Fe|WFx&u7nt>npwd#5<{IM|nX$kT~={uu3nCTmS^iHQg@kmmlh0 zZqudKwqj5a!O@uBiTJFA4<8|_eDWfW^0Qqo(a7Nk1(fm;anlR7CBNPcofI$j>$I+{ zumuo|OU)Ko(7FaB+O_ZLw{Lhtt5tx*?1tZFH0jtx(AH-Z72;n)OU`RAl{5#y8if-d zfG4tcsOa4sU8I{;pdrN;Ww_fq*hJV^yR6u{tE5hT`O04qWQdo|U0+Nl)icB#lIB_@ z;*IR2bG&CBddvF|Ku4}>?O(>K^8h7b?u7L`?X=>6=rQw!6MP|hua;5DunYDU>CxB> zh!RLv3{=xTmqPdyaow6o#%mv8&|9sT_N(++EW8g|xN?kSMA(SQdu=F0uW@s>Q4Pk9 zpR+7iCU!tfxmoXW{-&!7vI#x{G2Y`=A zEjAeYi$su&;nkNV1j6?;<7xU-pwhK9AnaF;JK*lJDcrjP02*Y6k*=-IUX#OA%mB~& zT5%KXH$>)c_Yy`cNZuZ@E;K`v`HXFt2X$iPt+RfrJK}CORsl6n6{qnxK`MhVFN-Q7 z>F37}>%obH)e-LV5ez6;51_P9BU&p<@^Y>=GAnv>MtaW3Am1>Brf%3hjKF5t;+7x3tAV=5D$iP4*l^10=go zq=_y|IvcpbeC7#V1Xyw;iIHyGu`ph9atX`0YFxC|@E72o+bKcr5O};ZFI^J+RJaw{ zTnYSpB%}iUD9lNj-!)r?fA)3D3A!Y?Eh=+4e^7d?czA2OruS8=(RvwH0OhAw_p6Pv z-lAVTJwF(Gb7T|qR2qGH5s*hyVLtI#CX_8t)pvfuDpEWSiwAaIw6)AAKP?NQ-P=QG z&X`O6&rOPn8u?zEt*BzqR^IVEZhvm{y7m4m0>;}OQ-L$1&=1w4t|#lcn){zLgq=Ze z4mzp9HAJ4`k1@oVevXScj)a?R5a(aG`-0pEj;$Umrjum zJ7bDrbDT%s88-?qY{hIMX+zp?R%MZn0)62+NmfRpG-Ca|O-`a1zM{`*2zOT_1mDVq zO03mb-kzW`ErmznuE{h_=#OF5+gqutWNFS z=^C5oifapn_?7fXkw!0yFb$8sO_v$vjkSCKs3Uzme0<2bd;_*v4ZJz&w8*zLnIk;8 zcTA|tb0UP|43}>DJiZPLX|H>1B@VlL=}>VlIngy3wU`#6&3HIFS0 z!VAgyFHEW85G)BBcko2Z)el|O_>JQ9E&(rzEI#D}n#`1*tq?hWE(jeS7yRLiUq6uS ztj1(BNXZ(aqd-mvqt_x5giV9-34!$NT|M%`~Iip7;0pemHVPZe8McG|VP43(mY<9X_rW0Lv zb|JLw?{GEY=NHeXHBW(q*Yq1q3L)hOzTu{t9DMcGpHnN|q~&jK8*rxe!!I4KG+ycZ z#su-H@@U6q^!2~<>_GQ23|)|0Fi08v-+j$ciBOXG^+l4yL_E>uvz+#1ppUD0q@hJ`fGmco^4~3>Y_;D_4L3Y~q ze7%(jkdi32#8qcYxqB~iNGq@!h2OA^-p2T0Qn1n;XcBeG?}qhlx?Ud8s9fJld$N{A z$%nog%2&!^t$p|PulMyU+88vf?0U#qPKs-S+EulkY$6wSn)`3ds?|>zhV?vr>R!j+ zGy3m$CFvLav5~qPmV|hVCUixy69obJ>iitHFCGznZgPAfyK3QwfV831Fk(Z53!|)u z8uUFHa&fMpCr}8x!-uQsj}}V}kdlj=56@saJP%5Alq@ZZnR1a5Z5VqPE|?xyXfhc5 zT`d)CE|HOhYtpBv)=22F{_!d~P)ei5KTtanq>ABC>rAf^h2i`VRqOa^?reM1h-IIH zS%!esO$)C9VoHyRjw~L}<9_o@`A+wk-Fym5nV4j~)LUHdNl&x6af9cueK5=vJhqvLP>}RJmgjB2>wXF1W_L-WqMPsimO`2`9s05Ry}zO2+-Ci0h?r@7tSZ+d_n6R#3RWB;pV&G=-Er zbqdOQ5(pOmz)gtN9X8g{|KMASURL0TrPp<7{poAIUM_`*?0K`zp}5yrG?BGs0dc-0 z&@Rc4MM;gpPowXtuSO_ASjy6ztMgwe1_Q>gYDDf{G^MTOuzJNuO*%y_4@(*|cKwJZ ztss7Dtt*i#ed66dxG|XA_1ajFR(Epvn9K_wDc`IIT_+O?Oy4Tp{AwiXgv}^3xI;)9 z&3tNmupIHd6Px>W0{4R2&=VC#Nl?_FDW**@&`L57M7)%#=x=;{U_*_fseaa6%|3la zp7KMbtsMufUOD2d7cNqiUJN@uTJ28~(}=VGmFfM<&(PED;!G4_KfL+RR(Qu7AbFj& zd0Gzki_@=2yqC zL}u2)0y+wv(2rbe``?jlHBGeyjcY3IV1@|?r|JzSa?Z4z35hJ5KR1>IJ{!HFCy|8- z`vv#qP23vhNN=@!ICil65eENalc#6pSu(d(3WO)8tr^oa;S?sSuxjSxs)3fYo7~0G z-=v6}eUMuaZCN1-EN99w+$IW(Wr3+f5$JHh$P*6fHqiIf9+^S*JYYg_zLAsDT-q|0 zt4vEW|4Jm_S`lm-jhub39;@wWXZU;;Xjz!iS;1OKAC~xfj#|*{NGq;4g)H`_<$Djq z1UyK;4aO3T%tUZ5@i0?Q)3*gMPLrM+Fzd03=*&7yYB`jvX0KcB=ejmYdY4nKSJ6DAm2EUiRj3Z4nMf23& z?vzQCY{^lxFNeu_AKe3cay}4ed~+Om7?mm;*JZl#>+IdepYFQZ@^eWp-VzkuG5QVH z=#QHWUH!ZcJ712TC+0#1VZN3_!Mv)}I`4gy2S9w>qGA#xzgX*pvHqeo1#)-yzwPol zxPp<6O8N5PQmaKl*GDMD5tw=%Zi7rh5|g!Ucmxe#Ak#G6KfOi-J-1N^%Z;)Pr5m{vaSo%eN)sm+PzBV)s9KX~Jp3 zE=pb@nQ(}ES(ovLwY#kA$!=1`r1T2dyFCzOI^s|=&A$l$j&7PdRAt|o{`^}1zSAg}6UPY(;{DuFW(laVgOk8BIqr=~LqGX_7ONMIg#vfB`RbQ%5 zjHl-G9{;^Q?jL`LbzUT7l2?p7M3Cjcbhj?t#kKxsrnC=t1jC7r+4QLmuY z0)IlJ5&hX^>cbfw0G)1bX<5v%K?R|BOpW$Vb2fepRu`bAsoU46c9bM{@L4FV5*(+A zszmkN{V8ihdCa#?5>AseC;S7b@uNdU+ix|q z1lYNG*Zwz=hN8_bMS87>X1sO3JiuaUK8%9}V*Jm#%Y|=%qLp+AEUL$RMcX%8m4Rxi zDlaHMnB7~#ETeNzHCt%sM$8JQ{MW@(po6Q6bPC>V=izqo@e6J}SV%+&$U^_J+dTbj z!VKIHwPn;W%lh~&&P$9qVk~UH5yrj9uZCDWIsXb*@E;d($uk*N4HXXcwg|kt$HTI~ zKYr&)(AB-q7XF_bGrKZS9hvF9=699Kbp&KpPQA&)BCPim|EMdl=u0dWD4`Ms{=T=h z?*bG8|9!|3{(h47pZ6xNW=2GgMWX7BkgzS)nWUJ{ zK3VNeskA$upW{|u)$_2!R9p)^-GDw#@miGpMdT?5kHoCH?d-()|A(=^?ux>D!@glc zN~Doakx;su0V!z^MLMLVy9baE=?>}ss&qF?eS!5HcC1VkMwv$~-(Ufr9iT)-ASvj<9Qt?`*+?(No-e&(k!s{=41^lBGW zk5U&Zr*8lX-Ws-uz0{=RU8%1o5XRlk!J+nz2Mw@Cp*NGMH;w3C5?DjO2{sSzC zDX?a?z5%Y!3<^ju`!<<1itO#0&l86}gBe*I3q8w8K^ou+xLM9Y1v`p=M7`v!+0=>p z-?p~>bp;&g;o>`L?Q1>lCBMv{7O?l*Sg?Sd{;vx-TF!rstQ_pS6ngFZKgK=ECBBcM z3t&RiFnj8DQ)AMHe|Z8cWy1Y{Z}EW%@G~VAc02=I0r4;H-Yp3u&Eu3AP-+$w&5hQ)MB9AF=U zc`1oU8f_PDfK`<7so_=7xd&br`rza`tRKylZS0O9Hw}Co&wN-L61^00yF2b_1O`$Q zZ{{=E>~;Bq%x?ClFYwvX^dO+4UIN1w9uiANLO2n0Q_lZlU$_A{2J*b)%;UMx07`N6 zU{sdc1*FH9^k?g0y!!LhDe`-)wGwm+VjZ?q5#fa0pJqNf-yT9(lqc7EfqrEh)O6h2 z$3+8FP+Xq)#tUG;^XrqI&OM%fv37N+*Lp&dIt))Fot*b;`2Wmze@aWdc;w^Ot#Sq@ zlQ`#g9)Og-(Wv9X&1th`3ot;97d=GBHymHmbDzGo7ex8}Uaa+!iZre}BF8>-YpQ5C9|(B83k$fvtSofy{~wmmwEq z_O|g_j&<6UcM&Eq2*t8OaaerN2S-N8Tg?)qc% z@L?u54fJSXtK!SN|2!S4szC2Rkl!mV^fJV-N&V$LS z!os=V*O%&@q0jo|e>?nSVSl4+*;2}GTr*M3;%7grTasf^Fkx;Z!W=t{Orv{2^pJ@b zNNXgmgTV+6JDbT+nc4rp4kY!Tz=~TBhFd*0z~csJ;*@&8|JkX{x$q7^pYv_E$8hF> zTq#EuX{yu!Qi5w`%VHxa1MK}@ZAWvYvAZ0>@v~l9985Rx4F&Tbe*CKX?ZrZ0J|)U! zl<%D+i=DoU?>)>wkFNap-e~UkxBszLwgQCOm-N$&-Ld@2ThJ$60Plrg8fJI4|Cq*~ z#|apeT#Yr~56wAR?*xDOJIgADe;%hI<^ozKVU4>bjSIjKHgc#L`R_lq4p!Z(2F-~H zXJFzc{1f0&VmV%5J7=S#jTdi5?Q<5R$@bCp3CwIS^pQ{IJOuxvk zQV0DJ+!Bb$S~n211sbmXkg;+9R2J)Q4yC8#pgTR|=-IQWTShH0Xob!mBo>OEvgQU| zdSpoi+&pE5Ha9DmWys~d23?-$#A9h93jOf0WjTZ1i4w3K=VR1S;c+`)lo&-|gS(gem5FYa0AK^)Opi;v-u0mSoM2!Eq%Nr~)H3 z`pZFn1BFMs0`JX${G&dwe~Qj;z}d%gZ`(qr3=UWN2(!clF)Uoroj#?gdemIuv;L<# zhkV4k-Ew!Lu$&~lvyj_^jjg3HXIC}aT`mHWiyuyiMKw-KeeY9mo;;h%J7MfCs^ZCf zg}SGk>>;f)nB@FhRxOJ8l=txKUd`F3HJ3!U4RPbOn*1>H03M&8?-p@Ws`Y*caT#|4 zRoEf);hNEHRGQc_#)5HYNDf&OosM|>7GVy|N20O#q>XC0ACWTD{C?_cWy#dF!XoC6;YOBGHFK)1Zd93{=UaxJCknG0q zu8!beeBVE=w}}(j$9r)~xjD?3tiVwyuFUZ{xAZ!aOYJbz_d#ntMP)a(+ZsZ-%6LO| z3XFumL&Nt-(6m~->wC*;5p8wR1m7UHycgP0Au+*Q)c^?mIEg?;$6@j~KMs+S%`gqw-VDa9==H5r!8ByWP z@xu{}f-6uk0E`Ih{Usb8M=4xlYdmXqyh87ZA4)l;H+DCM7AW@!iu`1YeCy#XulfT3 zivgKm`Oqqmm|}`jiD1bx|B5K$3b*RDR4&bqh{1bk3bW^{ar*iqvU&j^qf8&PI{TY&6*pnZ-m9=;)Jry?QzOKs!L4&;y@kbL;)TT`05e-bCwCE4x3y)k<1T zt|}gg)>WKGB+z6N-rA6UD%NJ5HA`)H@?Yla*fq0$9nCT2@jSygCet`L2?e53=GiY{ z#W{(rwGm$@izoqNVtossNJFLm{>H5_+6lkl+213>rLw8d zcWa$K=E@ZRr&USxQ=`$9@|D_R=e24fIA5g4;f}C=wE)xz9_a4moOI4WSjUqsbjSBE z3bFjOwi*Zv&ENa~@qjL2U{Ur)4Y6Ual*VJgm8!=cBA!U6Hc}V=q920ON_*0CN)}t@ht}R`Gw#9_sq- z;+XxOfHCy8Si8phCAhB8|Ndl^`u?CR0wz1{4cpqZ5wQoI9}8{Aj}>EUXX8BzI(*@s zj&i3t);Wd|r@}{V0r5m5e`h5QBF7JrxTJ*lM$|2z8AxznxvX@;R<07G5EkWSw}LXS zlj0#Ry|sFAE@!)$-qb?Q$%#)Ez7IkJDW_j_&DyoE!9*ncg)fBi%6=f3AP1=8#(9cV zKK{`V{mHf7AfT^Z{|w<@3%V#^#h2PFWJ~sJ0RYIqDk(u~)72z!IaZhpt*Z`#SR{c5 zzs4y+^v5xqV#~JLDn_p5NgX>@jf~^f;qcii%R-~mA6t=Fjhug*c86;iPTe)%8c(MrT> zwYI`iQ~JV!2b*isWWX={@wJ}>MWUX<6e8~Z*YK5{`f z>5R8?M-cUA3S9N_QO=uzXye}@V3~)&OiWiXL}O+~25y@D^c-5VY{>Ym31L`cvJAJD zYutR-%lql&|M@;5jxKuPjJetYQ}9@+)s!t411qd|72Gq&g=mF;5wGL63FRy%QVn~z z=U20HUFC!^5Ly{P_IW3$??v_~XJ1fqv6PUzh=D$M4v0pT7oLdf$q~Jz$nvJ|IeP1} zBym+E7q<~(-5s(D_a0}JuLR$PRChCj5ZmZfmT{(-uyh3{Gq%pZ!UkF6o{T*BwaxlB z;+Xp*%#-k|qXkegbB&&zjq#;%c~t9G)dBrL!h>$-?iDAR;XLz>a4`=Rmn6c90HmF> zpe^@|)r5T*Y*N`L_xHbY_^5T zY4ms}>mI-{V^W{MXd_k*U!whWim}0&hZCV)yQps(J-=P-7<1+rF_V}nx(s-23+&%i zEV$S3;mHB-WG!Ytx}%b|2|LEx5dqwVo$4$t4A_GUR!N-84n;6i_tN#zwY>2C4ec)V}v7Xqe!m3C8g?NwQO-x?|rJIzk zH-2GMT6Bb_&;fplbl5Acz$UqiZSUC-N6aiLm;G72UCmapRr^tIDlMDy6%5~L@5BpI z0ekB7LLmNCCtbc1u-X-!`Wb6yl|!-Ks?EmIg@8^hQ;O?}rRMje&$2MRB;6XzRBgGh z-}X8r$i&_sNmblc`xm~NYrCvt-l&igA!;j_YG^WeGf!wuD3auTG&4ox|o%yl0G@XVf78I)AP0GlK=K^-B`*I08Wsse`*9l z3klz|bxvKh--Aoz=XLTW%6@)AQb&{0x0R~Tkft?BfsZVUN%Ut==*xDb=$vHUt~5l^ zt89DP5>54OxA-qiDstoEu}^4-wmu=etd#ZBtz7PEMW%Z|Aj*IEqD1U+F#pLPPaPrU z)zht3`b$dQa_3Kap_LH2PYyqFLV12DEIthq6N4NHP?u7V0`XuUv5ebl67t_;XbK|n z$Z(o0gGXl8TSi1-Rj69#lb7`6`kJX9$F}qK7%!RNiTz;Dm^5h!z9(?38{1>h&n*4D z{RNS?X@8Pv6o<{PQy>%ieOyzyw(8ByPq~naVZIzU3zWc9AhlFc9{>V!^XJ+~i8_?0 ztj1ghtNyQP!X2aQahJ0z6IP87M_D7vja5FX!l0+Go0ZcWq<}q-YZ+~jy=m!H@%Q=R zKhOe0l)Aj)u71VqnY+_I2;5a^a+JOFafl3=2JzwBVP`u}&hWKSkvCvIFiC({h2Rb7 zC-aEeptkv+fLC&+YO6{87KCXy6=sG}uB!e(%)Gocz&-pyECA=I_9X8Zb~-$)A#}UE z^tS=&Imk3(W*ZKDX%PD55l1@%xJh74I44WsP}FpLS8@d04Z15Tlu4 zsTFNELe(XBAL=gSmC4UU?)SDzLLZTYrUPB28R0-#$TIDr8;739hqNu(dD*7?XDC}! zSqP*jikkYnbVl?67)(&#BI1jqQFo@h_vMpei{kG~KNR^#yR20M(f3#HJ2`@-6fp@8 z1nFMmi@lkfRH&IB2mHQO&}oCo-JIM)v4BkTORGX``ACt|X31NanqSB6h}X$lU-=2u z_15No>tQWC+5*VBU{@KFd@b{a2ewZqsFvmSm2B_e*fef=zPz3sl$_3be4DE0l>z9<%$1t2&P$tX{ZJSanqUYIKl@H=N6 zDPA53cN$?$1KgUeGpIe=0?6>J)T|-v7iCbH%$&?uQHYM#$lW0Fq^g-@yf^Hqv_;5Z zom{+Ry|stROXkT|ds?7~kk1fyJ=jfgVkntbK;`>x9uHd%!ESTD@mY_)5g4zW}kHjwo~I zyND^lG%y8}`b2P8TNv-%0zD+JV)m&_oI~&B*9m#lz&AQcY+aj zUekLBDl3n(R??}jE)w1jsDg{*Cw_kgVV%j|;0%_aPxbQ{2f4IrRnZGgE9MW5HT$__Q zq9n(?j*ENFBUTaOkOFW8X%5o}MpucP>4VxDm!aMzz%1%gY(Wf$4Yr8vzNmPp_3tPf zPmOK8mX26quhFPG0V>P2=omGO>)OQM{yk-qf)IA(}H! zb4dIqt0)Cq(RW`)(JF)MCcfrcsX#b~?X*(6{8J-K48l1Hk)FNTQYCyr4Hf?@Eo&L{ z5=(wlH!^)U&{$oPmMx;hauqSokfD3e6NfDhsjnqC=Rrj4OhN~qkcjp^0IE#RxWGH5 zIOa;L5?}QHcJ7Omp1)3b_GGXyoB*7Sus5t3?q3pzNRx-vWC+~{XjRGRVc{;a1c;JH z<_j_c@$yiC4JD>wLdNU}<#1mw4lYWV;woo*!J8z~*5x;Fq4|?}%R=Z^y^YO|hVho$2l{n`_l*p@ zTbrA$28@%9n(=LRSCZ;}ACb}SP7BMXqVYE$I}xD;ynGQvPVt6E-I(2O&Hp%b!| zC3%*Lb5?L1c1{hUxWnM+CmRFqNxrVx1lQ%-giSwW8IwTn$BJGI2z*WW+-&H6yHMKs zvbDqMA0=c}=_ZgGl@z7zRnJCGzu7Gy1WJ%5KK!F4_pNY!Ob*^|(&ZDK@>-}v|tg%0s3_`tV;BFL|n2sfWr%YZM=WvAu zq4l!irh)RIRbvG~MK(ODh>aJ4oigt{m1B9OPULEQ)5ex*fxQRAe~( zdWbz@^E82cLJDV)tPRu<2BI6Z)MwY}cH|58l4>Gzx;uqG@`cIw6`??dB$(o*m|Ao5 z8XuxB-Bdd0l0RW*Q<6J=@)i|PP_`ktwLqM{L+i7uo}-{u<~4d zRo0{c#$@M@Rm>Q;iNc!kV!#|zi!{xGo$|i2k=hiyu|t^>wjn_-!KSD6cdyEK}FURzPc9eghF_=gt-Qfqn}_60k1O*YoM7VgeSluYQjx zi*xL{p{^9It^BViZBEAtx#0feev8-WXx~VuUj`2fbq~tLL9=mrlR(DLmHj zViA^~Y`^~KnUNPm<^7riF>HxgE$3C4#5QW$;&qO=z6RNvlJ~?rL2saf0qas_w_XWq`{`uA>+QXaM(0uz=A#9YKF6fmI zk& zLaKbrs%GR~6@C1^`fKBrs@H1ZiN~4=0VtKP#m(LxqXoDYZ5uQ!DKgEF+$&3*K)q8J-eIJ;++y=eqU)E9V{#E8ID#JYjfZc-YPNs*gcye>~j`zQ2PRcsY)7fv*E*u(TK1_D0Wi=CE$;irk8@>fkJM#_7W zo3k9~$$FA>kDB^WEu5`lU|kS^$`(Z5LpG!Sj;9$+@}w9qSBMS^A0p{Jqi>DF*&l4r ztXa08x_YU7J7kfp#DJg31Ik*<7MM>DEg30%U$vhON^;JV6O26o^Bs*bPbpKPRph5B z(b_@w)M^%AV%yYSVE!JE%f60V6@SC7VYj1PKbE#n@%qJnSnl1tPrUOHspVLqL!uZ@ zA1_r|z{}mlca*Y=ZIvLFNL&L`qnn;#RTILwy(?5$ zkG`L>=44H^pR&Iex z69P;_&cnTr7nDr`J~z($!$4AeLC}tPG8rCVd!pKf#ph7*{L=X&Xx&N_C#PJ ztT6DskLW&qMEvkqJ)D5)Q#kuQ$NzL2Ssc%4YPSoYJXaJk<4m zkn5IA)Q4WL<7rS06bhWLg2Cfa?%KU=n7LQUV34pQ1}O|LGqLqi3h!GiB}AE*mPPiT zqn++7wY(m(X9y0w8%)F4#cONLn+WVe)CF3%9G(|N;@xv@UNtsz z`kT2Ishg{gkb{_W(uxITJ$uLj8jHlHRo4Nb3y7|9*X>uN7E3kct>MZ}6zB)*F}|1=rKdNiveJ(1Gl)f**yN3Y=^L@4I zJu==>-kmp4v~8ofqQ7i?7x=&dx6ijUU?v{s5w9z{A60=b##QxoH)`HE*p+ovGA8DY zj2s;B7@{=?1eG&3J%`WM$z`tS8{Q6$Zw03T!b&r6^m=|Qx-ZBqR|{}yB$c>wO5YeG zo}q{>RHrxWq@sRVLfw==X_@3;M&9ZRK?osS~rmYGZ7M8zfbsjpTC zRRE#g+OR@oPY(XwcOTp6Zd}=`TxeQ^kc|64Tj+s6e@P1I&M`vtp{X;MA!MlY zz!BA&g22!}u;p}w3rU-hrZNC}xCIO@8HKi{qQ#+SEf&iVapc!pa0P4uMEA-dT2-X`;hZ>zL zy4QMj#cU)r2{-q|3I<-ZfG=@G4iZ=6jbL=*@A@KH4$TjS^bI2w2Ypiq#|pwgH)k^? zBf;nT?89TgngCP3EgPH%Ba{6Rw`L1FrA8a4U)(1-u>6SA+@@dI!aasBUk@E7wF-jB zr~dwu2#^uV`T#8={V%iL+apu#`zPiw>3+ofWffOP@+Cxz!FMU%=*Vye)_GQgjB)uT z9l~FE5}rqI4_P$FblJoO;6eq}IQ^`A+N!9#@U_gzsBB20Xkb2dq2Oxq>-W-{epE#t zHNB63354-1=?4L$*%<+m;2GKtf%D3+cx_b$gK4B$;;Mlh81%hQP1W`1XKOwi6OjJn z_ES-6bf)zYA)ow&khG)38No60^Gv#IrlL@M=?Fy`jG`ZXESsWNDuXEtM|cliG^ekf z)WE4VV|a?`b#j%t)8u8%qs?g23)#j|yBXH^GcVjb0KZRvY$j)nWtY{*FHm&_D zf;Mtc{9l5DpI-AwchYhmO0xfa)*gjgCxH-BVybb>w^qo|G>}p?gsp5@-2OWG0xIlp zbO!8IlE{YgFe(VqLj)PG#&yto(>Y>0Vz?@{J4HkL=G_KKne~u6+su@8j{xQiT}QE) zQbqI8zgIt+s>OPcV%_>>wLCU^xhS0QA_;OzMyOJ-_63O&+&4l^v~Vb?F<^ES!)z71 zcNX=J6`tp0^6V=e#?oOqa@s_*go}*62ydL${OKtzYk;BXbW?z{`^VB#ueo2wA0Y30 z{5UE$LzzodN7_H2yiON(D|wJAncJX-P^I#MPLB`ei_`%&qM#N?jg}|9sLiqUaCN=C z>|dm-(5}>VyJ6r>`SXHH{HlvMY?8rRtb*g>8HuU)vYQ8j=sgw2OwtT zh7o3L1d2^gJT|Xl7?~yg*lQAcP*`=N*_$EZqzXo z^?eX5o4;Dj4nd?HHD-Xd-$nA7j&s9-04u2>25YA0mjiHZ9z^iY>}_^<$Hr|;v*^EX zenG*^N~7EBjdXv8h*nhdU(E@3qN*#irdjW@y^n!QyK2(;%J*m{z`X8D%pM<0&N#_wXpZFeqHAV$!&q_=c|g5C~}MNpMsXL$7pFcjf;W$XUU8uPK{N zP-()ymlo;9rI;(sp{q}t*PJPw@RwcsqnU-`zQKNe3-@4GN&2{iq?}@3?OpawQqAjT zdv#EOl?mgComNiG&a}O4f;u}^%*K=UB}%8Agn2HpR~q$f)VJoXC1B6@?IJMlof^Mr=SQTOqjX z)r)kqcCwyn{%l=(+`Y1?%&EAIRx{xq zLX6D~Z{v*Q7?n0UyO=xt&j2h?=Py&NjPl8!n0+Gq4nV7pN2#CxQ@6luh67$td!nl_ zm=e2;22*2hWJ`X36QP9w3S7O3L1j(lv6x^clT<;jp`tL?&!A8U+lQ6_Y#}NBJrVG4 zg@_H6+jNn%k)Njq*k!-$SGmCnMWuK+8dH;{q|}jZeF7DPJ87eajt!eG|1fsIw6QF; z>l(v#>!DQVWoOBB7>V{k!YulKk9Wki=sp(0)wI|Z;f?8VB?0C3vN)GJccKhIqSF;% zZZR*y*z*z_UYoVIVV|GzZr9Bi6wye0X;2grCB`jIf})!=q_^I?DaKhR;jSzz4o!(A z@}zkzX=!jKYR~gXC=w>ov8^|)rpGGTAa@n(af6uxEi2X0PlLdI6P2+q1k>n(j>(+!kH*L->n+Q{ zaeJem~iN$&UnF{&}H|Dk$;ZsEFdu1KrX zu?(#rhs}7Uc`3ph@Dq1Ul)B;(B=g;JPo8de~rH2}O5g+knUfnnbrCdIw zG%gM8I*(KRQ2s11Zpg+X2SDCoT^scxxGS57^$7^I@ctXiTvGR8E>=C6g-v9jp{|6a zP!rzIuRC<{@@anOasB_z@8nXgn{=3H!m0l9MaK|ZQBF1%>(~`K;Oo8K8RN=L+c&T8GYXjI81K4^j~Jrexi_3vl)buuGaM`_Jc;v}Gtd0{Tixuz2nuwXLMjZ@Q(nBksXFceg#K*F+tXV3r86L!FfG|v<|NR+Cr!XM%tyaXc-T0bRBTirU z^ZzM*9C!n1I`$Ws*}{gaD&)pYkV_%Z)mlYEZ{T9St2gzI;9%S^SAbQCf8Bq9N8(qY8!) z_~u0@?1{;GW%?@s=jJBMp6{_@ZM{e7tv%_{u|fkRmECBIuZYIno=A4=C}Hx{8bKi zouE^w>#|BJpOWt!1eJh+NyGKDmhsFew$m@sna|_wCH%SyrJt>+5rHB$@&|rDI`x)( zumlDojbbVXI+?qS0IJs=kZ#5!q7#3>v1$bg0$eFBop{*+XvF>#L3vu}k7Y|isFt!& zE{?V-0W0V-&BMFxm*hm!32 zzF!Pl!~Fthet zo+52R_zl7S16HK2q7dKdN8D_ zbT?pT?6N-z=?cYCzEz0$QSnW2w9wkAiRCD+5Tf~>%U(JpRFN^DR2jMMQ-*G_fZ5`T*UGvscudls$rI zI98#NE58|@E@$j=QD(+*sJuR9H4rBeMLl&}$-6Hf{aGysgpvOoF=kNh)MVA~HgkNy ziQj`kSGg5cw9wcajCaE&Yw~5rY#p$_*jfY#a8V7V3dB`RmfHLSss@8WOo<~BZr4~R zjlbB?hO_wFH7DRQphNDtdr;Owx2gzqT|ETt{mHXfF5c_8leKM_CbWamTC9hQoU~sE zEd{eoN;G-(=J?(Xd8kYtL;||^Pw@3YQ-`P5Hq8&OztL|Im*0JJ^+O&wMQpXSn>$%SGR{Pxc3oO-^f`S5+8>}{uDS1kKiFYsj(a-&j0+r zBNkhxqGFNlq%Qyn?Uchpdx7YTp|b8Qc?+Vr3{|dd&C&HFtc^3(PRkoG_XLy@39wV- zJQPuCxVQ}ZIFMr0q{t*f~GW0f9ie9^;+}) zsnNOx-J5tE=`hgae8p^}1d5h_eFhN@&aB@e<8C;T%yTm*x{{*KhKJG{zc!8!5f$WQ zSb6Emi89aHh$GGmtw{;$u;tGG*ji%i6rY*Zz8eVm%*S9mSs=2Bn{S4|kh(69(dFjB(nv&fB-Z zxxlc)h>7>+G6VQ~kkd4qerMjtA$IiHa@HFD^=9n1VidMmXb&o_2UY|vT%Z1D<3D0& z^c?%T4nW+1V~&Muj=KveW)}v%HGPe#!eQkD;5c#x zV#QGbE~a`;W0^+aLt|8yEUHgqX;}b?I_ovFUzr)>z5oknPd&JGuwWarSG;#fwXP`l zI_c9o=px<}O1Wx$V(|f@CHNSj94^4GyAARbcK}T@WFmRQ+|TRi?>4@#VYgdDCx}jQ zK%@398@VRCPgKzfsTk-p+$d=}ar_0_3g@||MXm$b*%+_0QQ1(R4oQa3%B~M`IxO}% zBY67%Z5JpvOLjz(a!-QWnd}phEuBd{Pl^1w(&3x`s3xHV47zK|f~LAMq$aP{h}iY_ zh*&)C+X@=81HymlxfQjfVJ&^}NV`_=Y!LtzeMK^>z+4gLWJl z#9;Aox;!9v_^(|QM2wqG^v@JXJJSVipES+C0x9pGy#MlBaDKX?`{+STk5g6$lW!&G zS$3vQVk%cgC&k9J_l+aay`&!Z-B4z>sg`};RXqe3Mugn{8f?m0;(sd2g6ll{yGO0{ z74Z{eOCDg7BQ*14r{(5r{$Y9?S`4$-!Hj`vz*BjQ`5w=y#Lyop`~%W9n8H1GzBe=e zWmIn|h z^0DPL0hdSUi`ewDu|(sA3RCJ|x=F&dRjo~@Lpt)AAcdz7=tVQD;GtaeeJdYlJ>+C! z`=G0ZAk5nfE0vE**L_)9*-xDk2fb6^ccrV43MLy2T2svD7E&|J-eGfl;WhF?oQS+FU;=ZpJ?ZiZd{Y8PeuIq9DG%4sp^RaaAhCGZbPWgV_7YAi`k^oC73P^=X(NzHfuNU8&h zMO>c@V<39*j-7gNn2G+4PJd)f&GCgZ;^gnxBinC4b;HRxTTFuN-OR2GSDI)TsOa>3<=`2f)W*8_ds!iovX`#IfCFT-yeNU4x_bgWF`x7wK zp>eOG5*kJaINgo{h(o46NrEyVC%r#DC~aydy!{lK+w0(8A>%G#>IS$BE`wduhS(`A z{bc-(Yt*{?v(ge8uik%3(A%m4@ znIET{*n-)x^oa*7d^RF!s?<5Z!Afa&=bqC!dV@{I!(klWUmKpN5sM~e$>0<&9Jm;u z2TNpSNfzt+Fad0=!CXD0WVc~RN>etDTuHzU)v;0!Bpp77RM0D@k)9duUo-Z;qGr3B@KJE-g&y>uf0tZA;lWJ(3@O(K_51Hpqf!dw~anh}yfizUfXw zGaoj-=kLQ~>c7(Or~2F;nEb7{fUFT8n;=(iNsu)Fs0o`;^yB+S4^{US+|M9&Pl+zV z;F**&$P(#AHzy6{GFbbosO98MfA>kjMI>FwrD|9U78eG+?)?E2*n%@nOgtHfKl$yb zHj}(*DRv!9qzB1(7fKrUcRbHPYH(s0zm!pl4{CG5VX_W)X@QLch%=QpY3s2C-1N5) zsq3Pfe6S0DhtGg?iq)-|wZ8Ts%mjnGb8aW&8FVI(W;P!a^FK#GA!Rc47t;#&P>1`Kj+K8bOUaErgZNV?T~Q#X5dnYJ0Yy7 zsyXT?yZ^pDO_Lh&@iD-S6*h)6X3zA!)k5B)#%SDHNEaQ2lP8XaG(5xUFe>6%r9O?iAc|L07 zp!qYd?|*RM(`!EuJ0ckdo|yMe{izN+Q;`tCn_S9P5wCKLDc8|OxwyzlNOnaTh(IEl zU9&>PrV!`qy)&EqQ#p8qM>p^{;1;Xj&tdg!`_MzV&HdR-yslKm_~lhCPp!cl`qUlQ|{SDN_`OpFWH;k@9>~Qfg&sr(#YfEMYLRxZiRN+PNA&*djkw(3eP(X z3Y61lt7PipPbJnU`h-g>ntMECs2MQnn-cx!33n9+E-zl@>1t-O>C~ic+7?ahVeXbB zCzISvmh=okjq9&u4d`+r=Nu+}e{vV~=k<3J#cOocQaTB!4tGi6GS$RBOo;fNT1hWD z-@M-k{mx6e_A8a&Zn+%00;>q4$<+JtzIxsuq^Q6}^`!v>Lytcv{6FKOQINdVdy1*` z)#RGwBmic|N^Bb*_#%mA6u0&`!rvMVegdqaE@70G2gl^_dA~=|XX(`K%Ln}3^fl?Z zt+~3uarzLVNDd``?^jgcT|Ecs$7m?A0i_&O zD{$~>%MS1-PjQrj0Y~Vju}4&+n|G&n7$JqGE!x3b-qL?pC5kL|DVk03xRHKYO3%%E zqZjGF#|6BQ;j>0$gGx?^V-UU$^8xY3aU1158CiW-s5wSvJ&`u?`di-_#ZD~E)hXVQTq9;P69--K8Bu2%Ym0Xw3kY&Z8 z?51fc$w|5pLUj5-T3tjfYXe-3XridbnD$76?p>O|GD`EjO-fjgFjMex9WyI@Z&+P9@bR+aXJ5vxkbjd93>YXyfd4|B|({I+c zLiUE4Z$AE~npV|`cq$qg$;lbf^=1v5cKK+zLvsFzPB-<`vucW9G<-XRk%?Bsxcdc} zmtCF*^t-}>D{V*~}a%MKw?c<|gj{t%^;G>EUaQ`I@7_k(e)k^+0RsnZxCaGsH&Kxf7|xL6XH#OgD+X4# za`uWa;-&lOoxFW*A4qMEOiMxQbt8|b`fLd4Ss?C(EtME%MdDj6nm=Myf9+6gaNU_d zjnxuVV;IeevWl*zVmqSXT29~D8JO7khook(WLEUK&qax4KB7+ta`4e?<)bqph5EgU zzC+LBeMdr0zJlAn_g;AS!|n-mkCBI3uB&P;&%V)hP>v~+E?X;SR->jSDRQZ?6Gdo4A%gxs^%EnN6}aG>`_U$M6t{1Zi!?T4Ku_k z!F1UdHfnh7(@GzTwOwWtbi#R&_pizb@ZW8K0EddiSn9tt4>l_@^J|d{%x>y~2__ z3CC304S?jhzK}VJ+fMTrM{ERuROdxfb%y~&*R3GJr2(ou#dF(3* zQmWf7x&xU*K3kyY!i_~bN)}!+zpLh>4QH%WEb3}Bg^^+{cjC9xSTianTlAi>@1yGX zn`|}a(MC~L>%Vh9+v2R6v*W^BGH}q(rx{TO1}N1Ef_4kz>9%-YD~$>&yg#I&3x7r^ z(m9qbx!sQpXBEdMqP2|1{>`$@tO|E)b9r?c58qvn6wJsv8MAUbZ7?^bYKTbssh1hj zlEE8;EYQ6$j4aAWt{X*$B;)2=#D5A8wH9HagptswXUT<^zh{d_5f&*YpKYWggT6ZF z{ekS}WgTXwC_9}MSY~bOe!Xtlgh^(!-hQCU1s;%N5W`{{FDL<|?zi)W?Bi#_dxc=YK`wr}qwu~)5`XOFRpk+~vN^&w*?i8v0Q0n~U z^M;l}2U!*0FCSGCg>X>J+dO*vQ^otT2vf0|8t1Q5sRfx8=uEU}74BAF!A8hJNAQ0t zFK-vQXnA|*+3%h3@dfJJ-60nQKb1cqVSW%0wM3Ux5D;Y7@e6bQhTr}!3m6xLUt5S7 zKgTd(Q=}-;t#6*jt80`K^7!(u33hDjh?LNVjxI zNGYgvBP}W2Fm#8~0)ik)gM@U~&`38pG)Ol*%m2Oie)n@fet17|;NdZIv91;8I)8=s z2_;X)zNL^*>5;Vk3Ln|dPtK#cD6&d++qxZ>z>FFmvw9^{k3xkKz_-p&_AN5F zhxsGMv|qDk2F~e&#U{r<*TMwP2_tTk8#)QBk~8OeL3Lun zGjIGTcHl9rWf8(3gU&-Z^6|Qo=g$I)yQO_gb5rk)Z(9SmzbAFJ*djgK`E-VDTx0fD za)wQcDHtkyMhjMx&!?TP?m*q8=?9yX&Nxm_ht`wk2EanHm=QZf@Yrx;GcDLNGL^)e z&n84b^PG&daL8L7EKp4<(AXmd-p$`7e4k+vnLJ=Sgc@9Hk{tVhxPwz;5*V>^s~%M- zLeK(%em3O$ddCqt9Barlgr(r%S07_RFek()8MVEWEV(Pt@)!)>stB0v$)=wUhd0*! zdjVJ}{g3 z(0SgG8#f+v9U6pkL}2j*96a1gCLJ=dpM|`Ej)^J}7i(37 z=RoAHg8x}}H4q-hAr%s0i%EO`^TXdufiTlLy$9Z}(eL@65tfGOopsJu!4W_FS34#l ztamw?BdvQAS?WIo*9zJRBG5RML%7hUJ2)#IBX5N4n|+fncUbwvW_ON`wf-DNV(5ub zvCB;v$6UDmW1>ls>3mg#4}&ed?>wH|eS3cJ-bRh)8HQlAY)NH=A5p7i_3ro8KgW&- zB)8M`b2qvAw=o!b>)G>azE^7W>hm$za3t)zzp{K|1L|xR0|WZP*_r>zV}ug8I7TT6 z`mKUHs_@>l-BdZ_o`i0hF$T^TNwsDf4))m2->%^U&OmjJ|K0!H3oejPG}9Jvc`3{ok5I*JfUkT{#Sk{0=)VTjStZE!KE!c z71}u^o1`}$_*=7UZDes9){gy&dW~+iJ1(I+tu`|7G*g2U|8ZYZNjLfX%hNsQFl-JO zWhG@?C_4DbtC9$_xb!zjzsA@p0ys41IYz~&q1C$Zfd&s`N|?xv%-7K@xcyMo-i}i@ zJv#>sHy%PhBNt6+v}E4o$(rIYhDdL+(Necyfzz4$PQIN-Z2wW{f zj_hKMfgOO$rN9B)XZD+h9l4^^B^U38R>A_1*`SxOc&aVp=sTX!3`%&Ukc@W*Mq=;j&VSMJJ`ggr_RI z6zN9R0-7QjvH$HrM&^EP3+GI56i1D{k9@>~B27R1(P0vOH^MZcwiKY1J}g#*0#3L3}KXF~W;m;x1)0ZN(##+VG z&K9I6%!`i`NW@yRZn(7Fo|^I5zwE~vCTi^-{bL?(2B$&t8U^5)O=R)i{iHXbi2ed% zOme8u5q|&NOD3|(|n$QLZ=z+}PgPmTQK-=U`5YhDOh`n>+FzUX zUq}S|<;LN(&UZvCnBh$TOR_R3#h!#LB2zrGdrVoW>Q#w;lz6NRE!)x`F{GFTWyA=u z7mGVtdZQF?Hu!P$r+gso8t{==xf=VXp%L)I75cKmtRE@eZZv&w`XjVmdL56O6xB_a zmOrcLyYH4;?_`k>4Nd%}Ki&kElMQlt8$JxnIrj)3HzX^y3+vKm z7!NX2A>c0xt+#zCHTBC)vAOFgeUcalsJ(!hSs3Z$vq^(iVQ!sDix%=;s6|B2pv5LC z>LsY^xu=5C{cv}uzq6X4RY(9aYk*TaPO@Km4KlT5R~RY<^43VO>+5Q5X$K{luv?-@ zBzp-9ZesD}W59LPX%w3%-wl7nr+u%?q$|wcJ7Ei-JQ3_~jOC?q_0gL7g5Su~9!OA5 zlXRnb8A=g9FQ$FFFtf(64LUhr@JYxljC(Z$xIb}ZXPD5Vb%)q%c!9eda1DP!hpKaC zh4QT4f_SK^g2Q4i+ivNun(SGiW!F@N!HP0D=TvAFS`qas$}fwd#YiSPd5&Z!^s<1P zh{~bNhHKLOUdFeIJ_hfGgT|^435Q?3@1kppl3i!!q_6$RyS7iA>k3@fyU~9=p077P zP1u>KrbrLLr6Y5WbO~f#Po_UVm|tLy(mT2)q?d))-+fXnU&|$X85PEPKV}~z&4fFS zOu15L`{Kclo5H8g+pxBiQWdbBo1eUUD6mtUvUtk5TDLE%Qst(xo6nj=mBS-)& z!ARuDoH>l^J6vgfmef}=%dC>V_{9Igx8&2=@;9t8eUrcGnNs7bf!Fk5a@0O{S}Zuj z`lqX}FHg;h#yNbN&hI$mMR6mrhIKjPqMro4i2%L)QLo_yWy=|d=6e*K=Fp?bd(P*- zM0NW}tD1m=9cM}up2j*W&{?sZ;v8XAs_QNxG3uo=rRQ=~z}#!SuE)th+1tU9H{YFg zPd85v-JNd`CT7&YYPIeI(>O7c3o0F@3fey+BuJuNv7$jjS!r;pI4CSVWk^Nwp1As{XtL+JWP8?Y@-G` zQOq4Bo70Wa!9~h5fM=B{tkTOxmls&3JJo>(4RsrFW_;&=hCAIG+$6kCeug3C|DRF0 z=kG-3UnvX8DV9=_ZIi?{%8ETCo-)B{t`*ExUZ0u3xJ`i1-0NmkE>K#9uHt(9(QcXHI za8uH3e{k80(Yq`4a2@H|SvTJ`Ik~+#6+c`IG@)<#x)%@i2hG$Jsi3?2BKKIP6W3#w zMpSqAMXUNnO+ogt%*x9-`>E%rZqQhM&?p0G@k%LfUYYJ}OYhj;VJ6V3hNYAQoLthL z|Mn3^$3_z`=l^2RO`ZM;4a9?e&!aRM@*WUUIbw52vVsKQnJ#`Jf^ zdu5*sCxCD6bp6TnR-Rl;pAs+xoNEUNj#0V!pqbd!Z?p-v&(u}6b5?mO-Y^?Su)KId zUB(F0G&%&?f2rVz#Mu(y;%GHWNERIIEUnQ0T=m2lF63t4)B|GZzP>3_OtNJHd3$5j z<|*Jp+n>m$GtX-`k3f7BW&L@OIE@W_=;87oE(p8g{^ZPV?#7adoLLFf(OSmW`QlP} z1Onn@33%%J`7^anBo&^gYi74M4aim;%UIRbUsTc{?Tmm2tWwa`q)-PQsOTL&i_It% zrafv-0N2_-3zi=^uKHtTJjxW_iCO*=)OozpA^MrLHUr-!B1oFvf@DqA(TcTS1s|Ld z3CRmw1W$jceG(5=6o;({BNu^^Fjk;a&%Om?>66)MTL?iKApHM6JDfC$kv;mx(MIp* zZ0e61gh=Mf>5me?KRjO7;3$}?^5P*I;`%(Uu{5H9@VZ~Q(1jJWP#tJM+9afZF^5Ru zQ3}DQx(Z+{n7KIK>TeB-cvy5&iCy?Ky+$s&erBv#ukUE{C(l4#?mKyF&M5%$UZA-37O8|ymb)v@^fNA^d-4BI?ECeJWKbw5T6PQ)0U4ZK|6kFwxS$OF_ zep+HH?DL2M#3+{1y#m{)J;vv~u&ZqXkNLo={BC+E4+Q1~I_#+c*-NUdum17o8FqZL zBE2|oZuctHW-x+0h~ zGYvZbN_+F(h_A0$6>=KC>f{|>8#Vj+BSBy-H*n5S`u+)%G5F8>M1z6%S(p|{E!vs> z#CZf=t7&__VJ7k6i&j%mgXr>)iBh8nKwEu|<5S`(jD@--qzO_T~Y0^!QB*uCmVov2QM`c95+R?A))uzQnioA%O4f>ecmk zka3u)hj3n77|Z}qR^lJ`AH6hmB$>8*dY6PBkAjb3w2Gu`qNMR6yn76TL8M_pLKrje z#@LvgnCl>6s?3CWFL@9&xhU9X#euaXS`oWNZ3}`%o(5Vf)xEpWv;Yv+n8f@iwt^y8 zfOcTk_n{~cn1V8a>niecugP`PZ{v0HY*1Aq#D1p|*aEhj`e%#-l1baNBe?2~%=+Gv zwtl^9iA}=w`PqAJwG&XRg{&?CFBeWgq~iCzK2DNMZ=Ps`ieG`a@kt3ojEeH1i$a4Y zv9+laidC{yLQuf*TTc`(9Wg|*p;HOk-$@e@d$(T7V$hflylSHNkmu4N_;F2dp?S%h zd|yM}lE~8&@yCZ`?Z3^bsxcp=9%<~i0(N%2sa`{ks1BG#Hr+12De_93e)TGt{xq{C z0L_`4lNUh=fixBt62$j*Dzz%|{1L*^--sOA9vcB`)S8UUC(gawb9IBfpIp+#yggRr zNNFiAhT?MMk_Dx&-R~2{GOylum!gpKs&)KD8f9?m&^ z2DbQ46YBXs(tv$pDfh@sQUkv@3n)EqCvP`KHeR%YGP|c28h8~x5~&RuX%x1kR=}FC z=PjB^tnPZn7gvj@Pj3w$2V))r9UsD^_0O@rRnny5Ci;d+*&|x{Jc&&w_%gvjN4g%1 zfO^$2R{q0gqldgsyJsCD)3>q9W}$IzwJ&Xgm$qU}-|?}0rd0Yos~WYvObcsCz41p+ zTcVUmpD=;vyjEk~6hW61g2q>3GT!`h1KTe(oJr;O??gh)6PV2Tv6iShXMmCQ;hA=p z1j-?pqG?eS0x6Gp#dGU8sVu`vxPVnJa=(30?=gYj(FLGYA-K5NJ_cUkAfF)!9H*S| z>!Bo@#Hr@s1S7T+afu}73%)ojG25Oj+m5cu)eDmwv)-Mp?VgsDL?ch#7 z(|Qgtj1?DY3ST?xbW1~@sAV#@T81>mYdY9k}j zU^tpwL&D-{rYoHyeqlisW3+y1kwmHrl0RFnM~hv@_?AO6@}C_}uO*s)j2HQIGc-s@ zf>erhJ()Evk$gS~0#kEMu%_*Q!%teykoI-rx%phwI}hHHS@R(%d`LR)Mv{R8HQ!m1 zIDyNgGnBk_X%l0qgIvZj>X<)IQ{z){>3rA4P#tDsxvW*w!jNWEzmSi$Dt1gQ!QnKp z-c+z|3U@%1&m7{E{PG@OiyJBHvQ;2KxV|-g18`M5)Sgcxxxz2U-^anCe1X*Fvrbk{tA4JX zwp^GQV7yG?%WG>H2kn$=)p8!rU18{0(0cW-Kk_eUUbsX6R6cyKt-W0mRV5#o531xT zX{9fBC_Z6S{D53zEhb%zwI8_lVMM7L1^uu!(ESiL{WRF~Q8Yh+QStR!CxxBkAIHQA z17M$-?y~bl5VQ&%fXm8S;-mW%2H+PeBJwhEqE2Bzom;Cp7;Z3Zk;2EeO8>05U?f1q zP`f`&7DGue!ls=|+SGJ3(w9DCTQ}E}AzZSxcd-@n1c3gozBo)W5XWTT=N7Y|Ku*jo zBE59@TbL!^PJ2#zG?mA^IDx~!X8sV_-{npN6xUr*<)<~YlwbWH4{PEY^L$ zg*W->25e}(JKD=kMuniHZ@67%m)fDDIL#?Dp@~e+2QzQD_SXlU3`9zWW3p6GxcwDm z;?q;seCvr_TermHah;I5rm&-B{va`(Pckg{A?5NP?XmLK2iFt8iMf38%zRr&X1wO+ z_dEr@kzM2Y1FMo>y1t~GNtc}Y8LKqRaCuvVAK|gGA*>34@yXU?6NuF z?g5H5p~uUef&pciq_Ku`#~^N;JtWj1n$@>4Al)p5`&W7jkHH%O?ycR6?|tCXERJSTw@#|3%O>=s$2S)%W~2IBGtlm+ILoRjCM z=nvL7npg7LnO7(}hk$kUB+KuGl@5jK2qQ7a>-?@rC+(oB z$bK#b=Ke24O5Zh`Q4EcEi)KAY`MI(MjI%3>8k6m(7xp-7(Qcf+uL?E8w(7w<^1`Z0 z{>DI60QPBLzpbzDHp*21y8{Sby!b6gBIkyDa_15(H3g`{_R9M_eoq3k3||nLAlMWm zPAz=XTLfZ33%uPsQ(4PAI1BJmSpB-CYF`7cKBP`#1%?r|GQARcM(#e%m!B1re(b7>9#>M3 zyro_gyCa^Q#1-vM|GJlj=slLPnF4`TQr zNXYcVwmo1*-m*tDf)zNhG_o7EnCtPd*IE@Jxo&+z87y+q5#}CS_{rYqjUMfE<+wJ+iu8y=Fqays81QRD(pEnA zM^UYedqbIxvJO8$^Yo+@APKVn;vQtd#>FN6?FH~Z4W@tHHDX5~i*@WHSkBMt z>uxS6GzEXS?HdblfRqUHYOSYH--ooGtX~7t}P%G>d-1xgvT2O^rr(X_j zvWk$vD@-Gq)DB8HUQ2fcv$}157_Jcmd;o~C9OWZI_G$45I#FBQVb!#P=w^U@Vn#>2 z@9$S)&;-MYl$cf|m)zYaY^6m<616;XP)@zaYG2h82$K$Wtn>R#ej{HI3NJY%bsceh z*Y=Fkksw5Q2!LMDPyS>W(5*n>K=wdQZOX zy*Klnpuy(po z6wq#Ir6k>!R6{*tH2`g!x$6=b%aw_r9p8u^*xRHmlA!Z$qOPK(pfVBB5fHY{&2m=x z5n4(K3VR%p+Im93Eh?vGFy4hdB!$oVLH;ecmDlaW@zy1i+D>N0QP@3~B3*Uwiq4o- zMq3{xrO#9LOj$`4ap%T~uC|$KZBk7?3vjR=&C5u8aDl=f52zW@bF|w`6`4xG*ep>O zB~RUQREF~xv066(*5F75)bO_Tn!S5zcKD3tOSaVotD7|X{y$EuBQwE+#0dK|p3ZX@ z%T-!J`79E;OCkwr7l$<#kyO$Rxw(l3n^YSKOcWuEY%)wAhsT4U!M6hQZV5A?%Cs$W zw$^9LOvx#v-iQ4HWQs?kM<$h2v90m^BQn>1&~_12*Gf=9~n5ag^kzTEM*Vsl}s;zdF;NmRl&k1`gTxa>hQ@%*m z<@riW9wyu!pC4(V_=}~W=Y2x*XJ0}Q3a*M2jK!Sh4z-B952%>N)fN{fL$xk9R~YG- z-8734mBYJ$dfT=|p+zvcA}s$RwtmtJ?Fxfy6?WE0f2FndvT zliXBnT!!=;*SHB~Y^~h*vrsf!i?scI^>QK1!@N~R`T0~n>pBzMaazr9LtNAYz3;#2 z+WdPXlBA1&Mcj$vo_HK9iWw3?%)mdLRftpX9I&weGa^GptvKj;v`wX0%MUUWj7`cF zDt?Bn+knc%E6le|OXC`(fu$`rosk-|f)j=AnF8j+wN1ro2#)=t!M4vU86}(#vIjp= z<=7cg=jD(lFLq6%S#z?`Uo<4GC%M*Obu{nIv_#8&yhfg#O;dJzV$+yX(fM5O;#pk7 z_aE#%pYWl0z0%gsF%PeKN*B1#4s+-vVfx&ZzjM@mH;Om}8f;>vzmM|Z=o+w8k-08f zYQ%ENI)7;~I+3Ax4PKvYmGm6IsE_In&h}T78YP=|@D4{5N7J#WN&9wbBVg}55BsZ^ z&nU#a&=b_4`gHh^^sIBNmRKrgmsM$2tN@joOKfMEQZ~3fpo3`!c75wW54blS5(a~3 zx+AAzubw8n7BnL3WruU}zRbRVr%09pOGNq(wut2Hay3K(R#<+`u7AaUiI!qn*L6xs z0~4`deDAOv$Zt(Caz}12B|JLpUc=N)OQ1Mao< zPew3f<$5A!B~=o$qA1VUQjGwb61_q&?bht!f{MMgy8X|xcileIVn-KG1UAVb_9?)t zJMsbj>_(xz3yIo*aBwg^ylg7>bK3E?pn91{fa6rkcJ zK*c z;qvH$tu;&8@39x~J+9sBofJPm?-AiQn!Wp^lU^*Ab~2W6U;blRfxpt1@*qe}4=Ig- zZ=_jqRG8)F82vZY`LYv`P(RDW)dT|v)No!F*?g%{j^O!wuRc+t{m`hp%LJ}0Y0%a$ z)|GsAx4{NuJoDHv%6<_b=aVk)whx9Tigc5sSmW08kjwCIhBjGTW<@SYBJC|tOC#wv zmZEFXc67SiEtV@+;@0Gki411K^Yj!w97&X}k=!=-(Bi_CVZ)UMO~>yG39tA!MOD4; zy_Ms~N7u`|{2b^wb@<-U36%I!n*=weJCB?p)$*(6yrgH|!Vu(%C=raZxZj8vZ#kBK zO~du%NxRCR&pd$SR>VAAwl8GHSw})T>==~VRn=zSL&b1%F%(|J5n;ixzOr~dc=^># z@-GYVA+*_*lK;H7TF+`OiNjz(D#CRkiZ7p%od&A^W+3tBPoK(bNlkozVx^8&D%5-x zQ}*eTKyxVKHOt$($6S~z zrj12s|@S&X$-h8GU z)Z=JXq{zTmc1vlwYmOi-YhQsP?xK1Hg9YU=d^Ysu2irMzXL5n)u)s?kj{0tg^fOf+ zL^RDHXBhryy}s*JunWlufgD6Sf>_&>R^~-!b4#@O??r3PJ}rKk$-S(&kea8${XWcZ zB|_0IsXo3iUxFCbcLk%j&oz3>@ryp1&ToBQHT$xJ9 zC&orJEPO#emcgOB6x^#GYk(YU<|s3-NFi}sHAD3=J0r9_>qg?SiBdpt8T`F4y!f|( zus_`1@q|DpEBeaAH-thw(~Yj`+MVxS_Vv2n`qC+qR|?)edYxf0V%lAM-~=U7*&SY$yn5#QL2z4mnzYlhjN7oO zA~S~(p8ef2gv1!J70pF<-9AGA8fvMaN7uJ6pHZS$$Iqaj3)p?g6vhUykgotR5FGQM znFpcX_KpiO11<}KcJZBpv)RXNX0Jc*1|Z02C5!7FW7C*>D0WMq1#qtjjgZ<6YDlh4 zPr78zkx}Q(nV8@rzSD#C#P!-J^1X9JhQ^)~!!qI9_7jdb2@X`h06=1&&UdHP@J5b? zgqvkugz=g(wSS%;U0J#P57IM0f_!Z8&SNeApVj2E;^&H=p zh}_qtRmv@Y%bI;@h@8z2$h6N3>VKAzUsCnQ;o|Lc*z6S@siN?yBG$&t;rk=^CO-CQ zLViC?MtDvOIM*aMryJ$y;BDW9v=p(a_lu;rkG9P%3{48};gBXv-%Vh#TkSc?2Xs1` zffpVPcW!=Vy%CuX$&2uOHt*n9qyHDw4q$i^R`e36rcUR-8W4bl25^PVpniNy&t&sV z_i@T6UPGn;RA^u5j7r0`L{G)QL8c`qcLrC!P}z89!{E{DM?0XCKmbOw&{x@TNgW28KX?==v^ zCUR#~mKtPqL^Mj6WUU@MW5IF&3Us-f%Df55BNKSM65&>?lyTlc?b8_smK&{3H4kFxrW^rI% zsIOk{=5W3-e_cw5Sc!;1pAY68=nuxDNdrJzt;4cEdgSWs&PXzz=~=fGPU3>crs3o1 zV%H5?^=?M;lngbzK<0n|UEZ$M-uuNaK@!irL@OIUF|!IjSd8dawZT7Uh8 z8s=$B^s>o;Sf^<=Q{`p8VR@ ztemG=W(?cgnAO}&JMLFkjp6}I9O52AV|w%R-ow}hfUep2$jPJu$PH(r%q`DJtDuOT zbFZO#mNo`xvvNRSQ5~5yky>iqF1e*_Bq{s6_ujkCoLb=0&|g$NPjqkt*l^seuOAC! z`uzCmEbety3S)CS1pk-}WP9qj)+WH-Rw#j9&gJBvt|;j6q=CK{`B4Jk=cIvFda`U3 zIXTgo8bwY2yY-=YU9bHP+w_yRvwc+x?y|S?eG8ON-ZlRLT~Dl~(Q{!=l}I2y&E?9o z?iN0mZ1s@NW0O9hDo|#8bxX^}ZYAw$8L88uwSQC91?^$o9k~GtcuRoIt~Jv2;qt1C z^Nt#PG<)K@v3;UPCJl0nu%z?g{q12Z%1u7kg0leDc^iI@-OM&`f9;Q&btN9_h=y+0 zQsg=|KSrNE2o9IO3Of&7oXrV9j6J*P28sJ37giRHfE}0_CIKe z5GxozaoM){z~(tP_Vral2K_M$HuI^)fy6kw1!Zl|&LB~UcUQffb|3O=KL?gPtH946hmrM7Ku##P;79CveJ8f z8WX0zRz*{Or}=OYs4oWwWY&{GPl{z=(jugVC#8}fppQHh0=AqJx=vJ4ickC3hjS2% zEfXVdN$w6_nI%2*tqKhtpi=*X?UJKblg@)a)RB*8fF;2kG2w! z6w!M23|U(c)6jlsJoNq3!o@TDKX=BKhD zxy+#WApr3vNzaPf_lnEMe2_$ckVqr;xEz3@0%BJuX)744d!)Fxnmn17PA%gwt#VVz zq1Y`0ZRzo^uR_M>@4I__NQx0TAT4?;U{8}&#z4eG#Llw2GI3e*nPGP+>L#&^p$_Dp z3H2<8^V1=HH!_J@hw1Wf{z_^X@I;rdi$*8;-Vex!#>F5yF7_ZmK1iYtgwHEE`j;Ni zM@t@w91YR`ksdJ_Gyp}=4AErzPk_?VN z`f4He-Nv?+V;!9qwh<&i^4`uuQ;dA)P!vJ#k|IOz47>j-BU}LuE}#ezQb^^mge^Kw zZ$FRdu4gf8g@*-Kw%26d15CzT8`IwDSa5kr7C2k|#3JpOfRPa;c#A~GJ6^{rVALf8G5M4&P{?TN#i{?zw- zXUf`wnBL13gDy~%?{U4;9glTungM1QdfnXw5Wo}=B^oFo)Qy>dacG$%mq5DTdJ3Gx zredeoP3eIm#C$I~2r-4~+_Z2)+8T5Yysn8_L*tctM%*&Q@wp)7q)w>v7ZwnsDN7j+@>EsP|m!AjY@}6 zGwsB8fK&b_$=LK@R55kAL6_f>q+eGtZ$udoGc4PBb%^dSa23-UBO649AR%AYjL^AG)+tT4xixJz*FLUJz4i?ui)9a3S{thPO%u765sKx_R#=;nP*EakT5? zc(BbY@gEcmOOJHqF+T~0H?kJrm4V2Oh5$TWis*Jv?vHk73)=LqjO)IMNzK;x3A26I z`}3?YO8n35b>D*Rm$}AB|4L;VP)7$f(_7%CFlbt0K@z*6JuZTdjj^N4ZP%ZwJhZJ> zV=spN$%&I3ocGy>m743K&Q^sF>;$ExA?brTLr|vCuG|#<vK;Yj06#PdSDw}1w*R=hcG^OPqd7@HT2#pYp9qF z>ci(*ck%=A(AjjVmdo8RHsj;$C(*+Q;BNo|rO>u{kMLE5d^g#*pWwhY8f}>Qj9k@V zPIwQM6}DVxq{q3AP%`I@_vEBj4t|+QWcLqWt73?_`58hVWmZdHamG8{eaagBI1P;YO znJO}Z2dG{6cnDeeHT@U@kgvAJi;}mw5sCO9k^2x2KePjxVsNOA_i{qxu>LBtpfcK5;?{ZaLrbqQ)zRf#KRhAvOz_7$KCL%!}8v+5o6udYlUAY%bPI(CA4r7En&)uuH z^YtBuN@&BB3eu$0neQ6uqP#tI@k}@r0?$^<6;Nw1EC-3k8)s0RYdn2DyP()%1L}x{G=Qd=iRzxj zHIC|Sk(z!?yWAdCjiK-FM;Qw~8Ab*%Rqn5oPao|=?GjOTCuLA~RE7sWlnsB&crZYf zX4icrT5WDK-I|B5Tgt@cxT>f0JisgIA};EsIW$ZWBE3bbZKYFfTh(wbW>Sb{1nGZu zq?}6-P^$L1m$%9pd2+yQnb&u}QZ;MNkiBj>{HDtahP)MvU^id+QJSES#bgY{DSS`%VLLrT z=GzU}Z1S>mKF>=_pHQQsRzLtH9WD;Mj~3a`onrx!<54w=Y%>!=Ohl1)*p^C8lUA1v z0KN)q{(W1#_*k(&o6E$m|L3BjFdr)Zf!#`WT4S}xA+-NfVDJ}odKljQL_-1PWP0%E zWoU)0dBI_Fs7sY;&&>9N%Imvk^WT|M9-4il)GX;i-j6g$?&7HDq|)(e`N1%IwXByJ zqSz(ua=It(*BL_KUTiy*g_88E&aR0^ujgXW{~8OC^{p6J210N692e-pe4OeN`-Cy+ zuLa+-H$OpNswbfumE6kxS?_|1bbP_XRP1l2=|K8WP^LT9eO*XJkk!1!+S; z3sd4h%NR*Yja0F0=M()4o#&pvJ;W~yULX@|KRHZ5gu4p-AfATGWT@sjnZ((ZtSszp`pq0H#{kn1JdLgCGq2L-VAtx;DaP6<_(}k zGE462lh{Q!A9Aojj4DI)8!nPpx}wv}`qPLUyt!~{f%qv6)%4Jh*^&wS>Q7fw-U5R3 zqe65_Wnu0N$H|xtr&Ja%POv_&K14~V&L=kHCU?jxiXw9oCyoOeQKmuy&U46Uh#N^X zR5nxc5{(69CEx$LR;1)ne{*4D`z@40<{|pmN!{mlE^nPyyI=741J)lilPBOW64*Jg zcgJ0v?8s3-#9;CDl&8RNHCf^|y7H_-Jwsv(JxQZk(71g^>88qNY9v=R(?6)1)}1yh zSix)&vV3>vF5Dgr>SX#Q$g6Fa(oarl4~l}&n#PeFVMT)58YM&PmwT4KXk3&zngEz( zs(pdqn)Q`Ms~mle%oLN?NAfp4wau)=6(^7TI-rU5A}!v~V?p?jD4?Ut@|UN+x0fNE zx$ha)i<{dqc|SN9;f7Hq+!!i@gWx9YavH+@D@qJQjfVWphopO(J)*YM)@eoQL z@g|&N;B?xlQSD;@sdZ%osxvUsBBfg*eg>fzfjGu`{QRcD+@Cux;}*H-gfAU)rs;XrLVZ|iO+9%l00r|`P=nP(N%B27BpHxON$b&g4#?XY2h}nbz{K;6 z3p+8NC7~sDsK3*@0O**-oYs;957{ykUc}j7)j9T5;HFCM; z6{j&Wtjh|p@>-2XsLc|GPk@Hk1_aa)@c4K7QQultNBq$fMhaAzH+80I{bB64;}+_; zc{EQxARbL*V=%Ps!psCTl;Ij8SEYT{8M^6E6l?5cEPFWCxEXD@Lp|E2aYwi&o@cI* z^CphXNAevtB#RBv=I{#l{5sv?n0V!DNnh#NQU?EiJqiIEUV|4j7%U)5rm$cElvePg zmMkZ?=Z^Tlo~CQYNUZ$SCt0is1dN7v6Bxg@8a@?}z>lknvUaA^iVZz}z6x|hqpyUQ z#bNL0SB`azy&F1-xH!@=fX&}rmn`<<03VmNW1LWJn{Hq+5?wcrE6@aL5&I3dF5AKv z4%@i=Brglpf&?OrZ9B{eY|Q+e{Q(CuF?+vQx!w)qA8>|(1n_V7*Ij+gE|(UV;QPYs zPtbjSwF;tIKSIOQZAnw_(A%XgC`-9dVPnY1D5k`qYrJO}1vT4Ex~XN#L7^4ax0f_7 zQ?hqsgcIXtVE%>6Ei$-0WDZ2v(G)L)kb1 zrA}P%5{J?@5OO78e^WLcnB>2{qEG46t9Rpy^U0V0ZIIN%)>Iyd+eVg7D@<#OrscNr zIjKBFR)N?QPreM~t}3LT;p3S@Vtx!wW&I&w8qsX7|JW+V+h4nOSnVd{-x0DHdJkh# zg5mmZ7UV1RRbvpxy9h!9hU6&#m3e|Jm!=m|q-ax!)q@pPX>VTlOhVk|H@k%wgrF5u z<_Y>d?Xg6?^h10U{z@DA_ivV3pE4}oW(=~v7g@r8`?QiEUGi~W#?I-%)s%T%XtQp2 zUK!Y^rQhZY;H+iuU^(@raO<^_e{05dW^!v*;+@8qH%)fjnJh!Io>Zu>k?tl~Vnxv8 z*a#{T=bC$wpr_F8WzB_r1Ee4uS@P*{+AT@+MJZ3fxD=V-5*}(g4QrMXw6K%1*ea6l z?s;9Lt(+QcO;*h~0 zCoY?D?NIRxIY9$bQ$=u4>F)6DqwO%oY6!dTI%2=8MDr~4Ur^6)%;Q>N>m){cyx@rKlN*WjA*T0Y0g#3_A7rwg5-2;wVjI5}mCua- z?MM)hmCW6RiI)HziXAfQ_I=q zkN&i-Ic0H)|I;1MBiD37Tw`_i^wU~@`KJhJ(zb2ZZc<=0Kps>YdnW+b#0u2nWIACS zBcyu*1{f*UjJu%pbeQSVRWCPHuswYmo-X8je`i9tk-j8^fM%(T5dLu?h(ACqNcrBn zB4`Z$&TwjbuZ*;Xwg^^}IS~w`VQf@6{&Jj;g>4vLwacd2DbN$|6sTs3i8Mu#I#8q? zeCYT3ecLikfOs^b-Tnh}`a+Xn3fbRQBnjn*d2@DCQWwk(rtpMx*1i+@NKa4$W$yGq z2qg<}(il>fPhgaZt=tf3b3isGssbvl?Y>GuXaq}R_@CQk?IWq?p9cw%Qn1vo4FV9l zxuxzzW?IvLJ%_LNiS{iWJHq>mxzI-xpVoek`D3B0i_a?pE+$1me0bw|WISf3PTi#R zTpaIN)Kf3{mJ@tpj?HUWA(%c3_)E)&1N)ldXHhMXy$NJMu{47>qD(Wvh$_IL!&70t zOuwyK0jgB*z_9A7O%L~vvw|?^ezy127fJ4%siUiDZz;R>5gcBDg`et|e{4x_0u`D4=3;R{=Tjg*s!7hRi2$Xq zLpPt~UrS%7d;Y?Eq?Ts&2jP~Ac?H(PWZ{D5xMpaFYa9|xXCKdVd%g@D7dHv6vO?1Pt{-o2sO- z#YqO?0oid@XTs-Fg3kLBV}rD@;}E0Qn0dZ1b4aE?z4OQTc&JJeJ5|R01j&AhT$NW= zU;i?c3=ov`<6{y__?4%NcQMnK$30Y#%p<`h2Ot#m`am^6ZZnb_Rtq$u4g-dYyY&`V z|NR*ZSg4#7qTUy{6?O|gPl!)^^MKOEtUGq=jMBo+L$J&Jq;LvJo1x=1{FEdGbSVyM z2TrD%=Q%Hge?c{C?6b8hkls8F%kV_Sm+EThUeG@>586M%T&NicSOp}P_+tM?i}j;h43PjceBYZ&3KCKN8$%{9 zZ~Q&@0)Uph;t~A*=*8$?6lb*9P`^A*d83BEHeT-e=l&xLYi0x1NN5%9YbY?lUN*ZY z$MN@xLF%77&Fh6Pou#GmU$gT+%0zi7FzHpKIEl$$sd;a+!qSJxhwT4*u>YlZOBaPO z{1jN8Qm5+=``e!?VMPZftktJmgK351vJ&`jt>-DJ7=L*rqA&?HZ+a$f3Ub}Q4eO$a zP+N|3|qiop2nQ;kK_;IecVf$%daqiq38V- zLzkh8eYp@Ch6u*|>(B_Q{xdVa?x2o9Tyk&Jbc9LI<-f*wGr~W=KK>&z{a?e>TpRJ{ zPs>9`1tkJc(B1po0D@C4Uj+7PUIXoQaQmX!}CW`4HA+Cfa-?}L|0ez zWQzMvmeP2i#c3VhTq1#c8Xt+Sy`-iu%l|bgNQ3A1_f|}2cHWKCO z$#KW*Mqu`0(IG(G!!H*@%>&>w6Pc{|i@Mes0eYs7vif;^Qpx8A7XXbVw_Ma#`pf$t z;6oo^l&aDGPM!ydyvXbj>PT`V7?CufYDxvF_h9%A(8NsvYRAT0T@o4JrkGO?V-mbx zT*n9AcRLl|lr3$?2|TL+%v$(Fr##X0{On?@q#yXW*m@k*Anvhgk42q&u~+EGd&@&n zwsh(7tm-ARK++H2VusqL-1;(9?Ovm+xHS#>h+omhs~2*NHDIhbAz2&O;?%9=OURs!+_D5{JLm5 z8Q|e5Kt@1va#)M7g&o5rAxHlbWra-waTrE4Jr_VPd;rbIMiK^i?&)Sd@t-YiD2#z8 z#Atupp!lr~2uR0K&z8cNVEay8k6wD}sb${9yO7_xezF zPEP`JjQjD=6mv`b!3-OBh5Ubw65iQ=jnWcGujcy!v=mj5 z|HIZE<9pY8 zKizMxjy?_vtr~ni0M;_jx6W}19c{@}{hV{L#^Jc3o;;z9LS5GCw zBZ*5`qnOC{`hPQSe18E|0>6uPj)&fdE9!R9rJ#QB2X0oqk^W3>S$dhU!&%4+y(WRA zwyDp4`V*JTnVv?GF@hbGf{qSe-DW#FJLO-u$3BCU;s^104GL=OPMc}46mOiB_bPjO z-u;y%A4tTn^TBLo0@FBckoI1xuhMZ-Wokt7e)>nvMo#x?nDyO+q56Hu+8jfUQe! zJXe9xrn@HS2*h)T^AAV$Ia;oaICg!JP?Ujxxd&OwmM1tfu&k)_{uzwRu8OltHT?B* z=0nDfD);yg$$;n!i*CHMQI&r&+k;Gyf~w3}-J~_HOnOq|V{8>Ti8LX3u~!bZW?+HD z3T{(kObfgwJ+wpi2f{$8$nbQayu5tzp6S$M;uiQAbZ`uiiiRaY! ztM0S*q4Bi(Z2HUu>yz+aErNJd3{AH@R$o4U` zH0>P;3&lq7{=7?_r6L(k6t!sIu1r;1ax&Aa;WR<@KTI$Xff-hJG>8?kUGfy+RG@T* zKHltde&?Jb3x{5xZmu~|Y*5v&L~>`@ue~v8xGrqdSZMa(_l{`jJOl@fqnNLKT?@jx zG=#QCgC*HOY@zkh7tExeZhsR}zzE>CSW@ja#^^G*F7f?{yHb<1Q)gbD4L#>DjTP>~ z4Y&BD>-0LpQd${Yfv&ZmSZX%fQVTl7ci(^A=2&qOo8nwz6{Bo^817sK+SZ%au3Q?2 zQ7OK4m;WArpk>4n`MgNCRaX7~-3w{A@&9kaY_!P@dlTpiE+KY~JZ3{XL>xNthv5F; zc+hf79gNC(z;9Lb&XkhQd2yNHhf4^=o}-?jGEQ7ylG)=T4c8)000f~;_<2tIz418| z6RqxAK$J`+@4t^}|0u#h(KqptVGy=sj&s<{M12daHRo5lKonXiGwv4K%8%foUjjFc zA&aqGvRg(RRQ_fl589ExGM7IlcK$~EqU&(J_HZRl#BB^pSd^9oqG9%$it#M_kTw#6 z+K3|khrjo?how&PTtmks>{<(8D<1}Ka$=ic$B#)t1CRBcs9*htwAadz7j;68{@We>>ygsQECy3-x0e~!{*4S2B(+n{$ zp-sHMtlBjq#=7N3c@QhH`?L224u5~*&Utr!OSoRjRd^rVL(Ff>Ad>Hru%+u<@GqJq z=Y{gVw{n^4901Gs1wZKthV;K%Z{-6>C63J$vka$pg3$g$g~DynMj@Rhd5abU!L>kf z5CPetJlAjbVshbi?789?FR-x^(m~gNgU%nEs{}U9KIpriLEecIpKLP`2%tWM+}l5J zb5(Q1SIM@akGb6aUb7t7DJ|<_q1+mC=yN1k&5NG$cbChLPp$`df7pP4^q{HNYACa= zPslXqu(xq#N2myW+Pw!qBKR&k1rc5M&sV@oMX(-R#oQ=zvH&t|%yN-Blz3c!Xl_!f zPGjf~R{>+s@J^!fPcjF>UQRbl)Y!8lIpQIRdp%Lx#wldo;XYgUdJyAJw)cHd8b-Ko z58m7ieU!*XQ1y5_?<#srjc~ft@U^sf&EkCZ?h4=?q%MxA;}h2z4oRm<>8Y8qYgIWk zIPV_>;f&eteLZS2=_RQ3GAKc30ydq33XwjyQwllmU=){iEYt4FfrMl{kMo^&Lq8DU zbrTo@wMar+x3OY&)F1$ml=n6Zu2S#te1>M@!`#Z+O<3paszdrn@Hz?HRasS(*JmD^ zvsi3k-+XS2GlpDK7zHMF+aSu+tHLKt1lWOKQnJ@|)j9|hNho$ z=t8f*OgQYK2>cKQE3uSr$ib{j|6vYK-rPJ3wQn3m&u)pHx~_VPql_-8VdL2bq)3;Jmr)4s02ZZ zu*1iVvl~Q!U2e|EY=n5I|EW*^K0x)QMtc%^+y$|~lgN1jbN+VnL)fvx>;B#Qj?H^d#3?L>;9UOJU;p^PsQiwfHhYeTui>2}}cNGI^5 zN5q$Bg{rKZycYD{KrMCd-cZfD#hA_cZWCP{-a=gtL@1fdx;@Sai+K+kZHa1yEjW|) zLDLZtfj)$ianSMl;s3_bdev%jAGIPm-T?b;`)={EvRSy@rm{7%IJa*ao~gXj^>9I% zhJ-Z4ua~6-8;*R%c>4UUK2CF*a62FM^8)nY7^TriQ?3?DFl!{^oL3YBY&N zm2{*}X6a)hhi;$L!o*8`ElS56vQ+;GMJ&zo=MJZ z45n&oINV*?2Ul@wCZ8=h4%Z_SVcPtoLjMNQ2DW&592F*O2?qelh*=9*F}v8CUMK^h ze<;u1%S-+fd2+h6pnW_kbIj4BT5#T7;ANcyMs=?@lq>E8Dh~N7IfGge{wn{9Y9U4p z^ZC>n8km!bb7W7EMq9$w<}_*LJ}8&!?qb`E zb9V#WH{NNOhex@obWS7O_!AM>-@2?=O0<|3j=I_*VVZJ+f1%GH&kgLHlfLp0f_ zRkm(T$fK|tCYW8WJ?=f4x9Odf_px@*$6P$LA; z{qY;FyxQ$5ON={%-=0KTu&x-N~z*cRV-6kvk}vCM~} ztS1OT%Ju2?l#+2ZnmvtG0Q2o672Pasu(hlaBB_QtU+MA znxNpL%Z{Sozg*JpI>o*-Jdp7S7T!>a$ER2_QMufp@}fC5O#AbOrb*66<`yQrD&r%O z+ATb0vw6-o6-@AH#9__}x=U3N+s?qwHv|&GaeUhyCHUnTop%9l0MOc=mKYxVhrHwR zc&+^O$rSC3gl6QLxmr#3Az;(o## zIGXbc9xrt23UAXPL~_D|j^}~|WZ^EoY9;Y^kr#@JScc*s-u3PSJ&OtH5A8#{+)HPg zal}~*1BJ7*L2y4PLrMRyUfHu^Q<{t*O6sKRUy9L2)q5Y6P#BeA2~dC1DbWLbMz9Gv znTV9Kk98q@e>hPUUw9c#zYsGB&;tyN#|5#_mQb`mx-N_DH2NAWj2m!VK1{0Eo!BNL z?o}7VT4Aw`cWY8hZ#S=KyJR;$UGWpYs>@XlrxEx2H+ajmDUes~NSxcH-gn;yqnTGt z!>|accnXLK281_O=_!Q&9;>Cz?A~8a2c13NGY^c$#J-wn$|g%~y6%v}uOi!H{ay93 zap0!-pYr)<)>p#8Geiy$Fk>LA{%O_ihN75A+3a^gD{n9jM{|Lsjerk25^`r#erO~CKL7!wXqLw+Q%@{nX z$QTf>0DZLKkl*-Rhg$5&$(tu--Z8n*_T)m)w-_)U^r1ZXk+Txwt{3eh!>s5`FByNg2Zat(tPEz&Jbjxkqli;9@WO|r@M zYZ>3-mI3*Ocl2pJ@haz=zy6fdk$A(7n?uICbW%Ujz+Gj37pT%3O)b|O+V&?;>h()> z+;o&p2a-mf%Czj?8MSl;VHR6kxwu85>)X=Q_{fdpMmvw(%~{aucsf3$Tnk>Maca!C z{Letc9jp15o7_R(Cpw<9OxB?6>pb?@ua>Sm5CRxknVcB}GyLiI5xSqGx8K)x+0QIQtK+?WyP2f}JzffVz zMcmKhG&I>zA#9*KZ0K&zP=(4agEBtXqi$TpXim2P?ZRPtl zueZ@p&=8<<#5j&_DqAm$^yF+cjMKg;d)61^V&9*zy42m`M~yW3{?WVZy$4d(n(K6F z)MOc<%k6<2WykU0iRpfH> zf&eoG?9}Zeiro!r(IN9cGY{oOQ;L{!k&aZ|SXt>wd$ntwyqL1__1d)u(7&>?k`F6X zRTE8!BVmv+74#`Lee>{Tx`cvR*D9#97K+K5i(<`?%nS3uT#hM8r&%W?k8t+t<;Aqm zHN36OREwH{SvL0a^7Yf}-4VBOy^32GJpk|R5Ca1&w{KKSx0F?E8n#mm$}iV#!FIKm z;qSbCh>y7*{ouvE@L2xirmiwWZs?(n)py@|owolDNEIQtGOzE90ywMKvqrJ}1sBkf zY&G|mN1k@nB3EG`aI>Gnt%{86u--_y&moSj{Y9|q$p-~C8Q3YTA*xCAY` zznNbiQe_=`6HNB8PT_83pz3~w%v!ywh#<~PLAp%x!GM}#Ei8Ao&OY36aK&$vPr6O(|NAi(+WN+wbEhlvr3*(F-koE32rfzvH@P@+*D zTa7WA@xvb1njaRx#KotA(CiX`#xx&G(W~_Zy2RW>@UwZNB-xz~u9?IVYsg4rN}p02 z=9cWga*6B2ZVGsf@gnIH;qV3Lup}13{8lKQrfey?IwUu^(VPqZ?6tSCGK%A94ULGR zw*LzgP=5+0Pa__v!qYx_I`{9*s)AzCCBE4`G(0+R?Oo^EUG~Gc;i~cVz)Vof3M1@( zXFrtLXr8awe&)KJGMJCtW)al7EO#}6_$(tflpA^sJphpKn6-{%x@$Zhm(D5KbAjWw zF{BerP^sh65plt`7BX;)xFIdpTe(8*@N@o#gU1s&dr2qztzn8A2FX8-ksj+}qOdB4 zIlta8pj=+9RjEFu*w+Xt`@_Hj-K*7$(p}rY>1|9ekcZioq`9qnO3Sx;?pJH{%Ywl& zF7hdJoE-YBego}_Ry-Bg^8o&GGHlY44zBFsioumi}YJtc7reo_yE3&FBJe9NCi#O$fK_T z$>W(a&w66mY3z&l`O$V&rwMpfa!Wv(Z@(tM^EQpHl7C|QuW;&`lX~;VSDsd5b7tNG zmz{|hLSG*U#TJ?+1JI$tLyAJ)F5jEBAU8N0U~`onF!yT&y8ltSX>@hy2m91-?WDfi zRC_c%uu+Mq4TmB<-uk&q-wBXXy8`bhXhYt0ukM#H6HTTPu1Td9btj#tn#r;%YzL1d zQc9+%Fs3)sVb(+X06KI1!;Rl)80AEgFlBq9D8~(~&lYN{EXPM|^rhpzr-)p;@!G9C zxzq)4US%Pnw-4aO=d=jHQ~vgOx#b?+>z6_t>6c$_3ztdQFh)+hMS4 zuF-ECKAvQ?Fd&~}w^GTtgX07^M_lL@s949b&!@CJ!DD#FSWCGP%1q7Aza%h#a|*m+ zWIU&)Ju)c(u*N=KZj5nBMIB`7xdL<2Ff*+{vy2P^@IhWm#bv8ihaM6zZ+oL~WLy^ElK^{Pr6e`|J(I2| zpE=Hu<5U!@sEg##hd|FCgM3yqA*;h}dI}>$#v;}_;DzGC3p96Tam}K|38?4L00l!C zf0c3kMj~Q@m?rz?_s}^gKl8cIY(9MwmpwCQ_u}E@XCz5~llW%@4D#p-$k_xRlzhLT zs^L5S@zs3G5sHr+XE?g;G`Ao9*#?860 zps}H0=a*-Tql)0oBv651;=iZQ0>S4my{2tTdUW9{9c-k=>8K53*SPNoc%Jj9TPIvJ zavVJ0;d9ysj?pO|fCN@w0HP`1&v2Swxh-D%u6n?lY-I=w8L2txB*|=C?F_Tj#=7K3 zv=o7b+IRjFNqxYl@#yaCu5;|bm#cFCpvcGjAVM_A<+!SN135T;NzQ``#R|-Oja86-&TJUuYA+ zMSlw4pN*TAc)9900E?DFdMg*F!NJRebrTWN!nI6HTN6(`j?)=+@*w*#`=21vVQ-&% zLjT^f<3mdV%QMGmuS@nV0NZ7nH=g3b$mf2J<1$W?{b6bShZ55^tXl@L8v`rQ{R;`!T43v`hHXz#S?C$C=<_vAJX|in=$y=&74(V}C>)7Q zo=wJ{?bDx50S6ZPVGyTAREGObk-H+BC*`@-P}-(biF&OK)#XvUu~WoU>!U=QeMWBH z$E)*|@1D9o_hlg3`Cngmwew8R6`$bReHS?9p3Z95-!1zvkLK6{ zu%nw5<(+kDQD3JaxfkA+wRw*2Yl!uZpJ!Ve{^~9-YncD;TGz zz^h*meziLi0`{K&Itc?>%ug%RvD{w&QAqvePgamf)ln)=57hYD9;91fX|n#b=)!TT zgoNGwMYM59^{+F{dy@k%%_FL*zHGZ4fN=Jr;{UUm9me?;_-JJzT^t&hTymL$jzJ~Z zTm0~2Z2{;rlW@zQmbd!~j@crZ<$q-a<)=h!do`{CdlbKi4t&n|rQ2BJCDvUD(L4a@ zm8e~p-{K)tj&uZ3DDPCz7UERJ5HPN(n}satTY-ATtAJv0%~Xb+%QmBl!qLd;ci92w zRvL*!xYFOrYylxgRFij+!)srCA3M6S>3m9Pn>oKntFF3OLDg|HZT!>R!RPHYa&X9h zN_*C~N`z*Suq}GrVbYj)&ZE{C+9%}Zcl_p}z`=1tjHJnyM9M^vy9ul7OCya~KXt<# z#-g{!)Xnf*+qdVX-Mu_+!498sfbz$pNy9(VLNN<|%*??#1J3NQ_yMw@KA}5!omrBu zbKpeE_3VzsPwRAtrljkx{HU+E#F2Lq{OTc;*>Pv$<4#lqY58_pa2x-#EQIk~)%LrL zd)bV0m9(Z|cy54g9nPuul}p1p?c`ZdYa9Q2>c=tC(@=hQnOm-nhN83Wo={BwD|p*G z{?hO_yB(`KH-GSChmO99DFy{h?px1`k!T)dNQxLCUK-zw9*iEZ=@g*uQ`8$DuQEEd z%#|*?wRz|q?E|$h3Md+H7QDFm2yBdgcpNt4(5(s6=6UkGVPwTt<8hPg1zUj_6`jn1f67^aqaqAW=xIqE)V@S2a%@^9OdZ3aEVpFPKT z`3W1j2d$|Gl;4?V@P7I$4ty$;Zmx7GM2C6vBqu6Fg!ZSL*HlbAzpfmVCTvf=zee^q zA3^6|{e0#yQP{W$y1t1;zSR(V{Aoh17dsU+2`ySRKLjpz7tY79O8NMxFp9_6tqbSH zdFmyHMlmbSuxN)`A)Y+t=xHVE*^{EHAs-dby+>vXB5}{hoFL6crb^-ljo|aGQC@`0 z$9cttg5*5XR{LdxU^Xk`t7f@MqCxE;bG2TRMgPJJmfqh1M%Kp;%J;udAr(Izpbvyd7UyYNnJ>RSaTgk@5r-U>ryr{ zH=I8P?vxja8*@pw05mXmr}1EainLTWST4=<;@es>x3SYQ0X&h2-MB2FH>R#c_p>C* z}q0=6c zse6QT65X?tctrPA?bFMP5=f`ftWRQ#wAKsO9XzcZ!`-*9+Wz3D*_py=4(0@4G800> zE?~c$XPv@lG4~yGgH)_{raS(}ij+ePH;1`wji`~>g7Iw!M zmQh1560Lm18b|r(6$-kZ>G_JS5%+e14?jOxbjEIKAaX{(U?hIY4f9TKQ1l)ddPXzB zy1L?3#V;7pxllih(N@f%xme*2&2<687Op-So@p>phsJjo6Kw9;#0nSP-({!DO{f|_ z*q1NBofZDy3k4tY-XZh1j2lfT$!f7zAVghJg8Caz=0)h)wab#5Sz0h&Ri7rm9oH1* zX#Vt_@x8=V6J?4P{l;tRF0>6ywO#C0W4-Px>4z(J83hCAz}4{8k-x_Dn^rIY&As>p z@jNiG1@jNTKerP&Kte&^p^QHX&1a_MNEWugk@!V3mI!@7asZ>Wdw)eSA5 zVK>SbPxsCf%u2_2&}mFu1FjT8fS>qsUJV=ZVU;Lv9#+yQYpB|c8%mIRaN50KHdAIO z`F(#LMn9a*lC)1|ST-@)kZ6F1_%Ie6Xqw8`Z5l@L%csSX*w_^xvld0oYNQ(5(P+$X z@+EO`_Dm8x$3_yYRz!AqLIK~Csj34QSwH$_YCcU-{2azS>D)FYYVh2NP(j4ChI_iT zXe017t4|_s$?RpaC`P?piXR2B>RrBG1kGb|zMprj$46PQ0NIL8!%fwWr`UHf9}Ti( zL=3G`g6VAk>`X89Ziff*yQy9FxD;IX33cxZtkHe ziH(;-K1U1+BSaVXwc|QHo(>`KYUw4oW z3%)NM@w?i}gtDFLYa-qLTx^WDxldkkaDCH!Zvci*p4(y%OafxF}A9=D1+~@`$%7kMTbejx;wjK&QX?{oypFm`w&Dxt3Fk=>z_6-njG- zo9Sr#$Ww&}5w^cfFr&*{C#$d#k&@Z8TTePBO2I`8ND1tbf4?Wfw^0sO-Ju4NaVaU z>AUujh$glP-eZ;gmv8mPjZ6-~-G? z5Aay_JpHXgsVOm@!Ypj}ybVV5>5EZHzJ+ncQ~Pdet!QdW2zFjtk$v*wnvUQq;sBCB^7k^JeS39O9SvmuMd9+im ztiapP<)jg}#ntb1RDKh!COHSJtTgNfS$J${gM%sDquYBuaf$^xAQdJ{j!I_QM-#_A zN4^|N0G|*qH=h~~+|4j=(&6-(u|j9$rRuG#K>llnaI3eJ(UeOQR1RMj4g<=5FD>M2}DE&iYu5vJgL z^#hMxv*LqYm;wjkEpz6brLEr1b8O=UdWW}%y{Z7Fgc93EOl{$Bm z_tqiZ2!vz^a4QP>Ugva%mR0YX{ z9Od}at;?F;iBgL8&U-kc;AfMs6UC+4)MsxKf3p+XL`3;}6~T|0(o-ZHIxt%P!)+ z=p`S%V~%*m%%NkQQzkEFMNP#)QKL$yx_2z^3R_~KAM+un9{8n+SD7e9-9g@HhoG}J zA-~7p6(NL;s}nQLa>lyeUWm#mpx@vuRf|t$6%VV%dDUXcHN+s51!)4`Gp(|1bG6DX z?wAeCPUv2Tj;9*<-Gp3fJRKtmgk2T|rFMfRk>I}Fq0AY%mdM99c@|1Ut(_E1uv+H9 z-WET$Qtx}?4=n^L%*zF7n&YYOeDivTChX(g+WUyX(R2vIGGzZHbZ#O#_G(C%>p!~U zuo?Y{mbk*wT$^$ievJxXWgRaN|CLNXUg;4!#2kkG_+C{|`6e{L|3XGAW-ZNq$D%^q zd9Chp`x6;q@+S??_0(#v`(OC*qACiH<)Px|7VUL+1@|*v>xByiOZn260qiH}>%4|= z%GmUp(c)QsRQz4Dbwd{TtjlapqPMTJ)ujr4akM@Ri%VXo%jW%4`MlrSp3Xx*$N#== z=F2!zVk40H1>d_9V&L2MlY8en|FB+5zj7x$cHd8fO6`+=k?Shr`p zu&2sIaNbw}A;!1ZiGE?5VLGvTxm&^W3B5ULXBR1fNlzx$u&-E#b66G3?V07z=;^vt zkM9aDlX?>Qt1f}QEQl%Rx?yKv{U2d3rlHQlbfFq+iFockCHU;sU9sUftJHFa8__MX zz4q!^V^}bajZ4*+vAj{k?=Fm|j9Goy#DQq@tU+Kt3uY|Bxdj zzdt`h`Ji%O9$>o)=`aa6|L`)GaqUznRPz|Pf_61_jW-gfRW&rJ_W{g%wtc7vb zgsQt4rb{?x4rQu*$%2F-0-6WwGL=Rc4hX)+iheb}@cLjjJXG-w2Kg(IJPb?2GPo)e ztp}wfoQgF^j@pzV6j?{s)}J(%Q_w2^`t@pFmEDdurF8M%It1at93c16TfMkU=kcQH zLcw*3W3q&90U=1dAy8cVfMRUPd+6gpMI4sxnfYu*0^5W3jx~iq8F|zN6g+<3L6M2u zDAyxw#csB8Zss3is4@9>h%v$p;e+w_TiM-!Gggv_&Vro#zC?Yqkd@J7bSS$U7C&lx zG%ufK0^@SZcqLWBi|= zR@HyeZ4_dyg5G!}xoEuVfe6%8Pu=by>zv$)I;Xi1uC>*= zHz6PsO+NEAt$3j2+y+=3+cVxd^af{9g~I}EjO-Y0bV_>}GToKRp3Nw)U;9t+PRdi=$NEbo?ca5V)(B`$NBiKQoKTKo7&uh@=$cu}PPlgQy$hQ;H>P2W{G{+94V|-7b;U34+9yJn@x4w8}D0sx$nM71l}he1S`a z{;u;2!AWThi?_qzoUi>o7&^~T#oxplS#&l;3lM_e>h4ucx^mF8@KPXf#b0SnR6fIG zyLbQL0s;>m8@^0dl%yO3ZJCP{V>{&8x^WOLy9bT)NPFIi0;As zt$s1;X@54HAG_9EO$0jNwXvUz&#F2$z|Z2?#Oc@AoT`#mTpdbisy~&A>7J6qt6zNu z*^#c}Au+Oc+DI|mb;mnF%6p1UB3e1cB(_6*iZ}HfroimQ#AZ4aT>bJSFd%m!xnTCv ze0hL(ccP8_&gxvIv&kM*Vo8z`Nj?n?rbPY8QbPaBcgv5<(A&aZcGy5Ets^~;%{6;y z_fK&tB;~?JMMm@IzEll{n$9&Y0}CpFsU!tXoKev_no)2Q4?p8QkdHq(U`W>g#aDFO z2xpOS-kp-Zg#r5<>QkzCnr(x{$ZU*r6j_2Da!cy4;A(Ow6idcF;_PqN)iE_1OoZKL z*$lRaGi1LM`XcX>_w}xxy-=u!mLeX&PvwI`TuoSUkb7rs=j-27#`G{OMe$%d>8i{C zrQEyXOkOvI8L4D<$?u@Vi&W!=E{9G`k%mF+)aORP-tVUu^?#c^R!kwEsIik+ygi7S zVC;iMXM>{xIj!v8>ul@KjZxNRoill7)Vkr9@M#E96~2kE#;&y3#)si{7}v1`Y{hLK zQ&aI>l>3>0tb)XjMjZ#kE^ABxl%{tM`v&NqSnjGOs&cITBvHM-Nl45O=Gi&i$_}Xsu@V!|}gk!*&PB*szLvMBLvP z{LS~JE&egG$6{}AZp4?pefu=(I!O8|tq@PKT9ujdl+UhEr~cbUs+Z07n%Y}4G4tjB zg4#=}AS$mjd;92grLHOzIj4`~xJfv%&Jf{h(M3UoX0x#}-3avTtH5VLErAa##VfJl zkgjjZ?!L&B_oUy%j%eP*2elHm{LdL8wJh=I$AjaD?~1mnI%WIs5UHAZopJRi_{PM` zzA9ZqBQ8DgH05dJ#l!M7=+{PwYIvsJZY?6%;0xgl#*h0m(#fcISM91cOLwvrB)yM1 zz^k{g^jPb%U^`#RO&@yC8#{${0m1F&q)HdwE#`F^Cba0W_sIIT5k#oWyT}jv0*jmJ z+iw$kp8SB(DR7O#QY^T4m%!TCTr+g((DfIp>hv3a#usp@p7 zeb?`pc`vpPVgES$xP!FFzt=(7xTB{POm#6W)_@Sf#A17R!0z{czNz?7aj{$GD$q~& zZgolVVm*c3qvZ4c$9jwLH?ui4=8!$SSymZhmIF`^K2Sr0;Rmd}Ot%MBj>96S@dtV2 zO)Mmy`oz8!oO_cEE)i_LriYRIYZr&KP3CoqT62mziUbFX47mjd&o98@xYH2-fp|JG zIHDp`!augLK$DeD14B(C|!0f81)8 zwfbRNel111aQqSZ1`qn?Uy#iy$}lB&M-LU)h+@6ece>FMdK)a4Thb58`>0vyKE&S3 z)ymJB>_>g^ll9PtJK2F;X|%{)j6?mqO&MX`a(3Mt%*FO1gElYrIjha(*gdEfQW5=n zgjee=8+F#Dfyo)>2BpXslk*mX|1nl^KMnIAvE<# z*~;)SN`ZPHA255MC@Zt7DDG1E91L15Kam@={r8AE5AbCCNe@CrQ_ZPN%HOwCgti$1 zpaKN}etAhPfzAYCEWG%MJsHfbUza<+?nnqwmyn^z#A)``e>y4zY?}(X4^w(!>OQSE zJN<1tb}E8pBBfOqO>+HijvLbz#$icdk@h;&_1eR(CR{x#z&C z*&}m*#zUsZ=iY11LeryLQ$tvL*=a-)WBXx{hb;d7zn3rc%+g}21vb^1B#4GOEjz2_#?^OQ@?Z#Z&U=?jqAGCkRKHOo@G7aD zl?%JS=n@xFxx{+TBYjdhCTt{hG8c4I6eL4*55VSNLd~ap!Ln4ii*%uHJ$F`m zZ;X}1A}Y8@;_zWA{BSoTBCKOKPy$EGrYd-4a8U|`O4mhLwr8-0I+`)n+6%ij%KBUGxo<}We(_x=Z$?Z28KjEkuk%l{}? zws}OmJQb>rR|YB=9IN<>mqiCNQ?3d!=jm?PRnJ1cTqGmnU&uP1Ka2x3u^+i)Y!4gYtJbst%op z8K>tq<8Q~m{Yj4T9vVSXq+^QWNHr_oa4cqdDxoyF1DsjbctP(EpZ`<>>s{Z%wZ**+ zut3y3cM0j&+b>WNyUsOOHsB(NGQLqhnUuYdGaGh=27Y)T)El;)zsL*96Q>(oFEt;{ zw!f#e_$(GV;A=)X;R4nCSYtP1C~G3FFx8}3{TqkcQ&NXq_ATdaaZ9189JR(K)U1qN z?d~ERG){>f)bTkhUVIs7wvFr}ySI)R{S>;QcblYbLuON($JUzUq-LtSIl>f2CG}+2 z{hf&3HhH+$WZdK_FwPWuqKEIV2=BSo+bjxK1n-Hx8lZqSD74;Wv}S#o|V)zeLQ5!4NZ$8p~1Y+&{<&)UX|Wq7lBMsuirm=Z*?{CuL) z_*t*hd(L@%Vv1eqj19HrfScpL_a}?@xs()&g486R@MI+0!9M@(hO_RP9*Hb!f*cN| zfW&fy2kA}B)0R;_%6sLnD~w%&T6kBBRiP6BYr;=!bU&bncm~icmn~-*lXVgh3np$NVqH_Cw@m-?u%PL=I?JJV@r#$OSFI!c{@Il*s#IX=i^y z7keMM(D2SgQQR-}{nFRC`=>|yZM8Z@<=k@9c$IiCl=&$i&V#MtO3V-j|$ z?jSq*>_`MY{rf&+Eoj_m+UQl`sZ^H_S2l;td}yF4bvvn_5jv5KQ6UBui+XS75G4-CLCEVorLD~!WS&WfY5_GJ+H{DXAk`bxCHwCE|4L-r zd7y+OhIBvNrMVfXD$RytYZhLTPlN{jRAF(XgUO!i67lO16YK_99r9{|+<(EdB|$=X z@7T*k(gt%s2=OQDe}0yVADU|~)x$}$HFO)VHxMtkDk@$hv!!vBN5-J3A*GlotFjKU zl#JTS_%Pox{q031=HYJWAz;_R-+2}9o|z0$!3Z#SZ{NmO#Csl8s@ME-%lO@I6ohNt zkj1kV!D~|~)mD75Ep6Ff8kmz0qAw?D7KLbe~rzxI%W-))f`Vxqj&(67djXMOj_# zA7^Cgl`(7~uQ!qcFz|3O)lkbA|BHWX^w$rA`mNy`jcfafLNy)?VMdi>?gTcv@Wq5+ zd^jPKSPg3&qIDntN{-$Dc65Z`zt1_{=Di%2Su#5693`>(uCH>>~upk{p%- zwlI3jy?SvE)DwE-9?yr%*5wI1#_x}8^#-gl*pcC4bI{h5!)yqscTBgkt^yUEKcj1m zI(LQF=f&Pd`N|ng(?>638VZzI!OE71aDMALnS3d4Z6<~%K61TSDAC1c6y4X%9~O*3 z3c%3cVp2+G`A&8i`XtYsuT4zLz=tM>MOKP-H#HOITkXyl8W&G%MfG8Ckk85Qc{D=6T+C@BQxY*?;;&W({ktyRPdzj}z6HTdg7Z zA$M{ACRv)pc;Qy`w=}$LEl>=j35QD4HuT8NhY=EVlt>4ML}Sq$OH<>pb zp>G-G%hL5CCHHjJy1Vxg-2%Z*bzXAl11t4!E=>rJ!A>bsU8d1`_14ys z&r{FK9yDp8ynA?#oA>tB?7XNp$x8zgAJ+@y8+zD8F->9wp;0h`XZRWyJ?ew5_>_uH zs+>z8%3}PfCK?dD&gwd@5Q|;B^nqqwl1%{wObJbXOFN8hW8^;Sy>vTaX35bTOG@my zlQGZ{0WYNq9h3n+fFa`-Jc3Q~;mg}j@8=?FYDWV`?IFaUFFyX)&mPps=M4 zX9|uLx=As-yVt=*QVuu_M0igYvb$Z#fq5!5=W6>hHk_xA(U0 z9X1qEg>!_7V&9}{K#b^X=t3op@34(oPT&xrS^3Z;)5+fhD}%&L;oGYK4$AMm2f)xS zp4Z0klQ{wi(sFX60ArX^11w5lD#*Q^aPel?xiK?VExa=buy>XTzwZRRwwy3S+s ztUVkI10CbzO}nb97aHZCa;oh8?&F^yh}^75LI~0B-VA1TKcik%xd0v4Hz&=AGYt@I zqm{ZcBK{zcDUjbTM9nj?o^AX%!?YMIhV`{@4#(z|XX1RDZC%k8XoU*} z(nt>F69UAcXJLgmQlr-CW!cxZb7a;n9WIkv*Q1isMg`rs{_x|y7z1KQUvulF*w3KqU_xm~6k z9y@z}*ut|}h7E)VwTL;tLOvL9@*k5Y-NEStkvigs97;344=6jh zbg1Zlza0B}BudLwuUibhmx+UBxfxnjf#4Nc;nhH5*O){*oy<-*LHQ>PCD7TFBP}gn zna-NOkJyC4cNaJo&dKXiJH#L0OadLQ-$g-@*za}FOI1h|S_&HSw$zy~yDNn={dH0I zuGt|63`(lu_Gq)(2`MNwlajAn&0uNAW86W%Icu`eL@H&<(2a|Gr43X|wmMFKdf&+3 zTS6hXCJDu*K;%jk!HYI({=8yIpcjuGT7>9y9W~*w-_Kn*IK0%fJ0{Lo01Wbkgr^^X zHCX=r{1dDdPhV;`UbZ@6*FNPf3zpy=zcybp>xpg|bisLua+B4VF5T?s!V}C zzw_7Oc|4zhL;L}$Z;$f2dNbx9+3DCB*OQq|lv@hVBKm>|r-`HD8WGb+PGp=mzYTW) z3anuK)wRKtMpVl5>7KIj)ji5F`iY>ICjXfOUl(9r8Pl+`=z z{BSDgtQnltJIL-%4;lJ_SPbXQaHy0-L3ri@%zAsgesq+tJt{uCm?z))MY*D>^R!h# z$R}-|`*gd9R&s*&yEax|-^8D#g|^<7-gTiJ7H|$kyC$S$oyTCc;7QaARwS1kWRHb~ z26dmbKgHkul3>U+0V*ufRAf&tnMSGH2w>KKTD?wKU{~@u8(ONYb^sWLV>e)S;csZ= zkN%<3`kkFfI5_Mv@dYF3eP_Sn#=C-;bkg(A2{4wyEY~1 zb$~uHQ*salN=B7FrzJ}>UTkR}dFZfLd!m+hPeEVDjFu>1_3n4UjK?Io+v#u0KamyH zxJc-#itIOB$-j^6kZkd0(7Rrdh8UrbmTmc0Rp9fMh+xfuZMUC>m=YFJwU-(8f}aG( z086>Ct^zDjBqswmB+O&6!%b)5GHp)`Qd#gjcP-dqFRExpClWmm>kit;5yTW9YCW5Q z`~vf&5=;)2Z`}iSiJiBLUS{;vzo9J!m2+_?rBR`UphpJoY<_A;V$kl-+f5d~ zbvwKkJ6>wL7HL$VfD5H(k2XOY{wKb+H##@4LLI`$#C`k*bb#pxQ^KrAqK zk6Ky>fN!NXjWq4ZLt|)2PQkI-ez?0W_@-FzYg}_c_?4Drz8|^WVFQ&ML;(;MPCcMN zg8DMCJb<`m9LVK=sf}w4CE4^j%D*-syV}T3ePa5ea@y^JQoN9LK$td3v4Az-emZ=- z)^7aWvxNz23~S1L23bS3KQ%F<=eZ>h73BG zzn`@pTOsh^OAGvh81PhFYGEDS$5LCreB>k{`j(AvcbGxx{JWaAMwZN+jBOYRu@?AMSK5ZM=ZwrH+A8Dx^8KB?eaP!;K<~m9VPLV*y+D* z8emgaGu-~}?xu-U6^n<9?i2VM?*pS?-wjCaEdSff`rrI%-ymo@|q-6WiRql>Ex>#2#_sa&C=@1dtFvHHVd7-S1zcD5Co zskAYPrr!Q!?p3)H$j&x=6vlO-q=5agY;RZmVQQTA#ZBu0>ki;8b>brnWlHe4hP*Ii<~>@CA_A> zO1HTJEUWXv)FHX)FyYR@5pb;BEpq@ttXxtfr6`hP==_VKATEDh0Ts!t~5V*vi^S5Zw%FcaG`Q@dI*JKO1a`0YsMQuaFi zRwHY18Yg&$rD?mJ$?LNx^D8!R1gXGY`v_;7YGSk13mpdz)eC>7e{(*jE}nC z5fZoX?dav^Xzq)zU)FyM7h10gg}m1D)Zdz&e(#e+oKDypB+^2A@cbg@ zVuk99hBAG=WqZnph_2bm4B$)}*=$NKRY7Vr3{e4$6=_SwmmMu-8i$F2m_nzPhY6^y z&`tbh!h$MOd#L>UB&eb^mN`Iubv3j?34_~=LUJrBy#IjZCYway^He$R?rqS+L&n{D z*s5i0U)^H|JP)*%RwKlx-o2G(UN=k1)G$=w0-REI^ZH&x#Xpp33BZk0#rbAH$5 z2tLO1RZ{&=kuERPT8YlNk-luN-m=4t%{s5-RxmBWyPLs#|fM`(r;V&n`7GD z`8)`!6bjU3p`#}IFJ5DAQ}!)9rE#J5@dC*urn-%)5{NlQienQX&5!6OY)z{OsKcI6 z5cz6?u}OT)pnR2Glckhe5Tm=jqrktTQEcp=QJX%z#@Mo06*!~lpg3y3aA?~66?b#S z3)w9;x!$Y~w$sYU(>JU>&d2<$<6aHI`{!F0vI(TQt^B*Pu$Y|eg{5AeFsDbuP^tlR5A{=Y3FWI z_KWzRMh*jMzF2z6OKqdJTVbwqsY17cB@Y=I9M2c|1VSl){o}TYee2BmOU&f)S5Nzn z=cP0x(!>IG5BvIGKk}@nM1ck(wprB+K8a>&GxXf23`Gkj=P94MPQpOhE)ufe#SveB zzeAeRmMi?@uTQ!CP0j$YjpoA62Kk8p-&OV@%iz!}1bcxyKBCqXueE(c$qN7DigR@5 z@1yuL0^aj={(=t!hKnO_zgDHK+4&hF4}Dm!_nS{j95rPB5T0@J?g}x#{*l2J^{eju zr;ER5f9bz2y)6te{uqq7SnkMf`KL>Rd50e5EEuY`tA35nmVS4Ru&KHj``p6$@B1Li z51BWlQtt%NZ=#BNUAuk;q-7H>5-|N*d!0swe{HmEH1h*<4E~mIwFYKMY>mi&-M&I* zf_?aYf#jU~)IVML^3PwJ7WxNkoC)M9Pz-c%So!OB8|KjOB9+|Nzdx-?Jp*AIk1p2L zMufhb4gWZ>?`$%U?E?~uO{z&y6SJ*QNK^{@*B`npf+h${y6Ku;8~>-vZOeimv#dLb zJIJU#rLOp|2lHQF_x7=5c!Q@jB-ZVF{Gac^zn}dybRTYM4%vaPfv0pK1h*GAI8*wM zH|F2}lQKvYC>#WMS05KtFj?IPTeU|Vb%D)hXu7C2~l3|o@T`-M(yaY$G!aUVXj zZ4IPOIjX%poCmXNEC4*ln+>G-2!JZ%U>6culQ`2N2673|iMv^~Gc(A4 zvj7smRx2il*n|48Qi8OZGuU?8Vp6+U4q8?Zp_*Zq_TOC8-zX%Mg3oW8aa_~g1q~x> z04A4zxSM+Iaj*kqQ+D~<6`(Kovg~@N6z!^4_!%I&oE)@kPotCGJ5S6M{L`7tW04|o zxxWa6)d_skeF=9}Vm^j~*BiNfgSABW8) z*m4g)JlG4H162^a`pd%-?OLZ1Jh|NrxyTsWLo+EFW10g!Zt9E;{LWtN@_WK5< z)$;>@n*;Dx&gS5j%0=2vn$}Kl{iM73n65Q-YYfPF)Y#l~Qb$-CkiImzxkjAJ@{H}r0_P3bak`7n}j&NpXj>qtA0KiiA_L;qH@DNMu zIEvA(vhBp{+yp?onF#t{2po0_ieYcbV+&uGOX`QFpwjndVa*$V)&>{`#~)WFahsL* zM7mo62i(--IfY}oGBavcn=Rxna;oIK$aoLLdTDmdW0+4PWOQQLl0n+vi9PM@RAWvU`USPrNoCvbuF-No9E^*jjpRJh{zntH} zTF6tGrc$wYp7mM(Fmuj(vRyKy6Up$BQzbJ^(oCARSM*UOK@+g9)?R=ZKwV&-;@an? zZk?m_1S6sv7^LgTd0}y;R^wUr*5VHmO%!LvvAgy_o** zdl|s6T>p>r6KCM<6zKSJ1lZYM%W8vfQt_^vq+&6c*j%Xy{^9rh1NAh?n(B%%J!f5( z*?=GD^J!9nx}d8#9WHadf^rCQt-ox|Y3?B>?5XWS$z0uMs_a6z9eWcF*w&t#PcyM; zjPW|Ie;g@T0hQD^4uP6bXSLDhGI}6{$n>%V$sccWYr(C{k>X%u0jfVD!3rFfOv{t= z)Ek#20NU9N;ooF(jyk#o&$D`^Ti-6#rTERE{%e-H&2~-6&j3*UdG@kMOW%jCQFjS^ z&I-9qKyGdG3`lCyKlwVZty?%-(vV_^Ti#Iy)FiTpb0g^1;2XX^g*^4OgY1U!S(en= zZg7@;WmU`jao-$NDwXyh=NaGPXY99&f+=GXT#SCzV*ltCZkh_mmX5+#lZJ>k$E2jX zBI7USz45vC0C}yHiPD?{pLbrgH+|-EJw24-SYDD-OA(~V6v{Zw78-b89JHrWoVfxD z<@C+#45w5pT`>jLa8cfCIgyzyv6UEfZ- z;**^($&*KMl*}7~qV@H)j%XH}%xHGW{4&*?@48x6*az^Nyte9Zt}FmU((yAjPzMZI zr>CgstFp=jisZVn5*{9Kse>#?AXAmd$?jGyhAOVjOb>=AjIX66F0oZ_TbH5a>D5*Z zC#$IVc4@1WoW~F|AKQa1U`w>ITs|E-_IBnD2joE&gs`cUeRC23v=@M}eF0DC==ZCR zyzc2ithU5fC#>R_^RJwDt*9L4JqPEwW!DW8c}+tBz1YIeULmeia9p$riQN3qw z3Btzhq*^1zBp$QVVKv8}fkm&hK!OD@j^FI(eBZcUj#P?>*tt3DclQ!Do^w5kzBbH} zxa<3T8j#m`x5_Prns@fV0l&IHR|yi~q5Wm{rhn|lDziK43oiNdAm=$0!&YhD^Q2pE zIBy-L(7MfrNGHCl7$9<^;7H?imjJB0e1b^i)0K`-qdV@G2fjyFTQi^;mitcW%;y3Y z2pmzfR(l-}N>65QvOfnokqDLh;f!;ejmbVl4qxYiB5FBcGY1SkU7qAimI%ss3USjM;&ER9b$@8W zi^Gk=)mBZPj2^y$qwjuY_ZdejfMOL4$Dc;e&`MUgH4}io?&_>7n%Ow$LUZeb|NT~P zTX=hIlN2`Q$ws=q^A5L+BL(eFyl_JK2h8IDq@QzAFep8KZqxvKQk&emMkn^XMU{k;*lL=M>kZn6QY38M- zYt*i#1HdfL!lu=Rw|EJv9JcpzfSdhy$b-c8AhIRUq4{CwQ5Br&2qU{_I__^1-lXf_ zA3f}3O#P@Sv-S>YwMufN*~7;~S3}D|x(r7BV&x>VE>YWE^s=%y5YjyDb-e@37GZoE zPj^nzSE5zjp}W=o{djF*#GEPN7(|q5YFFTF6K&PD2xgs32VpXXcbDm)l0$y{JTB3W zb4BLCCgvZqRlF#pC%%1qsubQ}f_B{r-RM7f(%_Kj2kqMwnf-m8{$Zf`(I?e*ou{8* z6y`Szj=vmbfnE+Ersq;fWaZLuMN*C0=xpc z@;Nummagc0D6?J-TrW_2{y{&BK5a(;*mo!|{d)CXW!n$zKJf(i=f}ffv1l7~pD`&c z!`u=beyZhD)mR(|{^^MtH}EA6BxZBb$WzIrJJ!w^NMYp1$$0?go}X>Km9pV!PY;h{YN#L^*U6wn*nSMVDr4&$0#rmFK@3S5u7&TzF+Z)fN{!3N+s4%Gk{3WF-igcrdM_sKd*ahBc?f_*a-a!N{DIDPK;{gV>k%5WTH%j={C zg@NIsyA=b!PPX|l(ZYDf0tzP=zI^Wrw$nTsux4FiR5?h6nalHWN$@?`G zpzczX9`ZBKpfTWC7!|YcPUjLhwNrzNl|(6C6sxx0=7QMMu1Ma zt|S*US_5RBP(`JNSv5M>u(K7H6{xU>oR;(@IV{Q*DX@|Kyozz9b1D~>gupf~exln& zIe@j4Si9__-9BZm$A=gfizYJW((Bx#RuRzpA-nT>!L?()Ls^ z*Xz5ZnW+iIS^d19w>%J=O0&qWjpW%(fo_ZOc75eI$|;o^yaH<^Mt?eD(qd4h*f{6G zaoety`JAws&i!}M^L1g56Gk_NQb!I#1w$V^RY_&s^3K0BM=VIc6j-_yCUECZl;n79G z0>fB!rgKWeGJ%T$A-O?I!|Z)gWXE%}iM$6^FMXjO8-<*usVzZi_Fc6_|IP8QUxu|# z?|NCgq8>9IXL=cSx-_?`HD&SJ-!)og>oJfuIXl!m0Ad^w2DqsX{{#F64<~8zMZsIw z-xi1_V1#G`_fZ^^7`i3{A3iAPZUCAuX{1JHb-|6tS7NfA`}pg&Ii_t*HfSLMXaY5}+uaW1=2>$k8M zV4H}-9>QblpwFY``8S0~>g1D%y4PJ#qpwBS|8O=liX>Si+|+9*x(lFq3$prgoeqk` zKuJFL-D_G-Km6x&dUEictt!eQs1l6h|_G>q-7fC-K1qjL0-N0NR2WVM*`ecPsp*q_ zd>r{uk-Eq*Tw+58TgGY7!^`lhQ%*1Lke&UdU7@#~SK@>@hqKfmkWp_jXJZJB7j%~G zz(16&YBtz82i-^I2-N!>a92oApHM~WeN|AeNvMlugXz46S3#s(&n3|dr7>s_(tZr1 zEDzbeo^{|u-gKx9(#Je50vnRy3&Wg@lNTJJ9^S1Xx1FSR4yapvAPm8C(tJNS9ez zTzsOwU5mmeoXMZpWUtVZBs2;UK7R-c@}M|O2PEdATiF&ORAiR6>6DAR&LlPY`^jO1 z3|b__(~%U$j1X0eP%P59H)y=E@`6nH>%3y(LW)N96TS}DP5mfnUp_^?p7_H723gFN zU=*3};+oj#qiRj23;fCULvjLW_>PVXKBSA5h?Q0CV_``m(?|KxK^dxescpLrYjK@Z zODBR+LK6TNEuH;y59SU)@=-nMHw$|F8$FK|&oTWnrWfHqaAL`=R;3|?KuPM{zE1A% z-kVV7CHAftr~VAgDN>Vc#;I){#%aPsia(frGC#3?I{M@aapk)T*GM(fzXT+_Cy&w3 zj9R>oNk?+Wf;!!zRj7H)YM^n$@1op(FuEA+OjZ~I*!Ix%%sEMOwRQ!S*i@!I{{p;V za!y0vwB?R*Ot|)9G7PkRaA6%=7|VoR1e5|))J%87Ne6E|HZT9OeY*N-*lbx8eHea5 zX|E%2^^!k_F3k3b@iNO*+(9BQt_j2OJH@(ljxQX9YX2%H%T=gJ+{PED_UcR-qW)c> zjAY^+zXF9DNh=yfy7?d|!wcOFoV2B=XzCrq<4qoJwpm8kx8adqm`10a;@`Y67g#Bi zI!%)K?TplQtTK@spp;nv=2EQhc8D-e8zP*x=WVK+P+p&l2}#p(r>GzGD5T`}X|AQm zVxP6BNqGtaPB8OtN>K;Rj~UtF`)6zTzg>C~xS1OykjJCfQ*A_>#y@RHIWPzT_LZIo$opnd&+1`8+Sv$QJ z2MuYWmw9tu2pQAXRgRn^%mqFyN4SHG=IZsu-q;y?+;2A;cbHASiwdPl8sdN){Tqn; zX)#dH_eLRbUwk8#`jjz4NR=HlCF>CT3l2kM-jUJdU0kK6%zu*3@e{{1ZVYxr`1f9x zQP^zV?%;5iBB={(XuTcF={UwGwl?-pTG9k#f}yLc1%jOD#RxyYoz0qUd5Wuwf7O)# zqm0}zM|OAAM&#;r2~X26yJT1LxBoZHV%AG4FJnI}c*qy(rVOhkBk#FsnfU{ zukJ4iWT#3Kf8|Hx1~&JyCM>WQ8WwZ&K{TPyVEavr{-@NA#yaJvdsSO(1aCv}b{X$$ zY1cpsPiGz1lBwY`alVDbjZr>0se6^qQP?*$qD?0RA+&ypd|V3S_wJ$+Jj83Z|=1z zEu5EfRn$}lvZN<)j<~l{A0Oq`DroY2w9V66wPt5`Bs$3q=zhtAi$5qynTaR%da|O) zqzif|aGrEj`XNP%Qv=ZgsuY z5<^)=W~~jrI4(-dxg8GXUD>(!$HfNC(uNaLd~E&j)+a$nuR<=rE_)nh)oJKB*c4s^ zO2t-LJr1+(eovI>r=V|?lNVpwXiM{$CifH1o9vtQ2tUNu$Ox3%M62l zfnkClSnzy1B8jjwA-$5=}OO8aJY}`LBG-Zq{pfMyz}CZ~D7ySOOMAt}1|93Ds1L zftjoc)#7mtInhrguYat!quw30VmfW3o4p22Svg)6Itz5OIT6dvA=KE&SFdZV$* z@MOpff_1tY8PS_r=YvOxRwI+V{3rf6f)~l#No=s7Zvqst1WmxA6H*;YZVvx#@M-%Y zGbNgDi;>sa4|-x0@oDT?(CZhgsWdR&XmTP@|8`j?*7YDZKa5f1o-*5XyH?*caR?wj zba%>91p5AQDjLqb*W3I2T?mID#aFXkiP~nwcx+hEmULcGn$;h2uRBdG zXxSU9;k;0cNK&2F#gvJ>hWoCe&QS)%N3Ymgi0R=r%rcwrtctvz->1F&%+lk}MFvai ztKP^EB7lMDT&*T!4c>f>ZlKU0jchRa*5)6O$I7N}4V0evUEmF&VFqn%+9Pz$) za$+;%*i#|)y=IvTwUTh9cDdzSjI#)A*yZJ)1Cq(FJfAny0@+3p`SoG0Ox_k^6rzH9 zE(2lnDYe~X;y+z4@XqgjiU=k{Dyq3)=4e}Pm2AJ@|3S)h1ie0JXUq}DRcmI_j-#(_ zMUQtZ9VV7t2bEa$2*R|Hl&J@IrIEM-M%>*Mh4Ps*5>;Fn9BqQgaihlsjYvu&Pi+6_ za)L~ahsZsVSJS5Td1#C~anG?1zzHbS^n8#W?%!Q!Vge~nn*Q?;)>CnCWHs_;49)7T zqwA=q$;KWB>|SRRBDk!~wY~3%^6mSxWw$h|=1t||YwT{zS#I$Th`~8c*I*ZuOWT#h zOx5vmEf`#*1rcTF-6s5Ct$crNxCd?x)s&V-ay^qAdD<_9Sg<(SSciT#mGgxvX86fe zf|3noZ@NLpmpdf&$vGxr^I)Reag4QC9;N<$lflU@u8fuz<)oB~>S=ByayxiH5NO6H#yw%h(FR7#WuFoC(8~&I^G+30wu>s+Dq~N?%Cv$rgc^9MvAU z!F;@LJ4%(z1&AhHK=7+g#g;}RQtwb?VK2=y-jlTNdMu>7H)~Q2v?0~VovBVci%xA~ znFPMT%=oAwC`dHeD)=-}e9n4ta<--~JCm~lG<}&4fyC*`kKA1sS5;hT2*cU2R@rjc+ zn@1%Pqi2fK#81j^n>pf+gc}4W=H`9VYum^3EY45)CyY2g=;y>Nft0pPT^2wP%*S0U z#@Q!?l>;MM%G)oN z@9a%H@yb!2JN+q5kM6nv=S=2R^%?Y}SFSgXZi4skt2}i-ZZ+mVjD{mw8vzw$azx z4+n2@v?f4WX{UL6a<%;)+f}EPQ|K2KwJ(G0{n5fswX?B1*wZjyiagMXoV)3&FyXW6 z-)upd0BVy)^PV_gou#(mjJ@~_BS~Mp9YW-iq~*yB-OOD~if>k|I*8x?(dnh(=)1nu zb@t#3)NX-3n{fBeoTf?g4mkcUONUUvTlaiiDGT*+*hVN#CR7J=sb8 zfdfT93QDevV*#afrD06%GpY7FdQcqYu{=#x%Iy1@p;l>s;RS=3i+xMeuk$rawAw;? zIqS-8aY*Z!b~39n@~eUxg{BJ)#`xMkAIQRt=6ws^HhNhN1fYc0k?xuhX7Y_(Kbe%_ zDhMc!J0i_rtTPjlk70TIjSTWie@%T4~C$H7#ncYDVhrx)1mu+c4Ss}Nh4R^M9v zb$G6AQsgUY;DtV8OB$d7+nj(dO!osfc!)3Xxl-W8>}cs^2q-%Zo*<`flwA8YKy;R_Y1+$;>B;Gbh_5O~t1i0!ezC8;`Ugn)ZWoj9m^++T|vt{WW!F;VZ+`8T{r&d-u+1a z;@viOyTMq{+??A*@{uyvc8t+QVco!(J-+(%!=e(0y@lIcwn1XIt5LmTYKUk9FViSyp+=JI5JrKro z2K2%NECDOIgz8BFL!iI?zEM)NLaSp4&yfM%nwfH6h*`akK<4?OtKVn%GB~3;hBo=139!-b40m3%6<+skNirT$^>?)20932;T!XpJsoVdob+mj}%8E2I3)! z{%tug2%0j)@?QBc)q+f_Ud3|OSM<1b00$J@;qs-5$?{pR$~?_IOh>|s0jmHW|G}h> z?qHw!s)vlvIwLHd+L&&C&dDtK$z9P;oqA22CcIKa7Af{%z3G%sx+GQj+}r*8d+eh} za56^YIpfFK+8K2xShGtgFJ2Av?;@5mf{Oi0UxRvSWRNYs%m?1IJFh_4Y0h4-&Olo0 zVuxT;I*nKYO>i(2fUwiA-8OR=o0T_py!g=J94%lVwf_(wL0I9p`=sN37xXNqG*V%} zTDa}{j}*LV7ZcZalM>wMd%(JzS;h`jt`_~(#nJKwS7JZ^(4G^YGty---9n#L*HrpN zL>M!#X{PPnkrQi*g2V{sf*Kv7SBudj>w(6B#60HHbU&YwQKII}r!57|;HLs^$#Zi? zl_28+w2fMW=IX}j(M1K5dy3i9d9&Grw=+m4>%Y%5J%eHTeL%sGrBmx;>6SAiochmN zwXo+X5PsMnP@!ZUl?vsf8)*5Q8lefP>oH^@fUy+(db1zOVcQn8@sU`Hws1STmM9uZ z$;HsU$odKP;=u&-E40nM9D4i~2FxZME193h9BSPV2(Zg&Q3GW>x1T%Egc^Py?7dYK zX)Nhv?ioJT_|}l}u{DcF{DuZ)YdD9Iq(AltI%a5L6Lbs^Ke=D9>Pa*n-}f{F=g`*4 z72~o+PqbykRv*DGQeYR#xo=vO@nK;W^wVIp301fL1;46=Czg`3=nKBB@AX*Wz!l3H z)6!m@TTms=qI6B`7<9xX_T{IS<6sJ*v|t5lF`Zddd{CK zwbt(A2S_h+>YS(BUD_5?S4^oNh8SXGkYmbYgU1nZonE~vhrFXkJ0YkBm7YH8{*xjO zsb35cJd`by^^Myd*?LB0BG6C*wr&wOisFY?3|*p2+(8J&QCma*sXA9@Rtc&{v~a@X z#&}xz+3M$t85pl19enY*sq+#l^EL-8iQAmV@?x)|KJjXr1@<)X@F!Dzo{AKWY+Rv_ zW!f{wT$vVC&I~_e*JjD0w{2V)Mh8Xh&jx`VKmA-aaUiWXMB6kdC)urgLre z!ui&Whv(ICbr6?^Wmih;BpZOPV8?yAnzkuHZAv^?Mm*n{J~6BW&L87>@Hb?QR*e?G zuE~7e&o^Wqmksz7xx{Oaa-23&K)S}y**dk{t#~wG(BG?1Bzsj$Bpg=lM zM_#OkJRnB-lF+Bz$=nruR220m_ZOQD5b2$K(FCQAP})cG4qsf(H%tb7shDkc&KC(5 z4n)IIRw}>=CpY$fBIcC97ez2bmGum5h@|bz4MuV$)SXGLJp3YB5+R~k zZ*~LX+_iNvjHJ{MmIOt^nompxUZEEobnD^tJ0>8WQo1Zi8RF_lcXXtWEMj}oNIn}i z`!a3W94!7}`WIa8?2x!+(J5I2IjkBR;RuQc+DKnQ`=YVRkA@3sWm??yG$8am=TWU@ zPR5fs#=2<^+91ke_C#p1l7H*qtE-X=8ERd1EC!v23E$#OfSMvahHyn*Nc=z`_n8GOTsiFR8Aj)pxR^1%5MO80LCEv zniC~9Q4rK27~H1U4C%4HOAClH;ckEq`r1$83QZ%Kp@`k;oGeNMUNtzA@>_H~EX;$D zdqL$m0FCvvaz5)sM-^56NY`vcrjD4)C)sYqbQO>>}oVYq+-R|f7 zf@p6E0%PGPvs2$peL9}!x^1F4W)~P@g$(wS)7IRGpJR43uJ)Gb3=Fp4qjbt?dsCpJ zX}5#@6yC~y#cQ`2rK)HHbV12X^Uq=rOe3|N^z3KK7Uj7EZ6zN29{31n=V;VigTRrW zE!M-z(IboTPyKkEPj=JQdK?lP3?HT zzc-i{z@@IYBd?&F$FM}5VGbw=BdkXrcl~vx2}Q18=6z&=h3};ZFvl9+dWnmI{x>A% zaGL&&cpSewkWUQ%LETyFpbH)R%m|<{*~cQ??`&gyu_1dQY5QfGn>;oVDCkHP`mg+p z!fvxQXLo^DNW3!08QKIg+DD4hg+xb3b0XgfC1*B_zR2Hc#P%u#x?3xfP5;ew6xdA~ zoMZgE26~Ym5TxzoDr0=tPvtTR(P{ye&wQlQbiDAxikT?&)0rWqy_HuwO$pB@sw)Jdbo{C#v23ob^L8;D5+HRgG2(pP?bX9c!PclE{FKqR! z9@B$yaIWLkjAwkpa~_)Kc++on)efDggI{XjgoECjYYvbFUAgP6zWb`=#=FKNu2HFf zMv4f^3OinbDYqG7bP`vVy%3JVCdk!xxvPJ+-?|I7??Me!sZeS*k; zuE6TtMpnEuVPfL<`_g7chHR@8(0wt)3gHqO_v9#Babw4#-g#qaUIb)$g-hMb3HIS4 zse0Fno(EtJBH1xB(7}bn6+TXUq}!vH^LN6f0Y*VQ?jD%~sIY2AIfcx&t3a*qrEOmR zxiHlwqkE(al)PnBhbo*eib`oI!!p9IG@da&DXCeuI#`Sy@nY=u%6Doye;E7pOe{I+ zsnORe@ph+Tll~NWEf03K?1@P3Wa~$6oAe;6iwc~w?wjBjshmsXqxSPI+0xUbZ4}OJ z)FjGJ`o}((*S=m1{7g$z@N1d!1O|KGnUb#|G|&dyW(v(tagvV~{ow77hm>nmiFKkB zwtV?Qza<4xY9OE@XHsRA7KHNjELx*Y?9zw~Z-R)e;zQEF+Pjn+*ZW_9?^!qvcr zH|%8{5Ocv)f0|Z`cLYZZW%F3fe)!d%+zh9^qPxP{XvuU4rJ6zYiioxTX(H(R=(cah z+7D_L{ysNyX+7cZ-gVjtG`t_pi{I^LzscNPwtB3q93_(0et&}9?K?u5LBs+3TZ%NX z<@m3py2LtYQV|1y8g-kY9Vo8?AkAwjx{ev()x=P1M+)U>!Bj`{of&Cft}{2e5?#$r zSK5rsJTt;Ket7YUtM9wzZGX?N-o<=oZw^@s@H zLhL%=(1uK<^?l+XkMH;0yde1q~zMa;gla~v7$AtME-i#m;R*A2E z)D*`%>w2O)GnQ}_6n|prLHy@VUOzx9s8gbzv3O$yNf8ozM zU?Vv_ilxvztH z!b3wp@rN8e0LUuksNHI+R?1J(O$Pn%~n&=_0bG?|sI95CS^4U7SD zUHwfLZ$K;Lu*Y1pya@-%ZP==h+h3pG)bxOT+s%=U8y);{KX2^7^tU2y->$u6*WVKt zx5ngu8Ch;!QvY3;szybThA73Ij^imQ(uzCyx(~bm{liOK=;>iMdn;?FM zw;)$(@#VMlTk0Ogh0UaAcQ0_K=g>cOj$#Cpa}p%_Xm=s4&i%&Cb875p7WrKW<%R|A zD_-pjR%23@IO;XnJkSjWD$HxQq`7%I*`ArKOs=)j?e|LnJ9o8Myc5pC%r~gZ{r_+f z{g)X?lwh0;zJIvV{Z6DvMhbB{ovKD3>u~gM)GGd-&J7bGCIw`_` zdbo-$))y8hk19X08SdCALCEj_mF{4Sa<_bBefkWoeH4O7eZRK|>S$X?BES}sMXJ|7 zCrmxCy1lT#ga6?na=9AJ|I6R6bD{TN*0ZfGUh(lDpA#sjojPTF zF?1G`_G;hl7d(-?(fyCt{$HOGb{DOX=qnM@_kWCt|F{6Bk0=;UjjSQi)vv`ZH+RGx zZmv!k1^#Uv{LisOHMzum5Qb+ zGrE)u@z~SDl0M@ba4zafTPRtb+y8TSktP!2AkG{4;T-YL!|M*3-XtQ{c`Fcw4arC` zjx#2BX+QS!(!zbVbKA6n4$hTWdt}r-Z0N3zlIT_dW}N?Z^Z)*5806OfN!Yrx=lHkx z@PAHr;8#SirRKY-k+!KfVJrMqr+1&KA9*|?$1%B+rrWFCRv9!qGTJyFpVN9>fbksF zu32W`pKjHm(5s z9@>}0H#7oDv~PaAGN?c?0zJFkMoemJQa#>rAng29AwPv=cn^dOx9zxU(7rUccpkqt$UOX7T74B+yHP-%*arG zwgucBtVMm`5Cbl@-QDvo-%3wZOtcew-@xlDOaw0ZEP#fw_GnnASxLK_Y)hQ+rhyQ$ z)?`~1o}BJK8Ej*H?Xt^zc@kX!-#7?5&5>JUdo?rIL2{7{HzLk!cTL{p3to>;p|+yG z4h#A5Y=eeUIRG1l#O3WC{-ldp~=xwdVZIm=Vb@mVYbOfzgaxbFIx| zuBfTh(hwZuC&0$HUDk4OF$)_{`3mez%hNJ4j-tdac}uQ`A;A|V!QVZb6KT~pK%ch2 zZUslBgovjkm@S{dP9Kt>@v@)7Zgt|g*7_r^u;#E3%)+UT0oaMoS1E(u#;o?DL`K~) z#K!>>dbwQ#0D1Y=j1N6yx zkE=;h*Az>s*&D!>Z~#2a61T_WMmbFU+IDa}mg#l}SjI}R1#iszC$eUjpy~#+&-*); zpE~@9({<>Eo*?x+Z|HwU;`Ox7AvLhSjmo}UVNTEz@$DQZ*DP1ue+ZKMZ`cfY=e2Vp z(UpdN$65{6+2B#%s9!f=YE-h=hU;WWr@Nl`VMRC@XK<4FYA-s>fWvV`gwWy>94+_v zilNKTmZi!W*J8ucj1^z?bkgM!eq~+oeb!V?eZCMmYWmOIH2wenZvW3OThXSQRdN$l zyksf;ZZwm9&7$VKugqpsq|EdAq4Fc<483N>ghk!G(ZNY2SoUiB;7(RBH2lMHK{!4c z%%M(y&itJOmIncU*H16Nc(t6yX-D+9SoWjYpt0;3XhQ*1$@A0xQZs$~)6{4h=di^` z6)m7_=(PY|N%c9v@7UAwborw-*h3W;fa)~*2U?uoZIPD z!ECuOnx;?_!$-J`5h%lW<(}%>pGRx0+THvJC19SYm8faZcEs8}ft#kxa;3?ZskpYQ z*1j?0bM2_goafzoU<6a$;!g=1(iN#kRzHbMpJD(?6~kEuq!b(Qry`-hO8~ekb<+I_ z2!$B%=(T7=E?p3umo07exbtS+m)gMl>2^+|I(}@i&SLkEO8J-LWQwb%O3Hi!jmihw zBJ+0w^fRZxV`vBBPi69gNRI($GoJ5owzyay`61A8Pa6fwo$Kkg{k62F5;$_i7TGq` z>whZq-uq0U-%ijdyYB#$T2Vo*(MVGC9%zC$vah*M(`ht~SSS?5Oj&@rSPl~qZqEm? zu`k$TdHi!e&)`^smO+mFjr<4cf2Dy~odBjL=$6l0`kbWzIYz@M`x;O2GcXR$+Dw

ZHg=XKGnyz#W{S-Q_n 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℞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

{j#rU46Ld#aIp<_Lv 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

@~Wa{G6J{dG;yMjnwIZVM1+IipLwfxxP1Kt2bvN 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 + Easy to Use + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/static/img/undraw_docusaurus_react.svg b/docs/static/img/undraw_docusaurus_react.svg new file mode 100644 index 00000000..94b5cf08 --- /dev/null +++ b/docs/static/img/undraw_docusaurus_react.svg @@ -0,0 +1,170 @@ + + Powered by React + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/static/img/undraw_docusaurus_tree.svg b/docs/static/img/undraw_docusaurus_tree.svg new file mode 100644 index 00000000..d9161d33 --- /dev/null +++ b/docs/static/img/undraw_docusaurus_tree.svg @@ -0,0 +1,40 @@ + + Focus on What Matters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/static/openapi.json b/docs/static/openapi.json new file mode 100644 index 00000000..2e06486e --- /dev/null +++ b/docs/static/openapi.json @@ -0,0 +1,3456 @@ +{ + "openapi": "3.1.0", + "info": { + "title": "FastAPI", + "version": "0.1.0" + }, + "paths": { + "/metrics": { + "get": { + "summary": "Metrics", + "description": "Endpoint that serves Prometheus metrics.", + "operationId": "metrics", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + } + } + } + }, + "/v1/meetings/{meeting_id}/consent": { + "post": { + "summary": "Meeting Audio Consent", + "operationId": "v1_meeting_audio_consent", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "meeting_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Meeting Id" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MeetingConsentRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/rooms": { + "get": { + "summary": "Rooms List", + "operationId": "v1_rooms_list", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "page", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "description": "Page number", + "default": 1, + "title": "Page" + }, + "description": "Page number" + }, + { + "name": "size", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "maximum": 100, + "minimum": 1, + "description": "Page size", + "default": 50, + "title": "Size" + }, + "description": "Page size" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Page_Room_" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "post": { + "summary": "Rooms Create", + "operationId": "v1_rooms_create", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateRoom" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Room" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/rooms/{room_id}": { + "patch": { + "summary": "Rooms Update", + "operationId": "v1_rooms_update", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "room_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Room Id" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateRoom" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Room" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "delete": { + "summary": "Rooms Delete", + "operationId": "v1_rooms_delete", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "room_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Room Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeletionStatus" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/rooms/{room_name}/meeting": { + "post": { + "summary": "Rooms Create Meeting", + "operationId": "v1_rooms_create_meeting", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "room_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Room Name" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Meeting" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/transcripts": { + "get": { + "summary": "Transcripts List", + "operationId": "v1_transcripts_list", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "source_kind", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/SourceKind" + }, + { + "type": "null" + } + ], + "title": "Source Kind" + } + }, + { + "name": "room_id", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Room Id" + } + }, + { + "name": "search_term", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Search Term" + } + }, + { + "name": "page", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "description": "Page number", + "default": 1, + "title": "Page" + }, + "description": "Page number" + }, + { + "name": "size", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "maximum": 100, + "minimum": 1, + "description": "Page size", + "default": 50, + "title": "Size" + }, + "description": "Page size" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Page_GetTranscriptMinimal_" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "post": { + "summary": "Transcripts Create", + "operationId": "v1_transcripts_create", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateTranscript" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetTranscript" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/transcripts/search": { + "get": { + "summary": "Transcripts Search", + "description": "Full-text search across transcript titles and content.", + "operationId": "v1_transcripts_search", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "q", + "in": "query", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "description": "Search query text", + "title": "Q" + }, + "description": "Search query text" + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "maximum": 100, + "minimum": 1, + "description": "Results per page", + "default": 20, + "title": "Limit" + }, + "description": "Results per page" + }, + { + "name": "offset", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "description": "Number of results to skip", + "default": 0, + "title": "Offset" + }, + "description": "Number of results to skip" + }, + { + "name": "room_id", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Room Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchResponse" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/transcripts/{transcript_id}": { + "get": { + "summary": "Transcript Get", + "operationId": "v1_transcript_get", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "transcript_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Transcript Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetTranscript" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "patch": { + "summary": "Transcript Update", + "operationId": "v1_transcript_update", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "transcript_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Transcript Id" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateTranscript" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetTranscript" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "delete": { + "summary": "Transcript Delete", + "operationId": "v1_transcript_delete", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "transcript_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Transcript Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeletionStatus" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/transcripts/{transcript_id}/topics": { + "get": { + "summary": "Transcript Get Topics", + "operationId": "v1_transcript_get_topics", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "transcript_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Transcript Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetTranscriptTopic" + }, + "title": "Response Transcript Get Topics V1 Transcripts Transcript Id Topics Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/transcripts/{transcript_id}/topics/with-words": { + "get": { + "summary": "Transcript Get Topics With Words", + "operationId": "v1_transcript_get_topics_with_words", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "transcript_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Transcript Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetTranscriptTopicWithWords" + }, + "title": "Response Transcript Get Topics With Words V1 Transcripts Transcript Id Topics With Words Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/transcripts/{transcript_id}/topics/{topic_id}/words-per-speaker": { + "get": { + "summary": "Transcript Get Topics With Words Per Speaker", + "operationId": "v1_transcript_get_topics_with_words_per_speaker", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "transcript_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Transcript Id" + } + }, + { + "name": "topic_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Topic Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetTranscriptTopicWithWordsPerSpeaker" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/transcripts/{transcript_id}/zulip": { + "post": { + "summary": "Transcript Post To Zulip", + "operationId": "v1_transcript_post_to_zulip", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "transcript_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Transcript Id" + } + }, + { + "name": "stream", + "in": "query", + "required": true, + "schema": { + "type": "string", + "title": "Stream" + } + }, + { + "name": "topic", + "in": "query", + "required": true, + "schema": { + "type": "string", + "title": "Topic" + } + }, + { + "name": "include_topics", + "in": "query", + "required": true, + "schema": { + "type": "boolean", + "title": "Include Topics" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/transcripts/{transcript_id}/audio/mp3": { + "head": { + "summary": "Transcript Get Audio Mp3", + "operationId": "v1_transcript_head_audio_mp3", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "transcript_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Transcript Id" + } + }, + { + "name": "token", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "get": { + "summary": "Transcript Get Audio Mp3", + "operationId": "v1_transcript_get_audio_mp3", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "transcript_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Transcript Id" + } + }, + { + "name": "token", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/transcripts/{transcript_id}/audio/waveform": { + "get": { + "summary": "Transcript Get Audio Waveform", + "operationId": "v1_transcript_get_audio_waveform", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "transcript_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Transcript Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudioWaveform" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/transcripts/{transcript_id}/participants": { + "get": { + "summary": "Transcript Get Participants", + "operationId": "v1_transcript_get_participants", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "transcript_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Transcript Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Participant" + }, + "title": "Response Transcript Get Participants V1 Transcripts Transcript Id Participants Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "post": { + "summary": "Transcript Add Participant", + "operationId": "v1_transcript_add_participant", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "transcript_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Transcript Id" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateParticipant" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Participant" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/transcripts/{transcript_id}/participants/{participant_id}": { + "get": { + "summary": "Transcript Get Participant", + "operationId": "v1_transcript_get_participant", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "transcript_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Transcript Id" + } + }, + { + "name": "participant_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Participant Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Participant" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "patch": { + "summary": "Transcript Update Participant", + "operationId": "v1_transcript_update_participant", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "transcript_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Transcript Id" + } + }, + { + "name": "participant_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Participant Id" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateParticipant" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Participant" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "delete": { + "summary": "Transcript Delete Participant", + "operationId": "v1_transcript_delete_participant", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "transcript_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Transcript Id" + } + }, + { + "name": "participant_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Participant Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeletionStatus" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/transcripts/{transcript_id}/speaker/assign": { + "patch": { + "summary": "Transcript Assign Speaker", + "operationId": "v1_transcript_assign_speaker", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "transcript_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Transcript Id" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SpeakerAssignment" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SpeakerAssignmentStatus" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/transcripts/{transcript_id}/speaker/merge": { + "patch": { + "summary": "Transcript Merge Speaker", + "operationId": "v1_transcript_merge_speaker", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "transcript_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Transcript Id" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SpeakerMerge" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SpeakerAssignmentStatus" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/transcripts/{transcript_id}/record/upload": { + "post": { + "summary": "Transcript Record Upload", + "operationId": "v1_transcript_record_upload", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "transcript_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Transcript Id" + } + }, + { + "name": "chunk_number", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "title": "Chunk Number" + } + }, + { + "name": "total_chunks", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "title": "Total Chunks" + } + } + ], + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "$ref": "#/components/schemas/Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/transcripts/{transcript_id}/events": { + "get": { + "summary": "Transcript Get Websocket Events", + "operationId": "v1_transcript_get_websocket_events", + "parameters": [ + { + "name": "transcript_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Transcript Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/transcripts/{transcript_id}/record/webrtc": { + "post": { + "summary": "Transcript Record Webrtc", + "operationId": "v1_transcript_record_webrtc", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "transcript_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Transcript Id" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RtcOffer" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/transcripts/{transcript_id}/process": { + "post": { + "summary": "Transcript Process", + "operationId": "v1_transcript_process", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "transcript_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Transcript Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/me": { + "get": { + "summary": "User Me", + "operationId": "v1_user_me", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/UserInfo" + }, + { + "type": "null" + } + ], + "title": "Response User Me V1 Me Get" + } + } + } + } + }, + "security": [ + { + "OAuth2PasswordBearer": [] + } + ] + } + }, + "/v1/zulip/streams": { + "get": { + "summary": "Zulip Get Streams", + "description": "Get all Zulip streams.", + "operationId": "v1_zulip_get_streams", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/Stream" + }, + "type": "array", + "title": "Response Zulip Get Streams V1 Zulip Streams Get" + } + } + } + } + }, + "security": [ + { + "OAuth2PasswordBearer": [] + } + ] + } + }, + "/v1/zulip/streams/{stream_id}/topics": { + "get": { + "summary": "Zulip Get Topics", + "description": "Get all topics for a specific Zulip stream.", + "operationId": "v1_zulip_get_topics", + "security": [ + { + "OAuth2PasswordBearer": [] + } + ], + "parameters": [ + { + "name": "stream_id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "title": "Stream Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Topic" + }, + "title": "Response Zulip Get Topics V1 Zulip Streams Stream Id Topics Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/whereby": { + "post": { + "summary": "Whereby Webhook", + "operationId": "v1_whereby_webhook", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WherebyWebhookEvent" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + } + }, + "components": { + "schemas": { + "AudioWaveform": { + "properties": { + "data": { + "items": { + "type": "number" + }, + "type": "array", + "title": "Data" + } + }, + "type": "object", + "required": [ + "data" + ], + "title": "AudioWaveform" + }, + "Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post": { + "properties": { + "chunk": { + "type": "string", + "format": "binary", + "title": "Chunk" + } + }, + "type": "object", + "required": [ + "chunk" + ], + "title": "Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post" + }, + "CreateParticipant": { + "properties": { + "speaker": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Speaker" + }, + "name": { + "type": "string", + "title": "Name" + } + }, + "type": "object", + "required": [ + "name" + ], + "title": "CreateParticipant" + }, + "CreateRoom": { + "properties": { + "name": { + "type": "string", + "title": "Name" + }, + "zulip_auto_post": { + "type": "boolean", + "title": "Zulip Auto Post" + }, + "zulip_stream": { + "type": "string", + "title": "Zulip Stream" + }, + "zulip_topic": { + "type": "string", + "title": "Zulip Topic" + }, + "is_locked": { + "type": "boolean", + "title": "Is Locked" + }, + "room_mode": { + "type": "string", + "title": "Room Mode" + }, + "recording_type": { + "type": "string", + "title": "Recording Type" + }, + "recording_trigger": { + "type": "string", + "title": "Recording Trigger" + }, + "is_shared": { + "type": "boolean", + "title": "Is Shared" + } + }, + "type": "object", + "required": [ + "name", + "zulip_auto_post", + "zulip_stream", + "zulip_topic", + "is_locked", + "room_mode", + "recording_type", + "recording_trigger", + "is_shared" + ], + "title": "CreateRoom" + }, + "CreateTranscript": { + "properties": { + "name": { + "type": "string", + "title": "Name" + }, + "source_language": { + "type": "string", + "title": "Source Language", + "default": "en" + }, + "target_language": { + "type": "string", + "title": "Target Language", + "default": "en" + } + }, + "type": "object", + "required": [ + "name" + ], + "title": "CreateTranscript" + }, + "DeletionStatus": { + "properties": { + "status": { + "type": "string", + "title": "Status" + } + }, + "type": "object", + "required": [ + "status" + ], + "title": "DeletionStatus" + }, + "GetTranscript": { + "properties": { + "id": { + "type": "string", + "title": "Id" + }, + "user_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "User Id" + }, + "name": { + "type": "string", + "title": "Name" + }, + "status": { + "type": "string", + "title": "Status" + }, + "locked": { + "type": "boolean", + "title": "Locked" + }, + "duration": { + "type": "number", + "title": "Duration" + }, + "title": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Title" + }, + "short_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Short Summary" + }, + "long_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Long Summary" + }, + "created_at": { + "type": "string", + "title": "Created At" + }, + "share_mode": { + "type": "string", + "title": "Share Mode", + "default": "private" + }, + "source_language": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Source Language" + }, + "target_language": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Target Language" + }, + "reviewed": { + "type": "boolean", + "title": "Reviewed" + }, + "meeting_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Meeting Id" + }, + "source_kind": { + "$ref": "#/components/schemas/SourceKind" + }, + "room_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Room Id" + }, + "room_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Room Name" + }, + "audio_deleted": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Audio Deleted" + }, + "participants": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/TranscriptParticipant" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Participants" + } + }, + "type": "object", + "required": [ + "id", + "user_id", + "name", + "status", + "locked", + "duration", + "title", + "short_summary", + "long_summary", + "created_at", + "source_language", + "target_language", + "reviewed", + "meeting_id", + "source_kind", + "participants" + ], + "title": "GetTranscript" + }, + "GetTranscriptMinimal": { + "properties": { + "id": { + "type": "string", + "title": "Id" + }, + "user_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "User Id" + }, + "name": { + "type": "string", + "title": "Name" + }, + "status": { + "type": "string", + "title": "Status" + }, + "locked": { + "type": "boolean", + "title": "Locked" + }, + "duration": { + "type": "number", + "title": "Duration" + }, + "title": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Title" + }, + "short_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Short Summary" + }, + "long_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Long Summary" + }, + "created_at": { + "type": "string", + "title": "Created At" + }, + "share_mode": { + "type": "string", + "title": "Share Mode", + "default": "private" + }, + "source_language": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Source Language" + }, + "target_language": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Target Language" + }, + "reviewed": { + "type": "boolean", + "title": "Reviewed" + }, + "meeting_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Meeting Id" + }, + "source_kind": { + "$ref": "#/components/schemas/SourceKind" + }, + "room_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Room Id" + }, + "room_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Room Name" + }, + "audio_deleted": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Audio Deleted" + } + }, + "type": "object", + "required": [ + "id", + "user_id", + "name", + "status", + "locked", + "duration", + "title", + "short_summary", + "long_summary", + "created_at", + "source_language", + "target_language", + "reviewed", + "meeting_id", + "source_kind" + ], + "title": "GetTranscriptMinimal" + }, + "GetTranscriptSegmentTopic": { + "properties": { + "text": { + "type": "string", + "title": "Text" + }, + "start": { + "type": "number", + "title": "Start" + }, + "speaker": { + "type": "integer", + "title": "Speaker" + } + }, + "type": "object", + "required": [ + "text", + "start", + "speaker" + ], + "title": "GetTranscriptSegmentTopic" + }, + "GetTranscriptTopic": { + "properties": { + "id": { + "type": "string", + "title": "Id" + }, + "title": { + "type": "string", + "title": "Title" + }, + "summary": { + "type": "string", + "title": "Summary" + }, + "timestamp": { + "type": "number", + "title": "Timestamp" + }, + "duration": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Duration" + }, + "transcript": { + "type": "string", + "title": "Transcript" + }, + "segments": { + "items": { + "$ref": "#/components/schemas/GetTranscriptSegmentTopic" + }, + "type": "array", + "title": "Segments", + "default": [] + } + }, + "type": "object", + "required": [ + "id", + "title", + "summary", + "timestamp", + "duration", + "transcript" + ], + "title": "GetTranscriptTopic" + }, + "GetTranscriptTopicWithWords": { + "properties": { + "id": { + "type": "string", + "title": "Id" + }, + "title": { + "type": "string", + "title": "Title" + }, + "summary": { + "type": "string", + "title": "Summary" + }, + "timestamp": { + "type": "number", + "title": "Timestamp" + }, + "duration": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Duration" + }, + "transcript": { + "type": "string", + "title": "Transcript" + }, + "segments": { + "items": { + "$ref": "#/components/schemas/GetTranscriptSegmentTopic" + }, + "type": "array", + "title": "Segments", + "default": [] + }, + "words": { + "items": { + "$ref": "#/components/schemas/Word" + }, + "type": "array", + "title": "Words", + "default": [] + } + }, + "type": "object", + "required": [ + "id", + "title", + "summary", + "timestamp", + "duration", + "transcript" + ], + "title": "GetTranscriptTopicWithWords" + }, + "GetTranscriptTopicWithWordsPerSpeaker": { + "properties": { + "id": { + "type": "string", + "title": "Id" + }, + "title": { + "type": "string", + "title": "Title" + }, + "summary": { + "type": "string", + "title": "Summary" + }, + "timestamp": { + "type": "number", + "title": "Timestamp" + }, + "duration": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Duration" + }, + "transcript": { + "type": "string", + "title": "Transcript" + }, + "segments": { + "items": { + "$ref": "#/components/schemas/GetTranscriptSegmentTopic" + }, + "type": "array", + "title": "Segments", + "default": [] + }, + "words_per_speaker": { + "items": { + "$ref": "#/components/schemas/SpeakerWords" + }, + "type": "array", + "title": "Words Per Speaker", + "default": [] + } + }, + "type": "object", + "required": [ + "id", + "title", + "summary", + "timestamp", + "duration", + "transcript" + ], + "title": "GetTranscriptTopicWithWordsPerSpeaker" + }, + "HTTPValidationError": { + "properties": { + "detail": { + "items": { + "$ref": "#/components/schemas/ValidationError" + }, + "type": "array", + "title": "Detail" + } + }, + "type": "object", + "title": "HTTPValidationError" + }, + "Meeting": { + "properties": { + "id": { + "type": "string", + "title": "Id" + }, + "room_name": { + "type": "string", + "title": "Room Name" + }, + "room_url": { + "type": "string", + "title": "Room Url" + }, + "host_room_url": { + "type": "string", + "title": "Host Room Url" + }, + "start_date": { + "type": "string", + "format": "date-time", + "title": "Start Date" + }, + "end_date": { + "type": "string", + "format": "date-time", + "title": "End Date" + }, + "recording_type": { + "type": "string", + "enum": [ + "none", + "local", + "cloud" + ], + "title": "Recording Type", + "default": "cloud" + } + }, + "type": "object", + "required": [ + "id", + "room_name", + "room_url", + "host_room_url", + "start_date", + "end_date" + ], + "title": "Meeting" + }, + "MeetingConsentRequest": { + "properties": { + "consent_given": { + "type": "boolean", + "title": "Consent Given" + } + }, + "type": "object", + "required": [ + "consent_given" + ], + "title": "MeetingConsentRequest" + }, + "Page_GetTranscriptMinimal_": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/GetTranscriptMinimal" + }, + "type": "array", + "title": "Items" + }, + "total": { + "anyOf": [ + { + "type": "integer", + "minimum": 0.0 + }, + { + "type": "null" + } + ], + "title": "Total" + }, + "page": { + "anyOf": [ + { + "type": "integer", + "minimum": 1.0 + }, + { + "type": "null" + } + ], + "title": "Page" + }, + "size": { + "anyOf": [ + { + "type": "integer", + "minimum": 1.0 + }, + { + "type": "null" + } + ], + "title": "Size" + }, + "pages": { + "anyOf": [ + { + "type": "integer", + "minimum": 0.0 + }, + { + "type": "null" + } + ], + "title": "Pages" + } + }, + "type": "object", + "required": [ + "items", + "page", + "size" + ], + "title": "Page[GetTranscriptMinimal]" + }, + "Page_Room_": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/Room" + }, + "type": "array", + "title": "Items" + }, + "total": { + "anyOf": [ + { + "type": "integer", + "minimum": 0.0 + }, + { + "type": "null" + } + ], + "title": "Total" + }, + "page": { + "anyOf": [ + { + "type": "integer", + "minimum": 1.0 + }, + { + "type": "null" + } + ], + "title": "Page" + }, + "size": { + "anyOf": [ + { + "type": "integer", + "minimum": 1.0 + }, + { + "type": "null" + } + ], + "title": "Size" + }, + "pages": { + "anyOf": [ + { + "type": "integer", + "minimum": 0.0 + }, + { + "type": "null" + } + ], + "title": "Pages" + } + }, + "type": "object", + "required": [ + "items", + "page", + "size" + ], + "title": "Page[Room]" + }, + "Participant": { + "properties": { + "id": { + "type": "string", + "title": "Id" + }, + "speaker": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Speaker" + }, + "name": { + "type": "string", + "title": "Name" + } + }, + "type": "object", + "required": [ + "id", + "speaker", + "name" + ], + "title": "Participant" + }, + "Room": { + "properties": { + "id": { + "type": "string", + "title": "Id" + }, + "name": { + "type": "string", + "title": "Name" + }, + "user_id": { + "type": "string", + "title": "User Id" + }, + "created_at": { + "type": "string", + "format": "date-time", + "title": "Created At" + }, + "zulip_auto_post": { + "type": "boolean", + "title": "Zulip Auto Post" + }, + "zulip_stream": { + "type": "string", + "title": "Zulip Stream" + }, + "zulip_topic": { + "type": "string", + "title": "Zulip Topic" + }, + "is_locked": { + "type": "boolean", + "title": "Is Locked" + }, + "room_mode": { + "type": "string", + "title": "Room Mode" + }, + "recording_type": { + "type": "string", + "title": "Recording Type" + }, + "recording_trigger": { + "type": "string", + "title": "Recording Trigger" + }, + "is_shared": { + "type": "boolean", + "title": "Is Shared" + } + }, + "type": "object", + "required": [ + "id", + "name", + "user_id", + "created_at", + "zulip_auto_post", + "zulip_stream", + "zulip_topic", + "is_locked", + "room_mode", + "recording_type", + "recording_trigger", + "is_shared" + ], + "title": "Room" + }, + "RtcOffer": { + "properties": { + "sdp": { + "type": "string", + "title": "Sdp" + }, + "type": { + "type": "string", + "title": "Type" + } + }, + "type": "object", + "required": [ + "sdp", + "type" + ], + "title": "RtcOffer" + }, + "SearchResponse": { + "properties": { + "results": { + "items": { + "$ref": "#/components/schemas/SearchResult" + }, + "type": "array", + "title": "Results" + }, + "total": { + "type": "integer", + "minimum": 0.0, + "title": "Total", + "description": "Total number of search results" + }, + "query": { + "type": "string", + "minLength": 1, + "title": "Query", + "description": "Search query text" + }, + "limit": { + "type": "integer", + "maximum": 100.0, + "minimum": 1.0, + "title": "Limit", + "description": "Results per page" + }, + "offset": { + "type": "integer", + "minimum": 0.0, + "title": "Offset", + "description": "Number of results to skip" + } + }, + "type": "object", + "required": [ + "results", + "total", + "query", + "limit", + "offset" + ], + "title": "SearchResponse" + }, + "SearchResult": { + "properties": { + "id": { + "type": "string", + "minLength": 1, + "title": "Id" + }, + "title": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Title" + }, + "user_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "User Id" + }, + "room_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Room Id" + }, + "created_at": { + "type": "string", + "title": "Created At" + }, + "status": { + "type": "string", + "minLength": 1, + "title": "Status" + }, + "rank": { + "type": "number", + "maximum": 1.0, + "minimum": 0.0, + "title": "Rank" + }, + "duration": { + "anyOf": [ + { + "type": "number", + "minimum": 0.0 + }, + { + "type": "null" + } + ], + "title": "Duration", + "description": "Duration in seconds" + }, + "search_snippets": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Search Snippets", + "description": "Text snippets around search matches" + } + }, + "type": "object", + "required": [ + "id", + "created_at", + "status", + "rank", + "duration", + "search_snippets" + ], + "title": "SearchResult", + "description": "Public search result model with computed fields." + }, + "SourceKind": { + "type": "string", + "enum": [ + "room", + "live", + "file" + ], + "title": "SourceKind" + }, + "SpeakerAssignment": { + "properties": { + "speaker": { + "anyOf": [ + { + "type": "integer", + "minimum": 0.0 + }, + { + "type": "null" + } + ], + "title": "Speaker" + }, + "participant": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Participant" + }, + "timestamp_from": { + "type": "number", + "title": "Timestamp From" + }, + "timestamp_to": { + "type": "number", + "title": "Timestamp To" + } + }, + "type": "object", + "required": [ + "timestamp_from", + "timestamp_to" + ], + "title": "SpeakerAssignment" + }, + "SpeakerAssignmentStatus": { + "properties": { + "status": { + "type": "string", + "title": "Status" + } + }, + "type": "object", + "required": [ + "status" + ], + "title": "SpeakerAssignmentStatus" + }, + "SpeakerMerge": { + "properties": { + "speaker_from": { + "type": "integer", + "title": "Speaker From" + }, + "speaker_to": { + "type": "integer", + "title": "Speaker To" + } + }, + "type": "object", + "required": [ + "speaker_from", + "speaker_to" + ], + "title": "SpeakerMerge" + }, + "SpeakerWords": { + "properties": { + "speaker": { + "type": "integer", + "title": "Speaker" + }, + "words": { + "items": { + "$ref": "#/components/schemas/Word" + }, + "type": "array", + "title": "Words" + } + }, + "type": "object", + "required": [ + "speaker", + "words" + ], + "title": "SpeakerWords" + }, + "Stream": { + "properties": { + "stream_id": { + "type": "integer", + "title": "Stream Id" + }, + "name": { + "type": "string", + "title": "Name" + } + }, + "type": "object", + "required": [ + "stream_id", + "name" + ], + "title": "Stream" + }, + "Topic": { + "properties": { + "name": { + "type": "string", + "title": "Name" + } + }, + "type": "object", + "required": [ + "name" + ], + "title": "Topic" + }, + "TranscriptParticipant": { + "properties": { + "id": { + "type": "string", + "title": "Id" + }, + "speaker": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Speaker" + }, + "name": { + "type": "string", + "title": "Name" + } + }, + "type": "object", + "required": [ + "speaker", + "name" + ], + "title": "TranscriptParticipant" + }, + "UpdateParticipant": { + "properties": { + "speaker": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Speaker" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Name" + } + }, + "type": "object", + "title": "UpdateParticipant" + }, + "UpdateRoom": { + "properties": { + "name": { + "type": "string", + "title": "Name" + }, + "zulip_auto_post": { + "type": "boolean", + "title": "Zulip Auto Post" + }, + "zulip_stream": { + "type": "string", + "title": "Zulip Stream" + }, + "zulip_topic": { + "type": "string", + "title": "Zulip Topic" + }, + "is_locked": { + "type": "boolean", + "title": "Is Locked" + }, + "room_mode": { + "type": "string", + "title": "Room Mode" + }, + "recording_type": { + "type": "string", + "title": "Recording Type" + }, + "recording_trigger": { + "type": "string", + "title": "Recording Trigger" + }, + "is_shared": { + "type": "boolean", + "title": "Is Shared" + } + }, + "type": "object", + "required": [ + "name", + "zulip_auto_post", + "zulip_stream", + "zulip_topic", + "is_locked", + "room_mode", + "recording_type", + "recording_trigger", + "is_shared" + ], + "title": "UpdateRoom" + }, + "UpdateTranscript": { + "properties": { + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Name" + }, + "locked": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Locked" + }, + "title": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Title" + }, + "short_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Short Summary" + }, + "long_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Long Summary" + }, + "share_mode": { + "anyOf": [ + { + "type": "string", + "enum": [ + "public", + "semi-private", + "private" + ] + }, + { + "type": "null" + } + ], + "title": "Share Mode" + }, + "participants": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/TranscriptParticipant" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Participants" + }, + "reviewed": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Reviewed" + }, + "audio_deleted": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Audio Deleted" + } + }, + "type": "object", + "title": "UpdateTranscript" + }, + "UserInfo": { + "properties": { + "sub": { + "type": "string", + "title": "Sub" + }, + "email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Email" + }, + "email_verified": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Email Verified" + } + }, + "type": "object", + "required": [ + "sub", + "email", + "email_verified" + ], + "title": "UserInfo" + }, + "ValidationError": { + "properties": { + "loc": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + }, + "type": "array", + "title": "Location" + }, + "msg": { + "type": "string", + "title": "Message" + }, + "type": { + "type": "string", + "title": "Error Type" + } + }, + "type": "object", + "required": [ + "loc", + "msg", + "type" + ], + "title": "ValidationError" + }, + "WherebyWebhookEvent": { + "properties": { + "apiVersion": { + "type": "string", + "title": "Apiversion" + }, + "id": { + "type": "string", + "title": "Id" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "title": "Createdat" + }, + "type": { + "type": "string", + "title": "Type" + }, + "data": { + "additionalProperties": true, + "type": "object", + "title": "Data" + } + }, + "type": "object", + "required": [ + "apiVersion", + "id", + "createdAt", + "type", + "data" + ], + "title": "WherebyWebhookEvent" + }, + "Word": { + "properties": { + "text": { + "type": "string", + "title": "Text" + }, + "start": { + "type": "number", + "minimum": 0.0, + "title": "Start", + "description": "Time in seconds with float part" + }, + "end": { + "type": "number", + "minimum": 0.0, + "title": "End", + "description": "Time in seconds with float part" + }, + "speaker": { + "type": "integer", + "title": "Speaker", + "default": 0 + } + }, + "type": "object", + "required": [ + "text", + "start", + "end" + ], + "title": "Word" + } + }, + "securitySchemes": { + "OAuth2PasswordBearer": { + "type": "oauth2", + "flows": { + "password": { + "scopes": {}, + "tokenUrl": "token" + } + } + } + } + } +} diff --git a/docs/tsconfig.json b/docs/tsconfig.json new file mode 100644 index 00000000..920d7a65 --- /dev/null +++ b/docs/tsconfig.json @@ -0,0 +1,8 @@ +{ + // This file is not used in compilation. It is here just for a nice editor experience. + "extends": "@docusaurus/tsconfig", + "compilerOptions": { + "baseUrl": "." + }, + "exclude": [".docusaurus", "build"] +} diff --git a/gpu/modal_deployments/deploy-all.sh b/gpu/modal_deployments/deploy-all.sh new file mode 100755 index 00000000..42e589a2 --- /dev/null +++ b/gpu/modal_deployments/deploy-all.sh @@ -0,0 +1,150 @@ +#!/bin/bash +set -e + +# --- Usage --- +usage() { + echo "Usage: $0 [OPTIONS]" + echo "" + echo "Options:" + echo " --hf-token TOKEN HuggingFace token" + echo " --help Show this help message" + echo "" + echo "Examples:" + echo " $0 # Interactive mode" + echo " $0 --hf-token hf_xxxxx # Non-interactive mode" + echo "" + exit 0 +} + +# --- Parse Arguments --- +HF_TOKEN="" +while [[ $# -gt 0 ]]; do + case $1 in + --hf-token) + HF_TOKEN="$2" + shift 2 + ;; + --help) + usage + ;; + *) + echo "Unknown option: $1" + usage + ;; + esac +done + +echo "==========================================" +echo "Reflector GPU Functions Deployment" +echo "==========================================" +echo "" + +# --- Check Dependencies --- +if ! command -v modal &> /dev/null; then + echo "Error: Modal CLI not installed." + echo " Install with: pip install modal" + exit 1 +fi + +if ! command -v openssl &> /dev/null; then + echo "Error: openssl not found." + echo " Mac: brew install openssl" + echo " Ubuntu: sudo apt-get install openssl" + exit 1 +fi + +# Check Modal authentication +if ! modal profile current &> /dev/null; then + echo "Error: Not authenticated with Modal." + echo " Run: modal setup" + exit 1 +fi + +# --- HuggingFace Token Setup --- +if [ -z "$HF_TOKEN" ]; then + echo "HuggingFace token required for Pyannote diarization model." + echo "1. Create account at https://huggingface.co" + echo "2. Accept license at https://huggingface.co/pyannote/speaker-diarization-3.1" + echo "3. Generate token at https://huggingface.co/settings/tokens" + echo "" + read -p "Enter your HuggingFace token: " HF_TOKEN +fi + +if [ -z "$HF_TOKEN" ]; then + echo "Error: HuggingFace token is required for diarization" + exit 1 +fi + +# Basic token format validation +if [[ ! "$HF_TOKEN" =~ ^hf_ ]]; then + echo "Warning: HuggingFace tokens usually start with 'hf_'" + if [ -t 0 ]; then + read -p "Continue anyway? (y/n): " confirm + if [ "$confirm" != "y" ]; then + exit 1 + fi + else + echo "Non-interactive mode: proceeding anyway" + fi +fi + +# --- Auto-generate reflector<->GPU API Key --- +echo "" +echo "Generating API key for GPU services..." +API_KEY=$(openssl rand -hex 32) + +# --- Create Modal Secrets --- +echo "Creating Modal secrets..." + +# Create or update hf_token secret (delete first if exists) +if modal secret list 2>/dev/null | grep -q "hf_token"; then + echo " -> Recreating secret: hf_token" + modal secret delete hf_token --yes 2>/dev/null || true +fi +echo " -> Creating secret: hf_token" +modal secret create hf_token HF_TOKEN="$HF_TOKEN" + +# Create or update reflector-gpu secret (delete first if exists) +if modal secret list 2>/dev/null | grep -q "reflector-gpu"; then + echo " -> Recreating secret: reflector-gpu" + modal secret delete reflector-gpu --yes 2>/dev/null || true +fi +echo " -> Creating secret: reflector-gpu" +modal secret create reflector-gpu REFLECTOR_GPU_APIKEY="$API_KEY" + +# --- Deploy Functions --- +echo "" +echo "Deploying transcriber (Whisper)..." +TRANSCRIBER_URL=$(modal deploy reflector_transcriber.py 2>&1 | grep -o 'https://[^ ]*web.modal.run' | head -1) +if [ -z "$TRANSCRIBER_URL" ]; then + echo "Error: Failed to deploy transcriber. Check Modal dashboard for details." + exit 1 +fi +echo " -> $TRANSCRIBER_URL" + +echo "" +echo "Deploying diarizer (Pyannote)..." +DIARIZER_URL=$(modal deploy reflector_diarizer.py 2>&1 | grep -o 'https://[^ ]*web.modal.run' | head -1) +if [ -z "$DIARIZER_URL" ]; then + echo "Error: Failed to deploy diarizer. Check Modal dashboard for details." + exit 1 +fi +echo " -> $DIARIZER_URL" + +# --- Output Configuration --- +echo "" +echo "==========================================" +echo "Deployment complete!" +echo "==========================================" +echo "" +echo "Copy these values to your server's server/.env file:" +echo "" +echo "# --- Modal GPU Configuration ---" +echo "TRANSCRIPT_BACKEND=modal" +echo "TRANSCRIPT_URL=$TRANSCRIBER_URL" +echo "TRANSCRIPT_MODAL_API_KEY=$API_KEY" +echo "" +echo "DIARIZATION_BACKEND=modal" +echo "DIARIZATION_URL=$DIARIZER_URL" +echo "DIARIZATION_MODAL_API_KEY=$API_KEY" +echo "# --- End Modal Configuration ---" diff --git a/gpu/modal_deployments/reflector_diarizer.py b/gpu/modal_deployments/reflector_diarizer.py index e9a4be46..816e17cf 100644 --- a/gpu/modal_deployments/reflector_diarizer.py +++ b/gpu/modal_deployments/reflector_diarizer.py @@ -24,6 +24,12 @@ app = modal.App(name="reflector-diarizer") upload_volume = modal.Volume.from_name("diarizer-uploads", create_if_missing=True) +# IMPORTANT: This function is duplicated in multiple files for deployment isolation. +# If you modify the audio format detection logic, you MUST update all copies: +# - gpu/self_hosted/app/utils.py +# - gpu/modal_deployments/reflector_transcriber.py (2 copies) +# - gpu/modal_deployments/reflector_transcriber_parakeet.py +# - gpu/modal_deployments/reflector_diarizer.py (this file) def detect_audio_format(url: str, headers: Mapping[str, str]) -> AudioFileExtension: parsed_url = urlparse(url) url_path = parsed_url.path @@ -39,6 +45,8 @@ def detect_audio_format(url: str, headers: Mapping[str, str]) -> AudioFileExtens return AudioFileExtension("wav") if "audio/mp4" in content_type: return AudioFileExtension("mp4") + if "audio/webm" in content_type or "video/webm" in content_type: + return AudioFileExtension("webm") raise ValueError( f"Unsupported audio format for URL: {url}. " @@ -105,7 +113,7 @@ def download_pyannote_audio(): diarizer_image = ( - modal.Image.debian_slim(python_version="3.10.8") + modal.Image.debian_slim(python_version="3.10") .pip_install( "pyannote.audio==3.1.0", "requests", @@ -116,7 +124,7 @@ diarizer_image = ( "transformers==4.34.0", "sentencepiece", "protobuf", - "numpy", + "numpy<2", "huggingface_hub", "hf-transfer", ) diff --git a/gpu/modal_deployments/reflector_transcriber.py b/gpu/modal_deployments/reflector_transcriber.py index 3be25542..fbd41083 100644 --- a/gpu/modal_deployments/reflector_transcriber.py +++ b/gpu/modal_deployments/reflector_transcriber.py @@ -89,6 +89,7 @@ image = ( "torch==2.5.1", "faster-whisper==1.1.1", "fastapi==0.115.12", + "python-multipart", "requests", "librosa==0.10.1", "numpy<2", @@ -98,6 +99,12 @@ image = ( ) +# IMPORTANT: This function is duplicated in multiple files for deployment isolation. +# If you modify the audio format detection logic, you MUST update all copies: +# - gpu/self_hosted/app/utils.py +# - gpu/modal_deployments/reflector_transcriber.py (this file - 2 copies!) +# - gpu/modal_deployments/reflector_transcriber_parakeet.py +# - gpu/modal_deployments/reflector_diarizer.py def detect_audio_format(url: str, headers: Mapping[str, str]) -> AudioFileExtension: parsed_url = urlparse(url) url_path = parsed_url.path @@ -113,6 +120,8 @@ def detect_audio_format(url: str, headers: Mapping[str, str]) -> AudioFileExtens return AudioFileExtension("wav") if "audio/mp4" in content_type: return AudioFileExtension("mp4") + if "audio/webm" in content_type or "video/webm" in content_type: + return AudioFileExtension("webm") raise ValueError( f"Unsupported audio format for URL: {url}. " @@ -315,6 +324,11 @@ class TranscriberWhisperFile: import numpy as np from silero_vad import VADIterator + # IMPORTANT: This VAD segment logic is duplicated in multiple files for deployment isolation. + # If you modify this function, you MUST update all copies: + # - gpu/modal_deployments/reflector_transcriber.py (this file) + # - gpu/modal_deployments/reflector_transcriber_parakeet.py + # - gpu/self_hosted/app/services/transcriber.py def vad_segments( audio_array, sample_rate: int = SAMPLERATE, @@ -322,6 +336,7 @@ class TranscriberWhisperFile: ) -> Generator[TimeSegment, None, None]: """Generate speech segments as TimeSegment using Silero VAD.""" iterator = VADIterator(self.vad_model, sampling_rate=sample_rate) + audio_duration = len(audio_array) / float(SAMPLERATE) start = None for i in range(0, len(audio_array), window_size): chunk = audio_array[i : i + window_size] @@ -341,6 +356,9 @@ class TranscriberWhisperFile: start / float(SAMPLERATE), end / float(SAMPLERATE) ) start = None + # Handle case where audio ends while speech is still active + if start is not None: + yield TimeSegment(start / float(SAMPLERATE), audio_duration) iterator.reset_states() upload_volume.reload() @@ -406,6 +424,12 @@ class TranscriberWhisperFile: return {"text": " ".join(all_text), "words": all_words} +# IMPORTANT: This function is duplicated in multiple files for deployment isolation. +# If you modify the audio format detection logic, you MUST update all copies: +# - gpu/self_hosted/app/utils.py +# - gpu/modal_deployments/reflector_transcriber.py (this file - 2 copies!) +# - gpu/modal_deployments/reflector_transcriber_parakeet.py +# - gpu/modal_deployments/reflector_diarizer.py def detect_audio_format(url: str, headers: dict) -> str: from urllib.parse import urlparse @@ -423,6 +447,8 @@ def detect_audio_format(url: str, headers: dict) -> str: return "wav" if "audio/mp4" in content_type: return "mp4" + if "audio/webm" in content_type or "video/webm" in content_type: + return "webm" raise HTTPException( status_code=400, diff --git a/gpu/modal_deployments/reflector_transcriber_parakeet.py b/gpu/modal_deployments/reflector_transcriber_parakeet.py index 5f326b77..046f1a7c 100644 --- a/gpu/modal_deployments/reflector_transcriber_parakeet.py +++ b/gpu/modal_deployments/reflector_transcriber_parakeet.py @@ -90,6 +90,12 @@ image = ( ) +# IMPORTANT: This function is duplicated in multiple files for deployment isolation. +# If you modify the audio format detection logic, you MUST update all copies: +# - gpu/self_hosted/app/utils.py +# - gpu/modal_deployments/reflector_transcriber.py (2 copies) +# - gpu/modal_deployments/reflector_transcriber_parakeet.py (this file) +# - gpu/modal_deployments/reflector_diarizer.py def detect_audio_format(url: str, headers: Mapping[str, str]) -> AudioFileExtension: parsed_url = urlparse(url) url_path = parsed_url.path @@ -105,6 +111,8 @@ def detect_audio_format(url: str, headers: Mapping[str, str]) -> AudioFileExtens return AudioFileExtension("wav") if "audio/mp4" in content_type: return AudioFileExtension("mp4") + if "audio/webm" in content_type or "video/webm" in content_type: + return AudioFileExtension("webm") raise ValueError( f"Unsupported audio format for URL: {url}. " @@ -301,6 +309,11 @@ class TranscriberParakeetFile: audio_array, sample_rate = librosa.load(file_path, sr=SAMPLERATE, mono=True) return audio_array + # IMPORTANT: This VAD segment logic is duplicated in multiple files for deployment isolation. + # If you modify this function, you MUST update all copies: + # - gpu/modal_deployments/reflector_transcriber.py + # - gpu/modal_deployments/reflector_transcriber_parakeet.py (this file) + # - gpu/self_hosted/app/services/transcriber.py def vad_segment_generator( audio_array, ) -> Generator[TimeSegment, None, None]: diff --git a/gpu/modal_deployments/reflector_translator.py b/gpu/modal_deployments/reflector_translator.py index 844f5094..7b6244a3 100644 --- a/gpu/modal_deployments/reflector_translator.py +++ b/gpu/modal_deployments/reflector_translator.py @@ -103,7 +103,7 @@ def configure_seamless_m4t(): transcriber_image = ( - Image.debian_slim(python_version="3.10.8") + Image.debian_slim(python_version="3.10") .apt_install("git") .apt_install("wget") .apt_install("libsndfile-dev") @@ -119,6 +119,7 @@ transcriber_image = ( "fairseq2", "pyyaml", "hf-transfer~=0.1", + "pydantic", ) .run_function(install_seamless_communication) .run_function(download_seamlessm4t_model) diff --git a/gpu/self_hosted/DEV_SETUP.md b/gpu/self_hosted/DEV_SETUP.md new file mode 100644 index 00000000..9b76865c --- /dev/null +++ b/gpu/self_hosted/DEV_SETUP.md @@ -0,0 +1,137 @@ +# Local Development GPU Setup + +Run transcription and diarization locally for development/testing. + +> **For production deployment**, see the [Self-Hosted GPU Setup Guide](../../docs/docs/installation/self-hosted-gpu-setup.md). + +## Prerequisites + +1. **Python 3.12+** and **uv** package manager +2. **FFmpeg** installed and on PATH +3. **HuggingFace account** with access to pyannote models + +### Accept Pyannote Licenses (Required) + +Before first run, accept licenses for these gated models (logged into HuggingFace): +- https://hf.co/pyannote/speaker-diarization-3.1 +- https://hf.co/pyannote/segmentation-3.0 + +## Quick Start + +### 1. Install dependencies + +```bash +cd gpu/self_hosted +uv sync +``` + +### 2. Start the GPU service + +```bash +cd gpu/self_hosted +HF_TOKEN= \ +REFLECTOR_GPU_APIKEY=dev-key-12345 \ +.venv/bin/uvicorn main:app --host 0.0.0.0 --port 8000 +``` + +Note: The `.env` file is NOT auto-loaded. Pass env vars explicitly or use: +```bash +export HF_TOKEN= +export REFLECTOR_GPU_APIKEY=dev-key-12345 +.venv/bin/uvicorn main:app --host 0.0.0.0 --port 8000 +``` + +### 3. Configure Reflector to use local GPU + +Edit `server/.env`: + +```bash +# Transcription - local GPU service +TRANSCRIPT_BACKEND=modal +TRANSCRIPT_URL=http://host.docker.internal:8000 +TRANSCRIPT_MODAL_API_KEY=dev-key-12345 + +# Diarization - local GPU service +DIARIZATION_BACKEND=modal +DIARIZATION_URL=http://host.docker.internal:8000 +DIARIZATION_MODAL_API_KEY=dev-key-12345 +``` + +Note: Use `host.docker.internal` because Reflector server runs in Docker. + +### 4. Restart Reflector server + +```bash +cd server +docker compose restart server worker +``` + +## Testing + +### Test transcription + +```bash +curl -s -X POST http://localhost:8000/v1/audio/transcriptions \ + -H "Authorization: Bearer dev-key-12345" \ + -F "file=@/path/to/audio.wav" \ + -F "language=en" +``` + +### Test diarization + +```bash +curl -s -X POST "http://localhost:8000/diarize?audio_file_url=" \ + -H "Authorization: Bearer dev-key-12345" +``` + +## Platform Notes + +### macOS (ARM) + +Docker build fails - CUDA packages are x86_64 only. Use local Python instead: +```bash +uv sync +HF_TOKEN=xxx REFLECTOR_GPU_APIKEY=xxx .venv/bin/uvicorn main:app --host 0.0.0.0 --port 8000 +``` + +### Linux with NVIDIA GPU + +Docker works with CUDA acceleration: +```bash +docker compose up -d +``` + +### CPU-only + +Works on any platform, just slower. PyTorch auto-detects and falls back to CPU. + +## Switching Back to Modal.com + +Edit `server/.env`: + +```bash +TRANSCRIPT_BACKEND=modal +TRANSCRIPT_URL=https://monadical-sas--reflector-transcriber-parakeet-web.modal.run +TRANSCRIPT_MODAL_API_KEY= + +DIARIZATION_BACKEND=modal +DIARIZATION_URL=https://monadical-sas--reflector-diarizer-web.modal.run +DIARIZATION_MODAL_API_KEY= +``` + +## Troubleshooting + +### "Could not download pyannote pipeline" +- Accept model licenses at HuggingFace (see Prerequisites) +- Verify HF_TOKEN is set and valid + +### Service won't start +- Check port 8000 is free: `lsof -i :8000` +- Kill orphan processes if needed + +### Transcription returns empty text +- Ensure audio contains speech (not just tones/silence) +- Check audio format is supported (wav, mp3, etc.) + +### Deprecation warnings from torchaudio/pyannote +- Safe to ignore - doesn't affect functionality diff --git a/gpu/self_hosted/README.md b/gpu/self_hosted/README.md index 0180a8ae..395e05a6 100644 --- a/gpu/self_hosted/README.md +++ b/gpu/self_hosted/README.md @@ -56,9 +56,13 @@ Docker - Not yet provided in this directory. A Dockerfile will be added later. For now, use Local run above -Conformance tests +# Setup -# From this directory +[SETUP.md](SETUP.md) + +# Conformance tests + +## From this directory TRANSCRIPT_URL=http://localhost:8000 \ TRANSCRIPT_API_KEY=dev-key \ diff --git a/gpu/self_hosted/app/services/transcriber.py b/gpu/self_hosted/app/services/transcriber.py index 26a313cc..21e55fe5 100644 --- a/gpu/self_hosted/app/services/transcriber.py +++ b/gpu/self_hosted/app/services/transcriber.py @@ -129,6 +129,11 @@ class WhisperService: audio = np.frombuffer(proc.stdout, dtype=np.float32) return audio + # IMPORTANT: This VAD segment logic is duplicated in multiple files for deployment isolation. + # If you modify this function, you MUST update all copies: + # - gpu/modal_deployments/reflector_transcriber.py + # - gpu/modal_deployments/reflector_transcriber_parakeet.py + # - gpu/self_hosted/app/services/transcriber.py (this file) def vad_segments( audio_array, sample_rate: int = SAMPLE_RATE, @@ -153,6 +158,10 @@ class WhisperService: end = speech["end"] yield (start / float(SAMPLE_RATE), end / float(SAMPLE_RATE)) start = None + # Handle case where audio ends while speech is still active + if start is not None: + audio_duration = len(audio_array) / float(sample_rate) + yield (start / float(SAMPLE_RATE), audio_duration) iterator.reset_states() audio_array = load_audio_via_ffmpeg(file_path, SAMPLE_RATE) diff --git a/gpu/self_hosted/app/utils.py b/gpu/self_hosted/app/utils.py index 679804cb..7200cfa2 100644 --- a/gpu/self_hosted/app/utils.py +++ b/gpu/self_hosted/app/utils.py @@ -34,6 +34,12 @@ def ensure_dirs(): UPLOADS_PATH.mkdir(parents=True, exist_ok=True) +# IMPORTANT: This function is duplicated in multiple files for deployment isolation. +# If you modify the audio format detection logic, you MUST update all copies: +# - gpu/self_hosted/app/utils.py (this file) +# - gpu/modal_deployments/reflector_transcriber.py (2 copies) +# - gpu/modal_deployments/reflector_transcriber_parakeet.py +# - gpu/modal_deployments/reflector_diarizer.py def detect_audio_format(url: str, headers: Mapping[str, str]) -> str: url_path = urlparse(url).path for ext in SUPPORTED_FILE_EXTENSIONS: @@ -47,6 +53,8 @@ def detect_audio_format(url: str, headers: Mapping[str, str]) -> str: return "wav" if "audio/mp4" in content_type: return "mp4" + if "audio/webm" in content_type or "video/webm" in content_type: + return "webm" raise HTTPException( status_code=400, diff --git a/gpu/self_hosted/compose.yml b/gpu/self_hosted/compose.yml index 4f04935a..c6610834 100644 --- a/gpu/self_hosted/compose.yml +++ b/gpu/self_hosted/compose.yml @@ -8,3 +8,11 @@ services: - .env volumes: - ./cache:/root/.cache + deploy: + resources: + reservations: + devices: + - driver: nvidia + count: all + capabilities: [gpu] + restart: unless-stopped diff --git a/scripts/setup-authentik-oauth.sh b/scripts/setup-authentik-oauth.sh new file mode 100755 index 00000000..703a0def --- /dev/null +++ b/scripts/setup-authentik-oauth.sh @@ -0,0 +1,258 @@ +#!/bin/bash +set -e + +# Setup Authentik OAuth provider for Reflector +# +# IMPORTANT: Run this script from your Reflector repository directory (cd ~/reflector) +# The script creates files using relative paths: server/reflector/auth/jwt/keys/ +# +# Usage: ./setup-authentik-oauth.sh +# Example: ./setup-authentik-oauth.sh https://authentik.example.com MyPassword123 https://app.example.com + +AUTHENTIK_URL="${1:-}" +ADMIN_PASSWORD="${2:-}" +FRONTEND_URL="${3:-}" + +if [ -z "$AUTHENTIK_URL" ] || [ -z "$ADMIN_PASSWORD" ] || [ -z "$FRONTEND_URL" ]; then + echo "Usage: $0 " + echo "Example: $0 https://authentik.example.com MyPassword123 https://app.example.com" + exit 1 +fi + +# Remove trailing slash from URLs +AUTHENTIK_URL="${AUTHENTIK_URL%/}" +FRONTEND_URL="${FRONTEND_URL%/}" + +echo "===========================================" +echo "Authentik OAuth Setup for Reflector" +echo "===========================================" +echo "" +echo "Authentik URL: $AUTHENTIK_URL" +echo "Frontend URL: $FRONTEND_URL" +echo "" + +# Step 1: Create API token via Django shell +echo "Creating API token..." +cd ~/authentik || { echo "Error: ~/authentik directory not found"; exit 1; } + +API_TOKEN=$(sudo docker compose exec -T server python -m manage shell 2>&1 << 'PYTHON' | grep "^TOKEN:" | cut -d: -f2 +from authentik.core.models import User, Token, TokenIntents + +user = User.objects.get(username='akadmin') +token, created = Token.objects.update_or_create( + identifier='reflector-setup', + defaults={ + 'user': user, + 'intent': TokenIntents.INTENT_API, + 'description': 'Reflector setup token', + 'expiring': False + } +) +print(f"TOKEN:{token.key}") +PYTHON +) + +cd - > /dev/null + +if [ -z "$API_TOKEN" ] || [ "$API_TOKEN" = "null" ]; then + echo "Error: Failed to create API token" + echo "Make sure Authentik is fully started and akadmin user exists" + exit 1 +fi +echo " -> Got API token" + +# Step 2: Get authorization flow UUID +echo "Getting authorization flow..." +FLOW_RESPONSE=$(curl -s "$AUTHENTIK_URL/api/v3/flows/instances/?slug=default-provider-authorization-implicit-consent" \ + -H "Authorization: Bearer $API_TOKEN") + +FLOW_UUID=$(echo "$FLOW_RESPONSE" | jq -r '.results[0].pk') +if [ -z "$FLOW_UUID" ] || [ "$FLOW_UUID" = "null" ]; then + echo "Error: Could not find authorization flow" + echo "Response: $FLOW_RESPONSE" + exit 1 +fi +echo " -> Flow UUID: $FLOW_UUID" + +# Step 3: Get invalidation flow UUID +echo "Getting invalidation flow..." +INVALIDATION_RESPONSE=$(curl -s "$AUTHENTIK_URL/api/v3/flows/instances/?slug=default-provider-invalidation-flow" \ + -H "Authorization: Bearer $API_TOKEN") + +INVALIDATION_UUID=$(echo "$INVALIDATION_RESPONSE" | jq -r '.results[0].pk') +if [ -z "$INVALIDATION_UUID" ] || [ "$INVALIDATION_UUID" = "null" ]; then + echo "Warning: Could not find invalidation flow, using authorization flow" + INVALIDATION_UUID="$FLOW_UUID" +fi +echo " -> Invalidation UUID: $INVALIDATION_UUID" + +# Step 4: Get scope mappings (email, openid, profile) +echo "Getting scope mappings..." +SCOPE_RESPONSE=$(curl -s "$AUTHENTIK_URL/api/v3/propertymappings/all/" \ + -H "Authorization: Bearer $API_TOKEN") + +EMAIL_SCOPE=$(echo "$SCOPE_RESPONSE" | jq -r '.results[] | select(.name == "authentik default OAuth Mapping: OpenID '\''email'\''") | .pk') +OPENID_SCOPE=$(echo "$SCOPE_RESPONSE" | jq -r '.results[] | select(.name == "authentik default OAuth Mapping: OpenID '\''openid'\''") | .pk') +PROFILE_SCOPE=$(echo "$SCOPE_RESPONSE" | jq -r '.results[] | select(.name == "authentik default OAuth Mapping: OpenID '\''profile'\''") | .pk') +echo " -> email: $EMAIL_SCOPE" +echo " -> openid: $OPENID_SCOPE" +echo " -> profile: $PROFILE_SCOPE" + +# Step 5: Get signing key +echo "Getting signing key..." +CERT_RESPONSE=$(curl -s "$AUTHENTIK_URL/api/v3/crypto/certificatekeypairs/" \ + -H "Authorization: Bearer $API_TOKEN") +SIGNING_KEY=$(echo "$CERT_RESPONSE" | jq -r '.results[0].pk') +echo " -> Signing key: $SIGNING_KEY" + +# Step 6: Generate client credentials +CLIENT_ID="reflector" +CLIENT_SECRET=$(openssl rand -hex 32) + +# Step 7: Create OAuth2 provider +echo "Creating OAuth2 provider..." +PROVIDER_RESPONSE=$(curl -s -X POST "$AUTHENTIK_URL/api/v3/providers/oauth2/" \ + -H "Authorization: Bearer $API_TOKEN" \ + -H "Content-Type: application/json" \ + -d "{ + \"name\": \"Reflector\", + \"authorization_flow\": \"$FLOW_UUID\", + \"invalidation_flow\": \"$INVALIDATION_UUID\", + \"client_type\": \"confidential\", + \"client_id\": \"$CLIENT_ID\", + \"client_secret\": \"$CLIENT_SECRET\", + \"redirect_uris\": [{ + \"matching_mode\": \"strict\", + \"url\": \"$FRONTEND_URL/api/auth/callback/authentik\" + }], + \"property_mappings\": [\"$EMAIL_SCOPE\", \"$OPENID_SCOPE\", \"$PROFILE_SCOPE\"], + \"signing_key\": \"$SIGNING_KEY\", + \"access_token_validity\": \"hours=1\", + \"refresh_token_validity\": \"days=30\" + }") + +PROVIDER_ID=$(echo "$PROVIDER_RESPONSE" | jq -r '.pk') +if [ -z "$PROVIDER_ID" ] || [ "$PROVIDER_ID" = "null" ]; then + # Check if provider already exists + if echo "$PROVIDER_RESPONSE" | grep -q "already exists"; then + echo " -> Provider already exists, updating..." + EXISTING=$(curl -s "$AUTHENTIK_URL/api/v3/providers/oauth2/?name=Reflector" \ + -H "Authorization: Bearer $API_TOKEN") + PROVIDER_ID=$(echo "$EXISTING" | jq -r '.results[0].pk') + CLIENT_ID=$(echo "$EXISTING" | jq -r '.results[0].client_id') + # Update secret and scopes + curl -s -X PATCH "$AUTHENTIK_URL/api/v3/providers/oauth2/$PROVIDER_ID/" \ + -H "Authorization: Bearer $API_TOKEN" \ + -H "Content-Type: application/json" \ + -d "{ + \"client_secret\": \"$CLIENT_SECRET\", + \"property_mappings\": [\"$EMAIL_SCOPE\", \"$OPENID_SCOPE\", \"$PROFILE_SCOPE\"], + \"signing_key\": \"$SIGNING_KEY\" + }" > /dev/null + else + echo "Error: Failed to create provider" + echo "Response: $PROVIDER_RESPONSE" + exit 1 + fi +fi +echo " -> Provider ID: $PROVIDER_ID" + +# Step 8: Create application +echo "Creating application..." +APP_RESPONSE=$(curl -s -X POST "$AUTHENTIK_URL/api/v3/core/applications/" \ + -H "Authorization: Bearer $API_TOKEN" \ + -H "Content-Type: application/json" \ + -d "{ + \"name\": \"Reflector\", + \"slug\": \"reflector\", + \"provider\": $PROVIDER_ID + }") + +if echo "$APP_RESPONSE" | grep -q "already exists"; then + echo " -> Application already exists" +else + APP_SLUG=$(echo "$APP_RESPONSE" | jq -r '.slug') + if [ -z "$APP_SLUG" ] || [ "$APP_SLUG" = "null" ]; then + echo "Error: Failed to create application" + echo "Response: $APP_RESPONSE" + exit 1 + fi + echo " -> Application created: $APP_SLUG" +fi + +# Step 9: Extract public key for JWT verification +echo "Extracting public key for JWT verification..." +mkdir -p server/reflector/auth/jwt/keys +curl -s "$AUTHENTIK_URL/application/o/reflector/jwks/" | \ + jq -r '.keys[0].x5c[0]' | \ + base64 -d | \ + openssl x509 -pubkey -noout > server/reflector/auth/jwt/keys/authentik_public.pem + +if [ ! -s server/reflector/auth/jwt/keys/authentik_public.pem ]; then + echo "Error: Failed to extract public key" + exit 1 +fi +echo " -> Saved to server/reflector/auth/jwt/keys/authentik_public.pem" + +# Step 10: Update environment files automatically +echo "Updating environment files..." + +# Update server/.env +cat >> server/.env << EOF + +# --- Authentik OAuth (added by setup script) --- +AUTH_BACKEND=jwt +AUTH_JWT_AUDIENCE=$CLIENT_ID +AUTH_JWT_PUBLIC_KEY=authentik_public.pem +# --- End JWT Configuration --- +EOF +echo " -> Updated server/.env" + +# Update www/.env +cat >> www/.env << EOF + +# --- Authentik OAuth (added by setup script) --- +FEATURE_REQUIRE_LOGIN=true +AUTHENTIK_ISSUER=$AUTHENTIK_URL/application/o/reflector +AUTHENTIK_REFRESH_TOKEN_URL=$AUTHENTIK_URL/application/o/token/ +AUTHENTIK_CLIENT_ID=$CLIENT_ID +AUTHENTIK_CLIENT_SECRET=$CLIENT_SECRET +# --- End Authentik Configuration --- +EOF +echo " -> Updated www/.env" + +# Step 11: Restart Reflector services +echo "Restarting Reflector services..." +docker compose -f docker-compose.prod.yml up -d server worker web + +echo "" +echo "===========================================" +echo "Setup complete!" +echo "===========================================" +echo "" +echo "Authentik admin: $AUTHENTIK_URL" +echo " Username: akadmin" +echo " Password: (provided as argument)" +echo "" +echo "Frontend: $FRONTEND_URL" +echo " Authentication is now required" +echo "" +echo "Note: Public key saved to server/reflector/auth/jwt/keys/authentik_public.pem" +echo " and mounted via docker-compose volume." +echo "" +echo "===========================================" +echo "Configuration values (for reference):" +echo "===========================================" +echo "" +echo "# server/.env" +echo "AUTH_BACKEND=jwt" +echo "AUTH_JWT_AUDIENCE=$CLIENT_ID" +echo "AUTH_JWT_PUBLIC_KEY=authentik_public.pem" +echo "" +echo "# www/.env" +echo "FEATURE_REQUIRE_LOGIN=true" +echo "AUTHENTIK_ISSUER=$AUTHENTIK_URL/application/o/reflector" +echo "AUTHENTIK_REFRESH_TOKEN_URL=$AUTHENTIK_URL/application/o/token/" +echo "AUTHENTIK_CLIENT_ID=$CLIENT_ID" +echo "AUTHENTIK_CLIENT_SECRET=$CLIENT_SECRET" +echo "" diff --git a/server/env.example b/server/.env.example similarity index 65% rename from server/env.example rename to server/.env.example index 7375bf0a..5148e297 100644 --- a/server/env.example +++ b/server/.env.example @@ -3,6 +3,29 @@ # All the settings are described here: reflector/settings.py # +## ======================================================= +## Core Configuration (Required for Production) +## ======================================================= + +## Database (for docker-compose.prod.yml, use postgres hostname) +#DATABASE_URL=postgresql+asyncpg://reflector:reflector@postgres:5432/reflector + +## Redis (for docker-compose.prod.yml, use redis hostname) +#REDIS_HOST=redis +#REDIS_PORT=6379 +#CELERY_BROKER_URL=redis://redis:6379/1 +#CELERY_RESULT_BACKEND=redis://redis:6379/1 + +## Base URL - your API domain with https +#BASE_URL=https://api.example.com + +## CORS - required when frontend and API are on different domains +#CORS_ORIGIN=https://app.example.com +#CORS_ALLOW_CREDENTIALS=true + +## Secret key - generate with: openssl rand -hex 32 +#SECRET_KEY=changeme-generate-a-secure-random-string + ## ======================================================= ## User authentication ## ======================================================= @@ -40,18 +63,21 @@ TRANSLATE_URL=https://monadical-sas--reflector-translator-web.modal.run #TRANSLATION_MODAL_API_KEY=xxxxx ## ======================================================= -## LLM backend +## LLM backend (Required) ## -## Responsible for titles and short summary -## Check reflector/llm/* for the full list of available -## llm backend implementation +## Responsible for generating titles, summaries, and topic detection +## Requires OpenAI API key ## ======================================================= +## OpenAI API key - get from https://platform.openai.com/account/api-keys +LLM_API_KEY=sk-your-openai-api-key +LLM_MODEL=gpt-4o-mini + +## Optional: Custom endpoint (defaults to OpenAI) +# LLM_URL=https://api.openai.com/v1 + ## Context size for summary generation (tokens) -# LLM_MODEL=microsoft/phi-4 LLM_CONTEXT_WINDOW=16000 -LLM_URL= -LLM_API_KEY=sk- ## ======================================================= ## Diarization @@ -65,6 +91,19 @@ DIARIZATION_URL=https://monadical-sas--reflector-diarizer-web.modal.run #DIARIZATION_MODAL_API_KEY=xxxxx +## ======================================================= +## Transcript Storage +## +## Where to store audio files and transcripts +## AWS S3 is required for production +## ======================================================= +TRANSCRIPT_STORAGE_BACKEND=aws +TRANSCRIPT_STORAGE_AWS_ACCESS_KEY_ID=your-aws-access-key +TRANSCRIPT_STORAGE_AWS_SECRET_ACCESS_KEY=your-aws-secret-key +TRANSCRIPT_STORAGE_AWS_BUCKET_NAME=reflector-media +TRANSCRIPT_STORAGE_AWS_REGION=us-east-1 + + ## ======================================================= ## Sentry ## ======================================================= diff --git a/server/docs/daily_pipeline.md b/server/docs/daily_pipeline.md new file mode 100644 index 00000000..dab9263e --- /dev/null +++ b/server/docs/daily_pipeline.md @@ -0,0 +1,421 @@ +# Daily.co pipeline + +This document details every external call, storage operation, and database write that occurs when a new Daily.co recording is discovered. +It includes a bunch of common logic that other pipelines use, therefore not everything is Daily-oriented. + +**The doc was generated at 12.12.2025 and things may have changed since.** + +## Trigger + +Two entry points, both converging to the same handler: + +1. **Webhook**: Daily.co sends `POST /v1/daily/webhook` with `recording.ready-to-download` +2. **Polling**: `GET /recordings` (paginated, max 100/call) → filter new → convert to same payload format + +Both produce `RecordingReadyPayload` and call `handleRecordingReady(payload)`. + +``` +┌─────────────────┐ ┌──────────────────────────┐ +│ Daily Webhook │────▶│ RecordingReadyPayload │ +│ (push) │ │ {room_name, recording_id│ +└─────────────────┘ │ tracks[], ...} │ + └────────────┬─────────────┘ +┌─────────────────┐ │ +│ GET /recordings│ ▼ +│ (poll) │────▶ convert ──▶ handleRecordingReady() +└─────────────────┘ │ + ▼ + ┌────────────────────────┐ + │ process_multitrack_ │ + │ recording pipeline │ + └────────────────────────┘ +``` + +**Polling API**: `GET https://api.daily.co/v1/recordings` +- Pagination: `limit` (max 100), `starting_after`, `ending_before` +- Rate limit: ~2 req/sec +- Response: `{total_count, data: Recording[]}` + +```mermaid +flowchart TB + subgraph Trigger["1. Recording Discovery - Daily.co Webhook"] + DAILY_WEBHOOK["Daily.co sends POST /v1/daily/webhook
type: recording.ready-to-download"] + VERIFY["Verify X-Webhook-Signature (HMAC)"] + PARSE["Parse DailyWebhookEvent
Extract tracks[], room_name, recording_id"] + FILTER["Filter audio tracks only
track_keys = [t.s3Key for t in tracks if t.type == 'audio']"] + DISPATCH["process_multitrack_recording.delay()"] + + DAILY_WEBHOOK --> VERIFY --> PARSE --> FILTER --> DISPATCH + end + + subgraph Init["2. Recording Initialization"] + FETCH_MEETING[DB READ: meetings_controller.get_by_room_name] + FETCH_ROOM[DB READ: rooms_controller.get_by_name] + DAILY_API_REC[Daily API: GET /recordings/recording_id] + DAILY_API_PART[Daily API: GET /meetings/mtgSessionId/participants] + CREATE_RECORDING[DB WRITE: recordings_controller.create] + CREATE_TRANSCRIPT[DB WRITE: transcripts_controller.add] + MAP_PARTICIPANTS[DB WRITE: transcript.participants upsert] + end + + subgraph Pipeline["3. Processing Pipeline"] + direction TB + PAD[Track Padding & Mixdown] + TRANSCRIBE[GPU: Transcription per track] + TOPICS[LLM: Topic Detection] + TITLE[LLM: Title Generation] + SUMMARY[LLM: Summary Generation] + end + + subgraph Storage["4. S3 Operations"] + S3_PRESIGN[S3: generate_presigned_url for tracks] + S3_UPLOAD_PADDED[S3 UPLOAD: padded tracks temp] + S3_UPLOAD_MP3[S3 UPLOAD: audio.mp3] + S3_DELETE_TEMP[S3 DELETE: cleanup temp files] + end + + subgraph PostProcess["5. Post-Processing"] + CONSENT[Consent check & cleanup] + ZULIP[Zulip: send/update message] + WEBHOOK_OUT[Webhook: POST to room.webhook_url] + end + + Trigger --> Init --> Pipeline + Pipeline --> Storage + Pipeline --> PostProcess +``` + +## Detailed Sequence: Daily.co Multitrack Recording + +```mermaid +sequenceDiagram + participant DailyCo as Daily.co + participant API as FastAPI /v1/daily/webhook + participant Worker as Celery Worker + participant DB as PostgreSQL + participant DailyAPI as Daily.co REST API + participant S3 as AWS S3 + participant GPU as Modal.com GPU + participant LLM as LLM Service + participant WS as WebSocket + participant Zulip as Zulip + participant ExtWH as External Webhook + + Note over DailyCo,API: Phase 0: Webhook Receipt + DailyCo->>API: POST /v1/daily/webhook + Note right of DailyCo: X-Webhook-Signature, X-Webhook-Timestamp + API->>API: verify_webhook_signature() + API->>API: Extract audio track s3Keys from payload.tracks[] + API->>Worker: process_multitrack_recording.delay() + API-->>DailyCo: 200 OK + + Note over Worker,DailyAPI: Phase 1: Recording Initialization + Worker->>DB: SELECT meeting WHERE room_name=? + Worker->>DB: SELECT room WHERE name=? + Worker->>DailyAPI: GET /recordings/{recording_id} + DailyAPI-->>Worker: {mtgSessionId, ...} + Worker->>DailyAPI: GET /meetings/{mtgSessionId}/participants + DailyAPI-->>Worker: [{participant_id, user_name}, ...] + Worker->>DB: INSERT INTO recording + Worker->>DB: INSERT INTO transcript (status='idle') + loop For each track_key (parse participant_id from filename) + Worker->>DB: UPSERT transcript.participants[speaker=idx, name=X] + end + + Note over Worker,S3: Phase 2: Track Padding + Worker->>DB: UPDATE transcript SET status='processing' + Worker->>WS: broadcast STATUS='processing' + loop For each track in track_keys (N tracks) + Worker->>S3: generate_presigned_url(track_key, DAILYCO_BUCKET) + S3-->>Worker: presigned_url (2hr) + Note over Worker: PyAV: read WebM, extract start_time + Note over Worker: PyAV: adelay filter (pad silence) + Worker->>S3: PUT file_pipeline/{id}/tracks/padded_{idx}.webm + Worker->>S3: generate_presigned_url(padded_{idx}.webm) + end + + Note over Worker,S3: Phase 3: Audio Mixdown + Note over Worker: PyAV: amix filter → stereo MP3 + Worker->>DB: UPDATE transcript SET duration=X + Worker->>WS: broadcast DURATION + Worker->>S3: PUT {transcript_id}/audio.mp3 + Worker->>DB: UPDATE transcript SET audio_location='storage' + + Note over Worker: Phase 4: Waveform + Note over Worker: Generate peaks from MP3 + Worker->>DB: UPDATE events+=WAVEFORM + Worker->>WS: broadcast WAVEFORM + + Note over Worker,GPU: Phase 5: Transcription (N GPU calls) + loop For each padded track URL (N tracks) + Worker->>GPU: POST /v1/audio/transcriptions-from-url + Note right of GPU: {audio_file_url, language, batch:true} + GPU-->>Worker: {words: [{word, start, end}, ...]} + Note over Worker: Assign speaker=track_idx to words + end + Note over Worker: Merge all words, sort by start time + Worker->>DB: UPDATE events+=TRANSCRIPT + Worker->>WS: broadcast TRANSCRIPT + + Note over Worker,S3: Cleanup temp files + loop For each padded file + Worker->>S3: DELETE padded_{idx}.webm + end + + Note over Worker,LLM: Phase 6: Topic Detection (C LLM calls) + Note over Worker: C = ceil(total_words / 300) + loop For each 300-word chunk (C chunks) + Worker->>LLM: TOPIC_PROMPT + words[i:i+300] + Note right of LLM: "Extract main topic title + 2-sentence summary" + LLM-->>Worker: TitleSummary{title, summary} + Worker->>DB: UPSERT topics[] + Worker->>DB: UPDATE events+=TOPIC + Worker->>WS: broadcast TOPIC + end + + Note over Worker,LLM: Phase 7a: Title Generation (1 LLM call) + Note over Worker: Input: all TitleSummary[].title joined + Worker->>LLM: TITLE_PROMPT + Note right of LLM: "Generate concise title from topic titles" + LLM-->>Worker: "Meeting Title" + Worker->>DB: UPDATE transcript SET title=X + Worker->>DB: UPDATE events+=FINAL_TITLE + Worker->>WS: broadcast FINAL_TITLE + + Note over Worker,LLM: Phase 7b: Summary Generation (2+2M LLM calls) + Note over Worker: Reconstruct full transcript from TitleSummary[].transcript + opt If participants unknown + Worker->>LLM: PARTICIPANTS_PROMPT + LLM-->>Worker: ParticipantsResponse + end + Worker->>LLM: SUBJECTS_PROMPT (call #1) + Note right of LLM: "Main high-level topics? Max 6" + LLM-->>Worker: SubjectsResponse{subjects: ["A", "B", ...]} + + loop For each subject (M subjects, max 6) + Worker->>LLM: DETAILED_SUBJECT_PROMPT (call #2..#1+M) + Note right of LLM: "Info about 'A': decisions, actions, deadlines" + LLM-->>Worker: detailed_response (discarded after next call) + Worker->>LLM: PARAGRAPH_SUMMARY_PROMPT (call #2+M..#1+2M) + Note right of LLM: "Summarize in 1 paragraph" + LLM-->>Worker: paragraph → summaries[] + end + + Worker->>LLM: RECAP_PROMPT (call #2+2M) + Note right of LLM: "High-level quick recap, 1 paragraph" + LLM-->>Worker: recap + Note over Worker: long_summary = "# Quick recap\n{recap}\n# Summary\n**A**\n{para1}..." + Note over Worker: short_summary = recap only + Worker->>DB: UPDATE long_summary, short_summary + Worker->>DB: UPDATE events+=FINAL_LONG_SUMMARY + Worker->>WS: broadcast FINAL_LONG_SUMMARY + Worker->>DB: UPDATE events+=FINAL_SHORT_SUMMARY + Worker->>WS: broadcast FINAL_SHORT_SUMMARY + + Note over Worker,DB: Phase 8: Finalize + Worker->>DB: UPDATE transcript SET status='ended' + Worker->>DB: UPDATE events+=STATUS + Worker->>WS: broadcast STATUS='ended' + + Note over Worker,ExtWH: Phase 9: Post-Processing Chain + Worker->>DB: SELECT meeting_consent WHERE meeting_id=? + alt Any consent denied + Worker->>S3: DELETE tracks from DAILYCO_BUCKET + Worker->>S3: DELETE audio.mp3 from TRANSCRIPT_BUCKET + Worker->>DB: UPDATE transcript SET audio_deleted=true + end + + opt Room has zulip_auto_post=true + alt Existing zulip_message_id + Worker->>Zulip: PATCH /api/v1/messages/{id} + else New + Worker->>Zulip: POST /api/v1/messages + Zulip-->>Worker: {id} + Worker->>DB: UPDATE transcript SET zulip_message_id=X + end + end + + opt Room has webhook_url + Worker->>ExtWH: POST {webhook_url} + Note right of ExtWH: X-Webhook-Signature: HMAC-SHA256 + Note right of ExtWH: Body: {transcript_id, room_id, ...} + end +``` + +## Title & Summary Generation Data Flow + +```mermaid +flowchart TB + subgraph Input["Input: TitleSummary[] from Topic Detection"] + TS1["TitleSummary 1
title: 'Q1 Budget'
transcript: words[0:300]"] + TS2["TitleSummary 2
title: 'Product Launch'
transcript: words[300:600]"] + TS3["TitleSummary N..."] + end + + subgraph TitleGen["Title Generation"] + T1["Extract .title from each TitleSummary"] + T2["Concatenate: '- Q1 Budget\n- Product Launch\n...'"] + T3["LLM: TITLE_PROMPT\n'Generate concise title from topic titles'"] + T4["Output: FinalTitle"] + + T1 --> T2 --> T3 --> T4 + end + + subgraph SummaryGen["Summary Generation"] + direction TB + + subgraph Reconstruct["1. Reconstruct Full Transcript"] + S1["For each TitleSummary.transcript.as_segments()"] + S2["Map speaker ID → name"] + S3["Build: 'Alice: hello\nBob: hi\n...'"] + S1 --> S2 --> S3 + end + + subgraph Subjects["2. Extract Subjects - LLM call #1"] + S4["LLM: SUBJECTS_PROMPT\n'Main high-level topics? Max 6'"] + S5["subjects[] = ['Budget Review', ...]"] + S4 --> S5 + end + + subgraph DetailedSum["3. Per-Subject Summary - LLM calls #2 to #(1+2M)"] + S6["For each subject:"] + S7["LLM: DETAILED_SUBJECT_PROMPT\n'Info about subject: decisions, actions...'"] + S8["detailed_response - NOT STORED"] + S9["LLM: PARAGRAPH_SUMMARY_PROMPT\n'Summarize in 1 paragraph'"] + S10["paragraph → summaries[]"] + + S6 --> S7 --> S8 --> S9 --> S10 + end + + subgraph Recap["4. Generate Recap - LLM call #(2+2M)"] + S11["Concatenate paragraph summaries"] + S12["LLM: RECAP_PROMPT\n'High-level recap, 1 paragraph'"] + S13["recap"] + S11 --> S12 --> S13 + end + + subgraph Output["5. Output"] + S14["long_summary = markdown:\n# Quick recap\n[recap]\n# Summary\n**Subject 1**\n[para1]..."] + S15["short_summary = recap only"] + S14 --> S15 + end + + Reconstruct --> Subjects --> DetailedSum --> Recap --> Output + end + + Input --> TitleGen + Input --> SummaryGen +``` + +### topics[] vs subjects[] + +| | topics[] | subjects[] | +|-|----------|------------| +| **Source** | 300-word chunk splitting | LLM extraction from full text | +| **Count** | Variable (words / 300) | Max 6 | +| **Purpose** | Timeline segmentation | Summary structure | +| **Has timestamp?** | Yes | No | + +## External API Calls Summary + +### 1. Daily.co REST API (called during initialization) + +| Endpoint | Method | When | Purpose | +|----------|--------|------|---------| +| `GET /recordings/{recording_id}` | GET | After webhook | Get mtgSessionId for participant lookup | +| `GET /meetings/{mtgSessionId}/participants` | GET | After above | Map participant_id → user_name | + +### 2. GPU Service (Modal.com or Self-Hosted) + +| Endpoint | Method | Count | Request | +|----------|--------|-------|---------| +| `{TRANSCRIPT_URL}/v1/audio/transcriptions-from-url` | POST | **N** (N = num tracks) | `{audio_file_url, language, batch: true}` | + +**Note**: Diarization is NOT called for multitrack - speaker identification comes from separate tracks. + +### 3. LLM Service (OpenAI-compatible via LlamaIndex) + +| Phase | Operation | Input | LLM Calls | Output | +|-------|-----------|-------|-----------|--------| +| Topic Detection | TOPIC_PROMPT per 300-word chunk | words[i:i+300] | **C** = ceil(words/300) | TitleSummary{title, summary, timestamp} | +| Title Generation | TITLE_PROMPT | All topic titles joined | **1** | FinalTitle | +| Participant ID | PARTICIPANTS_PROMPT | Full transcript | **0-1** (skipped if known) | ParticipantsResponse | +| Subject Extraction | SUBJECTS_PROMPT | Full transcript | **1** | SubjectsResponse{subjects[]} | +| Subject Detail | DETAILED_SUBJECT_PROMPT | Full transcript + subject name | **M** (M = subjects, max 6) | detailed text (discarded) | +| Subject Paragraph | PARAGRAPH_SUMMARY_PROMPT | Detailed text | **M** | paragraph text → summaries[] | +| Recap | RECAP_PROMPT | All paragraph summaries | **1** | recap text | + +**Total LLM calls**: C + 2M + 3 (+ 1 if participants unknown) +- Short meeting (1000 words, 3 subjects): ~4 + 6 + 3 = **13 calls** +- Long meeting (5000 words, 6 subjects): ~17 + 12 + 3 = **32 calls** + +## S3 Operations Summary + +### Source Bucket: `DAILYCO_STORAGE_AWS_BUCKET_NAME` +Daily.co uploads raw-tracks recordings here. + +| Operation | Key Pattern | When | +|-----------|-------------|------| +| **READ** (presign) | `{domain}/{room_name}/{ts}/{participant_id}-cam-audio-{ts}.webm` | Track acquisition | +| **DELETE** | Same as above | Consent denied cleanup | + +### Transcript Storage Bucket: `TRANSCRIPT_STORAGE_AWS_BUCKET_NAME` +Reflector's own storage. + +| Operation | Key Pattern | When | +|-----------|-------------|------| +| **PUT** | `file_pipeline/{transcript_id}/tracks/padded_{idx}.webm` | After track padding | +| **READ** (presign) | Same | For GPU transcription | +| **DELETE** | Same | After transcription complete | +| **PUT** | `{transcript_id}/audio.mp3` | After mixdown | +| **DELETE** | Same | Consent denied cleanup | + +## Database Operations + +### Tables Written + +| Table | Operation | When | +|-------|-----------|------| +| `recording` | INSERT | Initialization | +| `transcript` | INSERT | Initialization | +| `transcript` | UPDATE (participants) | After Daily API participant fetch | +| `transcript` | UPDATE (status, events, duration, topics, title, summaries, etc.) | Throughout pipeline | + +### Transcript Update Sequence + +``` +1. INSERT: id, name, status='idle', source_kind='room', user_id, recording_id, room_id, meeting_id +2. UPDATE: participants[] (speaker index → participant name mapping) +3. UPDATE: status='processing', events+=[{event:'STATUS', data:{value:'processing'}}] +4. UPDATE: duration=X, events+=[{event:'DURATION', data:{duration:X}}] +5. UPDATE: audio_location='storage' +6. UPDATE: events+=[{event:'WAVEFORM', data:{waveform:[...]}}] +7. UPDATE: events+=[{event:'TRANSCRIPT', data:{text, translation}}] +8. UPDATE: topics[]+=topic, events+=[{event:'TOPIC'}] -- repeated per chunk +9. UPDATE: title=X, events+=[{event:'FINAL_TITLE'}] +10. UPDATE: long_summary=X, events+=[{event:'FINAL_LONG_SUMMARY'}] +11. UPDATE: short_summary=X, events+=[{event:'FINAL_SHORT_SUMMARY'}] +12. UPDATE: status='ended', events+=[{event:'STATUS', data:{value:'ended'}}] +13. UPDATE: zulip_message_id=X -- if Zulip enabled +14. UPDATE: audio_deleted=true -- if consent denied +``` + +## WebSocket Events + +All broadcast to room `ts:{transcript_id}`: + +| Event | Payload | Trigger | +|-------|---------|---------| +| STATUS | `{value: "processing"\|"ended"\|"error"}` | Status transitions | +| DURATION | `{duration: float}` | After audio processing | +| WAVEFORM | `{waveform: float[]}` | After waveform generation | +| TRANSCRIPT | `{text: string, translation: string\|null}` | After transcription merge | +| TOPIC | `{id, title, summary, timestamp, duration, transcript, words}` | Per topic detected | +| FINAL_TITLE | `{title: string}` | After LLM title generation | +| FINAL_LONG_SUMMARY | `{long_summary: string}` | After LLM summary | +| FINAL_SHORT_SUMMARY | `{short_summary: string}` | After LLM recap | + +User-room broadcasts to `user:{user_id}`: +- `TRANSCRIPT_STATUS` +- `TRANSCRIPT_FINAL_TITLE` +- `TRANSCRIPT_DURATION` diff --git a/server/reflector/settings.py b/server/reflector/settings.py index 8b79a1c5..0057479d 100644 --- a/server/reflector/settings.py +++ b/server/reflector/settings.py @@ -30,7 +30,9 @@ class Settings(BaseSettings): AUDIO_CHUNKER_BACKEND: str = "frames" # Audio Transcription - # backends: whisper, modal + # backends: + # - whisper: in-process model loading (no HTTP, runs in same process) + # - modal: HTTP API client (works with Modal.com OR self-hosted gpu/self_hosted/) TRANSCRIPT_BACKEND: str = "whisper" TRANSCRIPT_URL: str | None = None TRANSCRIPT_TIMEOUT: int = 90 @@ -82,6 +84,9 @@ class Settings(BaseSettings): ) # Diarization + # backends: + # - pyannote: in-process model loading (no HTTP, runs in same process) + # - modal: HTTP API client (works with Modal.com OR self-hosted gpu/self_hosted/) DIARIZATION_ENABLED: bool = True DIARIZATION_BACKEND: str = "modal" DIARIZATION_URL: str | None = None