From 3be86f91f7cd3edea7a6e8f2b3b19aebb183c232 Mon Sep 17 00:00:00 2001 From: Yiannis Christodoulou Date: Tue, 8 Jul 2025 06:02:53 +0300 Subject: [PATCH] feat: Welcome Video.js player v8.23.3 --- frontend-tools/video-js/.gitignore | 24 + frontend-tools/video-js/.prettierignore | 0 frontend-tools/video-js/README.md | 341 ++ frontend-tools/video-js/eslint.config.js | 33 + frontend-tools/video-js/index.html | 13 + frontend-tools/video-js/package-lock.json | 4081 +++++++++++++++++ frontend-tools/video-js/package.json | 33 + .../video-js/public/Under-The-Sea.jpg | Bin 0 -> 287644 bytes .../video-js/public/sample-chapters.vtt | 31 + .../public/sample-subtitles-greek.vtt | 34 + .../video-js/public/sample-subtitles.vtt | 34 + frontend-tools/video-js/public/vite.svg | 1 + frontend-tools/video-js/src/VideoJS.css | 355 ++ frontend-tools/video-js/src/VideoJS.jsx | 1558 +++++++ .../video-js/src/assets/css/VideoPlayer.scss | 1154 +++++ .../src/assets/css/includes/_mixins.scss | 69 + .../assets/css/includes/_theme_variables.scss | 12 + .../src/assets/css/mediacms-player.css | 1239 +++++ frontend-tools/video-js/src/assets/react.svg | 1 + frontend-tools/video-js/src/main.jsx | 24 + frontend-tools/video-js/vercel.json | 8 + frontend-tools/video-js/vite.config.js | 7 + .../video-js/vite.video-js.config.ts | 50 + frontend-tools/video-js/yarn.lock | 1496 ++++++ 24 files changed, 10598 insertions(+) create mode 100644 frontend-tools/video-js/.gitignore create mode 100644 frontend-tools/video-js/.prettierignore create mode 100644 frontend-tools/video-js/README.md create mode 100644 frontend-tools/video-js/eslint.config.js create mode 100644 frontend-tools/video-js/index.html create mode 100644 frontend-tools/video-js/package-lock.json create mode 100644 frontend-tools/video-js/package.json create mode 100644 frontend-tools/video-js/public/Under-The-Sea.jpg create mode 100644 frontend-tools/video-js/public/sample-chapters.vtt create mode 100644 frontend-tools/video-js/public/sample-subtitles-greek.vtt create mode 100644 frontend-tools/video-js/public/sample-subtitles.vtt create mode 100644 frontend-tools/video-js/public/vite.svg create mode 100644 frontend-tools/video-js/src/VideoJS.css create mode 100644 frontend-tools/video-js/src/VideoJS.jsx create mode 100755 frontend-tools/video-js/src/assets/css/VideoPlayer.scss create mode 100755 frontend-tools/video-js/src/assets/css/includes/_mixins.scss create mode 100755 frontend-tools/video-js/src/assets/css/includes/_theme_variables.scss create mode 100644 frontend-tools/video-js/src/assets/css/mediacms-player.css create mode 100644 frontend-tools/video-js/src/assets/react.svg create mode 100644 frontend-tools/video-js/src/main.jsx create mode 100644 frontend-tools/video-js/vercel.json create mode 100644 frontend-tools/video-js/vite.config.js create mode 100644 frontend-tools/video-js/vite.video-js.config.ts create mode 100644 frontend-tools/video-js/yarn.lock diff --git a/frontend-tools/video-js/.gitignore b/frontend-tools/video-js/.gitignore new file mode 100644 index 00000000..a547bf36 --- /dev/null +++ b/frontend-tools/video-js/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/frontend-tools/video-js/.prettierignore b/frontend-tools/video-js/.prettierignore new file mode 100644 index 00000000..e69de29b diff --git a/frontend-tools/video-js/README.md b/frontend-tools/video-js/README.md new file mode 100644 index 00000000..dc15c792 --- /dev/null +++ b/frontend-tools/video-js/README.md @@ -0,0 +1,341 @@ +# Video.js + React + Vite Demo + +A **comprehensive demonstration** of integrating **video.js** with **React** and **Vite**, showcasing **ALL available video.js parameters** and options. + +## 🚀 Features + +- ✅ **Complete Video.js Options Implementation** - Every available parameter documented and demonstrated +- ✅ Video.js integration with React hooks +- ✅ Responsive video player with breakpoints +- ✅ Modern Vite build setup +- ✅ Clean and modern UI +- ✅ Comprehensive event handling and console logging +- ✅ Sample video demonstration +- ✅ **150+ Video.js Parameters** organized by category +- ✅ **Multiple configuration examples** for different use cases + +## 🛠️ Technologies Used + +- **React 19** - UI library +- **Vite 4.5.0** - Build tool and dev server (Node 16 compatible) +- **Video.js 8.23.3** - HTML5 video player (latest version) +- **JavaScript** - Programming language (no TypeScript) + +## 📦 Installation + +```bash +# Install dependencies +npm install + +# Start development server +npm run dev +``` + +## 🎯 Project Structure + +``` +src/ +├── VideoPlayer.jsx # Video.js React component +├── App.jsx # Main app with ALL video.js options +├── VideoJsOptionsReference.js # Complete options documentation +├── App.css # Application styles +├── main.jsx # React entry point +└── index.css # Global styles +``` + +## 📋 Complete Video.js Options Categories + +### 🎬 Standard HTML5 Video Element Options + +- `autoplay` - Can be boolean, 'muted', 'play', or 'any' +- `controls` - Show/hide player controls +- `height` / `width` - Player dimensions +- `loop` - Restart video when it ends +- `muted` - Start with audio muted +- `poster` - Poster image URL +- `preload` - 'auto', 'metadata', or 'none' +- `sources` - Array of video sources + +### ⚡ Video.js-Specific Options + +- `aspectRatio` - Maintains aspect ratio ('16:9', '4:3') +- `audioOnlyMode` - Hide video-specific controls +- `audioPosterMode` - Show poster persistently for audio +- `breakpoints` - Responsive breakpoints configuration +- `disablePictureInPicture` - Control PiP functionality +- `enableDocumentPictureInPicture` - Chrome 116+ PiP +- `enableSmoothSeeking` - Smoother seeking experience +- `experimentalSvgIcons` - Use SVG icons instead of font +- `fluid` - Responsive to container size +- `fullscreen` - Fullscreen API options +- `inactivityTimeout` - User inactive timeout in ms +- `language` / `languages` - Localization +- `liveui` / `liveTracker` - Live streaming features +- `normalizeAutoplay` - Consistent autoplay behavior +- `noUITitleAttributes` - Better accessibility +- `playbackRates` - Speed control options +- `playsinline` - iOS Safari behavior +- `preferFullWindow` - iOS fullscreen alternative +- `responsive` - Enable responsive breakpoints +- `skipButtons` - Forward/backward skip controls +- `spatialNavigation` - TV/remote control support +- `techOrder` - Playback technology preference +- `userActions` - Click, double-click, hotkeys configuration + +### 🎛️ Component Options + +- `controlBar` - Complete control bar customization + - Time displays (current, duration, remaining) + - Progress control and seek bar + - Volume control (horizontal/vertical) + - Playback controls (play/pause) + - Skip buttons (forward/backward) + - Fullscreen and Picture-in-Picture + - Subtitles, captions, audio tracks + - Live streaming controls +- `children` - Player child components array + +### 🔧 Tech Options + +- `html5` - HTML5 technology specific options + - `nativeControlsForTouch` - Touch device controls + - `nativeAudioTracks` / `nativeVideoTracks` - Track handling + - `nativeTextTracks` / `preloadTextTracks` - Subtitle handling + +### 🚀 Advanced Options + +- `plugins` - Plugin initialization +- `vtt.js` - Subtitle library URL +- `id` - Player element ID +- `posterImage` - Poster component control + +## 🎮 Usage Examples + +### Basic Usage + +```jsx +import VideoPlayer from './VideoPlayer'; + + console.log('Ready!', player)} +/>; +``` + +### Advanced Configuration + +```jsx + +``` + +### Live Streaming Configuration + +```jsx + +``` + +## ⌨️ Keyboard Shortcuts + +| Key | Action | +| --------------------- | ------------------------------------ | +| **Spacebar** or **K** | Play/Pause | +| **M** | Mute/Unmute | +| **F** | Toggle Fullscreen | +| **←** **→** | Skip backward/forward (when enabled) | +| **↑** **↓** | Volume up/down | + +## 🔧 Customization + +### Responsive Breakpoints + +```javascript +breakpoints: { + tiny: 210, + xsmall: 320, + small: 425, + medium: 768, + large: 1440, + xlarge: 2560, + huge: Infinity +} +``` + +### Control Bar Customization + +```javascript +controlBar: { + // Enable/disable specific controls + playToggle: true, + volumePanel: true, + currentTimeDisplay: true, + durationDisplay: true, + progressControl: true, + fullscreenToggle: true, + + // Skip buttons + skipButtons: { + forward: 10, // 10 second forward + backward: 10 // 10 second backward + }, + + // Volume control style + volumePanel: { + inline: false, // Vertical volume slider + } +} +``` + +### Event Handling + +```javascript +const handlePlayerReady = (player) => { + // Set up comprehensive event listeners + player.on('play', () => console.log('Video started')); + player.on('pause', () => console.log('Video paused')); + player.on('volumechange', () => console.log('Volume:', player.volume())); + player.on('fullscreenchange', () => + console.log('Fullscreen:', player.isFullscreen()) + ); + player.on('ratechange', () => console.log('Speed:', player.playbackRate())); + player.on('seeking', () => + console.log('Seeking to:', player.currentTime()) + ); +}; +``` + +## 📖 Option Categories Reference + +### Playback Control + +`autoplay`, `controls`, `loop`, `muted`, `preload`, `playbackRates` + +### Layout & Responsive + +`width`, `height`, `fluid`, `responsive`, `aspectRatio`, `breakpoints` + +### Advanced Features + +`skipButtons`, `userActions`, `hotkeys`, `enableSmoothSeeking` + +### Accessibility + +`language`, `noUITitleAttributes`, `spatialNavigation` + +### Live Streaming + +`liveui`, `liveTracker`, `techOrder` + +### Mobile Optimization + +`playsinline`, `nativeControlsForTouch`, `preferFullWindow` + +### Component Customization + +`controlBar`, `children`, `plugins` + +## 📝 Configuration Files + +- **`src/App.jsx`** - Complete implementation with all options +- **`src/VideoJsOptionsReference.js`** - Detailed documentation of every option +- **`src/VideoPlayer.jsx`** - React component wrapper + +## 🚀 Development + +```bash +# Start dev server +npm run dev + +# Build for production +npm run build + +# Preview production build +npm run preview +``` + +## 🌟 What Makes This Implementation Special + +1. **Complete Option Coverage** - Every single video.js option documented and implemented +2. **Organized by Category** - Options grouped logically for easy understanding +3. **Real-world Examples** - Multiple configuration examples for different use cases +4. **Comprehensive Events** - All player events logged with emojis for easy debugging +5. **Responsive Design** - Breakpoint system for different screen sizes +6. **Accessibility Ready** - Full keyboard navigation and screen reader support +7. **Modern React Integration** - Proper lifecycle management and cleanup + +## 📊 Statistics + +- **150+ Video.js Options** implemented and documented +- **8 Option Categories** with detailed explanations +- **5 Example Configurations** for different use cases +- **10+ Keyboard Shortcuts** supported +- **Responsive Breakpoints** for 7 different screen sizes +- **20+ Event Listeners** with detailed logging + +## 📝 Notes + +- The demo uses a sample video from Video.js CDN +- All player events are logged to the browser console with emojis +- The component properly handles cleanup on unmount +- Responsive design works on mobile and desktop +- Compatible with Node.js 16+ (Vite downgraded for compatibility) +- All options are documented with types, defaults, and descriptions + +## 🔗 Useful Links + +- [Video.js Official Documentation](https://videojs.com/) +- [Video.js Options Reference](https://videojs.com/guides/options/) +- [Video.js Plugins](https://videojs.com/plugins/) +- [React Integration Guide](https://videojs.com/guides/react/) + +--- + +**Happy coding!** 🎉 This implementation serves as a complete reference for video.js integration with React. diff --git a/frontend-tools/video-js/eslint.config.js b/frontend-tools/video-js/eslint.config.js new file mode 100644 index 00000000..ec2b712d --- /dev/null +++ b/frontend-tools/video-js/eslint.config.js @@ -0,0 +1,33 @@ +import js from '@eslint/js' +import globals from 'globals' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' + +export default [ + { ignores: ['dist'] }, + { + files: ['**/*.{js,jsx}'], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + parserOptions: { + ecmaVersion: 'latest', + ecmaFeatures: { jsx: true }, + sourceType: 'module', + }, + }, + plugins: { + 'react-hooks': reactHooks, + 'react-refresh': reactRefresh, + }, + rules: { + ...js.configs.recommended.rules, + ...reactHooks.configs.recommended.rules, + 'no-unused-vars': ['error', { varsIgnorePattern: '^[A-Z_]' }], + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, + }, +] diff --git a/frontend-tools/video-js/index.html b/frontend-tools/video-js/index.html new file mode 100644 index 00000000..12cf843c --- /dev/null +++ b/frontend-tools/video-js/index.html @@ -0,0 +1,13 @@ + + + + + + + VideoJS + + +
+ + + diff --git a/frontend-tools/video-js/package-lock.json b/frontend-tools/video-js/package-lock.json new file mode 100644 index 00000000..f28e56f8 --- /dev/null +++ b/frontend-tools/video-js/package-lock.json @@ -0,0 +1,4081 @@ +{ + "name": "videojs", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "videojs", + "version": "0.0.0", + "dependencies": { + "react": "^19.1.0", + "react-dom": "^19.1.0", + "react-router-dom": "^7.6.2", + "video.js": "^8.23.3" + }, + "devDependencies": { + "@eslint/js": "^9.25.0", + "@types/react": "^19.1.2", + "@types/react-dom": "^19.1.2", + "@vitejs/plugin-react": "^4.5.2", + "eslint": "^9.25.0", + "eslint-plugin-react-hooks": "^5.2.0", + "eslint-plugin-react-refresh": "^0.4.19", + "globals": "^16.0.0", + "vite": "^4.5.14" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@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==", + "dev": true, + "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.27.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.5.tgz", + "integrity": "sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.27.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.4.tgz", + "integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.27.3", + "@babel/helpers": "^7.27.4", + "@babel/parser": "^7.27.4", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.27.4", + "@babel/types": "^7.27.3", + "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/generator": { + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.5.tgz", + "integrity": "sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.27.5", + "@babel/types": "^7.27.3", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "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==", + "dev": true, + "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-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==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz", + "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz", + "integrity": "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==", + "dev": true, + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.27.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz", + "integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.27.3" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "dev": true, + "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-source": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz", + "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==", + "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==", + "dev": true, + "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.27.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.4.tgz", + "integrity": "sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.3", + "@babel/parser": "^7.27.4", + "@babel/template": "^7.27.2", + "@babel/types": "^7.27.3", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz", + "integrity": "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.1.tgz", + "integrity": "sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==", + "dev": true, + "dependencies": { + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.3.tgz", + "integrity": "sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz", + "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.29.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.29.0.tgz", + "integrity": "sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.2.tgz", + "integrity": "sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg==", + "dev": true, + "dependencies": { + "@eslint/core": "^0.15.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.0.tgz", + "integrity": "sha512-b7ePw78tEWWkpgZCDYkbqDOP8dmM6qe+AOC6iuJqlq1R/0ahMAeH3qynpnqKFGkMltrp44ohV4ubGyvLX28tzw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.11", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.11.tgz", + "integrity": "sha512-L/gAA/hyCSuzTF1ftlzUSI/IKr2POHsv1Dd78GfqkR83KMNuswWD61JxGV2L7nRwBBBSDr6R1gCkdTmoN7W4ag==", + "dev": true + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz", + "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "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==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/react": { + "version": "19.1.8", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.8.tgz", + "integrity": "sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==", + "dev": true, + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.1.6", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.6.tgz", + "integrity": "sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw==", + "dev": true, + "peerDependencies": { + "@types/react": "^19.0.0" + } + }, + "node_modules/@videojs/http-streaming": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/@videojs/http-streaming/-/http-streaming-3.17.0.tgz", + "integrity": "sha512-Ch1P3tvvIEezeZXyK11UfWgp4cWKX4vIhZ30baN/lRinqdbakZ5hiAI3pGjRy3d+q/Epyc8Csz5xMdKNNGYpcw==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@videojs/vhs-utils": "^4.1.1", + "aes-decrypter": "^4.0.2", + "global": "^4.4.0", + "m3u8-parser": "^7.2.0", + "mpd-parser": "^1.3.1", + "mux.js": "7.1.0", + "video.js": "^7 || ^8" + }, + "engines": { + "node": ">=8", + "npm": ">=5" + }, + "peerDependencies": { + "video.js": "^8.19.0" + } + }, + "node_modules/@videojs/vhs-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@videojs/vhs-utils/-/vhs-utils-4.1.1.tgz", + "integrity": "sha512-5iLX6sR2ownbv4Mtejw6Ax+naosGvoT9kY+gcuHzANyUZZ+4NpeNdKMUhb6ag0acYej1Y7cmr/F2+4PrggMiVA==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "global": "^4.4.0" + }, + "engines": { + "node": ">=8", + "npm": ">=5" + } + }, + "node_modules/@videojs/xhr": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@videojs/xhr/-/xhr-2.7.0.tgz", + "integrity": "sha512-giab+EVRanChIupZK7gXjHy90y3nncA2phIOyG3Ne5fvpiMJzvqYwiTOnEVW2S4CoYcuKJkomat7bMXA/UoUZQ==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "global": "~4.4.0", + "is-function": "^1.0.1" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.5.2.tgz", + "integrity": "sha512-QNVT3/Lxx99nMQWJWF7K4N6apUEuT0KlZA3mx/mVaoGj3smm/8rc8ezz15J1pcbcjDK0V15rpHetVfya08r76Q==", + "dev": true, + "dependencies": { + "@babel/core": "^7.27.4", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.11", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" + } + }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", + "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/aes-decrypter": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/aes-decrypter/-/aes-decrypter-4.0.2.tgz", + "integrity": "sha512-lc+/9s6iJvuaRe5qDlMTpCFjnwpkeOXp8qP3oiZ5jsj1MRg+SBVUmmICrhxHvc8OELSmc+fEyyxAuppY6hrWzw==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@videojs/vhs-utils": "^4.1.1", + "global": "^4.4.0", + "pkcs7": "^1.0.4" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browserslist": { + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz", + "integrity": "sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001718", + "electron-to-chromium": "^1.5.160", + "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/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001723", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001723.tgz", + "integrity": "sha512-1R/elMjtehrFejxwmexeXAtae5UO9iSyFn6G/I806CYC/BLyyBk1EPhrKBkWhy6wM6Xnm47dSJQec+tLJ39WHw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/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==", + "dev": true + }, + "node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "engines": { + "node": ">=18" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.168", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.168.tgz", + "integrity": "sha512-RUNQmFLNIWVW6+z32EJQ5+qx8ci6RGvdtDC0Ls+F89wz6I2AthpXF0w0DIrn2jpLX0/PU9ZCo+Qp7bg/EckJmA==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.29.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.29.0.tgz", + "integrity": "sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.20.1", + "@eslint/config-helpers": "^0.2.1", + "@eslint/core": "^0.14.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.29.0", + "@eslint/plugin-kit": "^0.3.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", + "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.20", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.20.tgz", + "integrity": "sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==", + "dev": true, + "peerDependencies": { + "eslint": ">=8.40" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dependencies": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "node_modules/globals": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.2.0.tgz", + "integrity": "sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/m3u8-parser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/m3u8-parser/-/m3u8-parser-7.2.0.tgz", + "integrity": "sha512-CRatFqpjVtMiMaKXxNvuI3I++vUumIXVVT/JpCpdU/FynV/ceVw1qpPyyBNindL+JlPMSesx+WX1QJaZEJSaMQ==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@videojs/vhs-utils": "^4.1.1", + "global": "^4.4.0" + } + }, + "node_modules/min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", + "dependencies": { + "dom-walk": "^0.1.0" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mpd-parser": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mpd-parser/-/mpd-parser-1.3.1.tgz", + "integrity": "sha512-1FuyEWI5k2HcmhS1HkKnUAQV7yFPfXPht2DnRRGtoiiAAW+ESTbtEXIDpRkwdU+XyrQuwrIym7UkoPKsZ0SyFw==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@videojs/vhs-utils": "^4.0.0", + "@xmldom/xmldom": "^0.8.3", + "global": "^4.4.0" + }, + "bin": { + "mpd-to-m3u8-json": "bin/parse.js" + } + }, + "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==", + "dev": true + }, + "node_modules/mux.js": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/mux.js/-/mux.js-7.1.0.tgz", + "integrity": "sha512-NTxawK/BBELJrYsZThEulyUMDVlLizKdxyAsMuzoCD1eFj97BVaA8D/CvKsKu6FOLYkFojN5CbM9h++ZTZtknA==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "global": "^4.4.0" + }, + "bin": { + "muxjs-transmux": "bin/transmux.js" + }, + "engines": { + "node": ">=8", + "npm": ">=5" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true + }, + "node_modules/pkcs7": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/pkcs7/-/pkcs7-1.0.4.tgz", + "integrity": "sha512-afRERtHn54AlwaF2/+LFszyAANTCggGilmcmILUzEjvs3XgFZT+xE6+QWQcAGmu4xajy+Xtj7acLOPdx5/eXWQ==", + "dependencies": { + "@babel/runtime": "^7.5.5" + }, + "bin": { + "pkcs7": "bin/cli.js" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/react": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", + "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", + "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", + "dependencies": { + "scheduler": "^0.26.0" + }, + "peerDependencies": { + "react": "^19.1.0" + } + }, + "node_modules/react-refresh": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.6.2.tgz", + "integrity": "sha512-U7Nv3y+bMimgWjhlT5CRdzHPu2/KVmqPwKUCChW8en5P3znxUqwlYFlbmyj8Rgp1SF6zs5X4+77kBVknkg6a0w==", + "dependencies": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.6.2.tgz", + "integrity": "sha512-Q8zb6VlTbdYKK5JJBLQEN06oTUa/RAbG/oQS1auK1I0TbJOXktqm+QENEVJU6QvWynlXPRBXI3fiOQcSEA78rA==", + "dependencies": { + "react-router": "7.6.2" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/rollup": { + "version": "3.29.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz", + "integrity": "sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/scheduler": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", + "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/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==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/video.js": { + "version": "8.23.3", + "resolved": "https://registry.npmjs.org/video.js/-/video.js-8.23.3.tgz", + "integrity": "sha512-Toe0VLlDZcUhiaWfcePS1OEdT3ATfktm0hk/PELfD7zUoPDHeT+cJf/wZmCy5M5eGVwtGUg25RWPCj1L/1XufA==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@videojs/http-streaming": "^3.17.0", + "@videojs/vhs-utils": "^4.1.1", + "@videojs/xhr": "2.7.0", + "aes-decrypter": "^4.0.2", + "global": "4.4.0", + "m3u8-parser": "^7.2.0", + "mpd-parser": "^1.3.1", + "mux.js": "^7.0.1", + "videojs-contrib-quality-levels": "4.1.0", + "videojs-font": "4.2.0", + "videojs-vtt.js": "0.15.5" + } + }, + "node_modules/videojs-contrib-quality-levels": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/videojs-contrib-quality-levels/-/videojs-contrib-quality-levels-4.1.0.tgz", + "integrity": "sha512-TfrXJJg1Bv4t6TOCMEVMwF/CoS8iENYsWNKip8zfhB5kTcegiFYezEA0eHAJPU64ZC8NQbxQgOwAsYU8VXbOWA==", + "dependencies": { + "global": "^4.4.0" + }, + "engines": { + "node": ">=16", + "npm": ">=8" + }, + "peerDependencies": { + "video.js": "^8" + } + }, + "node_modules/videojs-font": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/videojs-font/-/videojs-font-4.2.0.tgz", + "integrity": "sha512-YPq+wiKoGy2/M7ccjmlvwi58z2xsykkkfNMyIg4xb7EZQQNwB71hcSsB3o75CqQV7/y5lXkXhI/rsGAS7jfEmQ==" + }, + "node_modules/videojs-vtt.js": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/videojs-vtt.js/-/videojs-vtt.js-0.15.5.tgz", + "integrity": "sha512-yZbBxvA7QMYn15Lr/ZfhhLPrNpI/RmCSCqgIff57GC2gIrV5YfyzLfLyZMj0NnZSAz8syB4N0nHXpZg9MyrMOQ==", + "dependencies": { + "global": "^4.3.1" + } + }, + "node_modules/vite": { + "version": "4.5.14", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.14.tgz", + "integrity": "sha512-+v57oAaoYNnO3hIu5Z/tJRZjq5aHM2zDve9YZ8HngVHbhk66RStobhb1sqPMIPEleV6cNKYK4eGrAbE9Ulbl2g==", + "dev": true, + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + } + }, + "@babel/compat-data": { + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.5.tgz", + "integrity": "sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==", + "dev": true + }, + "@babel/core": { + "version": "7.27.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.4.tgz", + "integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.27.3", + "@babel/helpers": "^7.27.4", + "@babel/parser": "^7.27.4", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.27.4", + "@babel/types": "^7.27.3", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + } + }, + "@babel/generator": { + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.5.tgz", + "integrity": "sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==", + "dev": true, + "requires": { + "@babel/parser": "^7.27.5", + "@babel/types": "^7.27.3", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + } + }, + "@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==", + "dev": true, + "requires": { + "@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" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + } + }, + "@babel/helper-module-transforms": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz", + "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.3" + } + }, + "@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==", + "dev": true + }, + "@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==", + "dev": true + }, + "@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==", + "dev": true + }, + "@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==", + "dev": true + }, + "@babel/helpers": { + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz", + "integrity": "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==", + "dev": true, + "requires": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.27.6" + } + }, + "@babel/parser": { + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz", + "integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==", + "dev": true, + "requires": { + "@babel/types": "^7.27.3" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.27.1" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.27.1" + } + }, + "@babel/runtime": { + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz", + "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==" + }, + "@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + } + }, + "@babel/traverse": { + "version": "7.27.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.4.tgz", + "integrity": "sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.3", + "@babel/parser": "^7.27.4", + "@babel/template": "^7.27.2", + "@babel/types": "^7.27.3", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz", + "integrity": "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + } + }, + "@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "dev": true, + "optional": true + }, + "@eslint-community/eslint-utils": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.4.3" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + } + } + }, + "@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true + }, + "@eslint/config-array": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.1.tgz", + "integrity": "sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==", + "dev": true, + "requires": { + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + } + }, + "@eslint/config-helpers": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.3.tgz", + "integrity": "sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==", + "dev": true + }, + "@eslint/core": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz", + "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.15" + } + }, + "@eslint/eslintrc": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true + } + } + }, + "@eslint/js": { + "version": "9.29.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.29.0.tgz", + "integrity": "sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ==", + "dev": true + }, + "@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "dev": true + }, + "@eslint/plugin-kit": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.2.tgz", + "integrity": "sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg==", + "dev": true, + "requires": { + "@eslint/core": "^0.15.0", + "levn": "^0.4.1" + }, + "dependencies": { + "@eslint/core": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.0.tgz", + "integrity": "sha512-b7ePw78tEWWkpgZCDYkbqDOP8dmM6qe+AOC6iuJqlq1R/0ahMAeH3qynpnqKFGkMltrp44ohV4ubGyvLX28tzw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.15" + } + } + } + }, + "@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true + }, + "@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "requires": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "dependencies": { + "@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true + } + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true + }, + "@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@rolldown/pluginutils": { + "version": "1.0.0-beta.11", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.11.tgz", + "integrity": "sha512-L/gAA/hyCSuzTF1ftlzUSI/IKr2POHsv1Dd78GfqkR83KMNuswWD61JxGV2L7nRwBBBSDr6R1gCkdTmoN7W4ag==", + "dev": true + }, + "@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz", + "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "@types/react": { + "version": "19.1.8", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.8.tgz", + "integrity": "sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==", + "dev": true, + "requires": { + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "19.1.6", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.6.tgz", + "integrity": "sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw==", + "dev": true, + "requires": {} + }, + "@videojs/http-streaming": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/@videojs/http-streaming/-/http-streaming-3.17.0.tgz", + "integrity": "sha512-Ch1P3tvvIEezeZXyK11UfWgp4cWKX4vIhZ30baN/lRinqdbakZ5hiAI3pGjRy3d+q/Epyc8Csz5xMdKNNGYpcw==", + "requires": { + "@babel/runtime": "^7.12.5", + "@videojs/vhs-utils": "^4.1.1", + "aes-decrypter": "^4.0.2", + "global": "^4.4.0", + "m3u8-parser": "^7.2.0", + "mpd-parser": "^1.3.1", + "mux.js": "7.1.0", + "video.js": "^7 || ^8" + } + }, + "@videojs/vhs-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@videojs/vhs-utils/-/vhs-utils-4.1.1.tgz", + "integrity": "sha512-5iLX6sR2ownbv4Mtejw6Ax+naosGvoT9kY+gcuHzANyUZZ+4NpeNdKMUhb6ag0acYej1Y7cmr/F2+4PrggMiVA==", + "requires": { + "@babel/runtime": "^7.12.5", + "global": "^4.4.0" + } + }, + "@videojs/xhr": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@videojs/xhr/-/xhr-2.7.0.tgz", + "integrity": "sha512-giab+EVRanChIupZK7gXjHy90y3nncA2phIOyG3Ne5fvpiMJzvqYwiTOnEVW2S4CoYcuKJkomat7bMXA/UoUZQ==", + "requires": { + "@babel/runtime": "^7.5.5", + "global": "~4.4.0", + "is-function": "^1.0.1" + } + }, + "@vitejs/plugin-react": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.5.2.tgz", + "integrity": "sha512-QNVT3/Lxx99nMQWJWF7K4N6apUEuT0KlZA3mx/mVaoGj3smm/8rc8ezz15J1pcbcjDK0V15rpHetVfya08r76Q==", + "dev": true, + "requires": { + "@babel/core": "^7.27.4", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.11", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + } + }, + "@xmldom/xmldom": { + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", + "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==" + }, + "acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "aes-decrypter": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/aes-decrypter/-/aes-decrypter-4.0.2.tgz", + "integrity": "sha512-lc+/9s6iJvuaRe5qDlMTpCFjnwpkeOXp8qP3oiZ5jsj1MRg+SBVUmmICrhxHvc8OELSmc+fEyyxAuppY6hrWzw==", + "requires": { + "@babel/runtime": "^7.12.5", + "@videojs/vhs-utils": "^4.1.1", + "global": "^4.4.0", + "pkcs7": "^1.0.4" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "browserslist": { + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz", + "integrity": "sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001718", + "electron-to-chromium": "^1.5.160", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001723", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001723.tgz", + "integrity": "sha512-1R/elMjtehrFejxwmexeXAtae5UO9iSyFn6G/I806CYC/BLyyBk1EPhrKBkWhy6wM6Xnm47dSJQec+tLJ39WHw==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "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==", + "dev": true + }, + "cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==" + }, + "cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dev": true, + "requires": { + "ms": "^2.1.3" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + }, + "electron-to-chromium": { + "version": "1.5.168", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.168.tgz", + "integrity": "sha512-RUNQmFLNIWVW6+z32EJQ5+qx8ci6RGvdtDC0Ls+F89wz6I2AthpXF0w0DIrn2jpLX0/PU9ZCo+Qp7bg/EckJmA==", + "dev": true + }, + "esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint": { + "version": "9.29.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.29.0.tgz", + "integrity": "sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.20.1", + "@eslint/config-helpers": "^0.2.1", + "@eslint/core": "^0.14.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.29.0", + "@eslint/plugin-kit": "^0.3.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + } + }, + "eslint-plugin-react-hooks": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", + "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", + "dev": true, + "requires": {} + }, + "eslint-plugin-react-refresh": { + "version": "0.4.20", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.20.tgz", + "integrity": "sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==", + "dev": true, + "requires": {} + }, + "eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true + }, + "espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "requires": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + } + }, + "esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "requires": { + "flat-cache": "^4.0.0" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "requires": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + } + }, + "flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, + "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==", + "dev": true + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "requires": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "globals": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.2.0.tgz", + "integrity": "sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true + }, + "import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "m3u8-parser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/m3u8-parser/-/m3u8-parser-7.2.0.tgz", + "integrity": "sha512-CRatFqpjVtMiMaKXxNvuI3I++vUumIXVVT/JpCpdU/FynV/ceVw1qpPyyBNindL+JlPMSesx+WX1QJaZEJSaMQ==", + "requires": { + "@babel/runtime": "^7.12.5", + "@videojs/vhs-utils": "^4.1.1", + "global": "^4.4.0" + } + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", + "requires": { + "dom-walk": "^0.1.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mpd-parser": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mpd-parser/-/mpd-parser-1.3.1.tgz", + "integrity": "sha512-1FuyEWI5k2HcmhS1HkKnUAQV7yFPfXPht2DnRRGtoiiAAW+ESTbtEXIDpRkwdU+XyrQuwrIym7UkoPKsZ0SyFw==", + "requires": { + "@babel/runtime": "^7.12.5", + "@videojs/vhs-utils": "^4.0.0", + "@xmldom/xmldom": "^0.8.3", + "global": "^4.4.0" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "mux.js": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/mux.js/-/mux.js-7.1.0.tgz", + "integrity": "sha512-NTxawK/BBELJrYsZThEulyUMDVlLizKdxyAsMuzoCD1eFj97BVaA8D/CvKsKu6FOLYkFojN5CbM9h++ZTZtknA==", + "requires": { + "@babel/runtime": "^7.11.2", + "global": "^4.4.0" + } + }, + "nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true + }, + "optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true + }, + "pkcs7": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/pkcs7/-/pkcs7-1.0.4.tgz", + "integrity": "sha512-afRERtHn54AlwaF2/+LFszyAANTCggGilmcmILUzEjvs3XgFZT+xE6+QWQcAGmu4xajy+Xtj7acLOPdx5/eXWQ==", + "requires": { + "@babel/runtime": "^7.5.5" + } + }, + "postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "requires": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" + }, + "punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true + }, + "react": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", + "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==" + }, + "react-dom": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", + "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", + "requires": { + "scheduler": "^0.26.0" + } + }, + "react-refresh": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "dev": true + }, + "react-router": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.6.2.tgz", + "integrity": "sha512-U7Nv3y+bMimgWjhlT5CRdzHPu2/KVmqPwKUCChW8en5P3znxUqwlYFlbmyj8Rgp1SF6zs5X4+77kBVknkg6a0w==", + "requires": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0" + } + }, + "react-router-dom": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.6.2.tgz", + "integrity": "sha512-Q8zb6VlTbdYKK5JJBLQEN06oTUa/RAbG/oQS1auK1I0TbJOXktqm+QENEVJU6QvWynlXPRBXI3fiOQcSEA78rA==", + "requires": { + "react-router": "7.6.2" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "rollup": { + "version": "3.29.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz", + "integrity": "sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "scheduler": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", + "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==" + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + }, + "set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "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==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "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==", + "dev": true, + "requires": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "video.js": { + "version": "8.23.3", + "resolved": "https://registry.npmjs.org/video.js/-/video.js-8.23.3.tgz", + "integrity": "sha512-Toe0VLlDZcUhiaWfcePS1OEdT3ATfktm0hk/PELfD7zUoPDHeT+cJf/wZmCy5M5eGVwtGUg25RWPCj1L/1XufA==", + "requires": { + "@babel/runtime": "^7.12.5", + "@videojs/http-streaming": "^3.17.0", + "@videojs/vhs-utils": "^4.1.1", + "@videojs/xhr": "2.7.0", + "aes-decrypter": "^4.0.2", + "global": "4.4.0", + "m3u8-parser": "^7.2.0", + "mpd-parser": "^1.3.1", + "mux.js": "^7.0.1", + "videojs-contrib-quality-levels": "4.1.0", + "videojs-font": "4.2.0", + "videojs-vtt.js": "0.15.5" + } + }, + "videojs-contrib-quality-levels": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/videojs-contrib-quality-levels/-/videojs-contrib-quality-levels-4.1.0.tgz", + "integrity": "sha512-TfrXJJg1Bv4t6TOCMEVMwF/CoS8iENYsWNKip8zfhB5kTcegiFYezEA0eHAJPU64ZC8NQbxQgOwAsYU8VXbOWA==", + "requires": { + "global": "^4.4.0" + } + }, + "videojs-font": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/videojs-font/-/videojs-font-4.2.0.tgz", + "integrity": "sha512-YPq+wiKoGy2/M7ccjmlvwi58z2xsykkkfNMyIg4xb7EZQQNwB71hcSsB3o75CqQV7/y5lXkXhI/rsGAS7jfEmQ==" + }, + "videojs-vtt.js": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/videojs-vtt.js/-/videojs-vtt.js-0.15.5.tgz", + "integrity": "sha512-yZbBxvA7QMYn15Lr/ZfhhLPrNpI/RmCSCqgIff57GC2gIrV5YfyzLfLyZMj0NnZSAz8syB4N0nHXpZg9MyrMOQ==", + "requires": { + "global": "^4.3.1" + } + }, + "vite": { + "version": "4.5.14", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.14.tgz", + "integrity": "sha512-+v57oAaoYNnO3hIu5Z/tJRZjq5aHM2zDve9YZ8HngVHbhk66RStobhb1sqPMIPEleV6cNKYK4eGrAbE9Ulbl2g==", + "dev": true, + "requires": { + "esbuild": "^0.18.10", + "fsevents": "~2.3.2", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + } + } +} diff --git a/frontend-tools/video-js/package.json b/frontend-tools/video-js/package.json new file mode 100644 index 00000000..9990564b --- /dev/null +++ b/frontend-tools/video-js/package.json @@ -0,0 +1,33 @@ +{ + "name": "videojs", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "lint": "eslint .", + "preview": "vite preview", + "build:django": "vite build --config vite.video-js.config.ts --outDir ../../../static/video_js", + "format": "npx prettier --write client/src/**/*.{ts,tsx,css}" + }, + "dependencies": { + "react": "^19.1.0", + "react-dom": "^19.1.0", + "react-router-dom": "^7.6.2", + "video.js": "^8.23.3" + }, + "devDependencies": { + "@eslint/js": "^9.25.0", + "@types/react": "^19.1.2", + "@types/react-dom": "^19.1.2", + "@vitejs/plugin-react": "^4.5.2", + "eslint": "^9.25.0", + "eslint-plugin-react-hooks": "^5.2.0", + "eslint-plugin-react-refresh": "^0.4.19", + "globals": "^16.0.0", + "sass": "^1.89.2", + "vite": "^4.5.14", + "prettier": "^3.6.0" + } +} diff --git a/frontend-tools/video-js/public/Under-The-Sea.jpg b/frontend-tools/video-js/public/Under-The-Sea.jpg new file mode 100644 index 0000000000000000000000000000000000000000..28344186deae23d48c3ae6ccb2b3d79f9ee14b8e GIT binary patch literal 287644 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≺D0jvi^W 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 literal 0 HcmV?d00001 diff --git a/frontend-tools/video-js/public/sample-chapters.vtt b/frontend-tools/video-js/public/sample-chapters.vtt new file mode 100644 index 00000000..9d06a7f0 --- /dev/null +++ b/frontend-tools/video-js/public/sample-chapters.vtt @@ -0,0 +1,31 @@ +WEBVTT + +NOTE +This file contains chapter markers for the ocean video + +00:00:00.000 --> 00:00:05.000 +Start + +00:00:05.000 --> 00:00:10.000 +Introduction - EuroHPC + +00:00:10.000 --> 00:00:15.000 +Planning - EuroHPC + +00:00:15.000 --> 00:00:20.000 +Parcel Discounts - EuroHPC + +00:00:20.000 --> 00:00:25.000 +Class Studies - EuroHPC + +00:00:25.000 --> 00:00:30.000 +Sustainability - EuroHPC + +00:00:30.000 --> 00:00:35.000 +Funding and Finance - EuroHPC + +00:00:35.000 --> 00:00:40.000 +Virtual HPC Academy - EuroHPC + +00:00:40.000 --> 00:00:45.000 +Wrapping up - EuroHPC \ No newline at end of file diff --git a/frontend-tools/video-js/public/sample-subtitles-greek.vtt b/frontend-tools/video-js/public/sample-subtitles-greek.vtt new file mode 100644 index 00000000..f4e81cf9 --- /dev/null +++ b/frontend-tools/video-js/public/sample-subtitles-greek.vtt @@ -0,0 +1,34 @@ +WEBVTT + +NOTE +Αυτό είναι ένα δείγμα υποτίτλων στα ελληνικά για το βίντεο των ωκεανών + +00:00:00.000 --> 00:00:05.000 +Καλώς ήρθατε στον όμορφο κόσμο των ωκεανών + +00:00:05.000 --> 00:00:10.000 +Αυτές οι τεράστιες υδάτινες εκτάσεις καλύπτουν το μεγαλύτερο μέρος του πλανήτη μας + +00:00:10.000 --> 00:00:15.000 +Η θαλάσσια ζωή ανθίζει σε αυτά τα βαθιά γαλάζια νερά + +00:00:15.000 --> 00:00:20.000 +Από το μικροσκοπικό πλαγκτόν μέχρι τις τεράστιες φάλαινες + +00:00:20.000 --> 00:00:25.000 +Ο ωκεανός είναι σπίτι σε απίστευτη βιοποικιλότητα + +00:00:25.000 --> 00:00:30.000 +Οι κοραλλιογενείς ύφαλοι δημιουργούν υποβρύχιες πόλεις χρώματος + +00:00:30.000 --> 00:00:35.000 +Τα κοπάδια ψαριών κινούνται σαν ζωντανά σύννεφα + +00:00:35.000 --> 00:00:40.000 +Τα βάθη του ωκεανού κρύβουν πολλά μυστήρια + +00:00:40.000 --> 00:00:45.000 +Η προστασία των ωκεανών μας είναι ζωτικής σημασίας για το μέλλον + +00:00:45.000 --> 00:00:50.000 +Κάθε σταγόνα νερού μας συνδέει όλους \ No newline at end of file diff --git a/frontend-tools/video-js/public/sample-subtitles.vtt b/frontend-tools/video-js/public/sample-subtitles.vtt new file mode 100644 index 00000000..fbc1509a --- /dev/null +++ b/frontend-tools/video-js/public/sample-subtitles.vtt @@ -0,0 +1,34 @@ +WEBVTT + +NOTE +This is a sample subtitle file for the oceans video + +00:00:00.000 --> 00:00:05.000 +Welcome to the beautiful world of oceans + +00:00:05.000 --> 00:00:10.000 +These vast bodies of water cover most of our planet + +00:00:10.000 --> 00:00:15.000 +Marine life thrives in these deep blue waters + +00:00:15.000 --> 00:00:20.000 +From tiny plankton to massive whales + +00:00:20.000 --> 00:00:25.000 +The ocean is home to incredible biodiversity + +00:00:25.000 --> 00:00:30.000 +Coral reefs create underwater cities of color + +00:00:30.000 --> 00:00:35.000 +Schools of fish move like living clouds + +00:00:35.000 --> 00:00:40.000 +The ocean depths hold many mysteries + +00:00:40.000 --> 00:00:45.000 +Protecting our oceans is vital for the future + +00:00:45.000 --> 00:00:50.000 +Every drop of water connects us all \ No newline at end of file diff --git a/frontend-tools/video-js/public/vite.svg b/frontend-tools/video-js/public/vite.svg new file mode 100644 index 00000000..e7b8dfb1 --- /dev/null +++ b/frontend-tools/video-js/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-tools/video-js/src/VideoJS.css b/frontend-tools/video-js/src/VideoJS.css new file mode 100644 index 00000000..3474b06d --- /dev/null +++ b/frontend-tools/video-js/src/VideoJS.css @@ -0,0 +1,355 @@ +.video-js { + border-radius: 12px !important; + overflow: hidden !important; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important; + outline: none !important; /* Remove default focus outline */ +} + +/* Ensure video element can receive focus for keyboard controls */ +.video-js:focus { + box-shadow: + 0 4px 12px rgba(0, 0, 0, 0.15), + 0 0 0 3px rgba(0, 122, 204, 0.3) !important; +} + +.video-js video { + outline: none !important; +} +.video-js .vjs-poster { + border-radius: 12px !important; +} +.video-js video { + border-radius: 12px !important; +} +.video-js .vjs-control-bar { + border-bottom-left-radius: 12px !important; + border-bottom-right-radius: 12px !important; +} + +/* Responsive video container */ +.video-container { + width: 100%; + max-width: 1200px; + margin: 0 auto; + padding: 0 20px; + box-sizing: border-box; +} + +/* Responsive App container */ +.App { + width: 100%; + max-width: 1400px; + margin: 0 auto; + padding: 0 20px; + box-sizing: border-box; +} + +/* Ensure video.js responsive behavior */ +.video-js.vjs-fluid { + width: 100% !important; + max-width: 100% !important; +} +.vjs-next-video-control { + width: 3em !important; + height: 3em !important; + flex: none; + padding: 0 !important; + margin: 0 !important; + line-height: 3em !important; + position: absolute; + bottom: 10px; + right: 10px; +} + +.vjs-next-video-control .vjs-icon-placeholder { + width: 1.2em; + height: 1.2em; + display: flex; + align-items: center; + justify-content: center; + margin: auto; +} + +.vjs-next-video-control .vjs-icon-placeholder svg { + width: 100%; + height: 100%; + display: block; +} + +/* End Screen Overlay Styles */ +.vjs-end-screen-overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 91%; + background: rgba(0, 0, 0, 0.8); + display: none; + flex-direction: column; + justify-content: center; + align-items: center; + z-index: 1000; + padding: 0 20px; + box-sizing: border-box; +} + +.vjs-related-videos-title { + color: white; + font-size: 24px; + margin-bottom: 20px; + text-align: center; + font-weight: bold; +} + +.vjs-related-videos-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + grid-template-rows: repeat(3, 1fr); + gap: 12px; + max-width: 800px; + width: 100%; + margin: 0 auto; +} + +.vjs-related-video-item { + position: relative; + cursor: pointer; + border-radius: 8px; + overflow: hidden; + transition: transform 0.2s ease; + background: #1a1a1a; +} + +.vjs-related-video-item:hover { + transform: scale(1.05); +} + +.vjs-related-video-thumbnail { + width: 100%; + height: 120px; + object-fit: cover; + display: block; +} + +.vjs-related-video-overlay { + position: absolute; + bottom: 0; + left: 0; + right: 0; + background: linear-gradient(transparent, rgba(0, 0, 0, 0.8)); + color: white; + padding: 10px; + opacity: 0; + transition: opacity 0.3s ease; +} + +.vjs-related-video-item:hover .vjs-related-video-overlay { + opacity: 1; +} + +.vjs-related-video-title { + font-size: 14px; + font-weight: bold; + margin-bottom: 4px; + line-height: 1.2; +} + +.vjs-related-video-author { + font-size: 12px; + color: #ccc; + margin-bottom: 2px; +} + +.vjs-related-video-views { + font-size: 12px; + color: #aaa; +} + +/* Keep entire control bar active when video ends */ +.video-js.vjs-ended .vjs-control-bar { + opacity: 1 !important; + pointer-events: auto !important; +} + +.video-js.vjs-ended .vjs-control-bar .vjs-control { + opacity: 1 !important; + pointer-events: auto !important; + cursor: pointer !important; +} + +.video-js.vjs-ended .vjs-control-bar button { + opacity: 1 !important; + pointer-events: auto !important; + cursor: pointer !important; +} + +.video-js.vjs-ended .vjs-play-control { + opacity: 1 !important; + pointer-events: auto !important; + cursor: pointer !important; +} + +.video-js.vjs-ended .vjs-progress-control { + opacity: 1 !important; + pointer-events: auto !important; +} + +.video-js.vjs-ended .vjs-volume-panel { + opacity: 1 !important; + pointer-events: auto !important; +} + +/* Chapter Markers and Tooltip Styles */ +.vjs-chapter-markers-track { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + pointer-events: none; +} + +.vjs-chapter-marker { + position: absolute; + top: 0; + width: 2px; + height: 100%; + background: rgba(255, 255, 255, 0.6); + pointer-events: auto; + cursor: pointer; + transition: background 0.2s ease; +} + +.vjs-chapter-marker:hover { + background: rgba(255, 255, 255, 0.9); + width: 3px; +} + +.vjs-chapter-marker-tooltip { + position: absolute; + bottom: 8px; + left: 50%; + transform: translateX(-50%); + background: rgba(0, 0, 0, 0.8); + color: white; + padding: 4px 8px; + border-radius: 4px; + font-size: 11px; + white-space: nowrap; + opacity: 0; + pointer-events: none; + transition: opacity 0.2s ease; + z-index: 1001; +} + +.vjs-chapter-marker:hover .vjs-chapter-marker-tooltip { + opacity: 1; +} + +.vjs-chapter-floating-tooltip { + font-family: + -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', + 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', + sans-serif !important; + line-height: 1.4 !important; + animation: fadeIn 0.2s ease-in-out; +} + +@keyframes fadeIn { + from { + opacity: 0; + transform: translateX(-50%) translateY(5px); + } + to { + opacity: 1; + transform: translateX(-50%) translateY(0); + } +} + +/* Make menus clickable instead of hover-only */ +.video-js .vjs-menu-button:not(.vjs-disabled) .vjs-menu { + display: none !important; /* Hide by default */ +} + +.video-js .vjs-menu-button:not(.vjs-disabled).vjs-lock-showing .vjs-menu, +.video-js .vjs-menu-button:not(.vjs-disabled) .vjs-menu.vjs-lock-showing { + display: block !important; /* Show when clicked */ +} + +/* Disable hover effects on menu buttons */ +.video-js .vjs-menu-button:hover .vjs-menu { + display: none !important; +} + +.video-js .vjs-menu-button.vjs-lock-showing:hover .vjs-menu { + display: block !important; +} + +/* Ensure clicked menus stay visible */ +.video-js .vjs-menu.vjs-lock-showing { + display: block !important; + opacity: 1 !important; + visibility: visible !important; +} + +/* Responsive adjustments */ +@media (max-width: 768px) { + .video-container { + padding: 0 15px; + } + + .vjs-related-videos-grid { + grid-template-columns: repeat(2, 1fr); + grid-template-rows: repeat(auto, 1fr); + gap: 8px; + max-width: 100%; + } + + .vjs-end-screen-overlay { + padding: 0 15px; + } + + .vjs-related-video-thumbnail { + height: 100px; + } + + .vjs-chapter-floating-tooltip { + max-width: 200px !important; + font-size: 11px !important; + padding: 6px 10px !important; + } +} + +@media (max-width: 480px) { + .video-container { + padding: 0 10px; + } + + .vjs-related-videos-grid { + grid-template-columns: 1fr; + gap: 6px; + } + + .vjs-end-screen-overlay { + padding: 0 10px; + } + + .vjs-related-video-thumbnail { + height: 120px; + } + + /* Make sure video info panel is responsive */ + .video-info { + margin-top: 10px !important; + padding: 10px !important; + font-size: 14px !important; + } + + .video-info h4 { + font-size: 16px !important; + } + + .video-info ul { + font-size: 12px !important; + } +} diff --git a/frontend-tools/video-js/src/VideoJS.jsx b/frontend-tools/video-js/src/VideoJS.jsx new file mode 100644 index 00000000..97814232 --- /dev/null +++ b/frontend-tools/video-js/src/VideoJS.jsx @@ -0,0 +1,1558 @@ +import React, { useEffect, useRef, useState, useMemo } from 'react'; +import videojs from 'video.js'; + +// import './assets/css/mediacms-player.css'; +// import './assets/css/VideoPlayer.scss'; +import 'video.js/dist/video-js.css'; + +// Define EndScreenOverlay outside the component to avoid re-definition +const Component = videojs.getComponent('Component'); + +class EndScreenOverlay extends Component { + constructor(player, options) { + // Store relatedVideos in options before calling super + // so it's available during createEl() + if (options && options.relatedVideos) { + options._relatedVideos = options.relatedVideos; + } + + super(player, options); + + // Now set the instance property after super() completes + this.relatedVideos = + options && options.relatedVideos ? options.relatedVideos : []; + + // console.log( + // 'EndScreenOverlay created with', + // this.relatedVideos.length, + // 'related videos' + // ); + } + + createEl() { + // Get relatedVideos from options since createEl is called during super() + const relatedVideos = + this.options_ && this.options_._relatedVideos + ? this.options_._relatedVideos + : []; + + // console.log( + // 'Creating end screen with', + // relatedVideos.length, + // 'related videos' + // ); + + const overlay = super.createEl('div', { + className: 'vjs-end-screen-overlay', + }); + + // Create grid container + const grid = videojs.dom.createEl('div', { + className: 'vjs-related-videos-grid', + }); + + // Create video items + if ( + relatedVideos && + Array.isArray(relatedVideos) && + relatedVideos.length > 0 + ) { + relatedVideos.forEach((video) => { + const videoItem = this.createVideoItem(video); + grid.appendChild(videoItem); + }); + } else { + // Fallback message if no related videos + const noVideos = videojs.dom.createEl('div', { + className: 'vjs-no-related-videos', + }); + noVideos.textContent = 'No related videos available'; + noVideos.style.color = 'white'; + noVideos.style.textAlign = 'center'; + grid.appendChild(noVideos); + } + + overlay.appendChild(grid); + + return overlay; + } + + createVideoItem(video) { + const item = videojs.dom.createEl('div', { + className: 'vjs-related-video-item', + }); + + const thumbnail = videojs.dom.createEl('img', { + className: 'vjs-related-video-thumbnail', + src: video.thumbnail, + alt: video.title, + }); + + const overlay = videojs.dom.createEl('div', { + className: 'vjs-related-video-overlay', + }); + + const title = videojs.dom.createEl('div', { + className: 'vjs-related-video-title', + }); + title.textContent = video.title; + + const author = videojs.dom.createEl('div', { + className: 'vjs-related-video-author', + }); + author.textContent = video.author; + + const views = videojs.dom.createEl('div', { + className: 'vjs-related-video-views', + }); + views.textContent = video.views; + + overlay.appendChild(title); + overlay.appendChild(author); + overlay.appendChild(views); + + item.appendChild(thumbnail); + item.appendChild(overlay); + + // Add click handler + item.addEventListener('click', () => { + window.location.href = `/view?m=${video.id}`; + }); + + return item; + } + + show() { + this.el().style.display = 'flex'; + } + + hide() { + this.el().style.display = 'none'; + } +} + +// Register the component once +videojs.registerComponent('EndScreenOverlay', EndScreenOverlay); + +// Enhanced Chapter Markers Component with continuous chapter display +class ChapterMarkers extends Component { + constructor(player, options) { + super(player, options); + this.on(player, 'loadedmetadata', this.updateChapterMarkers); + this.on(player, 'texttrackchange', this.updateChapterMarkers); + this.chaptersData = []; + this.tooltip = null; + this.isHovering = false; + } + + createEl() { + const el = super.createEl('div', { + className: 'vjs-chapter-markers-track', + }); + + // Initialize tooltip as null - will be created when needed + this.tooltip = null; + + return el; + } + + updateChapterMarkers() { + const player = this.player(); + const textTracks = player.textTracks(); + let chaptersTrack = null; + + // Find the chapters track + for (let i = 0; i < textTracks.length; i++) { + if (textTracks[i].kind === 'chapters') { + chaptersTrack = textTracks[i]; + break; + } + } + + if (!chaptersTrack || !chaptersTrack.cues) { + return; + } + + // Store chapters data for tooltip lookup + this.chaptersData = []; + for (let i = 0; i < chaptersTrack.cues.length; i++) { + const cue = chaptersTrack.cues[i]; + this.chaptersData.push({ + startTime: cue.startTime, + endTime: cue.endTime, + text: cue.text, + }); + } + + // Clear existing markers + this.el().innerHTML = ''; + + const duration = player.duration(); + if (!duration || duration === Infinity) { + return; + } + + // Create markers for each chapter + for (let i = 0; i < chaptersTrack.cues.length; i++) { + const cue = chaptersTrack.cues[i]; + const marker = this.createMarker(cue, duration); + this.el().appendChild(marker); + } + + // Setup progress bar hover for continuous chapter display + this.setupProgressBarHover(); + } + + setupProgressBarHover() { + const progressControl = this.player() + .getChild('controlBar') + .getChild('progressControl'); + if (!progressControl) return; + + const seekBar = progressControl.getChild('seekBar'); + if (!seekBar) return; + + const seekBarEl = seekBar.el(); + + // Ensure tooltip is properly created and add to seekBar if not already added + if (!this.tooltip || !this.tooltip.nodeType) { + // Recreate tooltip if it's not a proper DOM node + this.tooltip = videojs.dom.createEl('div', { + className: 'vjs-chapter-floating-tooltip', + }); + + // Style the floating tooltip + Object.assign(this.tooltip.style, { + position: 'absolute', + background: 'rgba(0, 0, 0, 0.9)', + color: 'white', + padding: '8px 12px', + borderRadius: '6px', + fontSize: '12px', + whiteSpace: 'nowrap', + pointerEvents: 'none', + zIndex: '1000', + bottom: '45px', + transform: 'translateX(-50%)', + display: 'none', + maxWidth: '250px', + textAlign: 'center', + border: '1px solid rgba(255, 255, 255, 0.2)', + boxShadow: '0 2px 8px rgba(0, 0, 0, 0.3)', + }); + } + + // Add tooltip to seekBar if not already added + if (!seekBarEl.querySelector('.vjs-chapter-floating-tooltip')) { + try { + seekBarEl.appendChild(this.tooltip); + } catch { + // console.warn('Could not append chapter tooltip:', error); + return; + } + } + + // Get the progress control element for larger hover area + const progressControlEl = progressControl.el(); + + // Remove existing listeners to prevent duplicates + progressControlEl.removeEventListener( + 'mouseenter', + this.handleMouseEnter + ); + progressControlEl.removeEventListener( + 'mouseleave', + this.handleMouseLeave + ); + progressControlEl.removeEventListener( + 'mousemove', + this.handleMouseMove + ); + + // Bind methods to preserve context + this.handleMouseEnter = () => { + this.isHovering = true; + this.tooltip.style.display = 'block'; + }; + + this.handleMouseLeave = () => { + this.isHovering = false; + this.tooltip.style.display = 'none'; + }; + + this.handleMouseMove = (e) => { + if (!this.isHovering) return; + this.updateChapterTooltip(e, seekBarEl, progressControlEl); + }; + + // Add event listeners to the entire progress control area (includes gray area above) + progressControlEl.addEventListener('mouseenter', this.handleMouseEnter); + progressControlEl.addEventListener('mouseleave', this.handleMouseLeave); + progressControlEl.addEventListener('mousemove', this.handleMouseMove); + } + + updateChapterTooltip(event, seekBarEl, progressControlEl) { + if (!this.tooltip || !this.isHovering) return; + + const duration = this.player().duration(); + if (!duration) return; + + // Calculate time position based on mouse position relative to seekBar + const seekBarRect = seekBarEl.getBoundingClientRect(); + const progressControlRect = progressControlEl.getBoundingClientRect(); + + // Use seekBar for horizontal calculation but allow vertical tolerance + const offsetX = event.clientX - seekBarRect.left; + const percentage = Math.max( + 0, + Math.min(1, offsetX / seekBarRect.width) + ); + const currentTime = percentage * duration; + + // Position tooltip relative to progress control area + const tooltipOffsetX = event.clientX - progressControlRect.left; + + // Find current chapter + const currentChapter = this.findChapterAtTime(currentTime); + + if (currentChapter) { + // Format time for display + const formatTime = (seconds) => { + const mins = Math.floor(seconds / 60); + const secs = Math.floor(seconds % 60); + return `${mins}:${secs.toString().padStart(2, '0')}`; + }; + + const startTime = formatTime(currentChapter.startTime); + const endTime = formatTime(currentChapter.endTime); + const timeAtPosition = formatTime(currentTime); + + this.tooltip.innerHTML = ` +

+
Chapter: ${startTime} - ${endTime}
+
Position: ${timeAtPosition}
+ `; + } else { + const timeAtPosition = this.formatTime(currentTime); + this.tooltip.innerHTML = ` +
No Chapter
+
Position: ${timeAtPosition}
+ `; + } + + // Position tooltip relative to progress control container + this.tooltip.style.left = `${tooltipOffsetX}px`; + this.tooltip.style.display = 'block'; + } + + findChapterAtTime(time) { + for (const chapter of this.chaptersData) { + if (time >= chapter.startTime && time < chapter.endTime) { + return chapter; + } + } + return null; + } + + formatTime(seconds) { + const mins = Math.floor(seconds / 60); + const secs = Math.floor(seconds % 60); + return `${mins}:${secs.toString().padStart(2, '0')}`; + } + + createMarker(cue, duration) { + const marker = videojs.dom.createEl('div', { + className: 'vjs-chapter-marker', + }); + + // Calculate position as percentage + const position = (cue.startTime / duration) * 100; + marker.style.left = position + '%'; + + // Create static tooltip for chapter start points + const tooltip = videojs.dom.createEl('div', { + className: 'vjs-chapter-marker-tooltip', + }); + tooltip.textContent = cue.text; + marker.appendChild(tooltip); + + // Add click handler to jump to chapter + marker.addEventListener('click', (e) => { + e.stopPropagation(); + this.player().currentTime(cue.startTime); + }); + + // Make marker interactive + marker.style.pointerEvents = 'auto'; + marker.style.cursor = 'pointer'; + + return marker; + } + + dispose() { + // Clean up event listeners + const progressControl = this.player() + .getChild('controlBar') + ?.getChild('progressControl'); + if (progressControl) { + const progressControlEl = progressControl.el(); + progressControlEl.removeEventListener( + 'mouseenter', + this.handleMouseEnter + ); + progressControlEl.removeEventListener( + 'mouseleave', + this.handleMouseLeave + ); + progressControlEl.removeEventListener( + 'mousemove', + this.handleMouseMove + ); + } + + // Remove tooltip + if (this.tooltip && this.tooltip.parentNode) { + this.tooltip.parentNode.removeChild(this.tooltip); + } + + super.dispose(); + } +} + +// Register the chapter markers component +videojs.registerComponent('ChapterMarkers', ChapterMarkers); + +function VideoJS() { + const videoRef = useRef(null); + const playerRef = useRef(null); // Track the player instance + // const [chapters] = useState([]); // Track chapters for display + + // Safely access window.MEDIA_DATA with fallback using useMemo + const mediaData = useMemo( + () => + typeof window !== 'undefined' && window.MEDIA_DATA + ? window.MEDIA_DATA + : { + data: {}, + siteUrl: '', + }, + [] + ); + console.log('window.MEDIA_DATA hasNextLink', mediaData.hasNextLink); + + // Define chapters as JSON object + // Note: The sample-chapters.vtt file is no longer needed as chapters are now loaded from this JSON + const chaptersData = [ + { startTime: 0, endTime: 5, text: 'Start111' }, + { startTime: 5, endTime: 10, text: 'Introduction - EuroHPC' }, + { startTime: 10, endTime: 15, text: 'Planning - EuroHPC' }, + { startTime: 15, endTime: 20, text: 'Parcel Discounts - EuroHPC' }, + { startTime: 20, endTime: 25, text: 'Class Studies - EuroHPC' }, + { startTime: 25, endTime: 30, text: 'Sustainability - EuroHPC' }, + { startTime: 30, endTime: 35, text: 'Funding and Finance - EuroHPC' }, + { startTime: 35, endTime: 40, text: 'Virtual HPC Academy - EuroHPC' }, + { startTime: 40, endTime: 45, text: 'Wrapping up - EuroHPC' }, + ]; + + // Get video data from mediaData + const currentVideo = useMemo( + () => ({ + id: mediaData.data?.friendly_token || 'default-video', + title: mediaData.data?.title || 'Video', + poster: mediaData.siteUrl + mediaData.data?.poster_url || '', + sources: mediaData.data?.original_media_url + ? [ + { + src: + mediaData.siteUrl + + mediaData.data.original_media_url, + type: 'video/mp4', + }, + ] + : [ + { + src: 'https://vjs.zencdn.net/v/oceans.mp4', + type: 'video/mp4', + }, + ], + }), + [mediaData] + ); + + // Mock related videos data (would come from API) + const [relatedVideos] = useState([ + { + id: 'Otbc37Yj4', + title: 'Amazing Ocean Depths', + author: 'Marine Explorer', + views: '2.1M views', + thumbnail: 'https://picsum.photos/320/180?random=1', + category: 'nature', + }, + { + id: 'Kt9m2Pv8x', + title: 'Deep Sea Creatures', + author: 'Aquatic Life', + views: '854K views', + thumbnail: 'https://picsum.photos/320/180?random=2', + category: 'nature', + }, + { + id: 'Ln5q8Bw3r', + title: 'Coral Reef Paradise', + author: 'Ocean Films', + views: '1.7M views', + thumbnail: 'https://picsum.photos/320/180?random=3', + category: 'nature', + }, + { + id: 'Mz4x7Cy9p', + title: 'Underwater Adventure', + author: 'Sea Documentaries', + views: '3.2M views', + thumbnail: 'https://picsum.photos/320/180?random=4', + category: 'nature', + }, + { + id: 'Nx8v2Fk6w', + title: 'Marine Wildlife', + author: 'Nature Plus', + views: '967K views', + thumbnail: 'https://picsum.photos/320/180?random=5', + category: 'nature', + }, + { + id: 'Py7t4Mn1q', + title: 'Ocean Mysteries', + author: 'Discovery Zone', + views: '1.4M views', + thumbnail: 'https://picsum.photos/320/180?random=6', + category: 'nature', + }, + { + id: 'Qw5e8Rt2n', + title: 'Whales and Dolphins', + author: 'Ocean Planet', + views: '2.8M views', + thumbnail: 'https://picsum.photos/320/180?random=7', + category: 'nature', + }, + { + id: 'Uv3k9Lp7m', + title: 'Tropical Fish Paradise', + author: 'Aquatic World', + views: '1.2M views', + thumbnail: 'https://picsum.photos/320/180?random=8', + category: 'nature', + }, + { + id: 'Zx6c4Mn8b', + title: 'Deep Ocean Exploration', + author: 'Marine Science', + views: '3.7M views', + thumbnail: 'https://picsum.photos/320/180?random=9', + category: 'nature', + }, + ]); + + // Custom Next Video Button Component using modern Video.js API + const Button = videojs.getComponent('Button'); + + class NextVideoButton extends Button { + constructor(player, options) { + super(player, options); + } + + createEl() { + const button = super.createEl('button', { + className: 'vjs-next-video-control vjs-control vjs-button', + type: 'button', + title: 'Next Video', + 'aria-label': 'Next Video', + }); + + // Create the icon span using Video.js core icon + const iconSpan = videojs.dom.createEl('span', { + 'aria-hidden': 'true', + }); + + // Create SVG that matches Video.js icon dimensions + iconSpan.innerHTML = ` + + + + `; + + // Create control text span + const controlTextSpan = videojs.dom.createEl('span', { + className: 'vjs-control-text', + }); + controlTextSpan.textContent = 'Next Video'; + + // Append both spans to button + button.appendChild(iconSpan); + button.appendChild(controlTextSpan); + + return button; + } + + handleClick() { + this.player().trigger('nextVideo'); + } + } + + // Register the component + videojs.registerComponent('NextVideoButton', NextVideoButton); + + // Function to navigate to next video (disabled for single video) + const goToNextVideo = () => { + // console.log('Next video functionality disabled for single video mode'); + }; + + useEffect(() => { + // Only initialize if we don't already have a player and element exists + if (videoRef.current && !playerRef.current) { + // Check if element is already a Video.js player + if (videoRef.current.player) { + // console.log('Video.js already initialized on this element'); + return; + } + + const timer = setTimeout(() => { + // Double-check that we still don't have a player and element exists + if ( + !playerRef.current && + videoRef.current && + !videoRef.current.player + ) { + playerRef.current = videojs(videoRef.current, { + // ===== STANDARD
+

Video.js Configuration123

+ +
+ + {chapters.length > 0 && ( +
+

Chapters:

+
+ {chapters.map((chapter, index) => { + const minutes = Math.floor( + chapter.startTime / 60 + ); + const seconds = Math.floor( + chapter.startTime % 60 + ); + const timeString = `${minutes}:${seconds + .toString() + .padStart(2, '0')}`; + + return ( + + ); + })} +
+
+ )} +
+ + ); */ +} + +export default VideoJS; diff --git a/frontend-tools/video-js/src/assets/css/VideoPlayer.scss b/frontend-tools/video-js/src/assets/css/VideoPlayer.scss new file mode 100755 index 00000000..b7c9c53b --- /dev/null +++ b/frontend-tools/video-js/src/assets/css/VideoPlayer.scss @@ -0,0 +1,1154 @@ +@use 'sass:math'; +@use './includes/mixins' as *; +@use './includes/theme_variables' as *; +@import 'video.js/dist/video-js.css'; + +@keyframes up-next-circle-countdown { + from { + stroke-dashoffset: 185; + stroke-dasharray: 185; + } + to { + stroke-dashoffset: 0; + stroke-dasharray: 185; + } +} + +@-webkit-keyframes media-slider-reveal { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} + +@keyframes media-slider-reveal { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} + +@-webkit-keyframes media-item-reveal { + 0% { + opacity: 0; + transform: scale(0.2); + } + 100% { + opacity: 1; + transform: scale(1); + } +} + +@keyframes media-item-reveal { + 0% { + opacity: 0; + transform: scale(0.2); + } + 100% { + opacity: 1; + transform: scale(1); + } +} + +.video-player { + position: relative; + height: 100%; +} + +.video-player { + outline-color: rgba(0, 0, 0, 0); + outline-color: transparent; +} + +.video-js.vjs-mediacms { + // Enhanced styling for video player + border-radius: 12px !important; + overflow: hidden !important; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important; + outline: none !important; /* Remove default focus outline */ + + // Focus styles for keyboard controls + &:focus { + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), + 0 0 0 3px rgba(0, 122, 204, 0.3) !important; + } + + video { + outline: none !important; + border-radius: 12px !important; + } + + .vjs-poster { + border-radius: 12px !important; + } + + .vjs-control-bar { + border-bottom-left-radius: 12px !important; + border-bottom-right-radius: 12px !important; + } + + .vjs-corner-layer.vjs-corner-top-left { + z-index: +3; + } + + .vjs-corner-layer.vjs-corner-bottom-right { + bottom: 16px; + } + + .vjs-corner-layer.vjs-corner-top-right { + opacity: 0; + visibility: hidden; + + display: block; + -webkit-animation: media-slider-reveal 0.4s linear; + animation: media-slider-reveal 0.4s linear; + + top: 12px; + left: 12px; + bottom: 48px; + z-index: +3; + } + + .vjs-corner-layer.vjs-corner-bottom-left { + display: none; + -webkit-animation: media-slider-reveal 0.1s linear; + animation: media-slider-reveal 0.1s linear; + + top: 12px; + right: 12px; + z-index: +2; + + .embed-wrap & { + top: 52px; + top: 3.25rem; + } + } + + &.vjs-has-started.vjs-paused .vjs-corner-layer.vjs-corner-bottom-left { + display: block; + } + + .up-next-loader { + position: absolute; + top: -12px; + left: -12px; + right: -12px; + bottom: -48px; + display: block; + background-color: #000; + + .next-media-poster { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + display: block; + opacity: 0.4; + background-position: center; + background-repeat: no-repeat; + background-size: contain; + filter: blur(4px); + } + } + + &.vjs-mediacms-up-next-hidden { + } + + .up-next-loader-inner { + position: relative; + width: 100%; + height: 100%; + display: table; + text-align: center; + line-height: 1.3; + font-family: Roboto, Arial, Helvetica, sans-serif; + + > div { + width: 100%; + height: 100%; + padding: 6px 12px 48px 12px; + display: table-cell; + vertical-align: middle; + } + + .up-next-label { + margin-bottom: 8px; + font-size: 1.184615em; + color: rgba(#fff, 0.7); + } + + .next-media-title { + margin: 0 20px; + padding: 0 0 2px; + font-weight: 500; + font-size: 1.69231em; + color: #eee; + + @include multiline_texts_excerpt( + $font-size: 1.69231em, + $line-height: 1.3, + $lines-to-show: 3, + $bg-color: transparent + ); + + @media screen and (max-width: 688px) { + font-size: 21px; + @include multiline_texts_excerpt( + $font-size: 1.69231em, + $line-height: 1.3, + $lines-to-show: 1, + $bg-color: transparent + ); + } + + @media screen and (max-width: 491px) { + font-size: 19px; + } + } + + .next-media-author { + margin-bottom: 10px; + font-size: 1.1em; + color: #fff; + + @media screen and (max-width: 491px) { + margin-bottom: 5px; + } + } + + .up-next-cancel { + button { + padding: 10px 20px; + font-size: 15.4px; + font-weight: 500; + line-height: 20.02px; + word-spacing: 0; + color: #eee; + outline-width: 0; + border-radius: 2px; + + &:hover { + background-color: rgba(#fff, 0.15); + } + + @media screen and (max-width: 688px) { + padding: 8px 16px; + font-size: 14.3px; + line-height: 18.59px; + } + } + } + + .go-next { + padding: 16px 0; + + @media screen and (max-width: 688px) { + padding: 12px 0; + } + + a { + position: relative; + display: inline-block; + text-decoration: none; + width: 56px; + height: 56px; + line-height: 56px; + overflow: visible; + color: #fff; + border-radius: 50%; + + @media screen and (max-width: 688px) { + width: 48px; + height: 48px; + line-height: 48px; + } + + span { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: block; + background-color: #fff; + border-radius: 50%; + opacity: 0.3; + } + + i.material-icons { + margin-top: -1px; + font-size: 2 * 16px; + + @media screen and (max-width: 688px) { + font-size: 2 * 16px; + } + } + } + + svg.radial-timer { + display: none; + position: absolute; + top: -4px; + left: -4px; + width: 64px; + height: 64px; + transform: /*rotateY(-180deg)*/ rotateZ(-90deg); + + circle { + visibility: hidden; + &:first-child { + visibility: visible; + } + + stroke-dasharray: 0; + stroke-dashoffset: 185; + stroke-linecap: square; + stroke-width: 4px; + stroke: white; + fill: none; + animation: up-next-circle-countdown 10s linear forwards; + } + + @media screen and (max-width: 688px) { + width: 56px; + height: 56px; + circle { + stroke-width: 3px; + visibility: visible; + &:first-child { + visibility: hidden; + } + } + } + + @media screen and (max-width: 491px) { + } + } + } + } + + &.vjs-mediacms-canceled-next { + .up-next-loader-inner { + .go-next { + svg.radial-timer { + circle { + display: none; + animation: none; + } + } + } + } + } + + .more-media { + display: block; + font-family: Roboto, Arial, Helvetica, sans-serif; + } + + &.vjs-fullscreen { + .more-media { + font-size: 0.8125em; + } + } + + .more-media-item { + position: relative; + display: inline-block; + + > * { + display: block; + color: #fff; + text-decoration: none; + } + + &.before-more-media-item-load { + opacity: 0; + transform: scale(0.2); + + -webkit-animation: media-item-reveal 0.3s linear forwards; + animation: media-item-reveal 0.3s linear forwards; + + -webkit-animation-delay: calc(var(--n) * 0.075s); + animation-delay: calc(var(--n) * 0.075s); + } + } + + .more-media-item-thumb { + display: block; + background-position: center; + background-size: cover; + } + + .more-media-duration { + position: absolute; + bottom: 0; + right: 0; + padding: 4px; + + > * { + display: inline-block; + padding: 0.181819em; + font-size: 0.84615em; + line-height: 1; + font-weight: 500; + background-color: #000; + border-radius: 2px; + opacity: 0.75; + } + } + + .more-media-item-content { + position: relative; + display: block; + width: 100%; + } + + .more-media-title { + font-weight: 500; + } + + .more-media-meta { + display: block; + font-size: 0.84615em; + line-height: 1.30001; + margin-top: 2px; + + > * ~ * { + &:before { + content: '•'; + content: '\2022'; + margin: 0 4px; + } + } + } + + .more-media-author { + } + + .more-media-views { + } + + /* ================================================== */ + /* ================================================== */ + /* ================================================== */ + + .more-media.full-wrapper { + position: absolute; + top: 4px; + left: 0; + right: 0; + bottom: 4px; + + padding: 1em 1.5em 1.5em; + + .embed-wrap & { + padding: 2em 3em 3em; + } + + &:before { + content: ''; + position: absolute; + top: -100%; + left: -100%; + right: -100%; + bottom: -100%; + display: block; + background-color: rgba(#000, 0.9); + } + + $columns: 1, 2, 3, 4, 5, 6; + $rows: 1, 2, 3, 4, 5, 6; + + @each $c in $columns { + &.grid-col-#{$c} { + .more-media-item { + width: math.div(1, $c) * 100%; + } + } + } + + @each $r in $rows { + &.grid-row-#{$r} { + .more-media-item { + height: math.div(1, $r) * 100%; + } + } + } + + @each $co in $columns { + @each $ro in $rows { + &.grid-col-#{$co}.grid-row-#{$ro} { + .more-media-item { + &:nth-child(n + #{ ( ( $co * $ro ) + 1 ) }) { + display: none; + } + } + } + } + } + + > div { + position: relative; + width: 100%; + height: 100%; + display: block; + + > * { + position: relative; + width: 100%; + height: 100%; + display: block; + } + } + + .more-media-item { + float: left; + + > * { + top: 2px; + left: 2px; + right: 2px; + bottom: 2px; + } + } + } + + .more-media.full-wrapper, + .more-media.inline-slider-small { + .more-media-wrap-title, + .prev-slide, + .next-slide, + .close-more-videos, + .open-more-videos { + display: none; + } + } + + .more-media.inline-slider, + .more-media.inline-slider-small { + position: absolute; + bottom: 4px; + left: 0; + right: 0; + + > div { + position: relative; + + > * { + position: relative; + overflow: hidden; + white-space: nowrap; + -webkit-overflow-scrolling: touch; + scroll-behavior: smooth; + } + } + + .more-media-item { + vertical-align: top; + width: 188px; + } + } + + $slideButtonDim: 40px; + + .more-media.inline-slider { + padding: 12px (0.5 * (12 + $slideButtonDim)) 16px; + background-color: rgba(23, 23, 23, 0.9); + border-radius: 2px; + + .more-media-wrap-title { + position: relative; + display: block; + font-size: 1.076925em; + font-weight: 600; + font-stretch: 100%; + line-height: 1.428574; + margin: 0 0 12px; + color: rgb(238, 238, 238); + } + + .more-media-item { + height: 100px; + + > * { + top: 0; + left: 0; + right: 8px; + bottom: 0; + } + } + + .prev-slide, + .next-slide { + position: absolute; + top: 50%; + margin-top: -0.5 * $slideButtonDim; + font-size: 1.75em; + + button { + width: $slideButtonDim; + height: $slideButtonDim; + line-height: $slideButtonDim; + background-color: #333; + box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2); + } + } + + .prev-slide { + left: -0.5 * $slideButtonDim; + } + + .next-slide { + right: -0.5 * $slideButtonDim; + } + } + + .more-media.inline-slider-small { + > div { + > * { + overflow: auto; + } + } + + .more-media-item { + > * { + margin-right: 10px; + } + } + + .more-media-item-thumb { + position: relative; + height: 100px; + } + + .more-media-item-content { + padding: 10px 0; + } + + .more-media-duration { + > * { + padding: (2.5 * 0.181819em) (2 * 0.181819em); + border-radius: 1px; + } + } + + .more-media-title { + @include multiline_texts_excerpt( + $font-size: 1em, + $line-height: 1.198155, + $lines-to-show: 1, + $bg-color: transparent + ); + } + + .more-media-views { + display: none; + } + } + + .more-media.full-wrapper, + .more-media.inline-slider { + .more-media-item { + > * { + position: absolute; + } + } + + .more-media-item-thumb { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + } + + .more-media-item-content { + height: 100%; + padding: 10px; + background-image: -moz-linear-gradient( + top, + rgba(#0c0c0c, 0.8) 0, + transparent 100px + ); + background-image: -ms-linear-gradient( + top, + rgba(#0c0c0c, 0.8) 0, + transparent 100px + ); + background-image: -o-linear-gradient( + top, + rgba(#0c0c0c, 0.8) 0, + transparent 100px + ); + background-image: -webkit-linear-gradient( + top, + rgba(#0c0c0c, 0.8) 0, + transparent 100px + ); + background-image: linear-gradient( + to bottom, + rgba(#0c0c0c, 0.8) 0, + transparent 100px + ); + } + + .more-media-item-content, + .more-media-duration { + opacity: 0; + will-change: opacity; + transition-property: opacity; + transition-duration: 0.3s; + } + + .more-media-item > *:hover { + .more-media-item-content, + .more-media-duration { + opacity: 1; + } + } + + .more-media-title { + @include multiline_texts_excerpt( + $font-size: 1em, + $line-height: 1.198155, + $lines-to-show: 2, + $bg-color: transparent + ); + } + } + + .more-media.inline-slider.hidden-inline-more-media { + right: auto; + padding: 0; + + > div, + .more-media-wrap-title, + .close-more-videos { + display: none; + } + + .open-more-videos { + display: inline-block; + } + } + + .open-more-videos { + display: none; + padding: 0.85714em 1em; + font-size: 1.076925em; + font-weight: 500; + font-stretch: 100%; + line-height: 1.428574; + color: rgb(238, 238, 238); + border: 0; + background: none; + } + + .close-more-videos { + position: absolute; + right: 14px; + top: 0; + padding: 4px; + margin: 8px 4px 8px 8px; + display: inline-block; + font-size: 1.538475em; + font-weight: 500; + line-height: 1; + border: 0; + background: 0; + } + + .more-media { + display: none; + .embed-wrap &, + .media-embed-wrap & { + display: block; + } + } + + &.vjs-ended { + .more-media { + display: block; + } + + .vjs-corner-layer.vjs-corner-bottom-left { + display: block; + } + + &.vjs-mediacms-has-up-next-view { + .more-media, + .vjs-corner-layer.vjs-corner-bottom-left { + visibility: hidden; + } + + .vjs-corner-layer.vjs-corner-top-right { + transition-property: all; + transition-duration: 0.4s; + visibility: visible; + opacity: 1; + + svg.radial-timer { + display: block; + } + } + + &.vjs-mediacms-up-next-hidden { + .more-media, + .vjs-corner-layer.vjs-corner-bottom-left { + visibility: visible; + } + + .vjs-corner-layer.vjs-corner-top-right { + visibility: hidden; + opacity: 0; + } + + svg.radial-timer { + display: none; + } + } + } + } +} + +.video-js.vjs-mediacms { + .vjs-progress-control { + .vjs-progress-holder { + .vjs-play-progress { + background-color: var( + --brand-color, + var(--default-brand-color) + ); + + &:before { + color: var(--brand-color, var(--default-brand-color)); + } + } + } + } + + &:hover { + .vjs-big-play-button { + background-color: var(--brand-color, var(--default-brand-color)); + } + } + + &.vjs-subtitles-on .vjs-subtitles-control .vjs-icon-placeholder:after { + background-color: var(--brand-color, var(--default-brand-color)); + } +} + +.video-js.vjs-mediacms.vjs-audio .vjs-poster { + background-size: contain; +} + +/* ################################################## */ +/* ################################################## */ + +.vjs-corner-layer.vjs-corner-top-left { + z-index: +4; +} + +.vjs-corner-layer.vjs-corner-bottom-right { + top: 16px; + + .vjs-visible-share-options & { + z-index: +5; + display: block; + left: 16px; + bottom: 0 !important; + } +} + +button.share-video-btn { + position: absolute; + top: 0; + right: 0; + display: inline-block; + text-align: center; + padding: 0 6px; + + .vjs-has-started.vjs-user-inactive.vjs-playing & { + display: none !important; + } + + i.material-icons { + font-size: 28px; + } + + span { + display: block; + padding: 4px 0 0; + font-size: 14px; + font-weight: normal; + } +} + +.share-options-wrapper { + // z-index:+5; + position: absolute; + top: -16px; + left: -16px; + right: -16px; + bottom: -16px; + display: none; + background-color: rgba(#000, 0.8); + + .vjs-visible-share-options & { + display: block; + } + + .share-options { + // margin-bottom:16px; + display: table; + table-layout: fixed; + width: 100%; + height: 100%; + padding-top: 12px; + + .share-options-inner { + position: relative; + display: block; + display: table-cell; + vertical-align: middle; + text-align: center; + overflow: hidden; + } + + .sh-option { + vertical-align: top; + position: relative; + display: inline-block; + padding-right: 8px; + text-align: center; + + a, + button { + padding: 5px 5px 2px; + margin: 1px 0; + display: block; + text-decoration: none; + color: inherit; + + outline: 0; + border: 0; + background: none; + + > *:first-child { + display: block; + width: 60px; + height: 60px; + line-height: 60px; + margin: 0 auto 8px; + border-radius: 50%; + background-position: center; + background-repeat: no-repeat; + } + + > *:last-child { + font-size: 13px; + line-height: 18px; + overflow: hidden; + } + + .material-icons { + padding: 0; + margin: 0 0 0 1px; + line-height: 1; + font-size: 30px; + overflow: hidden; + color: #fff; + } + + @media screen and (max-width: 1024px) { + > *:first-child { + width: 48px; + height: 48px; + line-height: 48px; + background-size: 24px 24px; + } + + > *:last-child { + font-size: 13px; + line-height: 16px; + } + + .material-icons { + font-size: 24px; + } + } + } + + &:nth-child(n + 3) { + // display:none; + } + + @media screen and (max-width: 767px) { + &:nth-child(n + 6) { + display: none; + } + } + + @media screen and (max-width: 479px) { + &:nth-child(n + 4) { + display: none; + } + } + + @media screen and (max-width: 379px) { + &:nth-child(n + 3) { + display: none; + } + } + + @media screen and (max-width: 279px) { + &:nth-child(n + 2) { + display: none; + } + } + } + + .share-embed-opt { + a, + button { + > *:first-child { + background-color: rgb(244, 244, 244); + } + + .material-icons { + color: rgb(111, 111, 111); + } + } + } + + .share-fb { + a, + button { + > *:first-child { + background-color: rgb(59, 89, 152); + background-image: url('../../../images/social-media-icons/fb-logo.png'); + } + } + } + + .share-tw { + a, + button { + > *:first-child { + background-color: rgb(29, 161, 242); + background-image: url('../../../images/social-media-icons/twitter-logo.png'); + } + } + } + + .share-reddit { + a, + button { + > *:first-child { + background-color: rgb(255, 69, 0); + background-image: url('../../../images/social-media-icons/reddit-logo.png'); + } + } + } + + .share-tumblr { + a, + button { + > *:first-child { + background-color: rgb(53, 70, 92); + background-image: url('../../../images/social-media-icons/tumblr-logo.png'); + } + } + } + + .share-pinterest { + a, + button { + > *:first-child { + background-color: rgb(189, 8, 28); + background-image: url('../../../images/social-media-icons/pinterest-logo.png'); + } + } + } + + .share-vk { + a, + button { + > *:first-child { + background-color: rgb(70, 128, 194); + background-image: url('../../../images/social-media-icons/vk-logo.png'); + } + } + } + + .share-linkedin { + a, + button { + > *:first-child { + background-color: rgb(0, 119, 181); + background-image: url('../../../images/social-media-icons/linkedin-logo.png'); + } + } + } + + .share-mix { + a, + button { + > *:first-child { + background-color: rgb(255, 130, 38); + background-image: url('../../../images/social-media-icons/mix-logo.png'); + } + } + } + + .share-email { + a, + button { + > *:first-child { + background-color: rgb(136, 136, 136); + } + } + } + + .share-whatsapp { + a, + button { + > *:first-child { + background-color: rgb(37, 211, 102); + background-image: url('../../../images/social-media-icons/whatsapp-logo.png'); + } + } + } + + .share-telegram { + a, + button { + > *:first-child { + background-color: rgb(0, 136, 204); + background-position: 11px; + background-image: url('../../../images/social-media-icons/telegram-logo.png'); + } + } + } + + .share-more { + display: inline-block !important; + + @media screen and (min-width: 768px) { + display: none !important; + } + + a, + button { + > *:first-child { + background-color: rgba(#fff, 0.1); + } + } + } + } +} diff --git a/frontend-tools/video-js/src/assets/css/includes/_mixins.scss b/frontend-tools/video-js/src/assets/css/includes/_mixins.scss new file mode 100755 index 00000000..1d2c0b20 --- /dev/null +++ b/frontend-tools/video-js/src/assets/css/includes/_mixins.scss @@ -0,0 +1,69 @@ +@use 'sass:math'; + +@mixin multiline_texts_excerpt( + $font-size: 1em, + $line-height: 1.15, + $lines-to-show: 2, + $bg-color: transparent +) { + line-height: $line-height; + overflow: hidden; + text-overflow: ellipsis; + background-color: $bg-color; + + /* Fallback for non-webkit */ + display: block; + max-height: $lines-to-show * $line-height; + + /* Only for non-webkit */ + display: -webkit-box; + -webkit-line-clamp: $lines-to-show; + -webkit-box-orient: vertical; + white-space: normal; +} + +@mixin media_list_row_width($width, $vertSpace: 56) { + width: $width; + + @media (min-width: #{$vertSpace + ( 2 * $width )}px) { + width: #{2 * $width}px; + } + + @media (min-width: #{$vertSpace + ( 3 * $width )}px) { + width: #{3 * $width}px; + } + + @media (min-width: #{$vertSpace + ( 4 * $width )}px) { + width: #{4 * $width}px; + } + + @media (min-width: #{$vertSpace + ( 5 * $width )}px) { + width: #{5 * $width}px; + } + + @media (min-width: #{$vertSpace + ( 7 * $width )}px) { + width: #{6 * $width}px; + } + + .visible-sidebar & { + @media (min-width: #{$vertSpace + ( 2 * $width )}px) { + width: #{1 * $width}px; + } + + @media (min-width: #{$vertSpace + ( 3 * $width )}px) { + width: #{2 * $width}px; + } + + @media (min-width: #{$vertSpace + ( 4 * $width )}px) { + width: #{3 * $width}px; + } + + @media (min-width: #{$vertSpace + ( 5 * $width )}px) { + width: #{4 * $width}px; + } + + @media (min-width: #{$vertSpace + ( 7 * $width )}px) { + width: #{6 * $width}px; + } + } +} diff --git a/frontend-tools/video-js/src/assets/css/includes/_theme_variables.scss b/frontend-tools/video-js/src/assets/css/includes/_theme_variables.scss new file mode 100755 index 00000000..1bcca446 --- /dev/null +++ b/frontend-tools/video-js/src/assets/css/includes/_theme_variables.scss @@ -0,0 +1,12 @@ +$theme-color: var(--theme-color, var(--default-theme-color)); + +$color-error-red: rgba(red, 0.8); + +$message-default-color: rgba(#111, 0.9); + +$message-default-bg-color: #e6e6e6; +$message-info-bg-color: #e6e6fa; +$message-error-bg-color: #fae6e6; +$message-success-bg-color: #e6f0e6; + +$message-warning-bg-color: #fafae6; diff --git a/frontend-tools/video-js/src/assets/css/mediacms-player.css b/frontend-tools/video-js/src/assets/css/mediacms-player.css new file mode 100644 index 00000000..5f2bedb4 --- /dev/null +++ b/frontend-tools/video-js/src/assets/css/mediacms-player.css @@ -0,0 +1,1239 @@ +@font-face { + font-family: MediaCmsVideoJsIcons; + src: url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAT4AAsAAAAACMQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAPAAAAFY6l0dNY21hcAAAAYAAAABqAAABxPJEI45nbHlmAAAB7AAAANIAAAG4T61UQGhlYWQAAALAAAAALgAAADYZHmTsaGhlYQAAAvAAAAAYAAAAJABcADlobXR4AAADCAAAAA4AAAAgAVAAAGxvY2EAAAMYAAAAEgAAABIBvAEqbWF4cAAAAywAAAAfAAAAIAEVAExuYW1lAAADTAAAAUkAAAKmImr7xXBvc3QAAASYAAAAXwAAAIf4no6XeJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGTQYpzAwMrAwCDHoAgk2aC0OAMTAw8DkGBlZsAKAtJcUxgcPjJ+ZGcwAHJZwCQDAyOIAADEDQVjeJztkUEKxEAIBGsyZoSwT1n2QTnlkP/DvGBi6z4jQrXYiIcW2IEefAODdtFQneG29DtH+sYvd0z+9LVCmzRmS91i1+LiwGMcvPVJvf+TK7EiM9wK1HuhX0wrlOrcC/1pjgJ1L/AHpD8V1QAAeJyNkFtvwjAMhe2Y9aJGgFja8gCCNZAweKNcHtC0//+vOAlBDGlIJNEn28cnikOKwtqRpxF9Ep1tl83ZNBfen3744HJ77N1MYd0wc0qZEAFTA+fdb9/0d0rpEAFjDSdH/4JW9AG3z9uzX4jWUn5FJn2Z9LxFg5GyFL2KTPqW1g//pJBqKuPIpDvsKuo+XoEuJ1V1P/ZPjG5JM31jJk+//05l6/7Y1ybbcedQOkFq6vZF/fEDExkMhDljjhg+pxt8augEhshVKBcB6inD467W0Bp+AAB4nGNgZGBgAOJNl8rq4vltvjJwMxgARRjuvJp8Gplm0GbQBJIcDEwgDgBWfAr7AAB4nGNgZGBgMGBggJPaDIwMqIADAA4RAJZ4nGNgAAID3BgAE9ABUQAAAAAAAAAgAEAAUABgAHAAigDcAAB4nGNgZGBg4GBwYGBmAAEmIOYCQgaG/2A+AwAPpwFiAHicjZJNasJAGIbf1J9ShVJo6aabWYlQSNSldCcoCnbhIvuYTDSSZMJkFDxE79Bz9AClJ+hxSl+nsym4cAKT53u+n4RkANzhEx5Oy8OD3U/rCteM/rhBenLcJAeOW+hi4rhN/+q4g2esHXdxjzdO8Jo3NH28O77CLb4cN+i/HTfJP45bePR6jtvoey+OOwi9xHEXPe9jKZMsmhR1mCVSLep5rMp6JTf7PNLnUudcKHWdqVIM/cG59EyWUkdGJmJ9FPVhMzImFalWhZiq0sg8V6LSaidj42+NqcZBkDrvx6rAEhIJMkT8XgVqhOSETmHBaI6YVJJWdBvskbNSX9x1aV1Ip3nPbCwwhI/Bxd0zutJOiGBsj+BfPnKvceBbj2gNUsYpaxRnCUxt76k656VoKpvb0cT0Pra2q8KYpypg5/963z69+AXA8YLbAAAAeJx9x0kKgDAQBdHuOIPDSXKoaL4akERiOxxfceHSWhQ8UvRfyYoTTjnjnAsuuaLaYjT7IvpwOGuZYQTxRefN4aaHuscYIprPHpekNnhkwxI2tO+tHswqLniiGzpGHqcA) format("woff"); + font-weight: normal; + font-style: normal; } + +.vjs-icon-default-view { + font-family: MediaCmsVideoJsIcons; + font-weight: normal; + font-style: normal; } + .vjs-icon-default-view:before { + content: "\f101"; } + +.vjs-icon-theater-view { + font-family: MediaCmsVideoJsIcons; + font-weight: normal; + font-style: normal; } + .vjs-icon-theater-view:before { + content: "\f102"; } + +.vjs-icon-navigate-before { + font-family: MediaCmsVideoJsIcons; + font-weight: normal; + font-style: normal; } + .vjs-icon-navigate-before:before { + content: "\f103"; } + +.vjs-icon-navigate-next { + font-family: MediaCmsVideoJsIcons; + font-weight: normal; + font-style: normal; } + .vjs-icon-navigate-next:before { + content: "\f104"; } + +.vjs-icon-done { + font-family: MediaCmsVideoJsIcons; + font-weight: normal; + font-style: normal; } + .vjs-icon-done:before { + content: "\f105"; } + +.vjs-icon-close { + font-family: MediaCmsVideoJsIcons; + font-weight: normal; + font-style: normal; } + .vjs-icon-close:before { + content: "\f106"; } + +.vjs-icon-closed-caption { + font-family: MediaCmsVideoJsIcons; + font-weight: normal; + font-style: normal; } + .vjs-icon-closed-caption:before { + content: "\f107"; } + +/* BIG PLAY BUTTON */ +/* COLORS */ +/* @note: Keep in colors 6-digits hex format. */ +/* FONT SIZE */ +/* DIMENSIONS */ +/* SPACES */ +/* ANIMATIONS */ +/* FUNCTIONS */ +/*@function calc_($expression) { + @return $expression; +}*/ +/* ANIMATION KEYFRAMES */ +@keyframes onHoverFullscreenToggle { + 50% { + font-size: 14px; + margin-top: -1px; } + 100% { + font-size: 13px; + margin-top: 0; } } + +@-webkit-keyframes onHoverFullscreenToggle { + 50% { + font-size: 14px; + margin-top: -1px; } + 100% { + font-size: 13px; + margin-top: 0; } } + +@keyframes onFullscreenHoverFullscreenToggle { + 50% { + font-size: 15px; + margin-top: 1px; } + 100% { + font-size: 16px; + margin-top: 0; } } + +@-webkit-keyframes onFullscreenHoverFullscreenToggle { + 50% { + font-size: 15px; + margin-top: 1px; } + 100% { + font-size: 16px; + margin-top: 0; } } + +@keyframes onDisplayingActionAnimation { + 0% { + transform: scale(0.5); } + 10% { + opacity: 1; } + 100% { + opacity: 0; + transform: scale(1.05); } } + +@-webkit-keyframes onDisplayingActionAnimation { + 0% { + transform: scale(0.5); } + 10% { + opacity: 1; } + 100% { + opacity: 0; + transform: scale(1.05); } } + +@-webkit-keyframes spinner-linear-spin { + to { + -webkit-transform: rotate(360deg); } } + +@keyframes spinner-linear-spin { + to { + transform: rotate(360deg); } } + +@-webkit-keyframes spinner-ease-spin { + 12.5% { + -webkit-transform: rotate(135deg); } + 25% { + -webkit-transform: rotate(270deg); } + 37.5% { + -webkit-transform: rotate(405deg); } + 50% { + -webkit-transform: rotate(540deg); } + 62.5% { + -webkit-transform: rotate(675deg); } + 75% { + -webkit-transform: rotate(810deg); } + 87.5% { + -webkit-transform: rotate(945deg); } + to { + -webkit-transform: rotate(1080deg); } } + +@keyframes spinner-ease-spin { + 12.5% { + transform: rotate(135deg); } + 25% { + transform: rotate(270deg); } + 37.5% { + transform: rotate(405deg); } + 50% { + transform: rotate(540deg); } + 62.5% { + transform: rotate(675deg); } + 75% { + transform: rotate(810deg); } + 87.5% { + transform: rotate(945deg); } + to { + transform: rotate(1080deg); } } + +@-webkit-keyframes spinner-left-spin { + 0% { + -webkit-transform: rotate(130deg); } + 50% { + -webkit-transform: rotate(-5deg); } + to { + -webkit-transform: rotate(130deg); } } + +@keyframes spinner-left-spin { + 0% { + transform: rotate(130deg); } + 50% { + transform: rotate(-5deg); } + to { + transform: rotate(130deg); } } + +@-webkit-keyframes spinner-right-spin { + 0% { + -webkit-transform: rotate(-130deg); } + 50% { + -webkit-transform: rotate(5deg); } + to { + -webkit-transform: rotate(-130deg); } } + +@keyframes spinner-right-spin { + 0% { + transform: rotate(-130deg); } + 50% { + transform: rotate(5deg); } + to { + transform: rotate(-130deg); } } + +@keyframes showPreviewThumb { + 0% { + opacity: 0; } + 100% { + opacity: 1; } } + +@-webkit-keyframes showPreviewThumb { + 0% { + opacity: 0; } + 100% { + opacity: 1; } } + +/* MediaCmsVideoJsIcons FONT ICONS */ +.video-js.vjs-mediacms .vjs-subtitles-control .vjs-icon-placeholder { + font-family: MediaCmsVideoJsIcons; + font-weight: normal; + font-style: normal; } + +.video-js.vjs-mediacms .vjs-subtitles-control .vjs-icon-placeholder:before { + content: '\f107'; } + +.video-js.vjs-mediacms .vjs-theater-mode-control .vjs-icon-placeholder { + font-family: MediaCmsVideoJsIcons; + font-weight: normal; + font-style: normal; } + +.video-js.vjs-mediacms .vjs-theater-mode-control .vjs-icon-placeholder:before { + content: '\f101'; } + +.video-js.vjs-mediacms .vjs-theater-mode .vjs-theater-mode-control .vjs-icon-placeholder:before { + content: '\f102'; } + +.video-js.vjs-mediacms { + font-size: 13px; + color: #ffffff; + width: 100%; + height: 100%; + overflow: hidden; + outline-color: rgba(0, 0, 0, 0); + outline-color: transparent; + /* Doesn't work properly in Safari browser.*/ + /*&.vjs-loading-video { + video { + opacity: 0; + visibility: hidden; + } + }*/ } + .video-js.vjs-mediacms video { + width: 100%; + height: 100%; + max-width: 100%; + max-height: 100%; + outline-color: rgba(0, 0, 0, 0); + outline-color: transparent; } + .video-js.vjs-mediacms.vjs-native-dimensions video { + width: auto; + height: auto; } + .video-js.vjs-mediacms.vjs-error .vjs-error-display { + display: table; + color: #eeeeee; + text-shadow: 0.05em 0.05em 0.1em #000; } + .video-js.vjs-mediacms.vjs-error .vjs-error-display:before, .video-js.vjs-mediacms.vjs-error .vjs-error-display:after { + position: absolute; + top: 50%; + left: 0.25em; + display: block; + width: 52px; + height: 52px; + line-height: 52px; + margin-top: -26px; + text-align: center; + font-size: 3em; } + .video-js.vjs-mediacms.vjs-error .vjs-error-display:before { + content: ''; + border-radius: 50%; + border: 4px solid #fff; } + .video-js.vjs-mediacms.vjs-error .vjs-error-display:after { + content: '!'; } + .video-js.vjs-mediacms.vjs-error .vjs-error-display .vjs-modal-dialog-content { + position: relative; + display: table-cell; + vertical-align: middle; + text-align: initial; + padding: 16px 1em 16px 80px; + font-size: 1.384615em; + word-break: break-all; } + .video-js.vjs-mediacms .vjs-left-controls, + .video-js.vjs-mediacms .vjs-right-controls { + position: relative; + width: auto; + display: inline-block; + height: 36px; + overflow: hidden; } + .video-js.vjs-mediacms .vjs-right-controls { + float: right; } + .video-js.vjs-mediacms button { + /* link: https://hackernoon.com/removing-that-ugly-focus-ring-and-keeping-it-too-6c8727fefcd2 */ } + .video-js.vjs-mediacms .vjs-subtitles-control { + cursor: pointer; } + .video-js.vjs-mediacms.vjs-subtitles-on .vjs-subtitles-control .vjs-icon-placeholder:after { + content: ''; + display: block; + position: absolute; + width: 45%; + left: 27.5%; + height: 0.18em; + bottom: 50%; + margin-bottom: -1em; + background-color: #009933; } + .video-js.vjs-mediacms.vjs-subtitles-on.vjs-fullscreen .vjs-subtitles-control .vjs-icon-placeholder:after { + width: 42%; + left: 29%; } + .video-js.vjs-mediacms .vjs-text-track-cue > * { + color: #fff !important; + fill: #fff; + background-color: #080808 !important; + background-color: rgba(8, 8, 8, 0.75) !important; + font-family: Roboto, 'Arial Unicode Ms', Arial, Helvetica, Verdana, 'PT Sans Caption', sans-serif !important; } + .video-js.vjs-mediacms .vjs-settings-control { + font-size: 1.375em; + cursor: pointer; } + .video-js.vjs-mediacms .vjs-settings-panel { + position: absolute; + bottom: 30px; + right: 0; + width: 23.75em; + min-width: 210px; + display: none; + font-size: 0.8125em; + z-index: +1; + /*display:block; + opacity: 0; + height:0; + visibility: hidden; + @include transition( opacity 0.25s cubic-bezier(0.0,0.0,0.2,1) ); + will-change:height;*/ } + .video-js.vjs-mediacms .vjs-settings-panel .vjs-setting-panel-title > [role='button'] { + position: relative; } + .video-js.vjs-mediacms .vjs-settings-panel .vjs-setting-panel-title > [role='button']:focus { + outline-color: #fff; + outline-style: solid; + outline-width: 1px; } + .video-js.vjs-mediacms .vjs-settings-panel:focus { + outline: 0; } + .video-js.vjs-mediacms .vjs-settings-panel.vjs-visible-panel { + display: block; + /*opacity: 1; + visibility: visible; + height:auto;*/ } + .video-js.vjs-mediacms .vjs-settings-panel .vjs-settings-panel-inner { + display: block; + margin: 0 0 1em; + padding: 0.5em 0; + border-radius: 0.2em; + background-color: rgba(28, 28, 28, 0.9); + text-shadow: 0 0 2px rgba(0, 0, 0, 0.5); + max-height: 210px; + max-height: 50vh; + overflow: auto; } + .video-js.vjs-mediacms .vjs-settings-panel .vjs-setting-panel-title { + color: #eee; + padding-bottom: 0.25em; + margin-bottom: 0.5em; + border-bottom: 1px solid rgba(255, 255, 255, 0.2); } + .video-js.vjs-mediacms .vjs-settings-panel .vjs-setting-panel-title > *:first-child { + display: inline-block; + padding: 0.75em 1em; + font-size: 118%; + font-weight: 500; } + .video-js.vjs-mediacms .vjs-settings-panel .vjs-setting-panel-title > *:first-child[role='button'] { + padding: 0.5em 1em 0.5em 0; + margin-left: 0.75em; + margin-bottom: 0.25em 0.25em 0.5em; } + .video-js.vjs-mediacms .vjs-settings-panel .vjs-setting-panel-title.vjs-settings-back > *:first-child { + cursor: pointer; } + .video-js.vjs-mediacms .vjs-settings-panel .vjs-setting-panel-title.vjs-settings-back > *:first-child:before { + content: '\f103'; + font-family: 'MediaCmsVideoJsIcons'; + font-size: 1.25em; + vertical-align: text-bottom; + padding-right: 0.5em; } + .video-js.vjs-mediacms .vjs-settings-panel .vjs-settings-menu { + display: table; + width: 100%; } + .video-js.vjs-mediacms .vjs-settings-panel .vjs-settings-menu-item { + position: relative; + display: table-row; + width: 100%; + cursor: pointer; + height: 3em; } + .video-js.vjs-mediacms .vjs-settings-panel .vjs-settings-menu-item:hover, .video-js.vjs-mediacms .vjs-settings-panel .vjs-settings-menu-item:focus { + outline: 0; + background-color: rgba(255, 255, 255, 0.1); } + .video-js.vjs-mediacms .vjs-settings-panel .vjs-settings-menu-item.vjs-selected-quality, .video-js.vjs-mediacms .vjs-settings-panel .vjs-settings-menu-item.vjs-selected-speed { + position: relative; } + .video-js.vjs-mediacms .vjs-settings-panel .vjs-settings-menu-item.vjs-selected-quality .vjs-setting-menu-item-content:after, .video-js.vjs-mediacms .vjs-settings-panel .vjs-settings-menu-item.vjs-selected-speed .vjs-setting-menu-item-content:after { + content: '\f104'; + font-family: 'MediaCmsVideoJsIcons'; + font-size: 1.25em; + font-weight: normal; + vertical-align: text-bottom; + padding-left: 0.5em; } + .video-js.vjs-mediacms .vjs-settings-panel .vjs-settings-menu-item.vjs-selected-quality .vjs-setting-menu-item-content .auto-resolution-title, .video-js.vjs-mediacms .vjs-settings-panel .vjs-settings-menu-item.vjs-selected-speed .vjs-setting-menu-item-content .auto-resolution-title { + font-weight: lighter; + color: #eeeeee; } + .video-js.vjs-mediacms .vjs-settings-panel .vjs-setting-menu-item-label, + .video-js.vjs-mediacms .vjs-settings-panel .vjs-setting-menu-item-content { + display: table-cell; + vertical-align: middle; + padding: 0 1em; + line-height: 1; + font-size: 118%; } + .video-js.vjs-mediacms .vjs-settings-panel .vjs-setting-menu-item-label { + font-weight: 500; } + .video-js.vjs-mediacms .vjs-settings-panel .vjs-setting-menu-item-content { + text-align: right; + font-weight: 700; } + .video-js.vjs-mediacms .vjs-settings-panel .vjs-setting-menu-item-content.auto-resolution { + font-size: 109%; + font-weight: 400; } + .video-js.vjs-mediacms .vjs-settings-panel.vjs-playback-speed-panel, .video-js.vjs-mediacms .vjs-settings-panel.vjs-resolutions-panel, .video-js.vjs-mediacms .vjs-settings-panel.vjs-subtitles-panel { + z-index: +1; } + .video-js.vjs-mediacms .vjs-settings-panel.vjs-playback-speed-panel .vjs-settings-menu-item .vjs-setting-menu-item-content, .video-js.vjs-mediacms .vjs-settings-panel.vjs-resolutions-panel .vjs-settings-menu-item .vjs-setting-menu-item-content, .video-js.vjs-mediacms .vjs-settings-panel.vjs-subtitles-panel .vjs-settings-menu-item .vjs-setting-menu-item-content { + text-align: left; + padding-left: 2.75em; } + .video-js.vjs-mediacms .vjs-settings-panel.vjs-playback-speed-panel .vjs-settings-menu-item.vjs-selected-menu-item .vjs-setting-menu-item-content, .video-js.vjs-mediacms .vjs-settings-panel.vjs-resolutions-panel .vjs-settings-menu-item.vjs-selected-menu-item .vjs-setting-menu-item-content, .video-js.vjs-mediacms .vjs-settings-panel.vjs-subtitles-panel .vjs-settings-menu-item.vjs-selected-menu-item .vjs-setting-menu-item-content { + position: relative; + padding-left: 0.75em; } + .video-js.vjs-mediacms .vjs-settings-panel.vjs-playback-speed-panel .vjs-settings-menu-item.vjs-selected-menu-item .vjs-setting-menu-item-content:before, .video-js.vjs-mediacms .vjs-settings-panel.vjs-resolutions-panel .vjs-settings-menu-item.vjs-selected-menu-item .vjs-setting-menu-item-content:before, .video-js.vjs-mediacms .vjs-settings-panel.vjs-subtitles-panel .vjs-settings-menu-item.vjs-selected-menu-item .vjs-setting-menu-item-content:before { + content: '\f105'; + font-family: 'MediaCmsVideoJsIcons'; + font-size: 1.25em; + line-height: 0.75; + padding-right: 0.5em; + float: left; } + .video-js.vjs-mediacms .vjs-button.vjs-play-control, + .video-js.vjs-mediacms .vjs-button.vjs-next-button, + .video-js.vjs-mediacms .vjs-button.vjs-previous-button { + overflow: hidden; + cursor: pointer; } + .video-js.vjs-mediacms .vjs-button.vjs-next-button, + .video-js.vjs-mediacms .vjs-button.vjs-previous-button { + font-family: VideoJS; + font-weight: 400; + font-style: normal; } + .video-js.vjs-mediacms .vjs-button.vjs-next-button .vjs-icon-placeholder:before { + content: '\f11f'; } + .video-js.vjs-mediacms .vjs-button.vjs-previous-button .vjs-icon-placeholder:before { + content: '\f120'; } + .video-js.vjs-mediacms .vjs-big-play-button { + width: 2.65em; + height: 1.49062em; + line-height: 1.49062em; + font-size: 2.5em; + outline: 0; + border: 0; + border-radius: 0.15em; + background-color: #000000; + background-color: rgba(0, 0, 0, 0.7); + transition-duration: 0.2s; + top: 50%; + left: 50%; + margin-left: -1.325em; + margin-top: -0.74531em; } + .video-js.vjs-mediacms.vjs-changing-resolution .vjs-big-play-button { + display: none; } + .video-js.vjs-mediacms .vjs-bottom-bg { + position: absolute; + bottom: 0; + left: -12px; + right: -12px; + height: 36px; + display: block; + pointer-events: none; + background: rgba(0, 0, 0, 0.1); + background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 100%); + background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(100%, rgba(0, 0, 0, 0.55))); + background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 100%); + background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 100%); + background: -ms-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 100%); + background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 100%); } + .video-js.vjs-mediacms .vjs-control-bar { + z-index: +4; + width: auto; + left: 12px; + right: 12px; + background: none; + text-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); } + .video-js.vjs-mediacms .vjs-control-bar .vjs-button:focus { + outline-width: 0; } + .video-js.vjs-mediacms .vjs-control-bar .vjs-button[key-focus]:focus:after { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + display: block; + border-radius: 1px; + border: 2px solid rgba(255, 255, 255, 0.75); } + .video-js.vjs-mediacms .vjs-control-bar .vjs-button .vjs-icon-placeholder:before { + margin-top: -2px; } + .video-js.vjs-mediacms .vjs-menu-button .vjs-menu-content { + background-color: #000000; + background-color: rgba(0, 0, 0, 0.7); } + .video-js.vjs-mediacms .vjs-slider { + background-color: #ffffff; + background-color: rgba(255, 255, 255, 0.25); } + .video-js.vjs-mediacms .vjs-slider:focus { + text-shadow: none; + box-shadow: none; } + .video-js.vjs-mediacms .vjs-slider-bar { + background: rgba(255, 255, 255, 0.25); } + .video-js.vjs-mediacms .vjs-slider-bar.vjs-play-progress { + background-color: #ffffff; } + .video-js.vjs-mediacms .vjs-load-progress { + background: none; } + .video-js.vjs-mediacms .vjs-load-progress div { + background-color: #ffffff; + background-color: rgba(255, 255, 255, 0.25); } + .video-js.vjs-mediacms .vjs-volume-level { + background: #ffffff; } + .video-js.vjs-mediacms .vjs-volume-level:before { + line-height: 1; + top: -4px; + font-size: 12px; } + .video-js.vjs-mediacms .vjs-time-divider, + .video-js.vjs-mediacms .vjs-duration, + .video-js.vjs-mediacms .vjs-current-time, + .video-js.vjs-mediacms.vjs-no-flex .vjs-duration, + .video-js.vjs-mediacms.vjs-no-flex .vjs-current-time { + display: block; } + .video-js.vjs-mediacms .vjs-current-time { + margin-left: 0.45em; } + .video-js.vjs-mediacms .vjs-control { + display: inline-block; + float: left; + padding: 0; + min-width: 0; + width: 36px; + line-height: 34px; + text-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); } + .video-js.vjs-mediacms .vjs-control:focus:before, .video-js.vjs-mediacms .vjs-control:hover:before, .video-js.vjs-mediacms .vjs-control:focus { + text-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); } + .video-js.vjs-mediacms .vjs-control.vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before { + margin-left: -0.17em; } + .video-js.vjs-mediacms .vjs-control.vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before { + margin-left: -0.08em; } + .video-js.vjs-mediacms .vjs-control.vjs-disabled.vjs-picture-in-picture-control { + display: none; } + .video-js.vjs-mediacms .vjs-progress-control { + position: absolute; + top: -0.3em; + left: 0; + display: block; + flex: none; + width: 100%; + height: auto; + z-index: +1; + padding-top: 29px; + height: 30px; + -webkit-tap-highlight-color: transparent; + -moz-tap-highlight-color: transparent; + -o-tap-highlight-color: transparent; + tap-highlight-color: transparent; } + .video-js.vjs-mediacms .vjs-progress-control .vjs-play-progress .vjs-time-tooltip, + .video-js.vjs-mediacms .vjs-progress-control .vjs-mouse-display .vjs-time-tooltip { + line-height: 1; + font-size: 11px; + font-weight: 600; + height: auto; + padding: 8px 12px; + border-radius: 2px; } + .video-js.vjs-mediacms .vjs-progress-control .vjs-progress-holder { + height: 0.3em; + margin: 0; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05); } + .video-js.vjs-mediacms .vjs-progress-control .vjs-progress-holder:focus { + outline-width: 0; } + .video-js.vjs-mediacms .vjs-progress-control .vjs-progress-holder[key-focus]:focus:after { + content: ''; + position: absolute; + top: -3px; + left: -3px; + right: -3px; + bottom: -3px; + display: block; + border-radius: 1px; + border: 2px solid rgba(255, 255, 255, 0.75); } + .video-js.vjs-mediacms .vjs-progress-control .vjs-progress-holder .vjs-play-progress { + line-height: 1em; } + .video-js.vjs-mediacms .vjs-progress-control .vjs-progress-holder .vjs-play-progress:before { + top: 50%; + margin-top: -0.5em; + text-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); } + .video-js.vjs-mediacms .vjs-progress-control .vjs-play-progress:before { + font-size: 1em; + display: none; } + .video-js.vjs-mediacms .vjs-progress-control:hover .vjs-play-progress:before, + .video-js.vjs-mediacms .vjs-progress-control .vjs-progress-holder:focus .vjs-play-progress:before { + display: block; } + .video-js.vjs-mediacms .vjs-progress-control:hover .vjs-progress-holder, + .video-js.vjs-mediacms .vjs-progress-control .vjs-progress-holder:focus { + font-size: 1.2875em; } + .video-js.vjs-mediacms .vjs-progress-control:hover .vjs-play-progress .vjs-time-tooltip, + .video-js.vjs-mediacms .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-play-progress .vjs-time-tooltip { + display: none; } + .video-js.vjs-mediacms .vjs-time-control { + display: inline-block; + float: left; + min-width: 0; + height: 36px; + line-height: 34px; + width: auto; + padding: 1px 0 0; + text-align: center; + font-size: 0.975em; } + .video-js.vjs-mediacms .vjs-time-control.vjs-time-divider { + min-width: 1em; + text-align: center; } + .video-js.vjs-mediacms .vjs-fullscreen-control { + overflow: hidden; + cursor: pointer; } + .video-js.vjs-mediacms .vjs-fullscreen-control:hover { + animation-duration: 0.4s; + animation-name: onHoverFullscreenToggle; } + .video-js.vjs-mediacms .vjs-theater-mode-control { + overflow: hidden; + cursor: pointer; } + .video-js.vjs-mediacms .vjs-volume-panel.vjs-volume-panel-horizontal { + min-width: 36px; + width: 0; + overflow: hidden; } + .video-js.vjs-mediacms .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-mediacms .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-mediacms .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active { + width: 9em; + transition: all 0s; } + .video-js.vjs-mediacms .vjs-volume-panel .vjs-volume-control { + position: absolute; + top: 0; + left: 36px; + height: 36px; + width: 0; + visibility: visible; + opacity: 1; } + .video-js.vjs-mediacms .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal { + margin-left: 0.45em; + margin-right: 0.45em; + transition: all 0s; } + .video-js.vjs-mediacms .vjs-volume-panel:hover .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms .vjs-volume-panel .vjs-volume-control:hover.vjs-volume-horizontal, + .video-js.vjs-mediacms .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal, + .video-js.vjs-mediacms .vjs-volume-panel .vjs-mute-control:hover ~ .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal { + position: absolute; + width: 5.5em; + height: 36px; } + .video-js.vjs-mediacms .vjs-volume-panel .vjs-volume-bar:focus { + outline-width: 0; } + .video-js.vjs-mediacms .vjs-volume-panel .vjs-volume-bar[key-focus]:focus:after { + content: ''; + position: absolute; + top: -1em; + left: -0.5em; + right: -0.5em; + bottom: -1em; + display: block; + border-radius: 1px; + border: 2px solid rgba(255, 255, 255, 0.75); } + .video-js.vjs-mediacms .vjs-volume-panel .vjs-volume-bar.vjs-slider-horizontal { + margin: 16.5px 0.45em 16.5px 0; } + .video-js.vjs-mediacms .vjs-volume-panel .vjs-volume-bar.vjs-slider-horizontal, + .video-js.vjs-mediacms .vjs-volume-panel .vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level { + height: 3px; } + .video-js.vjs-mediacms .vjs-volume-panel.vjs-volume-panel-horizontal, .video-js.vjs-mediacms .vjs-volume-panel.vjs-volume-panel-horizontal:hover { + transition: width 0.35s linear; + /* transition: width 0s linear; */ } + .video-js.vjs-mediacms .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms .vjs-volume-panel:hover .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms .vjs-volume-panel .vjs-volume-control:hover.vjs-volume-horizontal, + .video-js.vjs-mediacms .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal, + .video-js.vjs-mediacms .vjs-volume-panel .vjs-mute-control:hover ~ .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal { + transition: width 0.2s linear; + transition-delay: 0.15s; + /* transition: width 0s linear; + transition-delay: 0s; */ } + .video-js.vjs-mediacms .vjs-actions-anim { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + position: absolute; + top: 50%; + left: 50%; + width: 7.375em; + height: 7.375em; + line-height: 7.375em; + margin-top: -3.6875em; + margin-left: -3.6875em; + display: block; + text-align: center; + border-radius: 50%; + color: #eee; + background-color: rgba(0, 0, 0, 0.25); + visibility: hidden; + opacity: 0; } + .video-js.vjs-mediacms .vjs-actions-anim span { + display: block; } + .video-js.vjs-mediacms .vjs-actions-anim span:after { + content: ''; + font-family: VideoJS; + font-weight: normal; + font-style: normal; + font-size: 42px; } + .video-js.vjs-mediacms .vjs-actions-anim.just-paused span:after { + content: '\f103'; } + .video-js.vjs-mediacms .vjs-actions-anim.started-playing span:after { + content: '\f101'; } + .video-js.vjs-mediacms .vjs-actions-anim.volume-high span:after { + content: '\f107'; } + .video-js.vjs-mediacms .vjs-actions-anim.volume-mid span:after { + content: '\f106'; } + .video-js.vjs-mediacms .vjs-actions-anim.volume-low span:after { + content: '\f105'; } + .video-js.vjs-mediacms .vjs-actions-anim.volume-mute span:after { + content: '\f104'; } + .video-js.vjs-mediacms .vjs-actions-anim.moving-backward span:after { + content: '\f116'; } + .video-js.vjs-mediacms .vjs-actions-anim.moving-forward span { + transform: scale(-1, 1); } + .video-js.vjs-mediacms .vjs-actions-anim.moving-forward span:after { + content: '\f116'; } + .video-js.vjs-mediacms .vjs-actions-anim.moving-backward:before, .video-js.vjs-mediacms .vjs-actions-anim.moving-forward:before { + content: '5'; + position: absolute; + top: 2px; + left: 0; + right: 0; + bottom: 0; + display: block; + font-size: 10px; + font-weight: 700; + font-family: Arial, sans-serif; } + .video-js.vjs-mediacms .vjs-actions-anim.play_previous span:after { + content: '\f120'; } + .video-js.vjs-mediacms .vjs-actions-anim.play_next span:after { + content: '\f11f'; } + .video-js.vjs-mediacms .vjs-corner-layer { + position: absolute; + display: block; + z-index: +1; } + .video-js.vjs-mediacms .vjs-corner-layer.vjs-corner-top-left, .video-js.vjs-mediacms .vjs-corner-layer.vjs-corner-top-right { + top: 12px; } + .video-js.vjs-mediacms .vjs-corner-layer.vjs-corner-bottom-left, .video-js.vjs-mediacms .vjs-corner-layer.vjs-corner-bottom-right { + bottom: 12px; + transition-duration: 0.1s; + transition-property: bottom; } + .video-js.vjs-mediacms .vjs-corner-layer.vjs-corner-top-left, .video-js.vjs-mediacms .vjs-corner-layer.vjs-corner-bottom-left { + left: 12px; } + .video-js.vjs-mediacms .vjs-corner-layer.vjs-corner-top-right, .video-js.vjs-mediacms .vjs-corner-layer.vjs-corner-bottom-right { + right: 12px; } + .video-js.vjs-mediacms.vjs-fullscreen-change .vjs-volume-panel.vjs-volume-panel-horizontal, .video-js.vjs-mediacms.vjs-fullscreen-change .vjs-volume-panel.vjs-volume-panel-horizontal:hover { + transition: width 0s linear; } + .video-js.vjs-mediacms.vjs-fullscreen-change .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen-change .vjs-volume-panel:hover .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen-change .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen-change .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen-change .vjs-volume-panel .vjs-volume-control:hover.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen-change .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen-change .vjs-volume-panel .vjs-mute-control:hover ~ .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen-change .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal { + transition: width 0s linear; + transition-delay: 0s; } + .video-js.vjs-mediacms.vjs-has-started .vjs-control-bar, .video-js.vjs-mediacms.vjs-changing-resolution .vjs-control-bar { + display: block; + height: 66px; + padding-top: 30px; + transition-duration: 0.1s; + transition-property: transform, opacity, visibility; } + .video-js.vjs-mediacms.vjs-has-started .vjs-actions-anim.active-anim, .video-js.vjs-mediacms.vjs-changing-resolution .vjs-actions-anim.active-anim { + visibility: visible; + animation-duration: 0.75s; + animation-name: onDisplayingActionAnimation; } + .video-js.vjs-mediacms.vjs-has-started .vjs-corner-layer.vjs-corner-bottom-left, .video-js.vjs-mediacms.vjs-has-started .vjs-corner-layer.vjs-corner-bottom-right, .video-js.vjs-mediacms.vjs-changing-resolution .vjs-corner-layer.vjs-corner-bottom-left, .video-js.vjs-mediacms.vjs-changing-resolution .vjs-corner-layer.vjs-corner-bottom-right { + bottom: 48px; } + .video-js.vjs-mediacms.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-corner-layer.vjs-corner-bottom-left, .video-js.vjs-mediacms.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-corner-layer.vjs-corner-bottom-right, .video-js.vjs-mediacms.vjs-changing-resolution.vjs-user-inactive.vjs-playing .vjs-corner-layer.vjs-corner-bottom-left, .video-js.vjs-mediacms.vjs-changing-resolution.vjs-user-inactive.vjs-playing .vjs-corner-layer.vjs-corner-bottom-right { + bottom: 12px; } + .video-js.vjs-mediacms.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar, .video-js.vjs-mediacms.vjs-changing-resolution.vjs-user-inactive.vjs-playing .vjs-control-bar { + transform: translate(0px, 36px); } + .video-js.vjs-mediacms.vjs-fullscreen { + font-size: 16px; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-left-controls, + .video-js.vjs-mediacms.vjs-fullscreen .vjs-right-controls { + height: 52px; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-theater-mode-control { + display: none; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-bottom-bg { + height: 52px; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-settings-panel { + bottom: 45px; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-control { + width: 52px; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-time-control { + width: auto; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-control, + .video-js.vjs-mediacms.vjs-fullscreen .vjs-time-control { + height: 52px; + line-height: 50px; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-progress-control.vjs-control { + width: 100%; + height: auto; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-control-bar .vjs-button .vjs-icon-placeholder:before { + margin-top: 2px; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-control-bar .vjs-button.vjs-fullscreen-control .vjs-icon-placeholder:before { + font-size: 2em; + line-height: 1.5; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-level:before { + top: -5px; + font-size: 14px; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-fullscreen-control:hover { + animation-name: onFullscreenHoverFullscreenToggle; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-play-progress .vjs-time-tooltip, + .video-js.vjs-mediacms.vjs-fullscreen .vjs-mouse-display .vjs-time-tooltip { + font-size: 12px; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel .vjs-volume-bar.vjs-slider-horizontal { + margin: 23.5px 0.45em 23.5px 0; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel .vjs-volume-bar.vjs-slider-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel .vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level { + height: 5px; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel.vjs-volume-panel-horizontal { + min-width: 52px; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active { + width: 10em; + transition: all 0s; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel .vjs-volume-control { + left: 52px; + height: 36px; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel .vjs-volume-control, + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel:hover .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel .vjs-volume-control:hover.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel .vjs-mute-control:hover ~ .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal { + height: 52px; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel.vjs-volume-panel-horizontal, .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel.vjs-volume-panel-horizontal:hover { + transition: width 0.3s linear; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel:hover .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel .vjs-volume-control:hover.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel .vjs-mute-control:hover ~ .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal { + transition: width 0.2s linear; + transition-delay: 0.1s; } + .video-js.vjs-mediacms.vjs-fullscreen.vjs-fullscreen-change .vjs-volume-panel.vjs-volume-panel-horizontal, .video-js.vjs-mediacms.vjs-fullscreen.vjs-fullscreen-change .vjs-volume-panel.vjs-volume-panel-horizontal:hover { + transition: width 0s linear; } + .video-js.vjs-mediacms.vjs-fullscreen.vjs-fullscreen-change .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen.vjs-fullscreen-change .vjs-volume-panel:hover .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen.vjs-fullscreen-change .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen.vjs-fullscreen-change .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen.vjs-fullscreen-change .vjs-volume-panel .vjs-volume-control:hover.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen.vjs-fullscreen-change .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen.vjs-fullscreen-change .vjs-volume-panel .vjs-mute-control:hover ~ .vjs-volume-control.vjs-volume-horizontal, + .video-js.vjs-mediacms.vjs-fullscreen.vjs-fullscreen-change .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal { + transition: width 0s linear; + transition-delay: 0s; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-corner-layer.vjs-corner-bottom-left, .video-js.vjs-mediacms.vjs-fullscreen .vjs-corner-layer.vjs-corner-bottom-right { + bottom: 64px; } + .video-js.vjs-mediacms.vjs-has-started.vjs-fullscreen .vjs-control-bar, .video-js.vjs-mediacms.vjs-changing-resolution.vjs-fullscreen .vjs-control-bar { + height: 82px; } + .video-js.vjs-mediacms.vjs-has-started.vjs-fullscreen.vjs-user-inactive.vjs-playing .vjs-control-bar, .video-js.vjs-mediacms.vjs-changing-resolution.vjs-fullscreen.vjs-user-inactive.vjs-playing .vjs-control-bar { + transform: translate(0px, 52px); } + .video-js.vjs-mediacms.vjs-enabled-touch-controls .vjs-touch-controls { + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + touch-action: none; + pointer-events: none; + z-index: +2; + position: absolute; + display: block; + top: 0; + left: 0; + right: 0; + bottom: 0; + width: 100%; + background-color: rgba(0, 0, 0, 0.6); + visibility: hidden; + opacity: 0; + transition-timing-function: linear; + transition-duration: 0.1s; + transition-property: opacity, visibility; } + .video-js.vjs-mediacms.vjs-enabled-touch-controls .vjs-touch-controls button { + pointer-events: auto; + display: inline-block; + width: auto; + height: auto; + line-height: 1; + float: none; + margin: 1rem; + font-size: 2.625em; + width: 56px; + height: 56px; + line-height: 56px; + outline: 0; + border-radius: 50%; } + .video-js.vjs-mediacms.vjs-enabled-touch-controls .vjs-touch-controls > * { + position: absolute; + display: block; + top: 50%; + left: 0; + margin-top: -44px; + display: table; + width: 100%; } + .video-js.vjs-mediacms.vjs-enabled-touch-controls .vjs-touch-controls > * > * { + display: table-cell; + text-align: center; + vertical-align: middle; } + .video-js.vjs-mediacms.vjs-enabled-touch-controls .vjs-touch-controls .vjs-touch-previous-button { + text-align: right; } + .video-js.vjs-mediacms.vjs-enabled-touch-controls .vjs-touch-controls .vjs-touch-play-button { + width: 10.5em; + text-align: center; } + .video-js.vjs-mediacms.vjs-enabled-touch-controls .vjs-touch-controls .vjs-touch-play-button button { + font-size: 56px; } + .video-js.vjs-mediacms.vjs-enabled-touch-controls .vjs-touch-controls .vjs-touch-next-button { + text-align: left; } + .video-js.vjs-mediacms.vjs-enabled-touch-controls .vjs-touch-controls .vjs-touch-hidden-button * { + visibility: hidden; + opacity: 0; } + .video-js.vjs-mediacms.vjs-enabled-touch-controls .vjs-touch-controls .vjs-touch-disabled-button * { + color: #404040; + color: rgba(255, 255, 255, 0.25); + cursor: disabled; } + .video-js.vjs-mediacms.vjs-enabled-touch-controls.vjs-seeking .vjs-actions-anim, .video-js.vjs-mediacms.vjs-enabled-touch-controls.vjs-waiting .vjs-actions-anim, .video-js.vjs-mediacms.vjs-enabled-touch-controls.vjs-touch-enabled .vjs-actions-anim { + display: none; } + .video-js.vjs-mediacms.vjs-enabled-touch-controls.vjs-touch-enabled .vjs-play-control, + .video-js.vjs-mediacms.vjs-enabled-touch-controls.vjs-touch-enabled .vjs-next-button, + .video-js.vjs-mediacms.vjs-enabled-touch-controls.vjs-touch-enabled .vjs-previous-button { + display: none; } + .video-js.vjs-mediacms.vjs-enabled-touch-controls.vjs-touch-enabled.vjs-has-started.vjs-playing.vjs-user-active .vjs-touch-controls, .video-js.vjs-mediacms.vjs-enabled-touch-controls.vjs-touch-enabled.vjs-has-started.vjs-paused .vjs-touch-controls { + visibility: visible; + opacity: 1; } + .video-js.vjs-mediacms.vjs-enabled-touch-controls.vjs-touch-enabled.vjs-playing .vjs-icon-play:before { + content: '\f103'; } + .video-js.vjs-mediacms.vjs-enabled-touch-controls.vjs-touch-enabled.vjs-ended .more-media.full-wrapper { + visibility: hidden; } + .video-js.vjs-mediacms.vjs-enabled-touch-controls.vjs-touch-enabled.vjs-ended .vjs-icon-play:before { + content: '\f116'; } + +.video-js.vjs-mediacms { + padding-top: 50%; } + .video-js.vjs-mediacms video[poster] { + object-fit: fill; } + .video-js.vjs-mediacms .vjs-progress-control .vjs-progress-holder .vjs-play-progress { + background-color: #009933; } + .video-js.vjs-mediacms .vjs-progress-control .vjs-progress-holder .vjs-play-progress:before { + color: #009933; } + .video-js.vjs-mediacms .vjs-poster { + background-size: cover; } + .video-js.vjs-mediacms.vjs-changing-resolution .vjs-poster { + display: none; } + .video-js.vjs-mediacms .vjs-corner-layer.vjs-corner-top-left, .video-js.vjs-mediacms .vjs-corner-layer.vjs-corner-top-right { + top: 16px; } + .video-js.vjs-mediacms .vjs-corner-layer.vjs-corner-top-left { + max-width: 80%; } + .video-js.vjs-mediacms .vjs-corner-layer .title-link, + .video-js.vjs-mediacms .vjs-corner-layer .user-thumb-link { + outline: 0; + transition-duration: 0.1s; + transition-property: opacity, visibility; } + .video-js.vjs-mediacms .vjs-corner-layer .title-link { + display: inline-block; + font-size: 16px; + font-stretch: 100%; + text-decoration: none; + text-shadow: 0 0 2px rgba(0, 0, 0, 0.5); + line-height: 23.4px; + overflow: hidden; + text-overflow: ellipsis; + background-color: transparent; + /* Fallback for non-webkit */ + display: block; + max-height: 46.8px; + /* Only for non-webkit */ + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + white-space: normal; + /*@-moz-document url-prefix() { + + position: relative; + padding-right: $font-size * 1.1; + overflow: hidden; + + &:before { + background-color: $bg-color; + bottom: 0; + position: absolute; + right: 0; + float: right; + text-align:right; + content: '\2026'; + width: $font-size * 1.1; + } + + &:after { + content: ''; + position: absolute; + height: 100%; + width: 100%; + z-index: +1; + background: $bg-color; + } + }*/ + color: #eee; } + .video-js.vjs-mediacms .vjs-corner-layer .title-link:hover { + color: #fff; } + @media screen and (min-width: 768px) { + .video-js.vjs-mediacms .vjs-corner-layer .title-link { + font-size: 18px; } } + .video-js.vjs-mediacms .vjs-corner-layer .user-thumb-link { + position: relative; + display: block; + width: 36px; + height: 36px; + overflow: hidden; + border-radius: 50%; + margin-bottom: 4px; + background-size: cover; + background-position: center; + background-repeat: no-repeat; } + .video-js.vjs-mediacms .vjs-corner-layer .media-links-top-left { + display: block; } + .video-js.vjs-mediacms .vjs-corner-layer .media-links-top-left .title-link { + padding-left: 48px; + padding-top: 7px; } + .video-js.vjs-mediacms .vjs-corner-layer .media-links-top-left .user-thumb-link { + position: absolute; + top: 0; + left: 0; + display: inline-block; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-corner-layer .title-link { + font-size: 16px; } + @media screen and (min-width: 768px) { + .video-js.vjs-mediacms.vjs-fullscreen .vjs-corner-layer .title-link { + font-size: 18px; } } + @media screen and (min-width: 992px) { + .video-js.vjs-mediacms.vjs-fullscreen .vjs-corner-layer .title-link { + font-size: 20px; } } + @media screen and (min-width: 1040px) { + .video-js.vjs-mediacms.vjs-fullscreen .vjs-corner-layer .title-link { + font-size: 22px; } } + .video-js.vjs-mediacms.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-corner-layer .title-link, + .video-js.vjs-mediacms.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-corner-layer .user-thumb-link { + opacity: 0; + visibility: hidden; } + .video-js.vjs-mediacms:hover .vjs-big-play-button { + background-color: #009933; } + +/* @-webkit-keyframes vjs-poster-reveal { + 0%{ + opacity:0; + } + 40%{ + opacity:0; + } + 100%{ + opacity:1; + } +} + +@keyframes vjs-poster-reveal { + 0%{ + opacity:0; + } + 40%{ + opacity:0; + } + 100%{ + opacity:1; + } +} */ +.video-js.vjs-mediacms .vjs-progress-control .vjs-mouse-display .vjs-time-tooltip, +.video-js.vjs-mediacms .vjs-preview-thumb .vjs-preview-thumb-time-display { + font-size: 0.776699em; + font-weight: 500; + line-height: 1; } + +.video-js.vjs-mediacms .vjs-progress-control .vjs-mouse-display .vjs-time-tooltip, +.video-js.vjs-mediacms .vjs-preview-thumb .vjs-preview-thumb-time-display > * { + padding: 0.5em 0.65em 0.4em; + color: rgba(255, 255, 255, 0.9); + background-color: rgba(28, 28, 28, 0.95); + border-radius: 2px; } + +.video-js.vjs-mediacms .vjs-progress-control .vjs-mouse-display { + background-color: rgba(28, 28, 28, 0.9); } + .video-js.vjs-mediacms .vjs-progress-control .vjs-mouse-display .vjs-time-tooltip { + top: auto; + bottom: 0.5em; } + +.video-js.vjs-mediacms .vjs-preview-thumb { + display: none; } + +.video-js.vjs-mediacms.vjs-enabled-preview-thumb .vjs-preview-thumb { + position: relative; + opacity: 0; + visibility: hidden; + display: block; } + .video-js.vjs-mediacms.vjs-enabled-preview-thumb .vjs-preview-thumb .vjs-preview-thumb-inner { + position: absolute; + bottom: 1em; + left: -80px; + width: 160px; + height: 120px; + overflow: hidden; + background-position: center 0; + background-size: cover; + background-color: rgba(28, 28, 28, 0.9); + border: 2px solid rgba(28, 28, 28, 0.9); + border-radius: 1px; } + .video-js.vjs-mediacms.vjs-enabled-preview-thumb .vjs-preview-thumb .vjs-preview-thumb-time-display { + position: absolute; + bottom: -2px; + left: 0; + width: 100%; + line-height: 1; + font-size: 1em; + font-weight: 600; + display: inline-block; } + .video-js.vjs-mediacms.vjs-enabled-preview-thumb .vjs-preview-thumb .vjs-preview-thumb-time-display > * { + display: inline-block; + padding: 0.5em 0.65em 0.45em; } + +.video-js.vjs-mediacms.vjs-enabled-preview-thumb .vjs-progress-control.andrd-active .vjs-preview-thumb, +.video-js.vjs-mediacms.vjs-enabled-preview-thumb .vjs-progress-control:hover .vjs-preview-thumb, +.video-js.vjs-mediacms.vjs-enabled-preview-thumb .vjs-progress-control:active .vjs-preview-thumb { + visibility: visible; + animation-name: showPreviewThumb; + animation-duration: 0.2s; + animation-timing-function: ease-out; + animation-delay: 0.1s; + animation-direction: alternate; + animation-fill-mode: forwards; } + +.video-js.vjs-mediacms.vjs-enabled-preview-thumb.vjs-user-inactive .vjs-progress-control .vjs-preview-thumb { + opacity: 0; + visibility: hidden; + -webkit-transition: visibility 1s linear, opacity 1s linear; + -moz-transition: visibility 1s linear, opacity 1s linear; + -o-transition: visibility 1s linear, opacity 1s linear; + transition: visibility 1s linear, opacity 1s linear; } + +.video-js.vjs-mediacms.vjs-enabled-preview-thumb.vjs-touch-enabled .vjs-preview-thumb { + display: none; } + +.video-js.vjs-mediacms .vjs-loading-spinner { + width: 64px; + height: 64px; + margin: -32px 0 0 -32px; + border: 0; + border-radius: 0; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + opacity: 1; + -webkit-animation-delay: 0.44s; + animation-delay: 0.44s; } + .video-js.vjs-mediacms .vjs-loading-spinner:after, .video-js.vjs-mediacms .vjs-loading-spinner:before { + display: none; } + .video-js.vjs-mediacms .vjs-loading-spinner .spinner { + z-index: +1; + position: absolute; + left: 50%; + top: 50%; + width: 100%; + margin-left: -32px; + pointer-events: none; + background-color: #eee; } + .video-js.vjs-mediacms .vjs-loading-spinner .spinner-container { + pointer-events: none; + position: absolute; + width: 100%; + top: 50%; + left: 50%; + margin-top: -50%; + margin-left: -50%; + padding-bottom: 100%; + animation: spinner-linear-spin 1568.23529647ms linear infinite; + -webkit-animation: spinner-linear-spin 1568.23529647ms linear infinite; } + .video-js.vjs-mediacms .vjs-loading-spinner .spinner-rotator { + position: absolute; + width: 100%; + height: 100%; + -webkit-animation: spinner-ease-spin 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: spinner-ease-spin 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } + .video-js.vjs-mediacms .vjs-loading-spinner .spinner-left, + .video-js.vjs-mediacms .vjs-loading-spinner .spinner-right { + position: absolute; + top: 0; + bottom: 0; + overflow: hidden; } + .video-js.vjs-mediacms .vjs-loading-spinner .spinner-circle { + position: absolute; + width: 200%; + height: 100%; + box-sizing: border-box; + border-radius: 50%; + border-style: solid; + border-width: 6px; + border-color: #eee #eee transparent; } + .video-js.vjs-mediacms .vjs-loading-spinner .spinner-left { + left: 0; + right: 49%; } + .video-js.vjs-mediacms .vjs-loading-spinner .spinner-left .spinner-circle { + left: 0; + right: -100%; + border-right-color: transparent; + -webkit-animation: spinner-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: spinner-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } + .video-js.vjs-mediacms .vjs-loading-spinner .spinner-right { + left: 49%; + right: 0; } + .video-js.vjs-mediacms .vjs-loading-spinner .spinner-right .spinner-circle { + left: -100%; + right: 0; + border-left-color: transparent; + -webkit-animation: spinner-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: spinner-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1 1) infinite both; } + +.video-js.vjs-mediacms.vjs-fullscreen .vjs-loading-spinner { + width: 96px; + height: 96px; + margin: -48px 0 0 -48px; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-loading-spinner .spinner { + margin-left: -48px; } + .video-js.vjs-mediacms.vjs-fullscreen .vjs-loading-spinner .spinner-circle { + border-width: 9px; } + +.video-js.vjs-mediacms.vjs-error .vjs-loading-spinner { + display: none; } diff --git a/frontend-tools/video-js/src/assets/react.svg b/frontend-tools/video-js/src/assets/react.svg new file mode 100644 index 00000000..6c87de9b --- /dev/null +++ b/frontend-tools/video-js/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-tools/video-js/src/main.jsx b/frontend-tools/video-js/src/main.jsx new file mode 100644 index 00000000..68d41f9a --- /dev/null +++ b/frontend-tools/video-js/src/main.jsx @@ -0,0 +1,24 @@ +import { StrictMode } from 'react'; +import { createRoot } from 'react-dom/client'; +import './VideoJS.css'; + +import VideoJS from './VideoJS.jsx'; + +// Mount the components when the DOM is ready +const mountComponents = () => { + const rootContainer = document.getElementById('video-js-root'); + if (rootContainer) { + const root = createRoot(rootContainer); + root.render( + + + + ); + } +}; + +if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', mountComponents); +} else { + mountComponents(); +} diff --git a/frontend-tools/video-js/vercel.json b/frontend-tools/video-js/vercel.json new file mode 100644 index 00000000..7cf4c77c --- /dev/null +++ b/frontend-tools/video-js/vercel.json @@ -0,0 +1,8 @@ +{ + "rewrites": [ + { + "source": "/(.*)", + "destination": "/index.html" + } + ] +} diff --git a/frontend-tools/video-js/vite.config.js b/frontend-tools/video-js/vite.config.js new file mode 100644 index 00000000..8b0f57b9 --- /dev/null +++ b/frontend-tools/video-js/vite.config.js @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [react()], +}) diff --git a/frontend-tools/video-js/vite.video-js.config.ts b/frontend-tools/video-js/vite.video-js.config.ts new file mode 100644 index 00000000..c931c5ba --- /dev/null +++ b/frontend-tools/video-js/vite.video-js.config.ts @@ -0,0 +1,50 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; +import path, { dirname } from 'path'; +import { fileURLToPath } from 'url'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +export default defineConfig({ + plugins: [react()], + resolve: { + alias: { + '@': path.resolve(__dirname, 'src'), + }, + }, + root: path.resolve(__dirname, 'src'), + define: { + 'process.env': { + NODE_ENV: JSON.stringify(process.env.NODE_ENV || 'production'), + }, + }, + build: { + minify: true, + sourcemap: true, + lib: { + entry: path.resolve(__dirname, 'src/main.jsx'), + name: 'VideoJS', + formats: ['iife'], + fileName: () => 'video-js.js', + }, + rollupOptions: { + output: { + // Ensure CSS file has a predictable name + assetFileNames: (assetInfo) => { + if (assetInfo.name === 'style.css') return 'video-js.css'; + return assetInfo.name; + }, + // Add this to ensure the final bundle exposes React correctly + globals: { + react: 'React', + 'react-dom': 'ReactDOM', + }, + }, + }, + // Output to Django's static directory + outDir: '../../../static/video_js', + emptyOutDir: true, + external: ['react', 'react-dom'], + }, +}); diff --git a/frontend-tools/video-js/yarn.lock b/frontend-tools/video-js/yarn.lock new file mode 100644 index 00000000..c89bd4dc --- /dev/null +++ b/frontend-tools/video-js/yarn.lock @@ -0,0 +1,1496 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.2.0": + version "2.3.0" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" + +"@babel/code-frame@^7.27.1": + version "7.27.1" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz" + integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== + dependencies: + "@babel/helper-validator-identifier" "^7.27.1" + js-tokens "^4.0.0" + picocolors "^1.1.1" + +"@babel/compat-data@^7.27.2": + version "7.27.5" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.5.tgz" + integrity sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg== + +"@babel/core@^7.27.4": + version "7.27.4" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.27.4.tgz" + integrity sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.27.3" + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-module-transforms" "^7.27.3" + "@babel/helpers" "^7.27.4" + "@babel/parser" "^7.27.4" + "@babel/template" "^7.27.2" + "@babel/traverse" "^7.27.4" + "@babel/types" "^7.27.3" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.27.3": + version "7.27.5" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.27.5.tgz" + integrity sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw== + dependencies: + "@babel/parser" "^7.27.5" + "@babel/types" "^7.27.3" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^3.0.2" + +"@babel/helper-compilation-targets@^7.27.2": + version "7.27.2" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz" + integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ== + 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" + +"@babel/helper-module-imports@^7.27.1": + version "7.27.1" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz" + integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== + dependencies: + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" + +"@babel/helper-module-transforms@^7.27.3": + version "7.27.3" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz" + integrity sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg== + dependencies: + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + "@babel/traverse" "^7.27.3" + +"@babel/helper-plugin-utils@^7.27.1": + 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== + +"@babel/helper-string-parser@^7.27.1": + version "7.27.1" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz" + integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== + +"@babel/helper-validator-identifier@^7.27.1": + 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== + +"@babel/helper-validator-option@^7.27.1": + version "7.27.1" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz" + integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== + +"@babel/helpers@^7.27.4": + version "7.27.6" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz" + integrity sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug== + dependencies: + "@babel/template" "^7.27.2" + "@babel/types" "^7.27.6" + +"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.27.2", "@babel/parser@^7.27.4", "@babel/parser@^7.27.5": + version "7.27.5" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz" + integrity sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg== + dependencies: + "@babel/types" "^7.27.3" + +"@babel/plugin-transform-react-jsx-self@^7.27.1": + version "7.27.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz" + integrity sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-react-jsx-source@^7.27.1": + version "7.27.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz" + integrity sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.5.5": + version "7.27.6" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz" + integrity sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q== + +"@babel/template@^7.27.2": + version "7.27.2" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz" + integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/parser" "^7.27.2" + "@babel/types" "^7.27.1" + +"@babel/traverse@^7.27.1", "@babel/traverse@^7.27.3", "@babel/traverse@^7.27.4": + version "7.27.4" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.4.tgz" + integrity sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.27.3" + "@babel/parser" "^7.27.4" + "@babel/template" "^7.27.2" + "@babel/types" "^7.27.3" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.27.6": + version "7.27.6" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz" + integrity sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q== + dependencies: + "@babel/helper-string-parser" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + +"@esbuild/android-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" + integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ== + +"@esbuild/android-arm@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682" + integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw== + +"@esbuild/android-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2" + integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg== + +"@esbuild/darwin-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz" + integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== + +"@esbuild/darwin-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d" + integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== + +"@esbuild/freebsd-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54" + integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw== + +"@esbuild/freebsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e" + integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ== + +"@esbuild/linux-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0" + integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA== + +"@esbuild/linux-arm@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0" + integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg== + +"@esbuild/linux-ia32@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7" + integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA== + +"@esbuild/linux-loong64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d" + integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg== + +"@esbuild/linux-mips64el@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231" + integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ== + +"@esbuild/linux-ppc64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb" + integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA== + +"@esbuild/linux-riscv64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6" + integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A== + +"@esbuild/linux-s390x@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071" + integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ== + +"@esbuild/linux-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338" + integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w== + +"@esbuild/netbsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1" + integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A== + +"@esbuild/openbsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae" + integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg== + +"@esbuild/sunos-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d" + integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ== + +"@esbuild/win32-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9" + integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg== + +"@esbuild/win32-ia32@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102" + integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g== + +"@esbuild/win32-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d" + integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ== + +"@eslint-community/eslint-utils@^4.2.0": + version "4.7.0" + resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz" + integrity sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw== + dependencies: + eslint-visitor-keys "^3.4.3" + +"@eslint-community/regexpp@^4.12.1": + version "4.12.1" + resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz" + integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== + +"@eslint/config-array@^0.20.1": + version "0.20.1" + resolved "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.1.tgz" + integrity sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw== + dependencies: + "@eslint/object-schema" "^2.1.6" + debug "^4.3.1" + minimatch "^3.1.2" + +"@eslint/config-helpers@^0.2.1": + version "0.2.3" + resolved "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.3.tgz" + integrity sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg== + +"@eslint/core@^0.14.0": + version "0.14.0" + resolved "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz" + integrity sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg== + dependencies: + "@types/json-schema" "^7.0.15" + +"@eslint/core@^0.15.0": + version "0.15.0" + resolved "https://registry.npmjs.org/@eslint/core/-/core-0.15.0.tgz" + integrity sha512-b7ePw78tEWWkpgZCDYkbqDOP8dmM6qe+AOC6iuJqlq1R/0ahMAeH3qynpnqKFGkMltrp44ohV4ubGyvLX28tzw== + dependencies: + "@types/json-schema" "^7.0.15" + +"@eslint/eslintrc@^3.3.1": + version "3.3.1" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz" + integrity sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^10.0.1" + globals "^14.0.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@9.29.0", "@eslint/js@^9.25.0": + version "9.29.0" + resolved "https://registry.npmjs.org/@eslint/js/-/js-9.29.0.tgz" + integrity sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ== + +"@eslint/object-schema@^2.1.6": + version "2.1.6" + resolved "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz" + integrity sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA== + +"@eslint/plugin-kit@^0.3.1": + version "0.3.2" + resolved "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.2.tgz" + integrity sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg== + dependencies: + "@eslint/core" "^0.15.0" + levn "^0.4.1" + +"@humanfs/core@^0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz" + integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== + +"@humanfs/node@^0.16.6": + version "0.16.6" + resolved "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz" + integrity sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw== + dependencies: + "@humanfs/core" "^0.19.1" + "@humanwhocodes/retry" "^0.3.0" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/retry@^0.3.0": + version "0.3.1" + resolved "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz" + integrity sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA== + +"@humanwhocodes/retry@^0.4.2": + version "0.4.3" + resolved "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz" + integrity sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ== + +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.8" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz" + integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.5.0" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@parcel/watcher-android-arm64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz#507f836d7e2042f798c7d07ad19c3546f9848ac1" + integrity sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA== + +"@parcel/watcher-darwin-arm64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz#3d26dce38de6590ef79c47ec2c55793c06ad4f67" + integrity sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw== + +"@parcel/watcher-darwin-x64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz#99f3af3869069ccf774e4ddfccf7e64fd2311ef8" + integrity sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg== + +"@parcel/watcher-freebsd-x64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz#14d6857741a9f51dfe51d5b08b7c8afdbc73ad9b" + integrity sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ== + +"@parcel/watcher-linux-arm-glibc@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz#43c3246d6892381db473bb4f663229ad20b609a1" + integrity sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA== + +"@parcel/watcher-linux-arm-musl@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz#663750f7090bb6278d2210de643eb8a3f780d08e" + integrity sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q== + +"@parcel/watcher-linux-arm64-glibc@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz#ba60e1f56977f7e47cd7e31ad65d15fdcbd07e30" + integrity sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w== + +"@parcel/watcher-linux-arm64-musl@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz#f7fbcdff2f04c526f96eac01f97419a6a99855d2" + integrity sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg== + +"@parcel/watcher-linux-x64-glibc@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz#4d2ea0f633eb1917d83d483392ce6181b6a92e4e" + integrity sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A== + +"@parcel/watcher-linux-x64-musl@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz#277b346b05db54f55657301dd77bdf99d63606ee" + integrity sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg== + +"@parcel/watcher-win32-arm64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz#7e9e02a26784d47503de1d10e8eab6cceb524243" + integrity sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw== + +"@parcel/watcher-win32-ia32@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz#2d0f94fa59a873cdc584bf7f6b1dc628ddf976e6" + integrity sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ== + +"@parcel/watcher-win32-x64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz#ae52693259664ba6f2228fa61d7ee44b64ea0947" + integrity sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA== + +"@parcel/watcher@^2.4.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.5.1.tgz#342507a9cfaaf172479a882309def1e991fb1200" + integrity sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg== + dependencies: + detect-libc "^1.0.3" + is-glob "^4.0.3" + micromatch "^4.0.5" + node-addon-api "^7.0.0" + 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" + +"@rolldown/pluginutils@1.0.0-beta.11": + version "1.0.0-beta.11" + resolved "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.11.tgz" + integrity sha512-L/gAA/hyCSuzTF1ftlzUSI/IKr2POHsv1Dd78GfqkR83KMNuswWD61JxGV2L7nRwBBBSDr6R1gCkdTmoN7W4ag== + +"@types/babel__core@^7.20.5": + version "7.20.5" + resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== + dependencies: + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.27.0" + resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz" + integrity sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.4" + resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz" + integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*": + version "7.20.7" + resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz" + integrity sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng== + dependencies: + "@babel/types" "^7.20.7" + +"@types/estree@^1.0.6": + version "1.0.8" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz" + integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== + +"@types/json-schema@^7.0.15": + version "7.0.15" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/react-dom@^19.1.2": + version "19.1.6" + resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.6.tgz" + integrity sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw== + +"@types/react@^19.1.2": + version "19.1.8" + resolved "https://registry.npmjs.org/@types/react/-/react-19.1.8.tgz" + integrity sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g== + dependencies: + csstype "^3.0.2" + +"@videojs/http-streaming@^3.17.0": + version "3.17.0" + resolved "https://registry.npmjs.org/@videojs/http-streaming/-/http-streaming-3.17.0.tgz" + integrity sha512-Ch1P3tvvIEezeZXyK11UfWgp4cWKX4vIhZ30baN/lRinqdbakZ5hiAI3pGjRy3d+q/Epyc8Csz5xMdKNNGYpcw== + dependencies: + "@babel/runtime" "^7.12.5" + "@videojs/vhs-utils" "^4.1.1" + aes-decrypter "^4.0.2" + global "^4.4.0" + m3u8-parser "^7.2.0" + mpd-parser "^1.3.1" + mux.js "7.1.0" + video.js "^7 || ^8" + +"@videojs/vhs-utils@^4.0.0", "@videojs/vhs-utils@^4.1.1": + version "4.1.1" + resolved "https://registry.npmjs.org/@videojs/vhs-utils/-/vhs-utils-4.1.1.tgz" + integrity sha512-5iLX6sR2ownbv4Mtejw6Ax+naosGvoT9kY+gcuHzANyUZZ+4NpeNdKMUhb6ag0acYej1Y7cmr/F2+4PrggMiVA== + dependencies: + "@babel/runtime" "^7.12.5" + global "^4.4.0" + +"@videojs/xhr@2.7.0": + version "2.7.0" + resolved "https://registry.npmjs.org/@videojs/xhr/-/xhr-2.7.0.tgz" + integrity sha512-giab+EVRanChIupZK7gXjHy90y3nncA2phIOyG3Ne5fvpiMJzvqYwiTOnEVW2S4CoYcuKJkomat7bMXA/UoUZQ== + dependencies: + "@babel/runtime" "^7.5.5" + global "~4.4.0" + is-function "^1.0.1" + +"@vitejs/plugin-react@^4.5.2": + version "4.5.2" + resolved "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.5.2.tgz" + integrity sha512-QNVT3/Lxx99nMQWJWF7K4N6apUEuT0KlZA3mx/mVaoGj3smm/8rc8ezz15J1pcbcjDK0V15rpHetVfya08r76Q== + dependencies: + "@babel/core" "^7.27.4" + "@babel/plugin-transform-react-jsx-self" "^7.27.1" + "@babel/plugin-transform-react-jsx-source" "^7.27.1" + "@rolldown/pluginutils" "1.0.0-beta.11" + "@types/babel__core" "^7.20.5" + react-refresh "^0.17.0" + +"@xmldom/xmldom@^0.8.3": + version "0.8.10" + resolved "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz" + integrity sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw== + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^8.15.0: + version "8.15.0" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz" + integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== + +aes-decrypter@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/aes-decrypter/-/aes-decrypter-4.0.2.tgz" + integrity sha512-lc+/9s6iJvuaRe5qDlMTpCFjnwpkeOXp8qP3oiZ5jsj1MRg+SBVUmmICrhxHvc8OELSmc+fEyyxAuppY6hrWzw== + dependencies: + "@babel/runtime" "^7.12.5" + "@videojs/vhs-utils" "^4.1.1" + global "^4.4.0" + pkcs7 "^1.0.4" + +ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + 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" + +ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +brace-expansion@^1.1.7: + version "1.1.12" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz" + integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== + dependencies: + fill-range "^7.1.1" + +browserslist@^4.24.0: + version "4.25.0" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz" + integrity sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA== + dependencies: + caniuse-lite "^1.0.30001718" + electron-to-chromium "^1.5.160" + node-releases "^2.0.19" + update-browserslist-db "^1.1.3" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +caniuse-lite@^1.0.30001718: + version "1.0.30001723" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001723.tgz" + integrity sha512-1R/elMjtehrFejxwmexeXAtae5UO9iSyFn6G/I806CYC/BLyyBk1EPhrKBkWhy6wM6Xnm47dSJQec+tLJ39WHw== + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chokidar@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30" + integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== + dependencies: + readdirp "^4.0.1" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +convert-source-map@^2.0.0: + 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== + +cookie@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz" + integrity sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA== + +cross-spawn@^7.0.6: + version "7.0.6" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +csstype@^3.0.2: + version "3.1.3" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +debug@^4.1.0, debug@^4.3.1, debug@^4.3.2: + version "4.4.1" + resolved "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz" + integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== + dependencies: + ms "^2.1.3" + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== + +dom-walk@^0.1.0: + version "0.1.2" + resolved "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz" + integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== + +electron-to-chromium@^1.5.160: + version "1.5.168" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.168.tgz" + integrity sha512-RUNQmFLNIWVW6+z32EJQ5+qx8ci6RGvdtDC0Ls+F89wz6I2AthpXF0w0DIrn2jpLX0/PU9ZCo+Qp7bg/EckJmA== + +esbuild@^0.18.10: + version "0.18.20" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz" + integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== + optionalDependencies: + "@esbuild/android-arm" "0.18.20" + "@esbuild/android-arm64" "0.18.20" + "@esbuild/android-x64" "0.18.20" + "@esbuild/darwin-arm64" "0.18.20" + "@esbuild/darwin-x64" "0.18.20" + "@esbuild/freebsd-arm64" "0.18.20" + "@esbuild/freebsd-x64" "0.18.20" + "@esbuild/linux-arm" "0.18.20" + "@esbuild/linux-arm64" "0.18.20" + "@esbuild/linux-ia32" "0.18.20" + "@esbuild/linux-loong64" "0.18.20" + "@esbuild/linux-mips64el" "0.18.20" + "@esbuild/linux-ppc64" "0.18.20" + "@esbuild/linux-riscv64" "0.18.20" + "@esbuild/linux-s390x" "0.18.20" + "@esbuild/linux-x64" "0.18.20" + "@esbuild/netbsd-x64" "0.18.20" + "@esbuild/openbsd-x64" "0.18.20" + "@esbuild/sunos-x64" "0.18.20" + "@esbuild/win32-arm64" "0.18.20" + "@esbuild/win32-ia32" "0.18.20" + "@esbuild/win32-x64" "0.18.20" + +escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-plugin-react-hooks@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz" + integrity sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg== + +eslint-plugin-react-refresh@^0.4.19: + version "0.4.20" + resolved "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.20.tgz" + integrity sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA== + +eslint-scope@^8.4.0: + version "8.4.0" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz" + integrity sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint-visitor-keys@^4.2.1: + version "4.2.1" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz" + integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ== + +eslint@^9.25.0: + version "9.29.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-9.29.0.tgz" + integrity sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.12.1" + "@eslint/config-array" "^0.20.1" + "@eslint/config-helpers" "^0.2.1" + "@eslint/core" "^0.14.0" + "@eslint/eslintrc" "^3.3.1" + "@eslint/js" "9.29.0" + "@eslint/plugin-kit" "^0.3.1" + "@humanfs/node" "^0.16.6" + "@humanwhocodes/module-importer" "^1.0.1" + "@humanwhocodes/retry" "^0.4.2" + "@types/estree" "^1.0.6" + "@types/json-schema" "^7.0.15" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.6" + debug "^4.3.2" + escape-string-regexp "^4.0.0" + eslint-scope "^8.4.0" + eslint-visitor-keys "^4.2.1" + espree "^10.4.0" + esquery "^1.5.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^8.0.0" + find-up "^5.0.0" + glob-parent "^6.0.2" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + json-stable-stringify-without-jsonify "^1.0.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + +espree@^10.0.1, espree@^10.4.0: + version "10.4.0" + resolved "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz" + integrity sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ== + dependencies: + acorn "^8.15.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^4.2.1" + +esquery@^1.5.0: + version "1.6.0" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + 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== + +fast-json-stable-stringify@^2.0.0: + 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== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +file-entry-cache@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz" + integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== + dependencies: + flat-cache "^4.0.0" + +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== + dependencies: + to-regex-range "^5.0.1" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz" + integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.4" + +flatted@^3.2.9: + version "3.3.3" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz" + integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +gensync@^1.0.0-beta.2: + 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== + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +global@4.4.0, global@^4.3.1, global@^4.4.0, global@~4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/global/-/global-4.4.0.tgz" + integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== + dependencies: + min-document "^2.19.0" + process "^0.11.10" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^14.0.0: + version "14.0.0" + resolved "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz" + integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== + +globals@^16.0.0: + version "16.2.0" + resolved "https://registry.npmjs.org/globals/-/globals-16.2.0.tgz" + integrity sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +ignore@^5.2.0: + version "5.3.2" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== + +immutable@^5.0.2: + version "5.1.3" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.1.3.tgz#e6486694c8b76c37c063cca92399fa64098634d4" + integrity sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg== + +import-fresh@^3.2.1: + version "3.3.1" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz" + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-function@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz" + integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== + +is-glob@^4.0.0, is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsesc@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz" + integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-schema-traverse@^0.4.1: + 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== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json5@^2.2.3: + version "2.2.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +keyv@^4.5.4: + version "4.5.4" + resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +m3u8-parser@^7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/m3u8-parser/-/m3u8-parser-7.2.0.tgz" + integrity sha512-CRatFqpjVtMiMaKXxNvuI3I++vUumIXVVT/JpCpdU/FynV/ceVw1qpPyyBNindL+JlPMSesx+WX1QJaZEJSaMQ== + dependencies: + "@babel/runtime" "^7.12.5" + "@videojs/vhs-utils" "^4.1.1" + global "^4.4.0" + +micromatch@^4.0.5: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + +min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz" + integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ== + dependencies: + dom-walk "^0.1.0" + +minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +mpd-parser@^1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/mpd-parser/-/mpd-parser-1.3.1.tgz" + integrity sha512-1FuyEWI5k2HcmhS1HkKnUAQV7yFPfXPht2DnRRGtoiiAAW+ESTbtEXIDpRkwdU+XyrQuwrIym7UkoPKsZ0SyFw== + dependencies: + "@babel/runtime" "^7.12.5" + "@videojs/vhs-utils" "^4.0.0" + "@xmldom/xmldom" "^0.8.3" + global "^4.4.0" + +ms@^2.1.3: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +mux.js@7.1.0, mux.js@^7.0.1: + version "7.1.0" + resolved "https://registry.npmjs.org/mux.js/-/mux.js-7.1.0.tgz" + integrity sha512-NTxawK/BBELJrYsZThEulyUMDVlLizKdxyAsMuzoCD1eFj97BVaA8D/CvKsKu6FOLYkFojN5CbM9h++ZTZtknA== + dependencies: + "@babel/runtime" "^7.11.2" + global "^4.4.0" + +nanoid@^3.3.11: + version "3.3.11" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz" + integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +node-addon-api@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" + integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== + +node-releases@^2.0.19: + version "2.0.19" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz" + integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== + +optionator@^0.9.3: + version "0.9.4" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.5" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^5.0.0: + 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== + dependencies: + p-limit "^3.0.2" + +parent-module@^1.0.0: + 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== + dependencies: + callsites "^3.0.0" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + +picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pkcs7@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/pkcs7/-/pkcs7-1.0.4.tgz" + integrity sha512-afRERtHn54AlwaF2/+LFszyAANTCggGilmcmILUzEjvs3XgFZT+xE6+QWQcAGmu4xajy+Xtj7acLOPdx5/eXWQ== + dependencies: + "@babel/runtime" "^7.5.5" + +postcss@^8.4.27: + version "8.5.6" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz" + integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg== + dependencies: + nanoid "^3.3.11" + picocolors "^1.1.1" + source-map-js "^1.2.1" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.6.2.tgz#ccda02a1003ebbb2bfda6f83a074978f608b9393" + integrity sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +punycode@^2.1.0: + version "2.3.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +react-dom@^19.1.0: + version "19.1.0" + resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz" + integrity sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g== + dependencies: + scheduler "^0.26.0" + +react-refresh@^0.17.0: + version "0.17.0" + resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz" + integrity sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ== + +react-router-dom@^7.6.2: + version "7.6.2" + resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.6.2.tgz" + integrity sha512-Q8zb6VlTbdYKK5JJBLQEN06oTUa/RAbG/oQS1auK1I0TbJOXktqm+QENEVJU6QvWynlXPRBXI3fiOQcSEA78rA== + dependencies: + react-router "7.6.2" + +react-router@7.6.2: + version "7.6.2" + resolved "https://registry.npmjs.org/react-router/-/react-router-7.6.2.tgz" + integrity sha512-U7Nv3y+bMimgWjhlT5CRdzHPu2/KVmqPwKUCChW8en5P3znxUqwlYFlbmyj8Rgp1SF6zs5X4+77kBVknkg6a0w== + dependencies: + cookie "^1.0.1" + set-cookie-parser "^2.6.0" + +react@^19.1.0: + version "19.1.0" + resolved "https://registry.npmjs.org/react/-/react-19.1.0.tgz" + integrity sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg== + +readdirp@^4.0.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.1.2.tgz#eb85801435fbf2a7ee58f19e0921b068fc69948d" + integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +rollup@^3.27.1: + version "3.29.5" + resolved "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz" + integrity sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w== + optionalDependencies: + fsevents "~2.3.2" + +sass@^1.89.2: + version "1.89.2" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.89.2.tgz#a771716aeae774e2b529f72c0ff2dfd46c9de10e" + integrity sha512-xCmtksBKd/jdJ9Bt9p7nPKiuqrlBMBuuGkQlkhZjjQk3Ty48lv93k5Dq6OPkKt4XwxDJ7tvlfrTa1MPA9bf+QA== + dependencies: + chokidar "^4.0.0" + immutable "^5.0.2" + source-map-js ">=0.6.2 <2.0.0" + optionalDependencies: + "@parcel/watcher" "^2.4.1" + +scheduler@^0.26.0: + version "0.26.0" + resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz" + integrity sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA== + +semver@^6.3.1: + version "6.3.1" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +set-cookie-parser@^2.6.0: + version "2.7.1" + resolved "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz" + integrity sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ== + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.2.1: + 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== + +strip-json-comments@^3.1.1: + 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== + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +update-browserslist-db@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz" + integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== + dependencies: + escalade "^3.2.0" + picocolors "^1.1.1" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +"video.js@^7 || ^8", video.js@^8.23.3: + version "8.23.3" + resolved "https://registry.npmjs.org/video.js/-/video.js-8.23.3.tgz" + integrity sha512-Toe0VLlDZcUhiaWfcePS1OEdT3ATfktm0hk/PELfD7zUoPDHeT+cJf/wZmCy5M5eGVwtGUg25RWPCj1L/1XufA== + dependencies: + "@babel/runtime" "^7.12.5" + "@videojs/http-streaming" "^3.17.0" + "@videojs/vhs-utils" "^4.1.1" + "@videojs/xhr" "2.7.0" + aes-decrypter "^4.0.2" + global "4.4.0" + m3u8-parser "^7.2.0" + mpd-parser "^1.3.1" + mux.js "^7.0.1" + videojs-contrib-quality-levels "4.1.0" + videojs-font "4.2.0" + videojs-vtt.js "0.15.5" + +videojs-contrib-quality-levels@4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/videojs-contrib-quality-levels/-/videojs-contrib-quality-levels-4.1.0.tgz" + integrity sha512-TfrXJJg1Bv4t6TOCMEVMwF/CoS8iENYsWNKip8zfhB5kTcegiFYezEA0eHAJPU64ZC8NQbxQgOwAsYU8VXbOWA== + dependencies: + global "^4.4.0" + +videojs-font@4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/videojs-font/-/videojs-font-4.2.0.tgz" + integrity sha512-YPq+wiKoGy2/M7ccjmlvwi58z2xsykkkfNMyIg4xb7EZQQNwB71hcSsB3o75CqQV7/y5lXkXhI/rsGAS7jfEmQ== + +videojs-vtt.js@0.15.5: + version "0.15.5" + resolved "https://registry.npmjs.org/videojs-vtt.js/-/videojs-vtt.js-0.15.5.tgz" + integrity sha512-yZbBxvA7QMYn15Lr/ZfhhLPrNpI/RmCSCqgIff57GC2gIrV5YfyzLfLyZMj0NnZSAz8syB4N0nHXpZg9MyrMOQ== + dependencies: + global "^4.3.1" + +vite@^4.5.14: + version "4.5.14" + resolved "https://registry.npmjs.org/vite/-/vite-4.5.14.tgz" + integrity sha512-+v57oAaoYNnO3hIu5Z/tJRZjq5aHM2zDve9YZ8HngVHbhk66RStobhb1sqPMIPEleV6cNKYK4eGrAbE9Ulbl2g== + dependencies: + esbuild "^0.18.10" + postcss "^8.4.27" + rollup "^3.27.1" + optionalDependencies: + fsevents "~2.3.2" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==