diff --git a/README.md b/README.md
index aba9695..5258014 100644
--- a/README.md
+++ b/README.md
@@ -52,6 +52,17 @@ npm install expo-video
**Note:** `expo-av` is deprecated in SDK 52 and removed in SDK 53. For newer Expo versions, use `expo-video`.
+### For Video Layer with Controls (CLDVideoLayer)
+If you want to use the `CLDVideoLayer` component with UI controls, you need to install additional dependencies:
+
+```bash
+npm install @expo/vector-icons expo-font
+```
+Or
+```bash
+yarn add @expo/vector-icons expo-font
+```
+
## Usage
### Setup
The `Cloudinary` class is the main entry point for using the library. Your `cloud_name` is required to create an instance of this class. Your `api_key` and `api_secret` are also needed to perform secure API calls to Cloudinary (e.g., image and video uploads). Setting the configuration parameters can be done either programmatically using an appropriate constructor of the Cloudinary class or globally using an environment variable. You can find your account-specific configuration parameters in the **Dashboard** page of your [account console](https://cloudinary.com/console).
@@ -151,6 +162,62 @@ export default function App() {
};
```
+### Video Layer with Controls
+The `CLDVideoLayer` component provides a full-screen video experience with overlay controls, seekbar, and customizable actions. **Note: This requires `@expo/vector-icons` and `expo-font` to be installed.**
+
+```tsx
+import React from 'react';
+import { View, StyleSheet } from 'react-native';
+import { CLDVideoLayer } from 'cloudinary-react-native';
+import { Cloudinary } from '@cloudinary/url-gen';
+import { useFonts } from 'expo-font';
+import { Ionicons } from '@expo/vector-icons';
+
+const myCld = new Cloudinary({
+ cloud: {
+ cloudName: "demo",
+ },
+});
+
+export default function App() {
+ // Preload fonts to prevent warnings
+ const [fontsLoaded] = useFonts({
+ ...Ionicons.font,
+ });
+
+ if (!fontsLoaded) {
+ return null; // or a loading component
+ }
+
+ const video = myCld.video('sea_turtle');
+
+ const handleBack = () => {
+ // Handle back navigation
+ };
+
+ const handleShare = () => {
+ // Handle custom share action
+ };
+
+ return (
+
+
+
+ );
+}
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ backgroundColor: '#000',
+ },
+});
+```
+
### Uploading Assets
The following example performs an unsigned upload of a `string` using the default settings, a request upload callback, and an upload preset (required for unsigned uploads):
diff --git a/example/ActiveLayerLayoutDemo.tsx b/example/ActiveLayerLayoutDemo.tsx
new file mode 100644
index 0000000..1b4df54
--- /dev/null
+++ b/example/ActiveLayerLayoutDemo.tsx
@@ -0,0 +1,490 @@
+import React, { useState } from 'react';
+import { View, Text, StyleSheet, TouchableOpacity, ScrollView, StatusBar, Dimensions } from 'react-native';
+import { CLDVideoLayer } from '../src/widgets/video/layer/CLDVideoLayer';
+import { ButtonPosition, ButtonLayoutDirection } from '../src/widgets/video/layer/types';
+import { Cloudinary } from '@cloudinary/url-gen';
+
+interface ActiveLayerLayoutDemoProps {
+ onNavigateToYouTube?: () => void;
+ onBack?: () => void;
+}
+
+export const ActiveLayerLayoutDemo: React.FC = ({ onNavigateToYouTube, onBack }) => {
+ const [currentExample, setCurrentExample] = useState('horizontal');
+
+ // Create a sample video
+ const cld = new Cloudinary({
+ cloud: {
+ cloudName: 'mobiledemoapp'
+ },
+ url: {
+ secure: true
+ }
+ });
+
+ function createMyVideoObject() {
+ const myVideo = cld.video('fzsu0bo1m21oxoxwsznm');
+ return myVideo;
+ }
+
+ // Example 1: Button Groups with Horizontal Layout
+ const horizontalButtonGroups = [
+ {
+ position: ButtonPosition.NE,
+ layoutDirection: ButtonLayoutDirection.HORIZONTAL,
+ buttons: [
+ {
+ icon: 'star',
+ position: ButtonPosition.NE,
+ onPress: () => console.log('Star pressed'),
+ color: '#FFD700'
+ },
+ {
+ icon: 'heart',
+ position: ButtonPosition.NE,
+ onPress: () => console.log('Heart pressed'),
+ color: '#FF69B4'
+ }
+ ]
+ },
+ {
+ position: ButtonPosition.SE,
+ layoutDirection: ButtonLayoutDirection.HORIZONTAL,
+ buttons: [
+ {
+ icon: 'bookmark',
+ position: ButtonPosition.SE,
+ onPress: () => console.log('Bookmark pressed'),
+ color: '#32CD32'
+ },
+ {
+ icon: 'download',
+ position: ButtonPosition.SE,
+ onPress: () => console.log('Download pressed'),
+ color: '#1E90FF'
+ }
+ ]
+ }
+ ];
+
+ // Example 2: Button Groups with Vertical Layout
+ const verticalButtonGroups = [
+ {
+ position: ButtonPosition.E,
+ layoutDirection: ButtonLayoutDirection.VERTICAL,
+ buttons: [
+ {
+ icon: 'camera',
+ position: ButtonPosition.E,
+ onPress: () => console.log('Camera pressed'),
+ color: '#FF6347'
+ },
+ {
+ icon: 'image',
+ position: ButtonPosition.E,
+ onPress: () => console.log('Image pressed'),
+ color: '#9370DB'
+ },
+ {
+ icon: 'videocam',
+ position: ButtonPosition.E,
+ onPress: () => console.log('Video pressed'),
+ color: '#20B2AA'
+ }
+ ]
+ },
+ {
+ position: ButtonPosition.W,
+ layoutDirection: ButtonLayoutDirection.VERTICAL,
+ buttons: [
+ {
+ icon: 'thumbs-up',
+ position: ButtonPosition.W,
+ onPress: () => console.log('Like pressed'),
+ color: '#32CD32'
+ },
+ {
+ icon: 'thumbs-down',
+ position: ButtonPosition.W,
+ onPress: () => console.log('Dislike pressed'),
+ color: '#FF4500'
+ }
+ ]
+ }
+ ];
+
+ // Example 3: Mixed Layout Directions
+ const mixedLayoutGroups = [
+ {
+ position: ButtonPosition.N,
+ layoutDirection: ButtonLayoutDirection.HORIZONTAL,
+ buttons: [
+ {
+ icon: 'settings',
+ position: ButtonPosition.N,
+ onPress: () => console.log('Settings pressed'),
+ color: '#808080'
+ },
+ {
+ icon: 'help-circle',
+ position: ButtonPosition.N,
+ onPress: () => console.log('Help pressed'),
+ color: '#4169E1'
+ }
+ ]
+ },
+ {
+ position: ButtonPosition.S,
+ layoutDirection: ButtonLayoutDirection.VERTICAL,
+ buttons: [
+ {
+ icon: 'information-circle',
+ position: ButtonPosition.S,
+ onPress: () => console.log('Info pressed'),
+ color: '#4682B4'
+ },
+ {
+ icon: 'warning',
+ position: ButtonPosition.S,
+ onPress: () => console.log('Warning pressed'),
+ color: '#FFA500'
+ }
+ ]
+ }
+ ];
+
+ // Example 4: Subtitles Button Demo
+ // For HLS videos, subtitles are automatically detected from the manifest
+ // No need to specify languages manually - they will be dynamically loaded
+ const subtitlesButtonDemo = {
+ subtitles: {
+ enabled: true,
+ defaultLanguage: 'off',
+ button: {
+ position: ButtonPosition.SE,
+ color: '#FF6B6B',
+ size: 28,
+ }
+ }
+ };
+
+ // Example 5: Playback Speed Button Demo
+ const playbackSpeedDemo = {
+ playbackSpeed: {
+ enabled: true,
+ defaultSpeed: 1.0,
+ speeds: [
+ { value: 0.25, label: '0.25×' },
+ { value: 0.5, label: '0.5×' },
+ { value: 0.75, label: '0.75×' },
+ { value: 1.0, label: '1.0×' },
+ { value: 1.25, label: '1.25×' },
+ { value: 1.5, label: '1.5×' },
+ { value: 2.0, label: '2.0×' },
+ ],
+ button: {
+ position: ButtonPosition.NE,
+ color: '#4CAF50',
+ size: 28,
+ }
+ }
+ };
+
+ // Example 6: Quality Selection Demo
+ // For HLS videos, quality levels are automatically detected from the manifest
+ // No need to specify quality levels manually - they will be dynamically loaded
+ const qualitySelectionDemo = {
+ quality: {
+ enabled: true,
+ defaultQuality: 'auto',
+ button: {
+ position: ButtonPosition.SE,
+ color: '#9C27B0',
+ size: 28,
+ }
+ }
+ };
+
+ const getVideoLayerProps = () => {
+ switch (currentExample) {
+ case 'horizontal':
+ return {
+ buttonGroups: horizontalButtonGroups
+ };
+ case 'vertical':
+ return {
+ buttonGroups: verticalButtonGroups
+ };
+ case 'mixed':
+ return {
+ buttonGroups: mixedLayoutGroups
+ };
+ case 'subtitles':
+ return subtitlesButtonDemo;
+ case 'playbackSpeed':
+ return playbackSpeedDemo;
+ case 'quality':
+ return qualitySelectionDemo;
+ default:
+ return {};
+ }
+ };
+
+ const examples = [
+ { id: 'horizontal', title: 'Horizontal Layout', description: 'Side-by-side button arrangements for compact interfaces' },
+ { id: 'vertical', title: 'Vertical Layout', description: 'Stacked button arrangements for enhanced accessibility' },
+ { id: 'mixed', title: 'Hybrid Layouts', description: 'Strategic combination of horizontal and vertical groupings' },
+ { id: 'subtitles', title: 'Subtitle Controls', description: 'Professional multi-language subtitle management' },
+ { id: 'playbackSpeed', title: 'Speed Controls', description: 'Granular playback speed adjustment for optimal viewing' },
+ { id: 'quality', title: 'Quality Selection', description: 'Adaptive bitrate streaming with manual quality selection' }
+ ];
+
+ return (
+
+
+
+ {/* Professional Header */}
+
+
+
+ Cloudinary Video SDK
+ Interactive Button Layout Showcase
+
+
+ {onBack && (
+
+ ← Back
+
+ )}
+
+
+ {/* Professional Example Selector */}
+
+ {examples.map((example, index) => (
+ setCurrentExample(example.id)}
+ >
+
+
+ {index + 1}
+
+
+
+
+ {example.title}
+
+
+ {example.description}
+
+
+
+ ))}
+
+
+
+ {/* Enhanced Video Player */}
+
+
+
+
+
+ {/* Feature Indicator */}
+
+
+ {examples.find(ex => ex.id === currentExample)?.title}
+
+
+ {examples.find(ex => ex.id === currentExample)?.description}
+
+
+
+
+ );
+};
+
+
+
+const { width: SCREEN_WIDTH } = Dimensions.get('window');
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ backgroundColor: '#0f0f23',
+ },
+ header: {
+ backgroundColor: 'linear-gradient(135deg, #1a1a2e 0%, #16213e 100%)',
+ paddingTop: 60,
+ paddingBottom: 24,
+ paddingHorizontal: 20,
+ shadowColor: '#000',
+ shadowOffset: { width: 0, height: 4 },
+ shadowOpacity: 0.3,
+ shadowRadius: 8,
+ elevation: 8,
+ },
+ headerContent: {
+ flexDirection: 'row',
+ justifyContent: 'space-between',
+ alignItems: 'flex-start',
+ marginBottom: 24,
+ },
+ brandSection: {
+ flex: 1,
+ },
+ brandTitle: {
+ fontSize: 28,
+ fontWeight: 'bold',
+ color: '#ffffff',
+ marginBottom: 4,
+ textShadowColor: 'rgba(0, 0, 0, 0.5)',
+ textShadowOffset: { width: 0, height: 2 },
+ textShadowRadius: 4,
+ },
+ brandSubtitle: {
+ fontSize: 16,
+ color: '#a0a0d4',
+ fontWeight: '500',
+ opacity: 0.9,
+ },
+ backButton: {
+ backgroundColor: 'rgba(255, 255, 255, 0.1)',
+ paddingHorizontal: 20,
+ paddingVertical: 12,
+ borderRadius: 25,
+ borderWidth: 1,
+ borderColor: 'rgba(255, 255, 255, 0.2)',
+ },
+ backButtonText: {
+ color: '#ffffff',
+ fontSize: 16,
+ fontWeight: '600',
+ },
+ examplesContainer: {
+ flexGrow: 0,
+ },
+ examplesContent: {
+ paddingLeft: 4,
+ },
+ exampleCard: {
+ backgroundColor: 'rgba(255, 255, 255, 0.05)',
+ borderRadius: 16,
+ padding: 16,
+ marginRight: 16,
+ width: SCREEN_WIDTH * 0.7,
+ borderWidth: 1,
+ borderColor: 'rgba(255, 255, 255, 0.1)',
+ flexDirection: 'row',
+ alignItems: 'center',
+ },
+ activeExampleCard: {
+ backgroundColor: 'rgba(99, 102, 241, 0.2)',
+ borderColor: '#6366f1',
+ transform: [{ scale: 1.02 }],
+ shadowColor: '#6366f1',
+ shadowOffset: { width: 0, height: 8 },
+ shadowOpacity: 0.3,
+ shadowRadius: 16,
+ elevation: 12,
+ },
+ exampleNumber: {
+ width: 32,
+ height: 32,
+ borderRadius: 16,
+ backgroundColor: 'rgba(255, 255, 255, 0.1)',
+ justifyContent: 'center',
+ alignItems: 'center',
+ marginRight: 12,
+ },
+ exampleNumberText: {
+ color: '#a0a0d4',
+ fontSize: 16,
+ fontWeight: 'bold',
+ },
+ activeExampleNumberText: {
+ color: '#ffffff',
+ },
+ exampleContent: {
+ flex: 1,
+ },
+ exampleTitle: {
+ fontSize: 16,
+ fontWeight: '700',
+ color: '#e0e0e0',
+ marginBottom: 4,
+ },
+ activeExampleTitle: {
+ color: '#ffffff',
+ },
+ exampleDescription: {
+ fontSize: 12,
+ color: '#a0a0d4',
+ opacity: 0.8,
+ lineHeight: 16,
+ },
+ activeExampleDescription: {
+ color: '#e0e0ff',
+ opacity: 1,
+ },
+ videoContainer: {
+ flex: 1,
+ margin: 20,
+ marginTop: 16,
+ },
+ videoWrapper: {
+ flex: 1,
+ borderRadius: 20,
+ overflow: 'hidden',
+ backgroundColor: '#000000',
+ shadowColor: '#000',
+ shadowOffset: { width: 0, height: 12 },
+ shadowOpacity: 0.4,
+ shadowRadius: 24,
+ elevation: 16,
+ },
+ featureIndicator: {
+ backgroundColor: 'rgba(255, 255, 255, 0.05)',
+ marginTop: 16,
+ padding: 16,
+ borderRadius: 12,
+ borderWidth: 1,
+ borderColor: 'rgba(255, 255, 255, 0.1)',
+ },
+ featureTitle: {
+ fontSize: 18,
+ fontWeight: '700',
+ color: '#ffffff',
+ marginBottom: 4,
+ },
+ featureDescription: {
+ fontSize: 14,
+ color: '#a0a0d4',
+ lineHeight: 18,
+ },
+});
diff --git a/example/AdvancedImageDemo.tsx b/example/AdvancedImageDemo.tsx
new file mode 100644
index 0000000..d715481
--- /dev/null
+++ b/example/AdvancedImageDemo.tsx
@@ -0,0 +1,38 @@
+import React from 'react';
+import { View, StyleSheet } from 'react-native';
+import { AdvancedImage } from 'cloudinary-react-native';
+import { Cloudinary } from '@cloudinary/url-gen';
+import { scale } from '@cloudinary/url-gen/actions/resize';
+import { cartoonify } from '@cloudinary/url-gen/actions/effect';
+import { max } from '@cloudinary/url-gen/actions/roundCorners';
+
+const cld = new Cloudinary({
+ cloud: {
+ cloudName: 'demo'
+ },
+ url: {
+ secure: true
+ }
+});
+
+export default function AdvancedImageDemo() {
+ const myImage = cld.image('sample')
+ .resize(scale().width(300))
+ .effect(cartoonify())
+ .roundCorners(max());
+
+ return (
+
+
+
+ );
+}
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ backgroundColor: '#fff',
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+});
diff --git a/example/AdvancedVideoDemo.tsx b/example/AdvancedVideoDemo.tsx
new file mode 100644
index 0000000..881daa5
--- /dev/null
+++ b/example/AdvancedVideoDemo.tsx
@@ -0,0 +1,62 @@
+import React, { useRef } from 'react';
+import { StyleSheet, View, Text } from 'react-native';
+import { AdvancedVideo } from 'cloudinary-react-native';
+import { Cloudinary } from '@cloudinary/url-gen';
+
+const cld = new Cloudinary({
+ cloud: {
+ cloudName: 'mobiledemoapp'
+ },
+ url: {
+ secure: true
+ }
+});
+
+export default function AdvancedVideoDemo() {
+ const videoPlayer = useRef(null);
+
+ function createMyVideoObject() {
+ const myVideo = cld.video('fzsu0bo1m21oxoxwsznm')
+ return myVideo
+ }
+
+ return (
+
+ Advanced Video Demo
+
+
+
+
+
+ );
+}
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ backgroundColor: '#000',
+ },
+ title: {
+ fontSize: 24,
+ fontWeight: 'bold',
+ textAlign: 'center',
+ color: '#fff',
+ paddingVertical: 20,
+ backgroundColor: '#000',
+ },
+ videoContainer: {
+ flex: 1,
+ width: '100%',
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+ video: {
+ width: '100%',
+ height: '100%',
+ },
+});
\ No newline at end of file
diff --git a/example/App.tsx b/example/App.tsx
index 6b721d9..052cf93 100644
--- a/example/App.tsx
+++ b/example/App.tsx
@@ -1,12 +1,20 @@
-import { StyleSheet, View, Text, TouchableOpacity, Alert, Platform, Dimensions } from 'react-native';
+import React, { useState, useEffect } from 'react';
+import {
+ StyleSheet,
+ View,
+ Text,
+ TouchableOpacity,
+ Platform,
+ Dimensions,
+ ScrollView,
+ SafeAreaView,
+ Image
+} from 'react-native';
import { StatusBar } from 'expo-status-bar';
-
-import {AdvancedImage, AdvancedVideo} from 'cloudinary-react-native';
-import {Cloudinary} from '@cloudinary/url-gen';
-import {scale} from "@cloudinary/url-gen/actions/resize";
-import {cartoonify} from "@cloudinary/url-gen/actions/effect";
-import {max} from "@cloudinary/url-gen/actions/roundCorners";
-import React, {useRef, useState} from "react";
+import AdvancedVideoDemo from './AdvancedVideoDemo';
+import AdvancedImageDemo from './AdvancedImageDemo';
+import VideoLayerDemo from './VideoLayerDemo';
+import { ActiveLayerLayoutDemo } from './ActiveLayerLayoutDemo';
const { height: screenHeight, width: screenWidth } = Dimensions.get('window');
@@ -20,240 +28,465 @@ const getTopPadding = () => {
return 35;
};
-const cld = new Cloudinary({
- cloud: {
- cloudName: 'demo'
- },
- url: {
- secure: true
- }
-});
+type CurrentScreen = 'home' | 'video' | 'image' | 'videoLayer' | 'buttonLayout';
-export default function App() {
- const videoPlayer = useRef(null);
- const [analyticsEnabled, setAnalyticsEnabled] = useState(false);
- const [autoTracking, setAutoTracking] = useState(false);
+// Local orientation hook to avoid import path issues
+const useLocalOrientation = () => {
+ const [isLandscape, setIsLandscape] = useState(false);
- function createMyImage() {
- var myImage = cld.image('sample').resize(scale().width(300)).effect(cartoonify()).roundCorners(max());
- return myImage
- }
+ useEffect(() => {
+ const updateOrientation = () => {
+ const { width, height } = Dimensions.get('window');
+ setIsLandscape(width > height);
+ };
- function createMyVideoObject() {
- const myVideo = cld.video('sea_turtle')
- return myVideo
- };
+ // Set initial orientation
+ updateOrientation();
- const toggleAnalytics = () => {
- const newAnalyticsState = !analyticsEnabled;
- setAnalyticsEnabled(newAnalyticsState);
-
- if (newAnalyticsState && !autoTracking) {
- setAutoTracking(true);
- }
-
- Alert.alert(
- 'Analytics',
- `Analytics ${newAnalyticsState ? 'enabled' : 'disabled'}.${newAnalyticsState && !autoTracking ? ' Auto tracking also enabled.' : ''} Reload the video to see changes.`
- );
- };
+ // Listen for orientation changes
+ const subscription = Dimensions.addEventListener('change', updateOrientation);
- const toggleAutoTracking = () => {
- setAutoTracking(!autoTracking);
- Alert.alert(
- 'Auto Tracking',
- `Auto tracking ${!autoTracking ? 'enabled' : 'disabled'}. Reload the video to see changes.`
- );
- };
+ return () => {
+ if (subscription?.remove) {
+ subscription.remove();
+ }
+ };
+ }, []);
- const startManualTracking = () => {
- if (videoPlayer.current && videoPlayer.current.startAnalyticsTracking) {
- videoPlayer.current.startAnalyticsTracking(
- {
- publicId: 'jnwczzoacujqb4r4loj1',
- cloudName: 'mobiledemoapp',
- type: 'video'
- },
- {
- customData: {
- userId: 'test-user-123',
- sessionId: 'test-session-456',
- category: 'demo-video'
- }
- }
- );
- Alert.alert('Manual Tracking', 'Manual analytics tracking started!');
- } else {
- Alert.alert('Error', 'Video ref not available or analytics not enabled');
- }
- };
+ return { isLandscape };
+};
- const stopManualTracking = () => {
- if (videoPlayer.current && videoPlayer.current.stopAnalyticsTracking) {
- videoPlayer.current.stopAnalyticsTracking();
- Alert.alert('Manual Tracking', 'Manual analytics tracking stopped!');
- } else {
- Alert.alert('Error', 'Video ref not available');
- }
+export default function App() {
+ const [currentScreen, setCurrentScreen] = useState('home');
+ const { isLandscape } = useLocalOrientation();
+
+ const navigateToScreen = (screen: CurrentScreen) => {
+ setCurrentScreen(screen);
};
- const startAutoTrackingManually = () => {
- if (videoPlayer.current && videoPlayer.current.startAutoAnalyticsTracking) {
- videoPlayer.current.startAutoAnalyticsTracking({
- customData: {
- userId: 'test-user-123',
- source: 'manual-trigger'
- }
- });
- Alert.alert('Auto Tracking', 'Auto analytics tracking started manually!');
- } else {
- Alert.alert('Error', 'Video ref not available or analytics not enabled');
- }
+ const navigateHome = () => {
+ setCurrentScreen('home');
};
- const addCustomEventToVideo = () => {
- if (videoPlayer.current && videoPlayer.current.addCustomEvent) {
- videoPlayer.current.addCustomEvent('user_interaction', {
- action: 'button_clicked',
- buttonName: 'share',
- videoPosition: 30.5,
- customData: {
- userId: 'demo-user-123',
- sessionId: 'session-456'
- }
- });
- Alert.alert('Custom Event', 'Custom analytics event sent!');
- } else {
- Alert.alert('Error', 'Custom events not available');
+
+
+
+ const renderCurrentScreen = () => {
+ switch (currentScreen) {
+ case 'video':
+ return ;
+ case 'image':
+ return ;
+ case 'videoLayer':
+ return ;
+ case 'buttonLayout':
+ return ;
+ default:
+ return renderHomeScreen();
}
};
- return (
-
-
-
-
-
+ const renderHomeScreen = () => (
+
+
+
+
+
+ Cloudinary
+ Video Studio
+
+
+ Professional video experiences for mobile
+
-
- Analytics Testing
-
-
-
- {analyticsEnabled ? 'Disable Analytics' : 'Enable Analytics'}
-
-
-
-
-
- {autoTracking ? 'Disable Auto Tracking' : 'Enable Auto Tracking'}
-
-
-
-
- Send Custom Event
-
-
+
+ {/* Main Features Grid - All 6 items with consistent large icons */}
+
+ navigateToScreen('video')}
+ activeOpacity={0.7}
+ >
+
+ ▶
+
+ Advanced Video
+ Native Video Player
+
-
+ navigateToScreen('videoLayer')}
+ activeOpacity={0.7}
+ >
+
+ ⚡
+
+ Immersive Layer
+ Cloudinary Active Layer
+
-
- {(() => {
- return (
-
- );
- })()}
+ navigateToScreen('buttonLayout')}
+ activeOpacity={0.7}
+ >
+
+ ◉
+
+ Interactive UI
+ Dynamic controls
+
+
+ navigateToScreen('image')}
+ activeOpacity={0.7}
+ >
+
+ 🖼
+
+ Advanced Image
+ Image transformations
+
+
+
-
-
- Analytics: {analyticsEnabled ? 'Enabled' : 'Disabled'}
+
+
+ Powered by Cloudinary React Native SDK
-
- Auto Tracking: {autoTracking ? 'Enabled' : 'Disabled'}
+
+ Built for developers, designed for users
+
+
+ );
+
+ if (currentScreen === 'videoLayer') {
+ return (
+
+
+
+
+ );
+ }
+
+ if (currentScreen === 'buttonLayout') {
+ return (
+
+
+
-
+ );
+ }
+
+ return (
+
+
+ {currentScreen !== 'home' && (
+
+
+ ← Back
+
+
+ )}
+ {renderCurrentScreen()}
+
);
}
const styles = StyleSheet.create({
safeArea: {
flex: 1,
- backgroundColor: '#fff',
- paddingTop: getTopPadding(),
+ backgroundColor: '#000000',
+ },
+ fullScreenContainer: {
+ flex: 1,
+ backgroundColor: '#000000',
},
container: {
flex: 1,
+ backgroundColor: '#000000',
+ },
+ scrollContainer: {
+ flex: 1,
+ backgroundColor: '#000000',
+ },
+ headerContainer: {
+ paddingHorizontal: 24,
+ paddingTop: 60,
+ paddingBottom: 40,
alignItems: 'center',
- justifyContent: 'center',
- paddingHorizontal: 20,
+ backgroundColor: '#000000',
},
- controlsContainer: {
- width: '90%',
+ titleContainer: {
alignItems: 'center',
- marginVertical: 20,
+ marginBottom: 12,
},
title: {
+ fontSize: 36,
+ fontWeight: 'bold',
+ color: '#ffffff',
+ letterSpacing: -1,
+ },
+ titleAccent: {
+ fontSize: 36,
+ fontWeight: 'bold',
+ color: '#6366f1',
+ letterSpacing: -1,
+ },
+ subtitle: {
fontSize: 18,
+ color: '#94a3b8',
+ textAlign: 'center',
+ fontWeight: '500',
+ lineHeight: 24,
+ },
+ featuresContainer: {
+ paddingHorizontal: 16,
+ paddingTop: 20,
+ paddingBottom: 40,
+ },
+ // Main Grid Container & Cards - New unified design
+ mainGridContainer: {
+ flexDirection: 'row',
+ flexWrap: 'wrap',
+ justifyContent: 'space-between',
+ paddingHorizontal: 4,
+ },
+ mainGridCard: {
+ width: '48%',
+ marginBottom: 20,
+ padding: 24,
+ borderRadius: 24,
+ alignItems: 'center',
+ shadowColor: '#000',
+ shadowOffset: {
+ width: 0,
+ height: 12,
+ },
+ shadowOpacity: 0.15,
+ shadowRadius: 20,
+ elevation: 10,
+ minHeight: 160,
+ justifyContent: 'center',
+ },
+ mainIconContainer: {
+ width: 88,
+ height: 88,
+ borderRadius: 24,
+ justifyContent: 'center',
+ alignItems: 'center',
+ marginBottom: 20,
+ shadowColor: '#000',
+ shadowOffset: {
+ width: 0,
+ height: 4,
+ },
+ shadowOpacity: 0.2,
+ shadowRadius: 8,
+ elevation: 5,
+ },
+ mainIconText: {
+ fontSize: 42,
+ color: '#ffffff',
+ fontWeight: '700',
+ },
+ mainTitle: {
+ fontSize: 15,
fontWeight: 'bold',
- marginBottom: 15,
+ color: '#1e293b',
+ textAlign: 'center',
+ marginBottom: 4,
+ lineHeight: 18,
},
- button: {
- backgroundColor: '#007AFF',
- paddingHorizontal: 20,
- paddingVertical: 10,
- borderRadius: 8,
- marginVertical: 5,
- minWidth: 200,
+ mainSubtitle: {
+ fontSize: 11,
+ color: '#64748b',
+ fontWeight: '500',
+ textAlign: 'center',
+ lineHeight: 14,
+ },
+ // Card Theme Colors
+ primaryCard: {
+ backgroundColor: '#ffffff',
+ borderWidth: 1,
+ borderColor: '#e2e8f0',
+ },
+ secondaryCard: {
+ backgroundColor: '#f8fafc',
+ borderWidth: 1,
+ borderColor: '#e0f2fe',
+ },
+ accentCard: {
+ backgroundColor: '#fefce8',
+ borderWidth: 1,
+ borderColor: '#fef3c7',
+ },
+ imageCard: {
+ backgroundColor: '#f0f9ff',
+ borderWidth: 1,
+ borderColor: '#bae6fd',
+ },
+ // Icon Colors
+ videoIcon: {
+ backgroundColor: '#6366f1',
+ },
+ layerIcon: {
+ backgroundColor: '#06b6d4',
+ },
+ interactiveIcon: {
+ backgroundColor: '#f59e0b',
+ },
+ imageIcon: {
+ backgroundColor: '#0ea5e9',
+ },
+ // Landscape-specific styles
+ headerContainerLandscape: {
+ paddingTop: 30,
+ paddingBottom: 20,
+ paddingHorizontal: 40,
+ flexDirection: 'row',
+ justifyContent: 'space-between',
alignItems: 'center',
},
- smallButton: {
- minWidth: 90,
- marginHorizontal: 5,
+ titleLandscape: {
+ fontSize: 28,
+ },
+ titleAccentLandscape: {
+ fontSize: 28,
},
- buttonRow: {
+ subtitleLandscape: {
+ fontSize: 16,
+ maxWidth: 300,
+ textAlign: 'left',
+ marginTop: 0,
+ },
+ featuresContainerLandscape: {
+ paddingHorizontal: 32,
+ paddingTop: 10,
+ paddingBottom: 20,
+ },
+ mainGridContainerLandscape: {
flexDirection: 'row',
- justifyContent: 'center',
+ flexWrap: 'wrap',
+ justifyContent: 'space-between',
+ paddingHorizontal: 8,
},
- buttonText: {
- color: 'white',
+ mainGridCardLandscape: {
+ width: '30%', // 3 cards per row in landscape
+ marginBottom: 16,
+ minHeight: 140,
+ padding: 20,
+ },
+ mainIconContainerLandscape: {
+ width: 70,
+ height: 70,
+ marginBottom: 16,
+ },
+ mainIconTextLandscape: {
+ fontSize: 36,
+ },
+ mainTitleLandscape: {
fontSize: 14,
- fontWeight: '600',
},
- videoContainer: {
- width: '100%',
- justifyContent: 'center',
+ mainSubtitleLandscape: {
+ fontSize: 10,
+ },
+ footerContainerLandscape: {
+ paddingHorizontal: 40,
+ paddingBottom: 20,
+ flexDirection: 'row',
+ justifyContent: 'space-between',
alignItems: 'center',
- marginTop: 20,
},
- video: {
- width: 400,
- height: 220,
+ footerTextLandscape: {
+ fontSize: 14,
+ marginBottom: 0,
+ textAlign: 'left',
+ },
+ footerSubtextLandscape: {
+ fontSize: 12,
+ textAlign: 'right',
},
- statusContainer: {
- marginTop: 20,
+ footerContainer: {
+ paddingHorizontal: 24,
+ paddingBottom: 40,
alignItems: 'center',
+ backgroundColor: '#000000',
},
- statusText: {
+ footerText: {
+ fontSize: 16,
+ color: '#64748b',
+ textAlign: 'center',
+ fontWeight: '600',
+ marginBottom: 8,
+ },
+ footerSubtext: {
fontSize: 14,
- marginVertical: 2,
+ color: '#475569',
+ textAlign: 'center',
+ fontWeight: 'normal',
+ },
+ backButtonContainer: {
+ paddingHorizontal: 20,
+ paddingTop: 10,
+ backgroundColor: '#000000',
+ },
+ backButton: {
+ backgroundColor: '#6366f1',
+ paddingHorizontal: 20,
+ paddingVertical: 12,
+ borderRadius: 12,
+ alignSelf: 'flex-start',
+ shadowColor: '#6366f1',
+ shadowOffset: {
+ width: 0,
+ height: 4,
+ },
+ shadowOpacity: 0.3,
+ shadowRadius: 8,
+ elevation: 6,
+ },
+ backButtonText: {
+ color: '#ffffff',
+ fontSize: 16,
+ fontWeight: '600',
},
-});
+});
\ No newline at end of file
diff --git a/example/FullScreenButtonDemo.tsx b/example/FullScreenButtonDemo.tsx
new file mode 100644
index 0000000..17e80a5
--- /dev/null
+++ b/example/FullScreenButtonDemo.tsx
@@ -0,0 +1,149 @@
+import React from 'react';
+import { View, StyleSheet, Text } from 'react-native';
+import { CloudinaryVideoPlayer } from 'cloudinary-react-native';
+import { ButtonPosition } from '../src/widgets/video/layer/types';
+
+/**
+ * Demo showing different full screen button configurations
+ */
+export const FullScreenButtonDemo = () => {
+ const handleEnterFullScreen = () => {
+ console.log('Entering full screen mode');
+ // Here you can add logic to:
+ // - Lock orientation to landscape
+ // - Hide status bar
+ // - Use expo-screen-orientation if needed
+ };
+
+ const handleExitFullScreen = () => {
+ console.log('Exiting full screen mode');
+ // Here you can add logic to:
+ // - Unlock orientation
+ // - Show status bar
+ // - Restore previous orientation
+ };
+
+ return (
+
+ Full Screen Button Examples
+
+ {/* Example 1: Default full screen button (top-right, default icon) */}
+
+ Default Full Screen Button
+
+
+
+ {/* Example 2: Custom positioned full screen button */}
+
+ Custom Position & Icon
+
+
+
+ {/* Example 3: Custom buttons + Full screen */}
+
+ Multiple Custom Buttons
+ console.log('Info pressed'),
+ },
+ {
+ icon: 'settings-outline',
+ position: ButtonPosition.S,
+ color: 'white',
+ onPress: () => console.log('Settings pressed'),
+ },
+ ]}
+ style={styles.video}
+ />
+
+
+ {/* Example 4: Disabled full screen */}
+
+ Full Screen Disabled
+
+
+
+ );
+};
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ padding: 16,
+ backgroundColor: '#f5f5f5',
+ },
+ title: {
+ fontSize: 24,
+ fontWeight: 'bold',
+ textAlign: 'center',
+ marginBottom: 20,
+ color: '#333',
+ },
+ example: {
+ marginBottom: 24,
+ backgroundColor: 'white',
+ borderRadius: 8,
+ padding: 16,
+ shadowColor: '#000',
+ shadowOffset: { width: 0, height: 2 },
+ shadowOpacity: 0.1,
+ shadowRadius: 4,
+ elevation: 3,
+ },
+ exampleTitle: {
+ fontSize: 18,
+ fontWeight: '600',
+ marginBottom: 12,
+ color: '#333',
+ },
+ video: {
+ width: '100%',
+ height: 200,
+ backgroundColor: '#000',
+ borderRadius: 8,
+ },
+});
+
+export default FullScreenButtonDemo;
diff --git a/example/SimpleVideoLayer.tsx b/example/SimpleVideoLayer.tsx
new file mode 100644
index 0000000..95b3923
--- /dev/null
+++ b/example/SimpleVideoLayer.tsx
@@ -0,0 +1,96 @@
+import React from 'react';
+import { View, StyleSheet, TouchableOpacity, Text, Platform } from 'react-native';
+import { AdvancedVideo } from 'cloudinary-react-native';
+import type { CloudinaryVideo } from '@cloudinary/url-gen';
+
+interface SimpleVideoLayerProps {
+ cldVideo: CloudinaryVideo;
+ videoUrl?: string;
+ onBack?: () => void;
+ onShare?: () => void;
+}
+
+export const SimpleVideoLayer = ({
+ cldVideo,
+ videoUrl,
+ onBack,
+ onShare
+}: SimpleVideoLayerProps) => {
+ return (
+
+
+
+
+
+
+ ← Back
+
+
+ Mute
+
+
+
+
+
+ ▶️
+
+
+
+
+
+ Share
+
+
+
+
+ );
+};
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ backgroundColor: 'black',
+ },
+ overlay: {
+ ...StyleSheet.absoluteFillObject,
+ justifyContent: 'space-between',
+ backgroundColor: 'rgba(0,0,0,0.3)',
+ },
+ topRow: {
+ marginTop: Platform.OS === 'ios' ? 50 : 20,
+ flexDirection: 'row',
+ justifyContent: 'space-between',
+ paddingHorizontal: 16,
+ },
+ centerControls: {
+ alignSelf: 'center',
+ },
+ bottomRow: {
+ flexDirection: 'row',
+ justifyContent: 'flex-end',
+ padding: 16,
+ },
+ controlButton: {
+ backgroundColor: 'rgba(255,255,255,0.2)',
+ paddingHorizontal: 12,
+ paddingVertical: 8,
+ borderRadius: 6,
+ },
+ controlText: {
+ color: 'white',
+ fontSize: 16,
+ fontWeight: '600',
+ },
+ playButton: {
+ backgroundColor: 'rgba(255,255,255,0.2)',
+ padding: 20,
+ borderRadius: 50,
+ },
+ playText: {
+ fontSize: 24,
+ },
+});
\ No newline at end of file
diff --git a/example/VideoLayerDemo.tsx b/example/VideoLayerDemo.tsx
new file mode 100644
index 0000000..46802c0
--- /dev/null
+++ b/example/VideoLayerDemo.tsx
@@ -0,0 +1,132 @@
+import React, { useEffect } from 'react';
+import { StyleSheet, View, Text, Alert, SafeAreaView } from 'react-native';
+import { CLDVideoLayer, ButtonPosition, TimePosition } from '../src/widgets/video/layer';
+import { VideoPlayerFactory } from '../src/adapters';
+import { Cloudinary } from '@cloudinary/url-gen';
+
+const cld = new Cloudinary({
+ cloud: {
+ cloudName: 'mobiledemoapp'
+ },
+ url: {
+ secure: true
+ }
+});
+
+interface VideoLayerDemoProps {
+ onBack?: () => void;
+}
+
+export default function VideoLayerDemo({ onBack }: VideoLayerDemoProps) {
+ useEffect(() => {
+ const currentAdapter = VideoPlayerFactory.getAvailableAdapter();
+ }, []);
+
+ function createMyVideoObject() {
+ const myVideo = cld.video('y1phaeze5h2l7zwu9zmq')
+ return myVideo
+ }
+
+ const handleShare = () => {
+ Alert.alert('Share', 'Video sharing feature!');
+ };
+
+ return (
+
+ {
+ // // Custom logic when entering full screen
+ // console.log('Entering full screen');
+ // // Example: Lock orientation using expo-screen-orientation
+ // // ScreenOrientation.lockAsync(ScreenOrientation.OrientationLock.LANDSCAPE);
+ // },
+ // onExitFullScreen: () => {
+ // // Custom logic when exiting full screen
+ // console.log('Exiting full screen');
+ // // Example: Unlock orientation
+ // // ScreenOrientation.unlockAsync();
+ // },
+ // }}
+ // customButtons={[
+ // // Demo: Multiple buttons in SE position - they will auto-stack vertically
+ // // All SE buttons are automatically aligned with the volume button's right edge
+ // {
+ // icon: 'bookmark-outline',
+ // position: ButtonPosition.SE,
+ // color: '#FF6B6B',
+ // size: 24,
+ // onPress: () => Alert.alert('Bookmark', 'Video bookmarked!'),
+ // },
+ // {
+ // icon: 'heart-outline',
+ // position: ButtonPosition.SE,
+ // color: '#FF1493',
+ // size: 24,
+ // onPress: () => Alert.alert('Like', 'Video liked!'),
+ // },
+ // // Demo: Button in different position
+ // {
+ // icon: 'information-circle-outline',
+ // position: ButtonPosition.NE, // This will stack with share button
+ // color: '#00BFFF',
+ // size: 24,
+ // onPress: () => Alert.alert('Info', 'Video information!'),
+ // },
+ // ]}
+ // Other positioning options:
+ // ButtonPosition.N - Top center
+ // ButtonPosition.SE - Bottom right (above bottom controls)
+ />
+
+ );
+}
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ backgroundColor: '#000',
+ },
+});
diff --git a/example/app.json b/example/app.json
index 05e5eb2..2a43269 100644
--- a/example/app.json
+++ b/example/app.json
@@ -1,9 +1,9 @@
{
"expo": {
- "name": "example",
+ "name": "Cloudinary React Native SDK",
"slug": "example",
"version": "1.0.0",
- "orientation": "portrait",
+ "orientation": "default",
"icon": "./assets/icon.png",
"userInterfaceStyle": "light",
"splash": {
@@ -14,6 +14,14 @@
"assetBundlePatterns": [
"**/*"
],
+ "plugins": [
+ [
+ "expo-font",
+ {
+ "fonts": ["./node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/Ionicons.ttf"]
+ }
+ ]
+ ],
"ios": {
"supportsTablet": true
},
diff --git a/example/assets/adaptive-icon.png b/example/assets/adaptive-icon.png
index 03d6f6b..7d3cc96 100644
Binary files a/example/assets/adaptive-icon.png and b/example/assets/adaptive-icon.png differ
diff --git a/example/assets/favicon.png b/example/assets/favicon.png
index e75f697..7d3cc96 100644
Binary files a/example/assets/favicon.png and b/example/assets/favicon.png differ
diff --git a/example/assets/icon.png b/example/assets/icon.png
index a0b1526..7d3cc96 100644
Binary files a/example/assets/icon.png and b/example/assets/icon.png differ
diff --git a/example/babel.config.js b/example/babel.config.js
index 2900afe..928f695 100644
--- a/example/babel.config.js
+++ b/example/babel.config.js
@@ -2,5 +2,10 @@ module.exports = function(api) {
api.cache(true);
return {
presets: ['babel-preset-expo'],
+ plugins: [
+ ['@babel/plugin-transform-class-properties', { loose: true }],
+ ['@babel/plugin-transform-private-methods', { loose: true }],
+ ['@babel/plugin-transform-private-property-in-object', { loose: true }],
+ ],
};
};
diff --git a/example/package-lock.json b/example/package-lock.json
index 9bf8eda..7f63813 100644
--- a/example/package-lock.json
+++ b/example/package-lock.json
@@ -8,18 +8,22 @@
"name": "example",
"version": "1.0.0",
"dependencies": {
- "@cloudinary/url-gen": "^1.21.0",
+ "@cloudinary/url-gen": "^1.22.0",
"@expo/config": "^11.0.0",
"@expo/metro-config": "~0.20.0",
+ "@expo/vector-icons": "^14.0.2",
"cloudinary-react-native": "../",
"expo": "~53.0.0",
"expo-av": "~15.1.7",
"expo-crypto": "~14.1.5",
+ "expo-font": "~12.0.10",
+ "expo-screen-orientation": "^8.1.7",
"expo-status-bar": "~2.2.3",
"expo-video": "^2.0.0",
"isomorphic-fetch": "^3.0.0",
"react": "19.0.0",
"react-native": "0.79.5",
+ "react-native-svg": "15.11.2",
"util": "^0.10.4"
},
"devDependencies": {
@@ -29,10 +33,10 @@
}
},
"..": {
- "version": "1.2.0",
+ "version": "1.2.1",
"license": "MIT",
"dependencies": {
- "@cloudinary/url-gen": "^1.10.0",
+ "@cloudinary/url-gen": "^1.22.0",
"expo-constants": "^17.0.0",
"expo-crypto": "^14.1.5",
"isomorphic-fetch": "^3.0.0",
@@ -70,6 +74,7 @@
"node": ">= 18.0.0"
},
"peerDependencies": {
+ "@expo/vector-icons": "^14.0.0",
"expo": "^50.0.0 || ^51.0.0 || ^52.0.0 || ^53.0.0",
"expo-av": "^14.0.0 || ^15.0.0",
"expo-constants": "^16.0.0 || ^17.0.0",
@@ -79,18 +84,18751 @@
"react-native": ">=0.79.0"
},
"peerDependenciesMeta": {
+ "@expo/vector-icons": {
+ "optional": true
+ },
"expo-av": {
"optional": true
},
+ "expo-font": {
+ "optional": true
+ },
"expo-video": {
"optional": true
}
}
},
+ "../node_modules/@0no-co/graphql.web": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "peer": true,
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ },
+ "peerDependenciesMeta": {
+ "graphql": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/@ampproject/remapping": {
+ "version": "2.3.0",
+ "license": "Apache-2.0",
+ "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",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.27.1",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/compat-data": {
+ "version": "7.28.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/core": {
+ "version": "7.28.3",
+ "license": "MIT",
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.27.1",
+ "@babel/generator": "^7.28.3",
+ "@babel/helper-compilation-targets": "^7.27.2",
+ "@babel/helper-module-transforms": "^7.28.3",
+ "@babel/helpers": "^7.28.3",
+ "@babel/parser": "^7.28.3",
+ "@babel/template": "^7.27.2",
+ "@babel/traverse": "^7.28.3",
+ "@babel/types": "^7.28.2",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "../node_modules/@babel/eslint-parser": {
+ "version": "7.28.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1",
+ "eslint-visitor-keys": "^2.1.0",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || >=14.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.11.0",
+ "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0"
+ }
+ },
+ "../node_modules/@babel/generator": {
+ "version": "7.28.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.28.3",
+ "@babel/types": "^7.28.2",
+ "@jridgewell/gen-mapping": "^0.3.12",
+ "@jridgewell/trace-mapping": "^0.3.28",
+ "jsesc": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/helper-annotate-as-pure": {
+ "version": "7.27.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.27.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/helper-compilation-targets": {
+ "version": "7.27.2",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.27.2",
+ "@babel/helper-validator-option": "^7.27.1",
+ "browserslist": "^4.24.0",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/helper-create-class-features-plugin": {
+ "version": "7.28.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.27.3",
+ "@babel/helper-member-expression-to-functions": "^7.27.1",
+ "@babel/helper-optimise-call-expression": "^7.27.1",
+ "@babel/helper-replace-supers": "^7.27.1",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
+ "@babel/traverse": "^7.28.3",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "../node_modules/@babel/helper-create-regexp-features-plugin": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.27.1",
+ "regexpu-core": "^6.2.0",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "../node_modules/@babel/helper-define-polyfill-provider": {
+ "version": "0.6.5",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-compilation-targets": "^7.27.2",
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "debug": "^4.4.1",
+ "lodash.debounce": "^4.0.8",
+ "resolve": "^1.22.10"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+ }
+ },
+ "../node_modules/@babel/helper-environment-visitor": {
+ "version": "7.24.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/helper-globals": {
+ "version": "7.28.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/helper-member-expression-to-functions": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/traverse": "^7.27.1",
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/helper-module-imports": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/traverse": "^7.27.1",
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/helper-module-transforms": {
+ "version": "7.28.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.27.1",
+ "@babel/traverse": "^7.28.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "../node_modules/@babel/helper-optimise-call-expression": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/helper-plugin-utils": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/helper-remap-async-to-generator": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.27.1",
+ "@babel/helper-wrap-function": "^7.27.1",
+ "@babel/traverse": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "../node_modules/@babel/helper-replace-supers": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-member-expression-to-functions": "^7.27.1",
+ "@babel/helper-optimise-call-expression": "^7.27.1",
+ "@babel/traverse": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "../node_modules/@babel/helper-skip-transparent-expression-wrappers": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/traverse": "^7.27.1",
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/helper-string-parser": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/helper-validator-identifier": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/helper-validator-option": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/helper-wrap-function": {
+ "version": "7.28.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.27.2",
+ "@babel/traverse": "^7.28.3",
+ "@babel/types": "^7.28.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/helpers": {
+ "version": "7.28.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.28.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/highlight": {
+ "version": "7.25.9",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.25.9",
+ "chalk": "^2.4.2",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/highlight/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/@babel/highlight/node_modules/chalk": {
+ "version": "2.4.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/@babel/highlight/node_modules/color-convert": {
+ "version": "1.9.3",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "../node_modules/@babel/highlight/node_modules/color-name": {
+ "version": "1.1.3",
+ "license": "MIT"
+ },
+ "../node_modules/@babel/highlight/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "../node_modules/@babel/highlight/node_modules/has-flag": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/@babel/highlight/node_modules/supports-color": {
+ "version": "5.5.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/@babel/parser": {
+ "version": "7.28.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.28.2"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "../node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/traverse": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "../node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "../node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "../node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
+ "@babel/plugin-transform-optional-chaining": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.13.0"
+ }
+ },
+ "../node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
+ "version": "7.28.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/traverse": "^7.28.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "../node_modules/@babel/plugin-proposal-async-generator-functions": {
+ "version": "7.20.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/helper-remap-async-to-generator": "^7.18.9",
+ "@babel/plugin-syntax-async-generators": "^7.8.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-proposal-class-properties": {
+ "version": "7.18.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-proposal-decorators": {
+ "version": "7.28.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/plugin-syntax-decorators": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-proposal-export-default-from": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
+ "version": "7.18.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-proposal-numeric-separator": {
+ "version": "7.18.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-proposal-object-rest-spread": {
+ "version": "7.20.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.20.5",
+ "@babel/helper-compilation-targets": "^7.20.7",
+ "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-transform-parameters": "^7.20.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-proposal-optional-catch-binding": {
+ "version": "7.18.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-proposal-optional-chaining": {
+ "version": "7.21.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-proposal-private-methods": {
+ "version": "7.18.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-proposal-private-property-in-object": {
+ "version": "7.21.0-placeholder-for-preset-env.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-async-generators": {
+ "version": "7.8.4",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-bigint": {
+ "version": "7.8.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-class-properties": {
+ "version": "7.12.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-class-static-block": {
+ "version": "7.14.5",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-decorators": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "peer": 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-syntax-dynamic-import": {
+ "version": "7.8.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-export-default-from": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-flow": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-import-assertions": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-import-attributes": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-import-meta": {
+ "version": "7.10.4",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-json-strings": {
+ "version": "7.8.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-jsx": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.10.4",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-numeric-separator": {
+ "version": "7.10.4",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.8.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-private-property-in-object": {
+ "version": "7.14.5",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-top-level-await": {
+ "version": "7.14.5",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-typescript": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-syntax-unicode-sets-regex": {
+ "version": "7.18.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-arrow-functions": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-async-generator-functions": {
+ "version": "7.28.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-remap-async-to-generator": "^7.27.1",
+ "@babel/traverse": "^7.28.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-async-to-generator": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-remap-async-to-generator": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-block-scoped-functions": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-block-scoping": {
+ "version": "7.28.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-class-properties": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-class-static-block": {
+ "version": "7.28.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.28.3",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.12.0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-classes": {
+ "version": "7.28.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.27.3",
+ "@babel/helper-compilation-targets": "^7.27.2",
+ "@babel/helper-globals": "^7.28.0",
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-replace-supers": "^7.27.1",
+ "@babel/traverse": "^7.28.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-computed-properties": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/template": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-destructuring": {
+ "version": "7.28.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/traverse": "^7.28.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-dotall-regex": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-duplicate-keys": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-dynamic-import": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-explicit-resource-management": {
+ "version": "7.28.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/plugin-transform-destructuring": "^7.28.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-exponentiation-operator": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-export-namespace-from": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-flow-strip-types": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/plugin-syntax-flow": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-for-of": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-function-name": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-compilation-targets": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/traverse": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-json-strings": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-literals": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-logical-assignment-operators": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-member-expression-literals": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-modules-amd": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-transforms": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-modules-commonjs": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-transforms": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-modules-systemjs": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-transforms": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.27.1",
+ "@babel/traverse": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-modules-umd": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-transforms": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-new-target": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-numeric-separator": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-object-rest-spread": {
+ "version": "7.28.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-compilation-targets": "^7.27.2",
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/plugin-transform-destructuring": "^7.28.0",
+ "@babel/plugin-transform-parameters": "^7.27.7",
+ "@babel/traverse": "^7.28.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-object-super": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-replace-supers": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-optional-catch-binding": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-optional-chaining": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-parameters": {
+ "version": "7.27.7",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-private-methods": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-private-property-in-object": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.27.1",
+ "@babel/helper-create-class-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-property-literals": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-react-display-name": {
+ "version": "7.28.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-react-jsx": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.27.1",
+ "@babel/helper-module-imports": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/plugin-syntax-jsx": "^7.27.1",
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-react-jsx-development": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/plugin-transform-react-jsx": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-react-jsx-self": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-react-jsx-source": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-react-pure-annotations": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-regenerator": {
+ "version": "7.28.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-regexp-modifiers": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-reserved-words": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-runtime": {
+ "version": "7.28.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "babel-plugin-polyfill-corejs2": "^0.4.14",
+ "babel-plugin-polyfill-corejs3": "^0.13.0",
+ "babel-plugin-polyfill-regenerator": "^0.6.5",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-shorthand-properties": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-spread": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-sticky-regex": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-template-literals": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-typeof-symbol": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-typescript": {
+ "version": "7.28.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.27.3",
+ "@babel/helper-create-class-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
+ "@babel/plugin-syntax-typescript": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-unicode-escapes": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-unicode-property-regex": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-unicode-regex": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/plugin-transform-unicode-sets-regex": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "../node_modules/@babel/preset-env": {
+ "version": "7.28.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.28.0",
+ "@babel/helper-compilation-targets": "^7.27.2",
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-validator-option": "^7.27.1",
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1",
+ "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1",
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1",
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3",
+ "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
+ "@babel/plugin-syntax-import-assertions": "^7.27.1",
+ "@babel/plugin-syntax-import-attributes": "^7.27.1",
+ "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
+ "@babel/plugin-transform-arrow-functions": "^7.27.1",
+ "@babel/plugin-transform-async-generator-functions": "^7.28.0",
+ "@babel/plugin-transform-async-to-generator": "^7.27.1",
+ "@babel/plugin-transform-block-scoped-functions": "^7.27.1",
+ "@babel/plugin-transform-block-scoping": "^7.28.0",
+ "@babel/plugin-transform-class-properties": "^7.27.1",
+ "@babel/plugin-transform-class-static-block": "^7.28.3",
+ "@babel/plugin-transform-classes": "^7.28.3",
+ "@babel/plugin-transform-computed-properties": "^7.27.1",
+ "@babel/plugin-transform-destructuring": "^7.28.0",
+ "@babel/plugin-transform-dotall-regex": "^7.27.1",
+ "@babel/plugin-transform-duplicate-keys": "^7.27.1",
+ "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1",
+ "@babel/plugin-transform-dynamic-import": "^7.27.1",
+ "@babel/plugin-transform-explicit-resource-management": "^7.28.0",
+ "@babel/plugin-transform-exponentiation-operator": "^7.27.1",
+ "@babel/plugin-transform-export-namespace-from": "^7.27.1",
+ "@babel/plugin-transform-for-of": "^7.27.1",
+ "@babel/plugin-transform-function-name": "^7.27.1",
+ "@babel/plugin-transform-json-strings": "^7.27.1",
+ "@babel/plugin-transform-literals": "^7.27.1",
+ "@babel/plugin-transform-logical-assignment-operators": "^7.27.1",
+ "@babel/plugin-transform-member-expression-literals": "^7.27.1",
+ "@babel/plugin-transform-modules-amd": "^7.27.1",
+ "@babel/plugin-transform-modules-commonjs": "^7.27.1",
+ "@babel/plugin-transform-modules-systemjs": "^7.27.1",
+ "@babel/plugin-transform-modules-umd": "^7.27.1",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1",
+ "@babel/plugin-transform-new-target": "^7.27.1",
+ "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1",
+ "@babel/plugin-transform-numeric-separator": "^7.27.1",
+ "@babel/plugin-transform-object-rest-spread": "^7.28.0",
+ "@babel/plugin-transform-object-super": "^7.27.1",
+ "@babel/plugin-transform-optional-catch-binding": "^7.27.1",
+ "@babel/plugin-transform-optional-chaining": "^7.27.1",
+ "@babel/plugin-transform-parameters": "^7.27.7",
+ "@babel/plugin-transform-private-methods": "^7.27.1",
+ "@babel/plugin-transform-private-property-in-object": "^7.27.1",
+ "@babel/plugin-transform-property-literals": "^7.27.1",
+ "@babel/plugin-transform-regenerator": "^7.28.3",
+ "@babel/plugin-transform-regexp-modifiers": "^7.27.1",
+ "@babel/plugin-transform-reserved-words": "^7.27.1",
+ "@babel/plugin-transform-shorthand-properties": "^7.27.1",
+ "@babel/plugin-transform-spread": "^7.27.1",
+ "@babel/plugin-transform-sticky-regex": "^7.27.1",
+ "@babel/plugin-transform-template-literals": "^7.27.1",
+ "@babel/plugin-transform-typeof-symbol": "^7.27.1",
+ "@babel/plugin-transform-unicode-escapes": "^7.27.1",
+ "@babel/plugin-transform-unicode-property-regex": "^7.27.1",
+ "@babel/plugin-transform-unicode-regex": "^7.27.1",
+ "@babel/plugin-transform-unicode-sets-regex": "^7.27.1",
+ "@babel/preset-modules": "0.1.6-no-external-plugins",
+ "babel-plugin-polyfill-corejs2": "^0.4.14",
+ "babel-plugin-polyfill-corejs3": "^0.13.0",
+ "babel-plugin-polyfill-regenerator": "^0.6.5",
+ "core-js-compat": "^3.43.0",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/preset-flow": {
+ "version": "7.27.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-validator-option": "^7.27.1",
+ "@babel/plugin-transform-flow-strip-types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/preset-modules": {
+ "version": "0.1.6-no-external-plugins",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/types": "^7.4.4",
+ "esutils": "^2.0.2"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0"
+ }
+ },
+ "../node_modules/@babel/preset-react": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-validator-option": "^7.27.1",
+ "@babel/plugin-transform-react-display-name": "^7.27.1",
+ "@babel/plugin-transform-react-jsx": "^7.27.1",
+ "@babel/plugin-transform-react-jsx-development": "^7.27.1",
+ "@babel/plugin-transform-react-pure-annotations": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/preset-typescript": {
+ "version": "7.27.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-validator-option": "^7.27.1",
+ "@babel/plugin-syntax-jsx": "^7.27.1",
+ "@babel/plugin-transform-modules-commonjs": "^7.27.1",
+ "@babel/plugin-transform-typescript": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "../node_modules/@babel/runtime": {
+ "version": "7.28.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/template": {
+ "version": "7.27.2",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.27.1",
+ "@babel/parser": "^7.27.2",
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/traverse": {
+ "version": "7.28.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.27.1",
+ "@babel/generator": "^7.28.3",
+ "@babel/helper-globals": "^7.28.0",
+ "@babel/parser": "^7.28.3",
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.28.2",
+ "debug": "^4.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/traverse--for-generate-function-map": {
+ "name": "@babel/traverse",
+ "version": "7.28.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.27.1",
+ "@babel/generator": "^7.28.3",
+ "@babel/helper-globals": "^7.28.0",
+ "@babel/parser": "^7.28.3",
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.28.2",
+ "debug": "^4.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@babel/types": {
+ "version": "7.28.2",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@bcoe/v8-coverage": {
+ "version": "0.2.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@cloudinary/transformation-builder-sdk": {
+ "version": "1.21.2",
+ "license": "MIT",
+ "dependencies": {
+ "@cloudinary/url-gen": "^1.7.0"
+ }
+ },
+ "../node_modules/@cloudinary/url-gen": {
+ "version": "1.21.0",
+ "license": "MIT",
+ "dependencies": {
+ "@cloudinary/transformation-builder-sdk": "^1.15.1"
+ }
+ },
+ "../node_modules/@eslint-community/eslint-utils": {
+ "version": "4.7.0",
+ "dev": true,
+ "license": "MIT",
+ "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",
+ "dev": true,
+ "license": "Apache-2.0",
+ "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",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
+ "../node_modules/@eslint/eslintrc": {
+ "version": "2.1.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.6.0",
+ "globals": "^13.19.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "../node_modules/@eslint/eslintrc/node_modules/argparse": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "Python-2.0"
+ },
+ "../node_modules/@eslint/eslintrc/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "../node_modules/@eslint/js": {
+ "version": "8.57.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "../node_modules/@expo/cli": {
+ "version": "0.24.20",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@0no-co/graphql.web": "^1.0.8",
+ "@babel/runtime": "^7.20.0",
+ "@expo/code-signing-certificates": "^0.0.5",
+ "@expo/config": "~11.0.13",
+ "@expo/config-plugins": "~10.1.2",
+ "@expo/devcert": "^1.1.2",
+ "@expo/env": "~1.0.7",
+ "@expo/image-utils": "^0.7.6",
+ "@expo/json-file": "^9.1.5",
+ "@expo/metro-config": "~0.20.17",
+ "@expo/osascript": "^2.2.5",
+ "@expo/package-manager": "^1.8.6",
+ "@expo/plist": "^0.3.5",
+ "@expo/prebuild-config": "^9.0.11",
+ "@expo/spawn-async": "^1.7.2",
+ "@expo/ws-tunnel": "^1.0.1",
+ "@expo/xcpretty": "^4.3.0",
+ "@react-native/dev-middleware": "0.79.5",
+ "@urql/core": "^5.0.6",
+ "@urql/exchange-retry": "^1.3.0",
+ "accepts": "^1.3.8",
+ "arg": "^5.0.2",
+ "better-opn": "~3.0.2",
+ "bplist-creator": "0.1.0",
+ "bplist-parser": "^0.3.1",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.3.0",
+ "compression": "^1.7.4",
+ "connect": "^3.7.0",
+ "debug": "^4.3.4",
+ "env-editor": "^0.4.1",
+ "freeport-async": "^2.0.0",
+ "getenv": "^2.0.0",
+ "glob": "^10.4.2",
+ "lan-network": "^0.1.6",
+ "minimatch": "^9.0.0",
+ "node-forge": "^1.3.1",
+ "npm-package-arg": "^11.0.0",
+ "ora": "^3.4.0",
+ "picomatch": "^3.0.1",
+ "pretty-bytes": "^5.6.0",
+ "pretty-format": "^29.7.0",
+ "progress": "^2.0.3",
+ "prompts": "^2.3.2",
+ "qrcode-terminal": "0.11.0",
+ "require-from-string": "^2.0.2",
+ "requireg": "^0.2.2",
+ "resolve": "^1.22.2",
+ "resolve-from": "^5.0.0",
+ "resolve.exports": "^2.0.3",
+ "semver": "^7.6.0",
+ "send": "^0.19.0",
+ "slugify": "^1.3.4",
+ "source-map-support": "~0.5.21",
+ "stacktrace-parser": "^0.1.10",
+ "structured-headers": "^0.4.1",
+ "tar": "^7.4.3",
+ "terminal-link": "^2.1.1",
+ "undici": "^6.18.2",
+ "wrap-ansi": "^7.0.0",
+ "ws": "^8.12.1"
+ },
+ "bin": {
+ "expo-internal": "build/bin/cli"
+ }
+ },
+ "../node_modules/@expo/cli/node_modules/brace-expansion": {
+ "version": "2.0.2",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "../node_modules/@expo/cli/node_modules/minimatch": {
+ "version": "9.0.5",
+ "license": "ISC",
+ "peer": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "../node_modules/@expo/cli/node_modules/semver": {
+ "version": "7.7.2",
+ "license": "ISC",
+ "peer": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/@expo/code-signing-certificates": {
+ "version": "0.0.5",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "node-forge": "^1.2.1",
+ "nullthrows": "^1.1.1"
+ }
+ },
+ "../node_modules/@expo/config": {
+ "version": "11.0.13",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "~7.10.4",
+ "@expo/config-plugins": "~10.1.2",
+ "@expo/config-types": "^53.0.5",
+ "@expo/json-file": "^9.1.5",
+ "deepmerge": "^4.3.1",
+ "getenv": "^2.0.0",
+ "glob": "^10.4.2",
+ "require-from-string": "^2.0.2",
+ "resolve-from": "^5.0.0",
+ "resolve-workspace-root": "^2.0.0",
+ "semver": "^7.6.0",
+ "slugify": "^1.3.4",
+ "sucrase": "3.35.0"
+ }
+ },
+ "../node_modules/@expo/config-plugins": {
+ "version": "10.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "@expo/config-types": "^53.0.5",
+ "@expo/json-file": "~9.1.5",
+ "@expo/plist": "^0.3.5",
+ "@expo/sdk-runtime-versions": "^1.0.0",
+ "chalk": "^4.1.2",
+ "debug": "^4.3.5",
+ "getenv": "^2.0.0",
+ "glob": "^10.4.2",
+ "resolve-from": "^5.0.0",
+ "semver": "^7.5.4",
+ "slash": "^3.0.0",
+ "slugify": "^1.6.6",
+ "xcode": "^3.0.1",
+ "xml2js": "0.6.0"
+ }
+ },
+ "../node_modules/@expo/config-plugins/node_modules/semver": {
+ "version": "7.7.2",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/@expo/config-types": {
+ "version": "53.0.5",
+ "license": "MIT"
+ },
+ "../node_modules/@expo/config/node_modules/@babel/code-frame": {
+ "version": "7.10.4",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/highlight": "^7.10.4"
+ }
+ },
+ "../node_modules/@expo/config/node_modules/semver": {
+ "version": "7.7.2",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/@expo/devcert": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@expo/sudo-prompt": "^9.3.1",
+ "debug": "^3.1.0",
+ "glob": "^10.4.2"
+ }
+ },
+ "../node_modules/@expo/devcert/node_modules/debug": {
+ "version": "3.2.7",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "../node_modules/@expo/env": {
+ "version": "1.0.7",
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "debug": "^4.3.4",
+ "dotenv": "~16.4.5",
+ "dotenv-expand": "~11.0.6",
+ "getenv": "^2.0.0"
+ }
+ },
+ "../node_modules/@expo/fingerprint": {
+ "version": "0.13.4",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@expo/spawn-async": "^1.7.2",
+ "arg": "^5.0.2",
+ "chalk": "^4.1.2",
+ "debug": "^4.3.4",
+ "find-up": "^5.0.0",
+ "getenv": "^2.0.0",
+ "glob": "^10.4.2",
+ "ignore": "^5.3.1",
+ "minimatch": "^9.0.0",
+ "p-limit": "^3.1.0",
+ "resolve-from": "^5.0.0",
+ "semver": "^7.6.0"
+ },
+ "bin": {
+ "fingerprint": "bin/cli.js"
+ }
+ },
+ "../node_modules/@expo/fingerprint/node_modules/brace-expansion": {
+ "version": "2.0.2",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "../node_modules/@expo/fingerprint/node_modules/find-up": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/@expo/fingerprint/node_modules/locate-path": {
+ "version": "6.0.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/@expo/fingerprint/node_modules/minimatch": {
+ "version": "9.0.5",
+ "license": "ISC",
+ "peer": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "../node_modules/@expo/fingerprint/node_modules/p-locate": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/@expo/fingerprint/node_modules/semver": {
+ "version": "7.7.2",
+ "license": "ISC",
+ "peer": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/@expo/image-utils": {
+ "version": "0.7.6",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@expo/spawn-async": "^1.7.2",
+ "chalk": "^4.0.0",
+ "getenv": "^2.0.0",
+ "jimp-compact": "0.16.1",
+ "parse-png": "^2.1.0",
+ "resolve-from": "^5.0.0",
+ "semver": "^7.6.0",
+ "temp-dir": "~2.0.0",
+ "unique-string": "~2.0.0"
+ }
+ },
+ "../node_modules/@expo/image-utils/node_modules/semver": {
+ "version": "7.7.2",
+ "license": "ISC",
+ "peer": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/@expo/json-file": {
+ "version": "9.1.5",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "~7.10.4",
+ "json5": "^2.2.3"
+ }
+ },
+ "../node_modules/@expo/json-file/node_modules/@babel/code-frame": {
+ "version": "7.10.4",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/highlight": "^7.10.4"
+ }
+ },
+ "../node_modules/@expo/metro-config": {
+ "version": "0.20.17",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/core": "^7.20.0",
+ "@babel/generator": "^7.20.5",
+ "@babel/parser": "^7.20.0",
+ "@babel/types": "^7.20.0",
+ "@expo/config": "~11.0.12",
+ "@expo/env": "~1.0.7",
+ "@expo/json-file": "~9.1.5",
+ "@expo/spawn-async": "^1.7.2",
+ "chalk": "^4.1.0",
+ "debug": "^4.3.2",
+ "dotenv": "~16.4.5",
+ "dotenv-expand": "~11.0.6",
+ "getenv": "^2.0.0",
+ "glob": "^10.4.2",
+ "jsc-safe-url": "^0.2.4",
+ "lightningcss": "~1.27.0",
+ "minimatch": "^9.0.0",
+ "postcss": "~8.4.32",
+ "resolve-from": "^5.0.0"
+ }
+ },
+ "../node_modules/@expo/metro-config/node_modules/brace-expansion": {
+ "version": "2.0.2",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "../node_modules/@expo/metro-config/node_modules/minimatch": {
+ "version": "9.0.5",
+ "license": "ISC",
+ "peer": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "../node_modules/@expo/osascript": {
+ "version": "2.2.5",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@expo/spawn-async": "^1.7.2",
+ "exec-async": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "../node_modules/@expo/package-manager": {
+ "version": "1.8.6",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@expo/json-file": "^9.1.5",
+ "@expo/spawn-async": "^1.7.2",
+ "chalk": "^4.0.0",
+ "npm-package-arg": "^11.0.0",
+ "ora": "^3.4.0",
+ "resolve-workspace-root": "^2.0.0"
+ }
+ },
+ "../node_modules/@expo/plist": {
+ "version": "0.3.5",
+ "license": "MIT",
+ "dependencies": {
+ "@xmldom/xmldom": "^0.8.8",
+ "base64-js": "^1.2.3",
+ "xmlbuilder": "^15.1.1"
+ }
+ },
+ "../node_modules/@expo/prebuild-config": {
+ "version": "9.0.11",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@expo/config": "~11.0.13",
+ "@expo/config-plugins": "~10.1.2",
+ "@expo/config-types": "^53.0.5",
+ "@expo/image-utils": "^0.7.6",
+ "@expo/json-file": "^9.1.5",
+ "@react-native/normalize-colors": "0.79.5",
+ "debug": "^4.3.1",
+ "resolve-from": "^5.0.0",
+ "semver": "^7.6.0",
+ "xml2js": "0.6.0"
+ }
+ },
+ "../node_modules/@expo/prebuild-config/node_modules/semver": {
+ "version": "7.7.2",
+ "license": "ISC",
+ "peer": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/@expo/sdk-runtime-versions": {
+ "version": "1.0.0",
+ "license": "MIT"
+ },
+ "../node_modules/@expo/spawn-async": {
+ "version": "1.7.2",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "cross-spawn": "^7.0.3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "../node_modules/@expo/sudo-prompt": {
+ "version": "9.3.2",
+ "license": "MIT",
+ "peer": true
+ },
+ "../node_modules/@expo/vector-icons": {
+ "version": "14.1.0",
+ "license": "MIT",
+ "peer": true,
+ "peerDependencies": {
+ "expo-font": "*",
+ "react": "*",
+ "react-native": "*"
+ }
+ },
+ "../node_modules/@expo/ws-tunnel": {
+ "version": "1.0.6",
+ "license": "MIT",
+ "peer": true
+ },
+ "../node_modules/@expo/xcpretty": {
+ "version": "4.3.2",
+ "license": "BSD-3-Clause",
+ "peer": true,
+ "dependencies": {
+ "@babel/code-frame": "7.10.4",
+ "chalk": "^4.1.0",
+ "find-up": "^5.0.0",
+ "js-yaml": "^4.1.0"
+ },
+ "bin": {
+ "excpretty": "build/cli.js"
+ }
+ },
+ "../node_modules/@expo/xcpretty/node_modules/@babel/code-frame": {
+ "version": "7.10.4",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/highlight": "^7.10.4"
+ }
+ },
+ "../node_modules/@expo/xcpretty/node_modules/argparse": {
+ "version": "2.0.1",
+ "license": "Python-2.0",
+ "peer": true
+ },
+ "../node_modules/@expo/xcpretty/node_modules/find-up": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/@expo/xcpretty/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "../node_modules/@expo/xcpretty/node_modules/locate-path": {
+ "version": "6.0.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/@expo/xcpretty/node_modules/p-locate": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/@humanwhocodes/config-array": {
+ "version": "0.13.0",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@humanwhocodes/object-schema": "^2.0.3",
+ "debug": "^4.3.1",
+ "minimatch": "^3.0.5"
+ },
+ "engines": {
+ "node": ">=10.10.0"
+ }
+ },
+ "../node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "../node_modules/@humanwhocodes/object-schema": {
+ "version": "2.0.3",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "../node_modules/@hutson/parse-repository-url": {
+ "version": "3.0.2",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/@iarna/toml": {
+ "version": "2.2.5",
+ "dev": true,
+ "license": "ISC"
+ },
+ "../node_modules/@isaacs/cliui": {
+ "version": "8.0.2",
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^5.1.2",
+ "string-width-cjs": "npm:string-width@^4.2.0",
+ "strip-ansi": "^7.0.1",
+ "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+ "wrap-ansi": "^8.1.0",
+ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "../node_modules/@isaacs/cliui/node_modules/ansi-regex": {
+ "version": "6.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "../node_modules/@isaacs/cliui/node_modules/ansi-styles": {
+ "version": "6.2.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "../node_modules/@isaacs/cliui/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "../node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
+ "version": "8.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "../node_modules/@isaacs/fs-minipass": {
+ "version": "4.0.1",
+ "license": "ISC",
+ "peer": true,
+ "dependencies": {
+ "minipass": "^7.0.4"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "../node_modules/@isaacs/ttlcache": {
+ "version": "1.4.1",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "../node_modules/@istanbuljs/load-nyc-config": {
+ "version": "1.1.0",
+ "license": "ISC",
+ "dependencies": {
+ "camelcase": "^5.3.1",
+ "find-up": "^4.1.0",
+ "get-package-type": "^0.1.0",
+ "js-yaml": "^3.13.1",
+ "resolve-from": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/@istanbuljs/schema": {
+ "version": "0.1.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/@jest/console": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "jest-message-util": "^28.1.3",
+ "jest-util": "^28.1.3",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/console/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/console/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/console/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@jest/console/node_modules/jest-util": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/console/node_modules/picomatch": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "../node_modules/@jest/core": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/console": "^28.1.3",
+ "@jest/reporters": "^28.1.3",
+ "@jest/test-result": "^28.1.3",
+ "@jest/transform": "^28.1.3",
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.9",
+ "jest-changed-files": "^28.1.3",
+ "jest-config": "^28.1.3",
+ "jest-haste-map": "^28.1.3",
+ "jest-message-util": "^28.1.3",
+ "jest-regex-util": "^28.0.2",
+ "jest-resolve": "^28.1.3",
+ "jest-resolve-dependencies": "^28.1.3",
+ "jest-runner": "^28.1.3",
+ "jest-runtime": "^28.1.3",
+ "jest-snapshot": "^28.1.3",
+ "jest-util": "^28.1.3",
+ "jest-validate": "^28.1.3",
+ "jest-watcher": "^28.1.3",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^28.1.3",
+ "rimraf": "^3.0.0",
+ "slash": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/@jest/core/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/core/node_modules/@jest/transform": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.11.6",
+ "@jest/types": "^28.1.3",
+ "@jridgewell/trace-mapping": "^0.3.13",
+ "babel-plugin-istanbul": "^6.1.1",
+ "chalk": "^4.0.0",
+ "convert-source-map": "^1.4.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^28.1.3",
+ "jest-regex-util": "^28.0.2",
+ "jest-util": "^28.1.3",
+ "micromatch": "^4.0.4",
+ "pirates": "^4.0.4",
+ "slash": "^3.0.0",
+ "write-file-atomic": "^4.0.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/core/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/core/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@jest/core/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "../node_modules/@jest/core/node_modules/convert-source-map": {
+ "version": "1.9.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@jest/core/node_modules/jest-haste-map": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/graceful-fs": "^4.1.3",
+ "@types/node": "*",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-regex-util": "^28.0.2",
+ "jest-util": "^28.1.3",
+ "jest-worker": "^28.1.3",
+ "micromatch": "^4.0.4",
+ "walker": "^1.0.8"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.3.2"
+ }
+ },
+ "../node_modules/@jest/core/node_modules/jest-regex-util": {
+ "version": "28.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/core/node_modules/jest-util": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/core/node_modules/picomatch": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "../node_modules/@jest/core/node_modules/pretty-format": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/create-cache-key-function": {
+ "version": "29.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^29.6.3"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/@jest/environment": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/fake-timers": "^28.1.3",
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "jest-mock": "^28.1.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/environment/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/environment/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/environment/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@jest/expect": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "expect": "^28.1.3",
+ "jest-snapshot": "^28.1.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/expect-utils": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "jest-get-type": "^28.0.2"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/fake-timers": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@sinonjs/fake-timers": "^9.1.2",
+ "@types/node": "*",
+ "jest-message-util": "^28.1.3",
+ "jest-mock": "^28.1.3",
+ "jest-util": "^28.1.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/fake-timers/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/fake-timers/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/fake-timers/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@jest/fake-timers/node_modules/jest-util": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/fake-timers/node_modules/picomatch": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "../node_modules/@jest/globals": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/environment": "^28.1.3",
+ "@jest/expect": "^28.1.3",
+ "@jest/types": "^28.1.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/globals/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/globals/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/globals/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@jest/reporters": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@bcoe/v8-coverage": "^0.2.3",
+ "@jest/console": "^28.1.3",
+ "@jest/test-result": "^28.1.3",
+ "@jest/transform": "^28.1.3",
+ "@jest/types": "^28.1.3",
+ "@jridgewell/trace-mapping": "^0.3.13",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.9",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-instrument": "^5.1.0",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^4.0.0",
+ "istanbul-reports": "^3.1.3",
+ "jest-message-util": "^28.1.3",
+ "jest-util": "^28.1.3",
+ "jest-worker": "^28.1.3",
+ "slash": "^3.0.0",
+ "string-length": "^4.0.1",
+ "strip-ansi": "^6.0.0",
+ "terminal-link": "^2.0.0",
+ "v8-to-istanbul": "^9.0.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/@jest/reporters/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/reporters/node_modules/@jest/transform": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.11.6",
+ "@jest/types": "^28.1.3",
+ "@jridgewell/trace-mapping": "^0.3.13",
+ "babel-plugin-istanbul": "^6.1.1",
+ "chalk": "^4.0.0",
+ "convert-source-map": "^1.4.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^28.1.3",
+ "jest-regex-util": "^28.0.2",
+ "jest-util": "^28.1.3",
+ "micromatch": "^4.0.4",
+ "pirates": "^4.0.4",
+ "slash": "^3.0.0",
+ "write-file-atomic": "^4.0.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/reporters/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/reporters/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@jest/reporters/node_modules/convert-source-map": {
+ "version": "1.9.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@jest/reporters/node_modules/glob": {
+ "version": "7.2.3",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "../node_modules/@jest/reporters/node_modules/jest-haste-map": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/graceful-fs": "^4.1.3",
+ "@types/node": "*",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-regex-util": "^28.0.2",
+ "jest-util": "^28.1.3",
+ "jest-worker": "^28.1.3",
+ "micromatch": "^4.0.4",
+ "walker": "^1.0.8"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.3.2"
+ }
+ },
+ "../node_modules/@jest/reporters/node_modules/jest-regex-util": {
+ "version": "28.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/reporters/node_modules/jest-util": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/reporters/node_modules/picomatch": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "../node_modules/@jest/schemas": {
+ "version": "29.6.3",
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.27.8"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/@jest/source-map": {
+ "version": "28.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.13",
+ "callsites": "^3.0.0",
+ "graceful-fs": "^4.2.9"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/test-result": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/console": "^28.1.3",
+ "@jest/types": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/test-result/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/test-result/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/test-result/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@jest/test-sequencer": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/test-result": "^28.1.3",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^28.1.3",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/test-sequencer/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/test-sequencer/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/test-sequencer/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@jest/test-sequencer/node_modules/jest-haste-map": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/graceful-fs": "^4.1.3",
+ "@types/node": "*",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-regex-util": "^28.0.2",
+ "jest-util": "^28.1.3",
+ "jest-worker": "^28.1.3",
+ "micromatch": "^4.0.4",
+ "walker": "^1.0.8"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.3.2"
+ }
+ },
+ "../node_modules/@jest/test-sequencer/node_modules/jest-regex-util": {
+ "version": "28.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/test-sequencer/node_modules/jest-util": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@jest/test-sequencer/node_modules/picomatch": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "../node_modules/@jest/transform": {
+ "version": "29.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.11.6",
+ "@jest/types": "^29.6.3",
+ "@jridgewell/trace-mapping": "^0.3.18",
+ "babel-plugin-istanbul": "^6.1.1",
+ "chalk": "^4.0.0",
+ "convert-source-map": "^2.0.0",
+ "fast-json-stable-stringify": "^2.1.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^29.7.0",
+ "jest-regex-util": "^29.6.3",
+ "jest-util": "^29.7.0",
+ "micromatch": "^4.0.4",
+ "pirates": "^4.0.4",
+ "slash": "^3.0.0",
+ "write-file-atomic": "^4.0.2"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/@jest/types": {
+ "version": "29.6.3",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.13",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "../node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "../node_modules/@jridgewell/source-map": {
+ "version": "0.3.11",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25"
+ }
+ },
+ "../node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.5",
+ "license": "MIT"
+ },
+ "../node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.30",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "../node_modules/@nicolo-ribaudo/eslint-scope-5-internals": {
+ "version": "5.1.1-v1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eslint-scope": "5.1.1"
+ }
+ },
+ "../node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "../node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "../node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "../node_modules/@octokit/auth-token": {
+ "version": "3.0.4",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "../node_modules/@octokit/core": {
+ "version": "4.2.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/auth-token": "^3.0.0",
+ "@octokit/graphql": "^5.0.0",
+ "@octokit/request": "^6.0.0",
+ "@octokit/request-error": "^3.0.0",
+ "@octokit/types": "^9.0.0",
+ "before-after-hook": "^2.2.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "../node_modules/@octokit/endpoint": {
+ "version": "7.0.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/types": "^9.0.0",
+ "is-plain-object": "^5.0.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "../node_modules/@octokit/graphql": {
+ "version": "5.0.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/request": "^6.0.0",
+ "@octokit/types": "^9.0.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "../node_modules/@octokit/openapi-types": {
+ "version": "18.1.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@octokit/plugin-paginate-rest": {
+ "version": "6.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/tsconfig": "^1.0.2",
+ "@octokit/types": "^9.2.3"
+ },
+ "engines": {
+ "node": ">= 14"
+ },
+ "peerDependencies": {
+ "@octokit/core": ">=4"
+ }
+ },
+ "../node_modules/@octokit/plugin-request-log": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "@octokit/core": ">=3"
+ }
+ },
+ "../node_modules/@octokit/plugin-rest-endpoint-methods": {
+ "version": "7.2.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/types": "^10.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ },
+ "peerDependencies": {
+ "@octokit/core": ">=3"
+ }
+ },
+ "../node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": {
+ "version": "10.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/openapi-types": "^18.0.0"
+ }
+ },
+ "../node_modules/@octokit/request": {
+ "version": "6.2.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/endpoint": "^7.0.0",
+ "@octokit/request-error": "^3.0.0",
+ "@octokit/types": "^9.0.0",
+ "is-plain-object": "^5.0.0",
+ "node-fetch": "^2.6.7",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "../node_modules/@octokit/request-error": {
+ "version": "3.0.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/types": "^9.0.0",
+ "deprecation": "^2.0.0",
+ "once": "^1.4.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "../node_modules/@octokit/rest": {
+ "version": "19.0.11",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/core": "^4.2.1",
+ "@octokit/plugin-paginate-rest": "^6.1.2",
+ "@octokit/plugin-request-log": "^1.0.4",
+ "@octokit/plugin-rest-endpoint-methods": "^7.1.2"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "../node_modules/@octokit/tsconfig": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@octokit/types": {
+ "version": "9.3.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/openapi-types": "^18.0.0"
+ }
+ },
+ "../node_modules/@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "../node_modules/@pnpm/config.env-replace": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.22.0"
+ }
+ },
+ "../node_modules/@pnpm/network.ca-file": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "4.2.10"
+ },
+ "engines": {
+ "node": ">=12.22.0"
+ }
+ },
+ "../node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": {
+ "version": "4.2.10",
+ "dev": true,
+ "license": "ISC"
+ },
+ "../node_modules/@pnpm/npm-conf": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@pnpm/config.env-replace": "^1.1.0",
+ "@pnpm/network.ca-file": "^1.0.1",
+ "config-chain": "^1.1.11"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "../node_modules/@react-native-community/eslint-config": {
+ "version": "3.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.14.0",
+ "@babel/eslint-parser": "^7.18.2",
+ "@react-native-community/eslint-plugin": "^1.1.0",
+ "@typescript-eslint/eslint-plugin": "^5.30.5",
+ "@typescript-eslint/parser": "^5.30.5",
+ "eslint-config-prettier": "^8.5.0",
+ "eslint-plugin-eslint-comments": "^3.2.0",
+ "eslint-plugin-ft-flow": "^2.0.1",
+ "eslint-plugin-jest": "^26.5.3",
+ "eslint-plugin-prettier": "^4.2.1",
+ "eslint-plugin-react": "^7.30.1",
+ "eslint-plugin-react-hooks": "^4.6.0",
+ "eslint-plugin-react-native": "^4.0.0"
+ },
+ "peerDependencies": {
+ "eslint": ">=8",
+ "prettier": ">=2"
+ }
+ },
+ "../node_modules/@react-native-community/eslint-plugin": {
+ "version": "1.3.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@react-native/assets-registry": {
+ "version": "0.79.6",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "../node_modules/@react-native/babel-plugin-codegen": {
+ "version": "0.79.5",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/traverse": "^7.25.3",
+ "@react-native/codegen": "0.79.5"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "../node_modules/@react-native/babel-preset": {
+ "version": "0.79.5",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/core": "^7.25.2",
+ "@babel/plugin-proposal-export-default-from": "^7.24.7",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@babel/plugin-syntax-export-default-from": "^7.24.7",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+ "@babel/plugin-transform-arrow-functions": "^7.24.7",
+ "@babel/plugin-transform-async-generator-functions": "^7.25.4",
+ "@babel/plugin-transform-async-to-generator": "^7.24.7",
+ "@babel/plugin-transform-block-scoping": "^7.25.0",
+ "@babel/plugin-transform-class-properties": "^7.25.4",
+ "@babel/plugin-transform-classes": "^7.25.4",
+ "@babel/plugin-transform-computed-properties": "^7.24.7",
+ "@babel/plugin-transform-destructuring": "^7.24.8",
+ "@babel/plugin-transform-flow-strip-types": "^7.25.2",
+ "@babel/plugin-transform-for-of": "^7.24.7",
+ "@babel/plugin-transform-function-name": "^7.25.1",
+ "@babel/plugin-transform-literals": "^7.25.2",
+ "@babel/plugin-transform-logical-assignment-operators": "^7.24.7",
+ "@babel/plugin-transform-modules-commonjs": "^7.24.8",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7",
+ "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7",
+ "@babel/plugin-transform-numeric-separator": "^7.24.7",
+ "@babel/plugin-transform-object-rest-spread": "^7.24.7",
+ "@babel/plugin-transform-optional-catch-binding": "^7.24.7",
+ "@babel/plugin-transform-optional-chaining": "^7.24.8",
+ "@babel/plugin-transform-parameters": "^7.24.7",
+ "@babel/plugin-transform-private-methods": "^7.24.7",
+ "@babel/plugin-transform-private-property-in-object": "^7.24.7",
+ "@babel/plugin-transform-react-display-name": "^7.24.7",
+ "@babel/plugin-transform-react-jsx": "^7.25.2",
+ "@babel/plugin-transform-react-jsx-self": "^7.24.7",
+ "@babel/plugin-transform-react-jsx-source": "^7.24.7",
+ "@babel/plugin-transform-regenerator": "^7.24.7",
+ "@babel/plugin-transform-runtime": "^7.24.7",
+ "@babel/plugin-transform-shorthand-properties": "^7.24.7",
+ "@babel/plugin-transform-spread": "^7.24.7",
+ "@babel/plugin-transform-sticky-regex": "^7.24.7",
+ "@babel/plugin-transform-typescript": "^7.25.2",
+ "@babel/plugin-transform-unicode-regex": "^7.24.7",
+ "@babel/template": "^7.25.0",
+ "@react-native/babel-plugin-codegen": "0.79.5",
+ "babel-plugin-syntax-hermes-parser": "0.25.1",
+ "babel-plugin-transform-flow-enums": "^0.0.2",
+ "react-refresh": "^0.14.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@babel/core": "*"
+ }
+ },
+ "../node_modules/@react-native/codegen": {
+ "version": "0.79.5",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "glob": "^7.1.1",
+ "hermes-parser": "0.25.1",
+ "invariant": "^2.2.4",
+ "nullthrows": "^1.1.1",
+ "yargs": "^17.6.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@babel/core": "*"
+ }
+ },
+ "../node_modules/@react-native/codegen/node_modules/glob": {
+ "version": "7.2.3",
+ "license": "ISC",
+ "peer": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "../node_modules/@react-native/community-cli-plugin": {
+ "version": "0.79.6",
+ "license": "MIT",
+ "dependencies": {
+ "@react-native/dev-middleware": "0.79.6",
+ "chalk": "^4.0.0",
+ "debug": "^2.2.0",
+ "invariant": "^2.2.4",
+ "metro": "^0.82.0",
+ "metro-config": "^0.82.0",
+ "metro-core": "^0.82.0",
+ "semver": "^7.1.3"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@react-native-community/cli": "*"
+ },
+ "peerDependenciesMeta": {
+ "@react-native-community/cli": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/@react-native/community-cli-plugin/node_modules/@react-native/debugger-frontend": {
+ "version": "0.79.6",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "../node_modules/@react-native/community-cli-plugin/node_modules/@react-native/dev-middleware": {
+ "version": "0.79.6",
+ "license": "MIT",
+ "dependencies": {
+ "@isaacs/ttlcache": "^1.4.1",
+ "@react-native/debugger-frontend": "0.79.6",
+ "chrome-launcher": "^0.15.2",
+ "chromium-edge-launcher": "^0.2.0",
+ "connect": "^3.6.5",
+ "debug": "^2.2.0",
+ "invariant": "^2.2.4",
+ "nullthrows": "^1.1.1",
+ "open": "^7.0.3",
+ "serve-static": "^1.16.2",
+ "ws": "^6.2.3"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "../node_modules/@react-native/community-cli-plugin/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "../node_modules/@react-native/community-cli-plugin/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "../node_modules/@react-native/community-cli-plugin/node_modules/semver": {
+ "version": "7.7.2",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/@react-native/community-cli-plugin/node_modules/ws": {
+ "version": "6.2.3",
+ "license": "MIT",
+ "dependencies": {
+ "async-limiter": "~1.0.0"
+ }
+ },
+ "../node_modules/@react-native/debugger-frontend": {
+ "version": "0.79.5",
+ "license": "BSD-3-Clause",
+ "peer": true,
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "../node_modules/@react-native/dev-middleware": {
+ "version": "0.79.5",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@isaacs/ttlcache": "^1.4.1",
+ "@react-native/debugger-frontend": "0.79.5",
+ "chrome-launcher": "^0.15.2",
+ "chromium-edge-launcher": "^0.2.0",
+ "connect": "^3.6.5",
+ "debug": "^2.2.0",
+ "invariant": "^2.2.4",
+ "nullthrows": "^1.1.1",
+ "open": "^7.0.3",
+ "serve-static": "^1.16.2",
+ "ws": "^6.2.3"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "../node_modules/@react-native/dev-middleware/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "../node_modules/@react-native/dev-middleware/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "peer": true
+ },
+ "../node_modules/@react-native/dev-middleware/node_modules/ws": {
+ "version": "6.2.3",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "async-limiter": "~1.0.0"
+ }
+ },
+ "../node_modules/@react-native/gradle-plugin": {
+ "version": "0.79.6",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "../node_modules/@react-native/js-polyfills": {
+ "version": "0.79.6",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "../node_modules/@react-native/normalize-colors": {
+ "version": "0.79.5",
+ "license": "MIT",
+ "peer": true
+ },
+ "../node_modules/@react-native/virtualized-lists": {
+ "version": "0.72.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "invariant": "^2.2.4",
+ "nullthrows": "^1.1.1"
+ },
+ "peerDependencies": {
+ "react-native": "*"
+ }
+ },
+ "../node_modules/@release-it/conventional-changelog": {
+ "version": "5.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "concat-stream": "^2.0.0",
+ "conventional-changelog": "^3.1.25",
+ "conventional-recommended-bump": "^6.1.0",
+ "semver": "7.3.8"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "release-it": "^15.4.1"
+ }
+ },
+ "../node_modules/@release-it/conventional-changelog/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/@release-it/conventional-changelog/node_modules/semver": {
+ "version": "7.3.8",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/@release-it/conventional-changelog/node_modules/yallist": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "ISC"
+ },
+ "../node_modules/@sinclair/typebox": {
+ "version": "0.27.8",
+ "license": "MIT"
+ },
+ "../node_modules/@sindresorhus/is": {
+ "version": "5.6.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/is?sponsor=1"
+ }
+ },
+ "../node_modules/@sinonjs/commons": {
+ "version": "1.8.6",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "../node_modules/@sinonjs/fake-timers": {
+ "version": "9.1.2",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@sinonjs/commons": "^1.7.0"
+ }
+ },
+ "../node_modules/@szmarczak/http-timer": {
+ "version": "5.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "defer-to-connect": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=14.16"
+ }
+ },
+ "../node_modules/@testing-library/jest-native": {
+ "version": "5.4.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.1.2",
+ "jest-diff": "^29.0.1",
+ "jest-matcher-utils": "^29.0.1",
+ "pretty-format": "^29.0.3",
+ "redent": "^3.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.0.0",
+ "react-native": ">=0.59",
+ "react-test-renderer": ">=16.0.0"
+ }
+ },
+ "../node_modules/@testing-library/react-native": {
+ "version": "12.9.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "jest-matcher-utils": "^29.7.0",
+ "pretty-format": "^29.7.0",
+ "redent": "^3.0.0"
+ },
+ "peerDependencies": {
+ "jest": ">=28.0.0",
+ "react": ">=16.8.0",
+ "react-native": ">=0.59",
+ "react-test-renderer": ">=16.8.0"
+ },
+ "peerDependenciesMeta": {
+ "jest": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/@types/babel__core": {
+ "version": "7.20.5",
+ "license": "MIT",
+ "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",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "../node_modules/@types/babel__template": {
+ "version": "7.4.4",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "../node_modules/@types/babel__traverse": {
+ "version": "7.28.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.28.2"
+ }
+ },
+ "../node_modules/@types/graceful-fs": {
+ "version": "4.1.9",
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "../node_modules/@types/http-cache-semantics": {
+ "version": "4.0.4",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@types/istanbul-lib-coverage": {
+ "version": "2.0.6",
+ "license": "MIT"
+ },
+ "../node_modules/@types/istanbul-lib-report": {
+ "version": "3.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "*"
+ }
+ },
+ "../node_modules/@types/istanbul-reports": {
+ "version": "3.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "../node_modules/@types/jest": {
+ "version": "28.1.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "expect": "^28.0.0",
+ "pretty-format": "^28.0.0"
+ }
+ },
+ "../node_modules/@types/jest/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@types/jest/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@types/jest/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "../node_modules/@types/jest/node_modules/pretty-format": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/@types/json-schema": {
+ "version": "7.0.15",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@types/minimist": {
+ "version": "1.2.5",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@types/node": {
+ "version": "24.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "undici-types": "~7.10.0"
+ }
+ },
+ "../node_modules/@types/normalize-package-data": {
+ "version": "2.4.4",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@types/parse-json": {
+ "version": "4.0.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@types/prettier": {
+ "version": "2.7.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@types/react": {
+ "version": "19.1.10",
+ "devOptional": true,
+ "license": "MIT",
+ "dependencies": {
+ "csstype": "^3.0.2"
+ }
+ },
+ "../node_modules/@types/react-native": {
+ "version": "0.72.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@react-native/virtualized-lists": "^0.72.4",
+ "@types/react": "*"
+ }
+ },
+ "../node_modules/@types/react-test-renderer": {
+ "version": "19.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/react": "*"
+ }
+ },
+ "../node_modules/@types/semver": {
+ "version": "7.7.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/@types/stack-utils": {
+ "version": "2.0.3",
+ "license": "MIT"
+ },
+ "../node_modules/@types/yargs": {
+ "version": "17.0.33",
+ "license": "MIT",
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "../node_modules/@types/yargs-parser": {
+ "version": "21.0.3",
+ "license": "MIT"
+ },
+ "../node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "5.62.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/regexpp": "^4.4.0",
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/type-utils": "5.62.0",
+ "@typescript-eslint/utils": "5.62.0",
+ "debug": "^4.3.4",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.2.0",
+ "natural-compare-lite": "^1.4.0",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^5.0.0",
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": {
+ "version": "7.7.2",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/@typescript-eslint/parser": {
+ "version": "5.62.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/typescript-estree": "5.62.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/@typescript-eslint/scope-manager": {
+ "version": "5.62.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "../node_modules/@typescript-eslint/type-utils": {
+ "version": "5.62.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/typescript-estree": "5.62.0",
+ "@typescript-eslint/utils": "5.62.0",
+ "debug": "^4.3.4",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/@typescript-eslint/types": {
+ "version": "5.62.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "../node_modules/@typescript-eslint/typescript-estree": {
+ "version": "5.62.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
+ "version": "7.7.2",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/@typescript-eslint/utils": {
+ "version": "5.62.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@types/json-schema": "^7.0.9",
+ "@types/semver": "^7.3.12",
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/typescript-estree": "5.62.0",
+ "eslint-scope": "^5.1.1",
+ "semver": "^7.3.7"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "../node_modules/@typescript-eslint/utils/node_modules/semver": {
+ "version": "7.7.2",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/@typescript-eslint/visitor-keys": {
+ "version": "5.62.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "../node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "../node_modules/@ungap/structured-clone": {
+ "version": "1.3.0",
+ "dev": true,
+ "license": "ISC"
+ },
+ "../node_modules/@urql/core": {
+ "version": "5.2.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@0no-co/graphql.web": "^1.0.13",
+ "wonka": "^6.3.2"
+ }
+ },
+ "../node_modules/@urql/exchange-retry": {
+ "version": "1.3.2",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@urql/core": "^5.1.2",
+ "wonka": "^6.3.2"
+ },
+ "peerDependencies": {
+ "@urql/core": "^5.0.0"
+ }
+ },
+ "../node_modules/@xmldom/xmldom": {
+ "version": "0.8.11",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "../node_modules/abort-controller": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "event-target-shim": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=6.5"
+ }
+ },
+ "../node_modules/accepts": {
+ "version": "1.3.8",
+ "license": "MIT",
+ "dependencies": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "../node_modules/acorn": {
+ "version": "8.15.0",
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "../node_modules/acorn-jsx": {
+ "version": "5.3.2",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "../node_modules/acorn-walk": {
+ "version": "8.3.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.11.0"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "../node_modules/add-stream": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/agent-base": {
+ "version": "7.1.4",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "../node_modules/aggregate-error": {
+ "version": "4.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "clean-stack": "^4.0.0",
+ "indent-string": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/ajv": {
+ "version": "6.12.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "../node_modules/anser": {
+ "version": "1.4.10",
+ "license": "MIT"
+ },
+ "../node_modules/ansi-align": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^4.1.0"
+ }
+ },
+ "../node_modules/ansi-align/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/ansi-align/node_modules/string-width": {
+ "version": "4.2.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/ansi-escapes": {
+ "version": "4.3.2",
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^0.21.3"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/ansi-escapes/node_modules/type-fest": {
+ "version": "0.21.3",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "../node_modules/any-promise": {
+ "version": "1.3.0",
+ "license": "MIT"
+ },
+ "../node_modules/anymatch": {
+ "version": "3.1.3",
+ "license": "ISC",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "../node_modules/anymatch/node_modules/picomatch": {
+ "version": "2.3.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "../node_modules/arg": {
+ "version": "5.0.2",
+ "license": "MIT",
+ "peer": true
+ },
+ "../node_modules/argparse": {
+ "version": "1.0.10",
+ "license": "MIT",
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "../node_modules/array-buffer-byte-length": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "is-array-buffer": "^3.0.5"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/array-ify": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/array-includes": {
+ "version": "3.1.9",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.24.0",
+ "es-object-atoms": "^1.1.1",
+ "get-intrinsic": "^1.3.0",
+ "is-string": "^1.1.1",
+ "math-intrinsics": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/array-union": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/array.prototype.findlast": {
+ "version": "1.2.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "es-shim-unscopables": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/array.prototype.flat": {
+ "version": "1.3.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-shim-unscopables": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/array.prototype.flatmap": {
+ "version": "1.3.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-shim-unscopables": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/array.prototype.map": {
+ "version": "1.0.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.6",
+ "es-array-method-boxes-properly": "^1.0.0",
+ "es-object-atoms": "^1.0.0",
+ "is-string": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/array.prototype.tosorted": {
+ "version": "1.1.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.3",
+ "es-errors": "^1.3.0",
+ "es-shim-unscopables": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/arraybuffer.prototype.slice": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.1",
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6",
+ "is-array-buffer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/arrify": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/asap": {
+ "version": "2.0.6",
+ "license": "MIT"
+ },
+ "../node_modules/ast-types": {
+ "version": "0.13.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/async-function": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/async-limiter": {
+ "version": "1.0.1",
+ "license": "MIT"
+ },
+ "../node_modules/async-retry": {
+ "version": "1.3.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "retry": "0.13.1"
+ }
+ },
+ "../node_modules/available-typed-arrays": {
+ "version": "1.0.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "possible-typed-array-names": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/babel-jest": {
+ "version": "29.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/transform": "^29.7.0",
+ "@types/babel__core": "^7.1.14",
+ "babel-plugin-istanbul": "^6.1.1",
+ "babel-preset-jest": "^29.6.3",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.8.0"
+ }
+ },
+ "../node_modules/babel-plugin-istanbul": {
+ "version": "6.1.1",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^5.0.4",
+ "test-exclude": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/babel-plugin-jest-hoist": {
+ "version": "29.6.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.3.3",
+ "@babel/types": "^7.3.3",
+ "@types/babel__core": "^7.1.14",
+ "@types/babel__traverse": "^7.0.6"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/babel-plugin-polyfill-corejs2": {
+ "version": "0.4.14",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.27.7",
+ "@babel/helper-define-polyfill-provider": "^0.6.5",
+ "semver": "^6.3.1"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+ }
+ },
+ "../node_modules/babel-plugin-polyfill-corejs3": {
+ "version": "0.13.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-define-polyfill-provider": "^0.6.5",
+ "core-js-compat": "^3.43.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+ }
+ },
+ "../node_modules/babel-plugin-polyfill-regenerator": {
+ "version": "0.6.5",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-define-polyfill-provider": "^0.6.5"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+ }
+ },
+ "../node_modules/babel-plugin-react-native-web": {
+ "version": "0.19.13",
+ "license": "MIT",
+ "peer": true
+ },
+ "../node_modules/babel-plugin-syntax-hermes-parser": {
+ "version": "0.25.1",
+ "license": "MIT",
+ "dependencies": {
+ "hermes-parser": "0.25.1"
+ }
+ },
+ "../node_modules/babel-plugin-transform-flow-enums": {
+ "version": "0.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/plugin-syntax-flow": "^7.12.1"
+ }
+ },
+ "../node_modules/babel-preset-current-node-syntax": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-bigint": "^7.8.3",
+ "@babel/plugin-syntax-class-properties": "^7.12.13",
+ "@babel/plugin-syntax-class-static-block": "^7.14.5",
+ "@babel/plugin-syntax-import-attributes": "^7.24.7",
+ "@babel/plugin-syntax-import-meta": "^7.10.4",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+ "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
+ "@babel/plugin-syntax-top-level-await": "^7.14.5"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0 || ^8.0.0-0"
+ }
+ },
+ "../node_modules/babel-preset-expo": {
+ "version": "13.2.3",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.25.9",
+ "@babel/plugin-proposal-decorators": "^7.12.9",
+ "@babel/plugin-proposal-export-default-from": "^7.24.7",
+ "@babel/plugin-syntax-export-default-from": "^7.24.7",
+ "@babel/plugin-transform-export-namespace-from": "^7.25.9",
+ "@babel/plugin-transform-flow-strip-types": "^7.25.2",
+ "@babel/plugin-transform-modules-commonjs": "^7.24.8",
+ "@babel/plugin-transform-object-rest-spread": "^7.24.7",
+ "@babel/plugin-transform-parameters": "^7.24.7",
+ "@babel/plugin-transform-private-methods": "^7.24.7",
+ "@babel/plugin-transform-private-property-in-object": "^7.24.7",
+ "@babel/plugin-transform-runtime": "^7.24.7",
+ "@babel/preset-react": "^7.22.15",
+ "@babel/preset-typescript": "^7.23.0",
+ "@react-native/babel-preset": "0.79.5",
+ "babel-plugin-react-native-web": "~0.19.13",
+ "babel-plugin-syntax-hermes-parser": "^0.25.1",
+ "babel-plugin-transform-flow-enums": "^0.0.2",
+ "debug": "^4.3.4",
+ "react-refresh": "^0.14.2",
+ "resolve-from": "^5.0.0"
+ },
+ "peerDependencies": {
+ "babel-plugin-react-compiler": "^19.0.0-beta-e993439-20250405"
+ },
+ "peerDependenciesMeta": {
+ "babel-plugin-react-compiler": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/babel-preset-jest": {
+ "version": "29.6.3",
+ "license": "MIT",
+ "dependencies": {
+ "babel-plugin-jest-hoist": "^29.6.3",
+ "babel-preset-current-node-syntax": "^1.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "../node_modules/balanced-match": {
+ "version": "1.0.2",
+ "license": "MIT"
+ },
+ "../node_modules/base64-js": {
+ "version": "1.5.1",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "../node_modules/basic-ftp": {
+ "version": "5.0.5",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "../node_modules/before-after-hook": {
+ "version": "2.2.3",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
+ "../node_modules/better-opn": {
+ "version": "3.0.2",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "open": "^8.0.4"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "../node_modules/better-opn/node_modules/open": {
+ "version": "8.4.2",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/big-integer": {
+ "version": "1.6.52",
+ "license": "Unlicense",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "../node_modules/bl": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "buffer": "^5.5.0",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.4.0"
+ }
+ },
+ "../node_modules/boxen": {
+ "version": "7.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-align": "^3.0.1",
+ "camelcase": "^7.0.1",
+ "chalk": "^5.2.0",
+ "cli-boxes": "^3.0.0",
+ "string-width": "^5.1.2",
+ "type-fest": "^2.13.0",
+ "widest-line": "^4.0.1",
+ "wrap-ansi": "^8.1.0"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/boxen/node_modules/ansi-regex": {
+ "version": "6.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "../node_modules/boxen/node_modules/ansi-styles": {
+ "version": "6.2.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "../node_modules/boxen/node_modules/camelcase": {
+ "version": "7.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/boxen/node_modules/chalk": {
+ "version": "5.6.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "../node_modules/boxen/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "../node_modules/boxen/node_modules/type-fest": {
+ "version": "2.19.0",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=12.20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/boxen/node_modules/wrap-ansi": {
+ "version": "8.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "../node_modules/bplist-creator": {
+ "version": "0.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "stream-buffers": "2.2.x"
+ }
+ },
+ "../node_modules/bplist-parser": {
+ "version": "0.3.2",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "big-integer": "1.6.x"
+ },
+ "engines": {
+ "node": ">= 5.10.0"
+ }
+ },
+ "../node_modules/brace-expansion": {
+ "version": "1.1.12",
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "../node_modules/braces": {
+ "version": "3.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/browserslist": {
+ "version": "4.25.2",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001733",
+ "electron-to-chromium": "^1.5.199",
+ "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/bser": {
+ "version": "2.1.1",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "node-int64": "^0.4.0"
+ }
+ },
+ "../node_modules/buffer": {
+ "version": "5.7.1",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "../node_modules/buffer-from": {
+ "version": "1.1.2",
+ "license": "MIT"
+ },
+ "../node_modules/bundle-name": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "run-applescript": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/bytes": {
+ "version": "3.1.2",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "../node_modules/cacheable-lookup": {
+ "version": "7.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.16"
+ }
+ },
+ "../node_modules/cacheable-request": {
+ "version": "10.2.14",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/http-cache-semantics": "^4.0.2",
+ "get-stream": "^6.0.1",
+ "http-cache-semantics": "^4.1.1",
+ "keyv": "^4.5.3",
+ "mimic-response": "^4.0.0",
+ "normalize-url": "^8.0.0",
+ "responselike": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=14.16"
+ }
+ },
+ "../node_modules/call-bind": {
+ "version": "1.0.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.0",
+ "es-define-property": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/call-bind-apply-helpers": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/call-bound": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "get-intrinsic": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/caller-callsite": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "callsites": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/caller-callsite/node_modules/callsites": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/caller-path": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "caller-callsite": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/callsites": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/camelcase": {
+ "version": "5.3.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/camelcase-keys": {
+ "version": "6.2.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "camelcase": "^5.3.1",
+ "map-obj": "^4.0.0",
+ "quick-lru": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/caniuse-lite": {
+ "version": "1.0.30001735",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "CC-BY-4.0"
+ },
+ "../node_modules/chalk": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "../node_modules/char-regex": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/chardet": {
+ "version": "0.7.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/chownr": {
+ "version": "3.0.0",
+ "license": "BlueOak-1.0.0",
+ "peer": true,
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "../node_modules/chrome-launcher": {
+ "version": "0.15.2",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@types/node": "*",
+ "escape-string-regexp": "^4.0.0",
+ "is-wsl": "^2.2.0",
+ "lighthouse-logger": "^1.0.0"
+ },
+ "bin": {
+ "print-chrome-path": "bin/print-chrome-path.js"
+ },
+ "engines": {
+ "node": ">=12.13.0"
+ }
+ },
+ "../node_modules/chromium-edge-launcher": {
+ "version": "0.2.0",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@types/node": "*",
+ "escape-string-regexp": "^4.0.0",
+ "is-wsl": "^2.2.0",
+ "lighthouse-logger": "^1.0.0",
+ "mkdirp": "^1.0.4",
+ "rimraf": "^3.0.2"
+ }
+ },
+ "../node_modules/ci-info": {
+ "version": "3.9.0",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/sibiraj-s"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/cjs-module-lexer": {
+ "version": "1.4.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/clean-stack": {
+ "version": "4.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "escape-string-regexp": "5.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/clean-stack/node_modules/escape-string-regexp": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/cli-boxes": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/cli-cursor": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "restore-cursor": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/cli-spinners": {
+ "version": "2.9.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/cli-width": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "../node_modules/cliui": {
+ "version": "8.0.1",
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "../node_modules/cliui/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "license": "MIT"
+ },
+ "../node_modules/cliui/node_modules/string-width": {
+ "version": "4.2.3",
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/clone": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "../node_modules/co": {
+ "version": "4.6.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "iojs": ">= 1.0.0",
+ "node": ">= 0.12.0"
+ }
+ },
+ "../node_modules/collect-v8-coverage": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "../node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "../node_modules/commander": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "../node_modules/compare-func": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-ify": "^1.0.0",
+ "dot-prop": "^5.1.0"
+ }
+ },
+ "../node_modules/compressible": {
+ "version": "2.0.18",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "mime-db": ">= 1.43.0 < 2"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "../node_modules/compression": {
+ "version": "1.8.1",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "bytes": "3.1.2",
+ "compressible": "~2.0.18",
+ "debug": "2.6.9",
+ "negotiator": "~0.6.4",
+ "on-headers": "~1.1.0",
+ "safe-buffer": "5.2.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "../node_modules/compression/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "../node_modules/compression/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "peer": true
+ },
+ "../node_modules/compression/node_modules/negotiator": {
+ "version": "0.6.4",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "../node_modules/concat-map": {
+ "version": "0.0.1",
+ "license": "MIT"
+ },
+ "../node_modules/concat-stream": {
+ "version": "2.0.0",
+ "dev": true,
+ "engines": [
+ "node >= 6.0"
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.0.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "../node_modules/config-chain": {
+ "version": "1.1.13",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ini": "^1.3.4",
+ "proto-list": "~1.2.1"
+ }
+ },
+ "../node_modules/configstore": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "dot-prop": "^6.0.1",
+ "graceful-fs": "^4.2.6",
+ "unique-string": "^3.0.0",
+ "write-file-atomic": "^3.0.3",
+ "xdg-basedir": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/yeoman/configstore?sponsor=1"
+ }
+ },
+ "../node_modules/configstore/node_modules/crypto-random-string": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/configstore/node_modules/dot-prop": {
+ "version": "6.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-obj": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/configstore/node_modules/signal-exit": {
+ "version": "3.0.7",
+ "dev": true,
+ "license": "ISC"
+ },
+ "../node_modules/configstore/node_modules/type-fest": {
+ "version": "1.4.0",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/configstore/node_modules/unique-string": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "crypto-random-string": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/configstore/node_modules/write-file-atomic": {
+ "version": "3.0.3",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ },
+ "../node_modules/connect": {
+ "version": "3.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "2.6.9",
+ "finalhandler": "1.1.2",
+ "parseurl": "~1.3.3",
+ "utils-merge": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "../node_modules/connect/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "../node_modules/connect/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "../node_modules/conventional-changelog": {
+ "version": "3.1.25",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "conventional-changelog-angular": "^5.0.12",
+ "conventional-changelog-atom": "^2.0.8",
+ "conventional-changelog-codemirror": "^2.0.8",
+ "conventional-changelog-conventionalcommits": "^4.5.0",
+ "conventional-changelog-core": "^4.2.1",
+ "conventional-changelog-ember": "^2.0.9",
+ "conventional-changelog-eslint": "^3.0.9",
+ "conventional-changelog-express": "^2.0.6",
+ "conventional-changelog-jquery": "^3.0.11",
+ "conventional-changelog-jshint": "^2.0.9",
+ "conventional-changelog-preset-loader": "^2.3.4"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/conventional-changelog-angular": {
+ "version": "5.0.13",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "compare-func": "^2.0.0",
+ "q": "^1.5.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/conventional-changelog-atom": {
+ "version": "2.0.8",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "q": "^1.5.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/conventional-changelog-codemirror": {
+ "version": "2.0.8",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "q": "^1.5.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/conventional-changelog-conventionalcommits": {
+ "version": "4.6.3",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "compare-func": "^2.0.0",
+ "lodash": "^4.17.15",
+ "q": "^1.5.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/conventional-changelog-core": {
+ "version": "4.2.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "add-stream": "^1.0.0",
+ "conventional-changelog-writer": "^5.0.0",
+ "conventional-commits-parser": "^3.2.0",
+ "dateformat": "^3.0.0",
+ "get-pkg-repo": "^4.0.0",
+ "git-raw-commits": "^2.0.8",
+ "git-remote-origin-url": "^2.0.0",
+ "git-semver-tags": "^4.1.1",
+ "lodash": "^4.17.15",
+ "normalize-package-data": "^3.0.0",
+ "q": "^1.5.1",
+ "read-pkg": "^3.0.0",
+ "read-pkg-up": "^3.0.0",
+ "through2": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/conventional-changelog-ember": {
+ "version": "2.0.9",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "q": "^1.5.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/conventional-changelog-eslint": {
+ "version": "3.0.9",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "q": "^1.5.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/conventional-changelog-express": {
+ "version": "2.0.6",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "q": "^1.5.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/conventional-changelog-jquery": {
+ "version": "3.0.11",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "q": "^1.5.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/conventional-changelog-jshint": {
+ "version": "2.0.9",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "compare-func": "^2.0.0",
+ "q": "^1.5.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/conventional-changelog-preset-loader": {
+ "version": "2.3.4",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/conventional-changelog-writer": {
+ "version": "5.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "conventional-commits-filter": "^2.0.7",
+ "dateformat": "^3.0.0",
+ "handlebars": "^4.7.7",
+ "json-stringify-safe": "^5.0.1",
+ "lodash": "^4.17.15",
+ "meow": "^8.0.0",
+ "semver": "^6.0.0",
+ "split": "^1.0.0",
+ "through2": "^4.0.0"
+ },
+ "bin": {
+ "conventional-changelog-writer": "cli.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/conventional-commits-filter": {
+ "version": "2.0.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "lodash.ismatch": "^4.4.0",
+ "modify-values": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/conventional-commits-parser": {
+ "version": "3.2.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-text-path": "^1.0.1",
+ "JSONStream": "^1.0.4",
+ "lodash": "^4.17.15",
+ "meow": "^8.0.0",
+ "split2": "^3.0.0",
+ "through2": "^4.0.0"
+ },
+ "bin": {
+ "conventional-commits-parser": "cli.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/conventional-recommended-bump": {
+ "version": "6.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "concat-stream": "^2.0.0",
+ "conventional-changelog-preset-loader": "^2.3.4",
+ "conventional-commits-filter": "^2.0.7",
+ "conventional-commits-parser": "^3.2.0",
+ "git-raw-commits": "^2.0.8",
+ "git-semver-tags": "^4.1.1",
+ "meow": "^8.0.0",
+ "q": "^1.5.1"
+ },
+ "bin": {
+ "conventional-recommended-bump": "cli.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "../node_modules/core-js-compat": {
+ "version": "3.45.0",
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.25.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
+ }
+ },
+ "../node_modules/core-util-is": {
+ "version": "1.0.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/cosmiconfig": {
+ "version": "5.2.1",
+ "license": "MIT",
+ "dependencies": {
+ "import-fresh": "^2.0.0",
+ "is-directory": "^0.3.1",
+ "js-yaml": "^3.13.1",
+ "parse-json": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/cosmiconfig/node_modules/import-fresh": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "caller-path": "^2.0.0",
+ "resolve-from": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/cosmiconfig/node_modules/parse-json": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/cosmiconfig/node_modules/resolve-from": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/cross-spawn": {
+ "version": "7.0.6",
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "../node_modules/crypto-random-string": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/csstype": {
+ "version": "3.1.3",
+ "devOptional": true,
+ "license": "MIT"
+ },
+ "../node_modules/dargs": {
+ "version": "7.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/data-uri-to-buffer": {
+ "version": "6.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "../node_modules/data-view-buffer": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/data-view-byte-length": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/inspect-js"
+ }
+ },
+ "../node_modules/data-view-byte-offset": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/dateformat": {
+ "version": "3.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "../node_modules/debug": {
+ "version": "4.4.1",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/decamelize": {
+ "version": "1.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/decamelize-keys": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "decamelize": "^1.1.0",
+ "map-obj": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/decamelize-keys/node_modules/map-obj": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/decompress-response": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mimic-response": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/decompress-response/node_modules/mimic-response": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/dedent": {
+ "version": "0.7.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/deep-extend": {
+ "version": "0.6.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "../node_modules/deep-is": {
+ "version": "0.1.4",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/deepmerge": {
+ "version": "4.3.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/default-browser": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bundle-name": "^3.0.0",
+ "default-browser-id": "^3.0.0",
+ "execa": "^7.1.1",
+ "titleize": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/default-browser-id": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bplist-parser": "^0.2.0",
+ "untildify": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/default-browser-id/node_modules/bplist-parser": {
+ "version": "0.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "big-integer": "^1.6.44"
+ },
+ "engines": {
+ "node": ">= 5.10.0"
+ }
+ },
+ "../node_modules/default-browser/node_modules/execa": {
+ "version": "7.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.1",
+ "human-signals": "^4.3.0",
+ "is-stream": "^3.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^5.1.0",
+ "onetime": "^6.0.0",
+ "signal-exit": "^3.0.7",
+ "strip-final-newline": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.18.0 || ^16.14.0 || >=18.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "../node_modules/default-browser/node_modules/human-signals": {
+ "version": "4.3.1",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=14.18.0"
+ }
+ },
+ "../node_modules/default-browser/node_modules/is-stream": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/default-browser/node_modules/mimic-fn": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/default-browser/node_modules/npm-run-path": {
+ "version": "5.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/default-browser/node_modules/onetime": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mimic-fn": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/default-browser/node_modules/path-key": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/default-browser/node_modules/signal-exit": {
+ "version": "3.0.7",
+ "dev": true,
+ "license": "ISC"
+ },
+ "../node_modules/default-browser/node_modules/strip-final-newline": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/defaults": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "clone": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/defer-to-connect": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/define-data-property": {
+ "version": "1.1.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/define-lazy-prop": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/define-properties": {
+ "version": "1.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-data-property": "^1.0.1",
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/degenerator": {
+ "version": "4.0.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ast-types": "^0.13.4",
+ "escodegen": "^1.14.3",
+ "esprima": "^4.0.1",
+ "vm2": "^3.9.19"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "../node_modules/del": {
+ "version": "7.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "globby": "^13.1.2",
+ "graceful-fs": "^4.2.10",
+ "is-glob": "^4.0.3",
+ "is-path-cwd": "^3.0.0",
+ "is-path-inside": "^4.0.0",
+ "p-map": "^5.5.0",
+ "rimraf": "^3.0.2",
+ "slash": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/del-cli": {
+ "version": "5.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "del": "^7.1.0",
+ "meow": "^10.1.3"
+ },
+ "bin": {
+ "del": "cli.js",
+ "del-cli": "cli.js"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/del-cli/node_modules/camelcase": {
+ "version": "6.3.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/del-cli/node_modules/camelcase-keys": {
+ "version": "7.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "camelcase": "^6.3.0",
+ "map-obj": "^4.1.0",
+ "quick-lru": "^5.1.1",
+ "type-fest": "^1.2.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/del-cli/node_modules/decamelize": {
+ "version": "5.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/del-cli/node_modules/find-up": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/del-cli/node_modules/locate-path": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/del-cli/node_modules/meow": {
+ "version": "10.1.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/minimist": "^1.2.2",
+ "camelcase-keys": "^7.0.0",
+ "decamelize": "^5.0.0",
+ "decamelize-keys": "^1.1.0",
+ "hard-rejection": "^2.1.0",
+ "minimist-options": "4.1.0",
+ "normalize-package-data": "^3.0.2",
+ "read-pkg-up": "^8.0.0",
+ "redent": "^4.0.0",
+ "trim-newlines": "^4.0.2",
+ "type-fest": "^1.2.2",
+ "yargs-parser": "^20.2.9"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/del-cli/node_modules/p-locate": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/del-cli/node_modules/quick-lru": {
+ "version": "5.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/del-cli/node_modules/read-pkg": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^3.0.2",
+ "parse-json": "^5.2.0",
+ "type-fest": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/del-cli/node_modules/read-pkg-up": {
+ "version": "8.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^5.0.0",
+ "read-pkg": "^6.0.0",
+ "type-fest": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/del-cli/node_modules/redent": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "indent-string": "^5.0.0",
+ "strip-indent": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/del-cli/node_modules/strip-indent": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "min-indent": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/del-cli/node_modules/trim-newlines": {
+ "version": "4.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/del-cli/node_modules/type-fest": {
+ "version": "1.4.0",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/del/node_modules/globby": {
+ "version": "13.2.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.3.0",
+ "ignore": "^5.2.4",
+ "merge2": "^1.4.1",
+ "slash": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/del/node_modules/slash": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/depd": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "../node_modules/deprecation": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "ISC"
+ },
+ "../node_modules/destroy": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "../node_modules/detect-libc": {
+ "version": "1.0.3",
+ "license": "Apache-2.0",
+ "peer": true,
+ "bin": {
+ "detect-libc": "bin/detect-libc.js"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "../node_modules/detect-newline": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/diff-sequences": {
+ "version": "29.6.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/dir-glob": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/doctrine": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "../node_modules/dot-prop": {
+ "version": "5.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-obj": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/dotenv": {
+ "version": "16.4.7",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://dotenvx.com"
+ }
+ },
+ "../node_modules/dotenv-expand": {
+ "version": "11.0.7",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "dotenv": "^16.4.5"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://dotenvx.com"
+ }
+ },
+ "../node_modules/dunder-proto": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.2.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/eastasianwidth": {
+ "version": "0.2.0",
+ "license": "MIT"
+ },
+ "../node_modules/ee-first": {
+ "version": "1.1.1",
+ "license": "MIT"
+ },
+ "../node_modules/electron-to-chromium": {
+ "version": "1.5.203",
+ "license": "ISC"
+ },
+ "../node_modules/emittery": {
+ "version": "0.10.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/emittery?sponsor=1"
+ }
+ },
+ "../node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "license": "MIT"
+ },
+ "../node_modules/encodeurl": {
+ "version": "1.0.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "../node_modules/end-of-stream": {
+ "version": "1.4.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "once": "^1.4.0"
+ }
+ },
+ "../node_modules/env-editor": {
+ "version": "0.4.2",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/error-ex": {
+ "version": "1.3.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "../node_modules/error-stack-parser": {
+ "version": "2.1.4",
+ "license": "MIT",
+ "dependencies": {
+ "stackframe": "^1.3.4"
+ }
+ },
+ "../node_modules/es-abstract": {
+ "version": "1.24.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.2",
+ "arraybuffer.prototype.slice": "^1.0.4",
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "data-view-buffer": "^1.0.2",
+ "data-view-byte-length": "^1.0.2",
+ "data-view-byte-offset": "^1.0.1",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "es-set-tostringtag": "^2.1.0",
+ "es-to-primitive": "^1.3.0",
+ "function.prototype.name": "^1.1.8",
+ "get-intrinsic": "^1.3.0",
+ "get-proto": "^1.0.1",
+ "get-symbol-description": "^1.1.0",
+ "globalthis": "^1.0.4",
+ "gopd": "^1.2.0",
+ "has-property-descriptors": "^1.0.2",
+ "has-proto": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "internal-slot": "^1.1.0",
+ "is-array-buffer": "^3.0.5",
+ "is-callable": "^1.2.7",
+ "is-data-view": "^1.0.2",
+ "is-negative-zero": "^2.0.3",
+ "is-regex": "^1.2.1",
+ "is-set": "^2.0.3",
+ "is-shared-array-buffer": "^1.0.4",
+ "is-string": "^1.1.1",
+ "is-typed-array": "^1.1.15",
+ "is-weakref": "^1.1.1",
+ "math-intrinsics": "^1.1.0",
+ "object-inspect": "^1.13.4",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.7",
+ "own-keys": "^1.0.1",
+ "regexp.prototype.flags": "^1.5.4",
+ "safe-array-concat": "^1.1.3",
+ "safe-push-apply": "^1.0.0",
+ "safe-regex-test": "^1.1.0",
+ "set-proto": "^1.0.0",
+ "stop-iteration-iterator": "^1.1.0",
+ "string.prototype.trim": "^1.2.10",
+ "string.prototype.trimend": "^1.0.9",
+ "string.prototype.trimstart": "^1.0.8",
+ "typed-array-buffer": "^1.0.3",
+ "typed-array-byte-length": "^1.0.3",
+ "typed-array-byte-offset": "^1.0.4",
+ "typed-array-length": "^1.0.7",
+ "unbox-primitive": "^1.1.0",
+ "which-typed-array": "^1.1.19"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/es-array-method-boxes-properly": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/es-define-property": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/es-errors": {
+ "version": "1.3.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/es-get-iterator": {
+ "version": "1.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.3",
+ "has-symbols": "^1.0.3",
+ "is-arguments": "^1.1.1",
+ "is-map": "^2.0.2",
+ "is-set": "^2.0.2",
+ "is-string": "^1.0.7",
+ "isarray": "^2.0.5",
+ "stop-iteration-iterator": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/es-iterator-helpers": {
+ "version": "1.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.6",
+ "es-errors": "^1.3.0",
+ "es-set-tostringtag": "^2.0.3",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.6",
+ "globalthis": "^1.0.4",
+ "gopd": "^1.2.0",
+ "has-property-descriptors": "^1.0.2",
+ "has-proto": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "internal-slot": "^1.1.0",
+ "iterator.prototype": "^1.1.4",
+ "safe-array-concat": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/es-object-atoms": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/es-set-tostringtag": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/es-shim-unscopables": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/es-to-primitive": {
+ "version": "1.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-callable": "^1.2.7",
+ "is-date-object": "^1.0.5",
+ "is-symbol": "^1.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/escalade": {
+ "version": "3.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/escape-goat": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/escape-html": {
+ "version": "1.0.3",
+ "license": "MIT"
+ },
+ "../node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/escodegen": {
+ "version": "1.14.3",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esprima": "^4.0.1",
+ "estraverse": "^4.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1"
+ },
+ "bin": {
+ "escodegen": "bin/escodegen.js",
+ "esgenerate": "bin/esgenerate.js"
+ },
+ "engines": {
+ "node": ">=4.0"
+ },
+ "optionalDependencies": {
+ "source-map": "~0.6.1"
+ }
+ },
+ "../node_modules/escodegen/node_modules/estraverse": {
+ "version": "4.3.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "../node_modules/escodegen/node_modules/levn": {
+ "version": "0.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "../node_modules/escodegen/node_modules/optionator": {
+ "version": "0.8.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.6",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "word-wrap": "~1.2.3"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "../node_modules/escodegen/node_modules/prelude-ls": {
+ "version": "1.1.2",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "../node_modules/escodegen/node_modules/type-check": {
+ "version": "0.3.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "../node_modules/eslint": {
+ "version": "8.57.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/regexpp": "^4.6.1",
+ "@eslint/eslintrc": "^2.1.4",
+ "@eslint/js": "8.57.1",
+ "@humanwhocodes/config-array": "^0.13.0",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@nodelib/fs.walk": "^1.2.8",
+ "@ungap/structured-clone": "^1.2.0",
+ "ajv": "^6.12.4",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.3.2",
+ "doctrine": "^3.0.0",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^7.2.2",
+ "eslint-visitor-keys": "^3.4.3",
+ "espree": "^9.6.1",
+ "esquery": "^1.4.2",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "globals": "^13.19.0",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.2.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "is-path-inside": "^3.0.3",
+ "js-yaml": "^4.1.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.1.2",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.3",
+ "strip-ansi": "^6.0.1",
+ "text-table": "^0.2.0"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "../node_modules/eslint-config-prettier": {
+ "version": "8.10.2",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "eslint-config-prettier": "bin/cli.js"
+ },
+ "peerDependencies": {
+ "eslint": ">=7.0.0"
+ }
+ },
+ "../node_modules/eslint-plugin-eslint-comments": {
+ "version": "3.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "escape-string-regexp": "^1.0.5",
+ "ignore": "^5.0.5"
+ },
+ "engines": {
+ "node": ">=6.5.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ },
+ "peerDependencies": {
+ "eslint": ">=4.19.1"
+ }
+ },
+ "../node_modules/eslint-plugin-eslint-comments/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "../node_modules/eslint-plugin-ft-flow": {
+ "version": "2.0.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "lodash": "^4.17.21",
+ "string-natural-compare": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=12.22.0"
+ },
+ "peerDependencies": {
+ "@babel/eslint-parser": "^7.12.0",
+ "eslint": "^8.1.0"
+ }
+ },
+ "../node_modules/eslint-plugin-jest": {
+ "version": "26.9.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/utils": "^5.10.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/eslint-plugin": "^5.0.0",
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@typescript-eslint/eslint-plugin": {
+ "optional": true
+ },
+ "jest": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/eslint-plugin-prettier": {
+ "version": "4.2.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prettier-linter-helpers": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "eslint": ">=7.28.0",
+ "prettier": ">=2.0.0"
+ },
+ "peerDependenciesMeta": {
+ "eslint-config-prettier": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/eslint-plugin-react": {
+ "version": "7.37.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-includes": "^3.1.8",
+ "array.prototype.findlast": "^1.2.5",
+ "array.prototype.flatmap": "^1.3.3",
+ "array.prototype.tosorted": "^1.1.4",
+ "doctrine": "^2.1.0",
+ "es-iterator-helpers": "^1.2.1",
+ "estraverse": "^5.3.0",
+ "hasown": "^2.0.2",
+ "jsx-ast-utils": "^2.4.1 || ^3.0.0",
+ "minimatch": "^3.1.2",
+ "object.entries": "^1.1.9",
+ "object.fromentries": "^2.0.8",
+ "object.values": "^1.2.1",
+ "prop-types": "^15.8.1",
+ "resolve": "^2.0.0-next.5",
+ "semver": "^6.3.1",
+ "string.prototype.matchall": "^4.0.12",
+ "string.prototype.repeat": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "peerDependencies": {
+ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7"
+ }
+ },
+ "../node_modules/eslint-plugin-react-hooks": {
+ "version": "4.6.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
+ }
+ },
+ "../node_modules/eslint-plugin-react-native": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eslint-plugin-react-native-globals": "^0.1.1"
+ },
+ "peerDependencies": {
+ "eslint": "^3.17.0 || ^4 || ^5 || ^6 || ^7 || ^8"
+ }
+ },
+ "../node_modules/eslint-plugin-react-native-globals": {
+ "version": "0.1.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/eslint-plugin-react/node_modules/doctrine": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/eslint-plugin-react/node_modules/resolve": {
+ "version": "2.0.0-next.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-core-module": "^2.13.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "../node_modules/eslint-scope/node_modules/estraverse": {
+ "version": "4.3.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "../node_modules/eslint-visitor-keys": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/eslint/node_modules/argparse": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "Python-2.0"
+ },
+ "../node_modules/eslint/node_modules/eslint-scope": {
+ "version": "7.2.2",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "../node_modules/eslint/node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "../node_modules/eslint/node_modules/find-up": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/eslint/node_modules/is-path-inside": {
+ "version": "3.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/eslint/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "../node_modules/eslint/node_modules/locate-path": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/eslint/node_modules/p-locate": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/espree": {
+ "version": "9.6.1",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "acorn": "^8.9.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.4.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "../node_modules/espree/node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "../node_modules/esprima": {
+ "version": "4.0.1",
+ "license": "BSD-2-Clause",
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/esquery": {
+ "version": "1.6.0",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "../node_modules/esrecurse": {
+ "version": "4.3.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "../node_modules/estraverse": {
+ "version": "5.3.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "../node_modules/esutils": {
+ "version": "2.0.3",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/etag": {
+ "version": "1.8.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "../node_modules/event-target-shim": {
+ "version": "5.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/exec-async": {
+ "version": "2.2.0",
+ "license": "MIT",
+ "peer": true
+ },
+ "../node_modules/execa": {
+ "version": "5.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "../node_modules/execa/node_modules/signal-exit": {
+ "version": "3.0.7",
+ "dev": true,
+ "license": "ISC"
+ },
+ "../node_modules/exit": {
+ "version": "0.1.2",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "../node_modules/expect": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/expect-utils": "^28.1.3",
+ "jest-get-type": "^28.0.2",
+ "jest-matcher-utils": "^28.1.3",
+ "jest-message-util": "^28.1.3",
+ "jest-util": "^28.1.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/expect/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/expect/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/expect/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/expect/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "../node_modules/expect/node_modules/diff-sequences": {
+ "version": "28.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/expect/node_modules/jest-diff": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^28.1.1",
+ "jest-get-type": "^28.0.2",
+ "pretty-format": "^28.1.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/expect/node_modules/jest-matcher-utils": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "jest-diff": "^28.1.3",
+ "jest-get-type": "^28.0.2",
+ "pretty-format": "^28.1.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/expect/node_modules/jest-util": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/expect/node_modules/picomatch": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "../node_modules/expect/node_modules/pretty-format": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/expo": {
+ "version": "53.0.20",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/runtime": "^7.20.0",
+ "@expo/cli": "0.24.20",
+ "@expo/config": "~11.0.13",
+ "@expo/config-plugins": "~10.1.2",
+ "@expo/fingerprint": "0.13.4",
+ "@expo/metro-config": "0.20.17",
+ "@expo/vector-icons": "^14.0.0",
+ "babel-preset-expo": "~13.2.3",
+ "expo-asset": "~11.1.7",
+ "expo-constants": "~17.1.7",
+ "expo-file-system": "~18.1.11",
+ "expo-font": "~13.3.2",
+ "expo-keep-awake": "~14.1.4",
+ "expo-modules-autolinking": "2.1.14",
+ "expo-modules-core": "2.5.0",
+ "react-native-edge-to-edge": "1.6.0",
+ "whatwg-url-without-unicode": "8.0.0-3"
+ },
+ "bin": {
+ "expo": "bin/cli",
+ "expo-modules-autolinking": "bin/autolinking",
+ "fingerprint": "bin/fingerprint"
+ },
+ "peerDependencies": {
+ "@expo/dom-webview": "*",
+ "@expo/metro-runtime": "*",
+ "react": "*",
+ "react-native": "*",
+ "react-native-webview": "*"
+ },
+ "peerDependenciesMeta": {
+ "@expo/dom-webview": {
+ "optional": true
+ },
+ "@expo/metro-runtime": {
+ "optional": true
+ },
+ "react-native-webview": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/expo-asset": {
+ "version": "11.1.7",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@expo/image-utils": "^0.7.6",
+ "expo-constants": "~17.1.7"
+ },
+ "peerDependencies": {
+ "expo": "*",
+ "react": "*",
+ "react-native": "*"
+ }
+ },
+ "../node_modules/expo-constants": {
+ "version": "17.1.7",
+ "license": "MIT",
+ "dependencies": {
+ "@expo/config": "~11.0.12",
+ "@expo/env": "~1.0.7"
+ },
+ "peerDependencies": {
+ "expo": "*",
+ "react-native": "*"
+ }
+ },
+ "../node_modules/expo-crypto": {
+ "version": "14.1.5",
+ "license": "MIT",
+ "dependencies": {
+ "base64-js": "^1.3.0"
+ },
+ "peerDependencies": {
+ "expo": "*"
+ }
+ },
+ "../node_modules/expo-file-system": {
+ "version": "18.1.11",
+ "license": "MIT",
+ "peer": true,
+ "peerDependencies": {
+ "expo": "*",
+ "react-native": "*"
+ }
+ },
+ "../node_modules/expo-font": {
+ "version": "13.3.2",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "fontfaceobserver": "^2.1.0"
+ },
+ "peerDependencies": {
+ "expo": "*",
+ "react": "*"
+ }
+ },
+ "../node_modules/expo-keep-awake": {
+ "version": "14.1.4",
+ "license": "MIT",
+ "peer": true,
+ "peerDependencies": {
+ "expo": "*",
+ "react": "*"
+ }
+ },
+ "../node_modules/expo-modules-autolinking": {
+ "version": "2.1.14",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@expo/spawn-async": "^1.7.2",
+ "chalk": "^4.1.0",
+ "commander": "^7.2.0",
+ "find-up": "^5.0.0",
+ "glob": "^10.4.2",
+ "require-from-string": "^2.0.2",
+ "resolve-from": "^5.0.0"
+ },
+ "bin": {
+ "expo-modules-autolinking": "bin/expo-modules-autolinking.js"
+ }
+ },
+ "../node_modules/expo-modules-autolinking/node_modules/find-up": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/expo-modules-autolinking/node_modules/locate-path": {
+ "version": "6.0.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/expo-modules-autolinking/node_modules/p-locate": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/expo-modules-core": {
+ "version": "1.11.14",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "invariant": "^2.2.4"
+ }
+ },
+ "../node_modules/expo/node_modules/expo-modules-core": {
+ "version": "2.5.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "invariant": "^2.2.4"
+ }
+ },
+ "../node_modules/exponential-backoff": {
+ "version": "3.1.2",
+ "license": "Apache-2.0"
+ },
+ "../node_modules/external-editor": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chardet": "^0.7.0",
+ "iconv-lite": "^0.4.24",
+ "tmp": "^0.0.33"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/fast-diff": {
+ "version": "1.3.0",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
+ "../node_modules/fast-glob": {
+ "version": "3.3.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.8"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "../node_modules/fast-glob/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "../node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "license": "MIT"
+ },
+ "../node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/fastq": {
+ "version": "1.19.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "../node_modules/fb-watchman": {
+ "version": "2.0.2",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "bser": "2.1.1"
+ }
+ },
+ "../node_modules/fetch-blob": {
+ "version": "3.2.0",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/jimmywarting"
+ },
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/jimmywarting"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "node-domexception": "^1.0.0",
+ "web-streams-polyfill": "^3.0.3"
+ },
+ "engines": {
+ "node": "^12.20 || >= 14.13"
+ }
+ },
+ "../node_modules/figures": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "escape-string-regexp": "^5.0.0",
+ "is-unicode-supported": "^1.2.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/figures/node_modules/escape-string-regexp": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/file-entry-cache": {
+ "version": "6.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "flat-cache": "^3.0.4"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "../node_modules/fill-range": {
+ "version": "7.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/finalhandler": {
+ "version": "1.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.3",
+ "statuses": "~1.5.0",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "../node_modules/finalhandler/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "../node_modules/finalhandler/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "../node_modules/find-up": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/flat-cache": {
+ "version": "3.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.3",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "../node_modules/flatted": {
+ "version": "3.3.3",
+ "dev": true,
+ "license": "ISC"
+ },
+ "../node_modules/flow-enums-runtime": {
+ "version": "0.0.6",
+ "license": "MIT"
+ },
+ "../node_modules/fontfaceobserver": {
+ "version": "2.3.0",
+ "license": "BSD-2-Clause",
+ "peer": true
+ },
+ "../node_modules/for-each": {
+ "version": "0.3.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-callable": "^1.2.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/foreground-child": {
+ "version": "3.3.1",
+ "license": "ISC",
+ "dependencies": {
+ "cross-spawn": "^7.0.6",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "../node_modules/form-data-encoder": {
+ "version": "2.1.4",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14.17"
+ }
+ },
+ "../node_modules/formdata-polyfill": {
+ "version": "4.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fetch-blob": "^3.1.2"
+ },
+ "engines": {
+ "node": ">=12.20.0"
+ }
+ },
+ "../node_modules/freeport-async": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/fresh": {
+ "version": "0.5.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "../node_modules/fs-extra": {
+ "version": "10.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "../node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "license": "ISC"
+ },
+ "../node_modules/fsevents": {
+ "version": "2.3.3",
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "../node_modules/function-bind": {
+ "version": "1.1.2",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/function.prototype.name": {
+ "version": "1.1.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "functions-have-names": "^1.2.3",
+ "hasown": "^2.0.2",
+ "is-callable": "^1.2.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/functions-have-names": {
+ "version": "1.2.3",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "license": "ISC",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "../node_modules/get-intrinsic": {
+ "version": "1.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "function-bind": "^1.1.2",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/get-package-type": {
+ "version": "0.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "../node_modules/get-pkg-repo": {
+ "version": "4.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@hutson/parse-repository-url": "^3.0.0",
+ "hosted-git-info": "^4.0.0",
+ "through2": "^2.0.0",
+ "yargs": "^16.2.0"
+ },
+ "bin": {
+ "get-pkg-repo": "src/cli.js"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "../node_modules/get-pkg-repo/node_modules/cliui": {
+ "version": "7.0.4",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "../node_modules/get-pkg-repo/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/get-pkg-repo/node_modules/isarray": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/get-pkg-repo/node_modules/readable-stream": {
+ "version": "2.3.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "../node_modules/get-pkg-repo/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/get-pkg-repo/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "../node_modules/get-pkg-repo/node_modules/string-width": {
+ "version": "4.2.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/get-pkg-repo/node_modules/through2": {
+ "version": "2.0.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "readable-stream": "~2.3.6",
+ "xtend": "~4.0.1"
+ }
+ },
+ "../node_modules/get-pkg-repo/node_modules/yargs": {
+ "version": "16.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/get-proto": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dunder-proto": "^1.0.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/get-stream": {
+ "version": "6.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/get-symbol-description": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/get-uri": {
+ "version": "6.0.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "basic-ftp": "^5.0.2",
+ "data-uri-to-buffer": "^6.0.2",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "../node_modules/getenv": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/git-raw-commits": {
+ "version": "2.0.11",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dargs": "^7.0.0",
+ "lodash": "^4.17.15",
+ "meow": "^8.0.0",
+ "split2": "^3.0.0",
+ "through2": "^4.0.0"
+ },
+ "bin": {
+ "git-raw-commits": "cli.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/git-remote-origin-url": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "gitconfiglocal": "^1.0.0",
+ "pify": "^2.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/git-semver-tags": {
+ "version": "4.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "meow": "^8.0.0",
+ "semver": "^6.0.0"
+ },
+ "bin": {
+ "git-semver-tags": "cli.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/git-up": {
+ "version": "7.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-ssh": "^1.4.0",
+ "parse-url": "^8.1.0"
+ }
+ },
+ "../node_modules/git-url-parse": {
+ "version": "13.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "git-up": "^7.0.0"
+ }
+ },
+ "../node_modules/gitconfiglocal": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "BSD",
+ "dependencies": {
+ "ini": "^1.3.2"
+ }
+ },
+ "../node_modules/glob": {
+ "version": "10.4.5",
+ "license": "ISC",
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^1.11.1"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "../node_modules/glob-parent": {
+ "version": "6.0.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "../node_modules/glob/node_modules/brace-expansion": {
+ "version": "2.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "../node_modules/glob/node_modules/minimatch": {
+ "version": "9.0.5",
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "../node_modules/global-dirs": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ini": "2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/global-dirs/node_modules/ini": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/globals": {
+ "version": "13.24.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/globalthis": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-properties": "^1.2.1",
+ "gopd": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/globby": {
+ "version": "11.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/gopd": {
+ "version": "1.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/got": {
+ "version": "12.6.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sindresorhus/is": "^5.2.0",
+ "@szmarczak/http-timer": "^5.0.1",
+ "cacheable-lookup": "^7.0.0",
+ "cacheable-request": "^10.2.8",
+ "decompress-response": "^6.0.0",
+ "form-data-encoder": "^2.1.2",
+ "get-stream": "^6.0.1",
+ "http2-wrapper": "^2.1.10",
+ "lowercase-keys": "^3.0.0",
+ "p-cancelable": "^3.0.0",
+ "responselike": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/got?sponsor=1"
+ }
+ },
+ "../node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "license": "ISC"
+ },
+ "../node_modules/graphemer": {
+ "version": "1.4.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/handlebars": {
+ "version": "4.7.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.5",
+ "neo-async": "^2.6.2",
+ "source-map": "^0.6.1",
+ "wordwrap": "^1.0.0"
+ },
+ "bin": {
+ "handlebars": "bin/handlebars"
+ },
+ "engines": {
+ "node": ">=0.4.7"
+ },
+ "optionalDependencies": {
+ "uglify-js": "^3.1.4"
+ }
+ },
+ "../node_modules/hard-rejection": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/has-bigints": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/has-property-descriptors": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-define-property": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/has-proto": {
+ "version": "1.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dunder-proto": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/has-symbols": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/has-tostringtag": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-symbols": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/has-yarn": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/hasown": {
+ "version": "2.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/hermes-estree": {
+ "version": "0.25.1",
+ "license": "MIT"
+ },
+ "../node_modules/hermes-parser": {
+ "version": "0.25.1",
+ "license": "MIT",
+ "dependencies": {
+ "hermes-estree": "0.25.1"
+ }
+ },
+ "../node_modules/hosted-git-info": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/hosted-git-info/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/hosted-git-info/node_modules/yallist": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "ISC"
+ },
+ "../node_modules/html-escaper": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/http-cache-semantics": {
+ "version": "4.2.0",
+ "dev": true,
+ "license": "BSD-2-Clause"
+ },
+ "../node_modules/http-errors": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "../node_modules/http-errors/node_modules/statuses": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "../node_modules/http-proxy-agent": {
+ "version": "7.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.1.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "../node_modules/http2-wrapper": {
+ "version": "2.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "quick-lru": "^5.1.1",
+ "resolve-alpn": "^1.2.0"
+ },
+ "engines": {
+ "node": ">=10.19.0"
+ }
+ },
+ "../node_modules/http2-wrapper/node_modules/quick-lru": {
+ "version": "5.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/https-proxy-agent": {
+ "version": "7.0.6",
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.1.2",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "../node_modules/human-signals": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.17.0"
+ }
+ },
+ "../node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/ieee754": {
+ "version": "1.2.1",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "BSD-3-Clause"
+ },
+ "../node_modules/ignore": {
+ "version": "5.3.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "../node_modules/image-size": {
+ "version": "1.2.1",
+ "license": "MIT",
+ "dependencies": {
+ "queue": "6.0.2"
+ },
+ "bin": {
+ "image-size": "bin/image-size.js"
+ },
+ "engines": {
+ "node": ">=16.x"
+ }
+ },
+ "../node_modules/import-fresh": {
+ "version": "3.3.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/import-fresh/node_modules/resolve-from": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/import-lazy": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/import-local": {
+ "version": "3.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ },
+ "bin": {
+ "import-local-fixture": "fixtures/cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "../node_modules/indent-string": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/inflight": {
+ "version": "1.0.6",
+ "license": "ISC",
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "../node_modules/inherits": {
+ "version": "2.0.4",
+ "license": "ISC"
+ },
+ "../node_modules/ini": {
+ "version": "1.3.8",
+ "license": "ISC"
+ },
+ "../node_modules/inquirer": {
+ "version": "9.2.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-escapes": "^4.3.2",
+ "chalk": "^5.2.0",
+ "cli-cursor": "^3.1.0",
+ "cli-width": "^4.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^5.0.0",
+ "lodash": "^4.17.21",
+ "mute-stream": "1.0.0",
+ "ora": "^5.4.1",
+ "run-async": "^3.0.0",
+ "rxjs": "^7.8.1",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "through": "^2.3.6",
+ "wrap-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=14.18.0"
+ }
+ },
+ "../node_modules/inquirer/node_modules/chalk": {
+ "version": "5.6.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "../node_modules/inquirer/node_modules/cli-cursor": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "restore-cursor": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/inquirer/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/inquirer/node_modules/is-unicode-supported": {
+ "version": "0.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/inquirer/node_modules/log-symbols": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/inquirer/node_modules/log-symbols/node_modules/chalk": {
+ "version": "4.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "../node_modules/inquirer/node_modules/ora": {
+ "version": "5.4.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bl": "^4.1.0",
+ "chalk": "^4.1.0",
+ "cli-cursor": "^3.1.0",
+ "cli-spinners": "^2.5.0",
+ "is-interactive": "^1.0.0",
+ "is-unicode-supported": "^0.1.0",
+ "log-symbols": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "wcwidth": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/inquirer/node_modules/ora/node_modules/chalk": {
+ "version": "4.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "../node_modules/inquirer/node_modules/restore-cursor": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/inquirer/node_modules/signal-exit": {
+ "version": "3.0.7",
+ "dev": true,
+ "license": "ISC"
+ },
+ "../node_modules/inquirer/node_modules/string-width": {
+ "version": "4.2.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/inquirer/node_modules/wrap-ansi": {
+ "version": "6.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/internal-slot": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "hasown": "^2.0.2",
+ "side-channel": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/interpret": {
+ "version": "1.4.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "../node_modules/invariant": {
+ "version": "2.2.4",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "../node_modules/ip": {
+ "version": "1.1.9",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/ip-address": {
+ "version": "10.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "../node_modules/is-absolute": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-relative": "^1.0.0",
+ "is-windows": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/is-arguments": {
+ "version": "1.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-array-buffer": {
+ "version": "3.0.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "get-intrinsic": "^1.2.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "license": "MIT"
+ },
+ "../node_modules/is-async-function": {
+ "version": "2.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "async-function": "^1.0.0",
+ "call-bound": "^1.0.3",
+ "get-proto": "^1.0.1",
+ "has-tostringtag": "^1.0.2",
+ "safe-regex-test": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-bigint": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-bigints": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-boolean-object": {
+ "version": "1.2.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-callable": {
+ "version": "1.2.7",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-ci": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ci-info": "^3.2.0"
+ },
+ "bin": {
+ "is-ci": "bin.js"
+ }
+ },
+ "../node_modules/is-core-module": {
+ "version": "2.16.1",
+ "license": "MIT",
+ "dependencies": {
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-data-view": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "get-intrinsic": "^1.2.6",
+ "is-typed-array": "^1.1.13"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-date-object": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-directory": {
+ "version": "0.3.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/is-docker": {
+ "version": "2.2.1",
+ "license": "MIT",
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/is-extglob": {
+ "version": "2.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/is-finalizationregistry": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/is-generator-fn": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/is-generator-function": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "get-proto": "^1.0.0",
+ "has-tostringtag": "^1.0.2",
+ "safe-regex-test": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-git-dirty": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "execa": "^4.0.3",
+ "is-git-repository": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/is-git-dirty/node_modules/execa": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^7.0.0",
+ "get-stream": "^5.0.0",
+ "human-signals": "^1.1.1",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.0",
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "../node_modules/is-git-dirty/node_modules/get-stream": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/is-git-dirty/node_modules/human-signals": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=8.12.0"
+ }
+ },
+ "../node_modules/is-git-dirty/node_modules/signal-exit": {
+ "version": "3.0.7",
+ "dev": true,
+ "license": "ISC"
+ },
+ "../node_modules/is-git-repository": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "execa": "^4.0.3",
+ "is-absolute": "^1.0.0"
+ }
+ },
+ "../node_modules/is-git-repository/node_modules/execa": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^7.0.0",
+ "get-stream": "^5.0.0",
+ "human-signals": "^1.1.1",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.0",
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "../node_modules/is-git-repository/node_modules/get-stream": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/is-git-repository/node_modules/human-signals": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=8.12.0"
+ }
+ },
+ "../node_modules/is-git-repository/node_modules/signal-exit": {
+ "version": "3.0.7",
+ "dev": true,
+ "license": "ISC"
+ },
+ "../node_modules/is-glob": {
+ "version": "4.0.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/is-inside-container": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-docker": "^3.0.0"
+ },
+ "bin": {
+ "is-inside-container": "cli.js"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/is-inside-container/node_modules/is-docker": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/is-installed-globally": {
+ "version": "0.4.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "global-dirs": "^3.0.0",
+ "is-path-inside": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/is-installed-globally/node_modules/is-path-inside": {
+ "version": "3.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/is-interactive": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/is-map": {
+ "version": "2.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-negative-zero": {
+ "version": "2.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-npm": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/is-number": {
+ "version": "7.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "../node_modules/is-number-object": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-obj": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/is-path-cwd": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/is-path-inside": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/is-plain-obj": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/is-plain-object": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/is-regex": {
+ "version": "1.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "gopd": "^1.2.0",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-relative": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-unc-path": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/is-set": {
+ "version": "2.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-shared-array-buffer": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-ssh": {
+ "version": "1.4.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "protocols": "^2.0.1"
+ }
+ },
+ "../node_modules/is-stream": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/is-string": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-symbol": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "has-symbols": "^1.1.0",
+ "safe-regex-test": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-text-path": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "text-extensions": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/is-typed-array": {
+ "version": "1.1.15",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "which-typed-array": "^1.1.16"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-typedarray": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/is-unc-path": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "unc-path-regex": "^0.1.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/is-unicode-supported": {
+ "version": "1.3.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/is-weakmap": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-weakref": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-weakset": {
+ "version": "2.0.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "get-intrinsic": "^1.2.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/is-windows": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/is-wsl": {
+ "version": "2.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "is-docker": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/is-yarn-global": {
+ "version": "0.4.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "../node_modules/isarray": {
+ "version": "2.0.5",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/isexe": {
+ "version": "2.0.0",
+ "license": "ISC"
+ },
+ "../node_modules/isomorphic-fetch": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "node-fetch": "^2.6.1",
+ "whatwg-fetch": "^3.4.1"
+ }
+ },
+ "../node_modules/issue-parser": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "lodash.capitalize": "^4.2.1",
+ "lodash.escaperegexp": "^4.1.2",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.isstring": "^4.0.1",
+ "lodash.uniqby": "^4.7.0"
+ },
+ "engines": {
+ "node": ">=10.13"
+ }
+ },
+ "../node_modules/istanbul-lib-coverage": {
+ "version": "3.2.2",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/istanbul-lib-instrument": {
+ "version": "5.2.1",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@babel/core": "^7.12.3",
+ "@babel/parser": "^7.14.7",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.2.0",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/istanbul-lib-report": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^4.0.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/istanbul-lib-source-maps": {
+ "version": "4.0.1",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/istanbul-reports": {
+ "version": "3.1.7",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/iterate-iterator": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/iterate-value": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-get-iterator": "^1.0.2",
+ "iterate-iterator": "^1.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/iterator.prototype": {
+ "version": "1.1.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.6",
+ "get-proto": "^1.0.0",
+ "has-symbols": "^1.1.0",
+ "set-function-name": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/jackspeak": {
+ "version": "3.4.3",
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/cliui": "^8.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ },
+ "optionalDependencies": {
+ "@pkgjs/parseargs": "^0.11.0"
+ }
+ },
+ "../node_modules/jest": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/core": "^28.1.3",
+ "@jest/types": "^28.1.3",
+ "import-local": "^3.0.2",
+ "jest-cli": "^28.1.3"
+ },
+ "bin": {
+ "jest": "bin/jest.js"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/jest-changed-files": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "execa": "^5.0.0",
+ "p-limit": "^3.1.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-circus": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/environment": "^28.1.3",
+ "@jest/expect": "^28.1.3",
+ "@jest/test-result": "^28.1.3",
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "co": "^4.6.0",
+ "dedent": "^0.7.0",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^28.1.3",
+ "jest-matcher-utils": "^28.1.3",
+ "jest-message-util": "^28.1.3",
+ "jest-runtime": "^28.1.3",
+ "jest-snapshot": "^28.1.3",
+ "jest-util": "^28.1.3",
+ "p-limit": "^3.1.0",
+ "pretty-format": "^28.1.3",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-circus/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-circus/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-circus/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/jest-circus/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "../node_modules/jest-circus/node_modules/diff-sequences": {
+ "version": "28.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-circus/node_modules/jest-diff": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^28.1.1",
+ "jest-get-type": "^28.0.2",
+ "pretty-format": "^28.1.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-circus/node_modules/jest-matcher-utils": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "jest-diff": "^28.1.3",
+ "jest-get-type": "^28.0.2",
+ "pretty-format": "^28.1.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-circus/node_modules/jest-util": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-circus/node_modules/picomatch": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "../node_modules/jest-circus/node_modules/pretty-format": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-cli": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/core": "^28.1.3",
+ "@jest/test-result": "^28.1.3",
+ "@jest/types": "^28.1.3",
+ "chalk": "^4.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.9",
+ "import-local": "^3.0.2",
+ "jest-config": "^28.1.3",
+ "jest-util": "^28.1.3",
+ "jest-validate": "^28.1.3",
+ "prompts": "^2.0.1",
+ "yargs": "^17.3.1"
+ },
+ "bin": {
+ "jest": "bin/jest.js"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/jest-cli/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-cli/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-cli/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/jest-cli/node_modules/jest-util": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-cli/node_modules/picomatch": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "../node_modules/jest-config": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.11.6",
+ "@jest/test-sequencer": "^28.1.3",
+ "@jest/types": "^28.1.3",
+ "babel-jest": "^28.1.3",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "deepmerge": "^4.2.2",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.9",
+ "jest-circus": "^28.1.3",
+ "jest-environment-node": "^28.1.3",
+ "jest-get-type": "^28.0.2",
+ "jest-regex-util": "^28.0.2",
+ "jest-resolve": "^28.1.3",
+ "jest-runner": "^28.1.3",
+ "jest-util": "^28.1.3",
+ "jest-validate": "^28.1.3",
+ "micromatch": "^4.0.4",
+ "parse-json": "^5.2.0",
+ "pretty-format": "^28.1.3",
+ "slash": "^3.0.0",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "peerDependencies": {
+ "@types/node": "*",
+ "ts-node": ">=9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "ts-node": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/jest-config/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-config/node_modules/@jest/transform": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.11.6",
+ "@jest/types": "^28.1.3",
+ "@jridgewell/trace-mapping": "^0.3.13",
+ "babel-plugin-istanbul": "^6.1.1",
+ "chalk": "^4.0.0",
+ "convert-source-map": "^1.4.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^28.1.3",
+ "jest-regex-util": "^28.0.2",
+ "jest-util": "^28.1.3",
+ "micromatch": "^4.0.4",
+ "pirates": "^4.0.4",
+ "slash": "^3.0.0",
+ "write-file-atomic": "^4.0.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-config/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-config/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/jest-config/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "../node_modules/jest-config/node_modules/babel-jest": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/transform": "^28.1.3",
+ "@types/babel__core": "^7.1.14",
+ "babel-plugin-istanbul": "^6.1.1",
+ "babel-preset-jest": "^28.1.3",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.8.0"
+ }
+ },
+ "../node_modules/jest-config/node_modules/babel-plugin-jest-hoist": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.3.3",
+ "@babel/types": "^7.3.3",
+ "@types/babel__core": "^7.1.14",
+ "@types/babel__traverse": "^7.0.6"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-config/node_modules/babel-preset-jest": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "babel-plugin-jest-hoist": "^28.1.3",
+ "babel-preset-current-node-syntax": "^1.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "../node_modules/jest-config/node_modules/convert-source-map": {
+ "version": "1.9.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/jest-config/node_modules/glob": {
+ "version": "7.2.3",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "../node_modules/jest-config/node_modules/jest-haste-map": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/graceful-fs": "^4.1.3",
+ "@types/node": "*",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-regex-util": "^28.0.2",
+ "jest-util": "^28.1.3",
+ "jest-worker": "^28.1.3",
+ "micromatch": "^4.0.4",
+ "walker": "^1.0.8"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.3.2"
+ }
+ },
+ "../node_modules/jest-config/node_modules/jest-regex-util": {
+ "version": "28.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-config/node_modules/jest-util": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-config/node_modules/picomatch": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "../node_modules/jest-config/node_modules/pretty-format": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-diff": {
+ "version": "29.7.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^29.6.3",
+ "jest-get-type": "^29.6.3",
+ "pretty-format": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/jest-diff/node_modules/jest-get-type": {
+ "version": "29.6.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/jest-docblock": {
+ "version": "28.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "detect-newline": "^3.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-each": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^28.0.2",
+ "jest-util": "^28.1.3",
+ "pretty-format": "^28.1.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-each/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-each/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-each/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/jest-each/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "../node_modules/jest-each/node_modules/jest-util": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-each/node_modules/picomatch": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "../node_modules/jest-each/node_modules/pretty-format": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-environment-node": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/environment": "^28.1.3",
+ "@jest/fake-timers": "^28.1.3",
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "jest-mock": "^28.1.3",
+ "jest-util": "^28.1.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-environment-node/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-environment-node/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-environment-node/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/jest-environment-node/node_modules/jest-util": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-environment-node/node_modules/picomatch": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "../node_modules/jest-get-type": {
+ "version": "28.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-haste-map": {
+ "version": "29.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "@types/graceful-fs": "^4.1.3",
+ "@types/node": "*",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-regex-util": "^29.6.3",
+ "jest-util": "^29.7.0",
+ "jest-worker": "^29.7.0",
+ "micromatch": "^4.0.4",
+ "walker": "^1.0.8"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.3.2"
+ }
+ },
+ "../node_modules/jest-haste-map/node_modules/jest-worker": {
+ "version": "29.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*",
+ "jest-util": "^29.7.0",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/jest-haste-map/node_modules/supports-color": {
+ "version": "8.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "../node_modules/jest-leak-detector": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "jest-get-type": "^28.0.2",
+ "pretty-format": "^28.1.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-leak-detector/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-leak-detector/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/jest-leak-detector/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "../node_modules/jest-leak-detector/node_modules/pretty-format": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-matcher-utils": {
+ "version": "29.7.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "jest-diff": "^29.7.0",
+ "jest-get-type": "^29.6.3",
+ "pretty-format": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/jest-matcher-utils/node_modules/jest-get-type": {
+ "version": "29.6.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/jest-message-util": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.12.13",
+ "@jest/types": "^28.1.3",
+ "@types/stack-utils": "^2.0.0",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^28.1.3",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-message-util/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-message-util/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-message-util/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/jest-message-util/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "../node_modules/jest-message-util/node_modules/pretty-format": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-mock": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/node": "*"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-mock/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-mock/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-mock/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/jest-pnp-resolver": {
+ "version": "1.2.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ },
+ "peerDependencies": {
+ "jest-resolve": "*"
+ },
+ "peerDependenciesMeta": {
+ "jest-resolve": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/jest-regex-util": {
+ "version": "29.6.3",
+ "license": "MIT",
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/jest-resolve": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^28.1.3",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^28.1.3",
+ "jest-validate": "^28.1.3",
+ "resolve": "^1.20.0",
+ "resolve.exports": "^1.1.0",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-resolve-dependencies": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "jest-regex-util": "^28.0.2",
+ "jest-snapshot": "^28.1.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-resolve-dependencies/node_modules/jest-regex-util": {
+ "version": "28.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-resolve/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-resolve/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-resolve/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/jest-resolve/node_modules/jest-haste-map": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/graceful-fs": "^4.1.3",
+ "@types/node": "*",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-regex-util": "^28.0.2",
+ "jest-util": "^28.1.3",
+ "jest-worker": "^28.1.3",
+ "micromatch": "^4.0.4",
+ "walker": "^1.0.8"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.3.2"
+ }
+ },
+ "../node_modules/jest-resolve/node_modules/jest-regex-util": {
+ "version": "28.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-resolve/node_modules/jest-util": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-resolve/node_modules/picomatch": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "../node_modules/jest-resolve/node_modules/resolve.exports": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/jest-runner": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/console": "^28.1.3",
+ "@jest/environment": "^28.1.3",
+ "@jest/test-result": "^28.1.3",
+ "@jest/transform": "^28.1.3",
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "emittery": "^0.10.2",
+ "graceful-fs": "^4.2.9",
+ "jest-docblock": "^28.1.1",
+ "jest-environment-node": "^28.1.3",
+ "jest-haste-map": "^28.1.3",
+ "jest-leak-detector": "^28.1.3",
+ "jest-message-util": "^28.1.3",
+ "jest-resolve": "^28.1.3",
+ "jest-runtime": "^28.1.3",
+ "jest-util": "^28.1.3",
+ "jest-watcher": "^28.1.3",
+ "jest-worker": "^28.1.3",
+ "p-limit": "^3.1.0",
+ "source-map-support": "0.5.13"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-runner/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-runner/node_modules/@jest/transform": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.11.6",
+ "@jest/types": "^28.1.3",
+ "@jridgewell/trace-mapping": "^0.3.13",
+ "babel-plugin-istanbul": "^6.1.1",
+ "chalk": "^4.0.0",
+ "convert-source-map": "^1.4.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^28.1.3",
+ "jest-regex-util": "^28.0.2",
+ "jest-util": "^28.1.3",
+ "micromatch": "^4.0.4",
+ "pirates": "^4.0.4",
+ "slash": "^3.0.0",
+ "write-file-atomic": "^4.0.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-runner/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-runner/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/jest-runner/node_modules/convert-source-map": {
+ "version": "1.9.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/jest-runner/node_modules/jest-haste-map": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/graceful-fs": "^4.1.3",
+ "@types/node": "*",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-regex-util": "^28.0.2",
+ "jest-util": "^28.1.3",
+ "jest-worker": "^28.1.3",
+ "micromatch": "^4.0.4",
+ "walker": "^1.0.8"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.3.2"
+ }
+ },
+ "../node_modules/jest-runner/node_modules/jest-regex-util": {
+ "version": "28.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-runner/node_modules/jest-util": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-runner/node_modules/picomatch": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "../node_modules/jest-runner/node_modules/source-map-support": {
+ "version": "0.5.13",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "../node_modules/jest-runtime": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/environment": "^28.1.3",
+ "@jest/fake-timers": "^28.1.3",
+ "@jest/globals": "^28.1.3",
+ "@jest/source-map": "^28.1.2",
+ "@jest/test-result": "^28.1.3",
+ "@jest/transform": "^28.1.3",
+ "@jest/types": "^28.1.3",
+ "chalk": "^4.0.0",
+ "cjs-module-lexer": "^1.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "execa": "^5.0.0",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^28.1.3",
+ "jest-message-util": "^28.1.3",
+ "jest-mock": "^28.1.3",
+ "jest-regex-util": "^28.0.2",
+ "jest-resolve": "^28.1.3",
+ "jest-snapshot": "^28.1.3",
+ "jest-util": "^28.1.3",
+ "slash": "^3.0.0",
+ "strip-bom": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-runtime/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-runtime/node_modules/@jest/transform": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.11.6",
+ "@jest/types": "^28.1.3",
+ "@jridgewell/trace-mapping": "^0.3.13",
+ "babel-plugin-istanbul": "^6.1.1",
+ "chalk": "^4.0.0",
+ "convert-source-map": "^1.4.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^28.1.3",
+ "jest-regex-util": "^28.0.2",
+ "jest-util": "^28.1.3",
+ "micromatch": "^4.0.4",
+ "pirates": "^4.0.4",
+ "slash": "^3.0.0",
+ "write-file-atomic": "^4.0.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-runtime/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-runtime/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/jest-runtime/node_modules/convert-source-map": {
+ "version": "1.9.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/jest-runtime/node_modules/glob": {
+ "version": "7.2.3",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "../node_modules/jest-runtime/node_modules/jest-haste-map": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/graceful-fs": "^4.1.3",
+ "@types/node": "*",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-regex-util": "^28.0.2",
+ "jest-util": "^28.1.3",
+ "jest-worker": "^28.1.3",
+ "micromatch": "^4.0.4",
+ "walker": "^1.0.8"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.3.2"
+ }
+ },
+ "../node_modules/jest-runtime/node_modules/jest-regex-util": {
+ "version": "28.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-runtime/node_modules/jest-util": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-runtime/node_modules/picomatch": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "../node_modules/jest-snapshot": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.11.6",
+ "@babel/generator": "^7.7.2",
+ "@babel/plugin-syntax-typescript": "^7.7.2",
+ "@babel/traverse": "^7.7.2",
+ "@babel/types": "^7.3.3",
+ "@jest/expect-utils": "^28.1.3",
+ "@jest/transform": "^28.1.3",
+ "@jest/types": "^28.1.3",
+ "@types/babel__traverse": "^7.0.6",
+ "@types/prettier": "^2.1.5",
+ "babel-preset-current-node-syntax": "^1.0.0",
+ "chalk": "^4.0.0",
+ "expect": "^28.1.3",
+ "graceful-fs": "^4.2.9",
+ "jest-diff": "^28.1.3",
+ "jest-get-type": "^28.0.2",
+ "jest-haste-map": "^28.1.3",
+ "jest-matcher-utils": "^28.1.3",
+ "jest-message-util": "^28.1.3",
+ "jest-util": "^28.1.3",
+ "natural-compare": "^1.4.0",
+ "pretty-format": "^28.1.3",
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-snapshot/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-snapshot/node_modules/@jest/transform": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.11.6",
+ "@jest/types": "^28.1.3",
+ "@jridgewell/trace-mapping": "^0.3.13",
+ "babel-plugin-istanbul": "^6.1.1",
+ "chalk": "^4.0.0",
+ "convert-source-map": "^1.4.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^28.1.3",
+ "jest-regex-util": "^28.0.2",
+ "jest-util": "^28.1.3",
+ "micromatch": "^4.0.4",
+ "pirates": "^4.0.4",
+ "slash": "^3.0.0",
+ "write-file-atomic": "^4.0.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-snapshot/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-snapshot/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/jest-snapshot/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "../node_modules/jest-snapshot/node_modules/convert-source-map": {
+ "version": "1.9.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/jest-snapshot/node_modules/diff-sequences": {
+ "version": "28.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-snapshot/node_modules/jest-diff": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^28.1.1",
+ "jest-get-type": "^28.0.2",
+ "pretty-format": "^28.1.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-snapshot/node_modules/jest-haste-map": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/graceful-fs": "^4.1.3",
+ "@types/node": "*",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-regex-util": "^28.0.2",
+ "jest-util": "^28.1.3",
+ "jest-worker": "^28.1.3",
+ "micromatch": "^4.0.4",
+ "walker": "^1.0.8"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.3.2"
+ }
+ },
+ "../node_modules/jest-snapshot/node_modules/jest-matcher-utils": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "jest-diff": "^28.1.3",
+ "jest-get-type": "^28.0.2",
+ "pretty-format": "^28.1.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-snapshot/node_modules/jest-regex-util": {
+ "version": "28.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-snapshot/node_modules/jest-util": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-snapshot/node_modules/picomatch": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "../node_modules/jest-snapshot/node_modules/pretty-format": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-snapshot/node_modules/semver": {
+ "version": "7.7.2",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/jest-util": {
+ "version": "29.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/jest-util/node_modules/picomatch": {
+ "version": "2.3.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "../node_modules/jest-validate": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "camelcase": "^6.2.0",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^28.0.2",
+ "leven": "^3.1.0",
+ "pretty-format": "^28.1.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-validate/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-validate/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-validate/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/jest-validate/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "../node_modules/jest-validate/node_modules/camelcase": {
+ "version": "6.3.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/jest-validate/node_modules/pretty-format": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-watcher": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/test-result": "^28.1.3",
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "emittery": "^0.10.2",
+ "jest-util": "^28.1.3",
+ "string-length": "^4.0.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-watcher/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-watcher/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-watcher/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/jest-watcher/node_modules/jest-util": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-watcher/node_modules/picomatch": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "../node_modules/jest-worker": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest-worker/node_modules/supports-color": {
+ "version": "8.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "../node_modules/jest/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "../node_modules/jest/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/jetifier": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "bin": {
+ "jetifier": "bin/jetify",
+ "jetifier-standalone": "bin/jetifier-standalone",
+ "jetify": "bin/jetify"
+ }
+ },
+ "../node_modules/jimp-compact": {
+ "version": "0.16.1",
+ "license": "MIT",
+ "peer": true
+ },
+ "../node_modules/js-tokens": {
+ "version": "4.0.0",
+ "license": "MIT"
+ },
+ "../node_modules/js-yaml": {
+ "version": "3.14.1",
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "../node_modules/jsc-safe-url": {
+ "version": "0.2.4",
+ "license": "0BSD"
+ },
+ "../node_modules/jsesc": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/json-buffer": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/json-parse-better-errors": {
+ "version": "1.0.2",
+ "license": "MIT"
+ },
+ "../node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/json-stringify-safe": {
+ "version": "5.0.1",
+ "dev": true,
+ "license": "ISC"
+ },
+ "../node_modules/json5": {
+ "version": "2.2.3",
+ "license": "MIT",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/jsonfile": {
+ "version": "6.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "../node_modules/jsonparse": {
+ "version": "1.3.1",
+ "dev": true,
+ "engines": [
+ "node >= 0.2.0"
+ ],
+ "license": "MIT"
+ },
+ "../node_modules/JSONStream": {
+ "version": "1.3.5",
+ "dev": true,
+ "license": "(MIT OR Apache-2.0)",
+ "dependencies": {
+ "jsonparse": "^1.2.0",
+ "through": ">=2.2.7 <3"
+ },
+ "bin": {
+ "JSONStream": "bin.js"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "../node_modules/jsx-ast-utils": {
+ "version": "3.3.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-includes": "^3.1.6",
+ "array.prototype.flat": "^1.3.1",
+ "object.assign": "^4.1.4",
+ "object.values": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "../node_modules/keyv": {
+ "version": "4.5.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "json-buffer": "3.0.1"
+ }
+ },
+ "../node_modules/kind-of": {
+ "version": "6.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/kleur": {
+ "version": "3.0.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/lan-network": {
+ "version": "0.1.7",
+ "license": "MIT",
+ "peer": true,
+ "bin": {
+ "lan-network": "dist/lan-network-cli.js"
+ }
+ },
+ "../node_modules/latest-version": {
+ "version": "7.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "package-json": "^8.1.0"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/leven": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/levn": {
+ "version": "0.4.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "../node_modules/lighthouse-logger": {
+ "version": "1.4.2",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "debug": "^2.6.9",
+ "marky": "^1.2.2"
+ }
+ },
+ "../node_modules/lighthouse-logger/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "../node_modules/lighthouse-logger/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "../node_modules/lightningcss": {
+ "version": "1.27.0",
+ "license": "MPL-2.0",
+ "peer": true,
+ "dependencies": {
+ "detect-libc": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "optionalDependencies": {
+ "lightningcss-darwin-arm64": "1.27.0",
+ "lightningcss-darwin-x64": "1.27.0",
+ "lightningcss-freebsd-x64": "1.27.0",
+ "lightningcss-linux-arm-gnueabihf": "1.27.0",
+ "lightningcss-linux-arm64-gnu": "1.27.0",
+ "lightningcss-linux-arm64-musl": "1.27.0",
+ "lightningcss-linux-x64-gnu": "1.27.0",
+ "lightningcss-linux-x64-musl": "1.27.0",
+ "lightningcss-win32-arm64-msvc": "1.27.0",
+ "lightningcss-win32-x64-msvc": "1.27.0"
+ }
+ },
+ "../node_modules/lightningcss-darwin-arm64": {
+ "version": "1.27.0",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "../node_modules/lines-and-columns": {
+ "version": "1.2.4",
+ "license": "MIT"
+ },
+ "../node_modules/load-json-file": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^4.0.0",
+ "pify": "^3.0.0",
+ "strip-bom": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/load-json-file/node_modules/parse-json": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/load-json-file/node_modules/pify": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/load-json-file/node_modules/strip-bom": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/locate-path": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/lodash": {
+ "version": "4.17.21",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/lodash.capitalize": {
+ "version": "4.2.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/lodash.debounce": {
+ "version": "4.0.8",
+ "license": "MIT"
+ },
+ "../node_modules/lodash.escaperegexp": {
+ "version": "4.1.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/lodash.ismatch": {
+ "version": "4.4.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/lodash.isplainobject": {
+ "version": "4.0.6",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/lodash.isstring": {
+ "version": "4.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/lodash.merge": {
+ "version": "4.6.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/lodash.throttle": {
+ "version": "4.1.1",
+ "license": "MIT"
+ },
+ "../node_modules/lodash.uniqby": {
+ "version": "4.7.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/log-symbols": {
+ "version": "2.2.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "chalk": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/log-symbols/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/log-symbols/node_modules/chalk": {
+ "version": "2.4.2",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/log-symbols/node_modules/color-convert": {
+ "version": "1.9.3",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "../node_modules/log-symbols/node_modules/color-name": {
+ "version": "1.1.3",
+ "license": "MIT",
+ "peer": true
+ },
+ "../node_modules/log-symbols/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "../node_modules/log-symbols/node_modules/has-flag": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/log-symbols/node_modules/supports-color": {
+ "version": "5.5.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/loose-envify": {
+ "version": "1.4.0",
+ "license": "MIT",
+ "dependencies": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "loose-envify": "cli.js"
+ }
+ },
+ "../node_modules/lowercase-keys": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/lru-cache": {
+ "version": "5.1.1",
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "../node_modules/macos-release": {
+ "version": "3.4.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/make-dir": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "semver": "^7.5.3"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/make-dir/node_modules/semver": {
+ "version": "7.7.2",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/makeerror": {
+ "version": "1.0.12",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "tmpl": "1.0.5"
+ }
+ },
+ "../node_modules/map-obj": {
+ "version": "4.3.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/marky": {
+ "version": "1.3.0",
+ "license": "Apache-2.0"
+ },
+ "../node_modules/math-intrinsics": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/memoize-one": {
+ "version": "5.2.1",
+ "license": "MIT"
+ },
+ "../node_modules/meow": {
+ "version": "8.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/minimist": "^1.2.0",
+ "camelcase-keys": "^6.2.2",
+ "decamelize-keys": "^1.1.0",
+ "hard-rejection": "^2.1.0",
+ "minimist-options": "4.1.0",
+ "normalize-package-data": "^3.0.0",
+ "read-pkg-up": "^7.0.1",
+ "redent": "^3.0.0",
+ "trim-newlines": "^3.0.0",
+ "type-fest": "^0.18.0",
+ "yargs-parser": "^20.2.3"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/meow/node_modules/hosted-git-info": {
+ "version": "2.8.9",
+ "dev": true,
+ "license": "ISC"
+ },
+ "../node_modules/meow/node_modules/read-pkg": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/meow/node_modules/read-pkg-up": {
+ "version": "7.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": {
+ "version": "0.8.1",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": {
+ "version": "2.5.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "../node_modules/meow/node_modules/read-pkg/node_modules/type-fest": {
+ "version": "0.6.0",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/meow/node_modules/semver": {
+ "version": "5.7.2",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "../node_modules/meow/node_modules/type-fest": {
+ "version": "0.18.1",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/merge-stream": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "../node_modules/merge2": {
+ "version": "1.4.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "../node_modules/metro": {
+ "version": "0.82.5",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.24.7",
+ "@babel/core": "^7.25.2",
+ "@babel/generator": "^7.25.0",
+ "@babel/parser": "^7.25.3",
+ "@babel/template": "^7.25.0",
+ "@babel/traverse": "^7.25.3",
+ "@babel/types": "^7.25.2",
+ "accepts": "^1.3.7",
+ "chalk": "^4.0.0",
+ "ci-info": "^2.0.0",
+ "connect": "^3.6.5",
+ "debug": "^4.4.0",
+ "error-stack-parser": "^2.0.6",
+ "flow-enums-runtime": "^0.0.6",
+ "graceful-fs": "^4.2.4",
+ "hermes-parser": "0.29.1",
+ "image-size": "^1.0.2",
+ "invariant": "^2.2.4",
+ "jest-worker": "^29.7.0",
+ "jsc-safe-url": "^0.2.2",
+ "lodash.throttle": "^4.1.1",
+ "metro-babel-transformer": "0.82.5",
+ "metro-cache": "0.82.5",
+ "metro-cache-key": "0.82.5",
+ "metro-config": "0.82.5",
+ "metro-core": "0.82.5",
+ "metro-file-map": "0.82.5",
+ "metro-resolver": "0.82.5",
+ "metro-runtime": "0.82.5",
+ "metro-source-map": "0.82.5",
+ "metro-symbolicate": "0.82.5",
+ "metro-transform-plugins": "0.82.5",
+ "metro-transform-worker": "0.82.5",
+ "mime-types": "^2.1.27",
+ "nullthrows": "^1.1.1",
+ "serialize-error": "^2.1.0",
+ "source-map": "^0.5.6",
+ "throat": "^5.0.0",
+ "ws": "^7.5.10",
+ "yargs": "^17.6.2"
+ },
+ "bin": {
+ "metro": "src/cli.js"
+ },
+ "engines": {
+ "node": ">=18.18"
+ }
+ },
+ "../node_modules/metro-babel-transformer": {
+ "version": "0.82.5",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.25.2",
+ "flow-enums-runtime": "^0.0.6",
+ "hermes-parser": "0.29.1",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=18.18"
+ }
+ },
+ "../node_modules/metro-babel-transformer/node_modules/hermes-estree": {
+ "version": "0.29.1",
+ "license": "MIT"
+ },
+ "../node_modules/metro-babel-transformer/node_modules/hermes-parser": {
+ "version": "0.29.1",
+ "license": "MIT",
+ "dependencies": {
+ "hermes-estree": "0.29.1"
+ }
+ },
+ "../node_modules/metro-cache": {
+ "version": "0.82.5",
+ "license": "MIT",
+ "dependencies": {
+ "exponential-backoff": "^3.1.1",
+ "flow-enums-runtime": "^0.0.6",
+ "https-proxy-agent": "^7.0.5",
+ "metro-core": "0.82.5"
+ },
+ "engines": {
+ "node": ">=18.18"
+ }
+ },
+ "../node_modules/metro-cache-key": {
+ "version": "0.82.5",
+ "license": "MIT",
+ "dependencies": {
+ "flow-enums-runtime": "^0.0.6"
+ },
+ "engines": {
+ "node": ">=18.18"
+ }
+ },
+ "../node_modules/metro-config": {
+ "version": "0.82.5",
+ "license": "MIT",
+ "dependencies": {
+ "connect": "^3.6.5",
+ "cosmiconfig": "^5.0.5",
+ "flow-enums-runtime": "^0.0.6",
+ "jest-validate": "^29.7.0",
+ "metro": "0.82.5",
+ "metro-cache": "0.82.5",
+ "metro-core": "0.82.5",
+ "metro-runtime": "0.82.5"
+ },
+ "engines": {
+ "node": ">=18.18"
+ }
+ },
+ "../node_modules/metro-config/node_modules/camelcase": {
+ "version": "6.3.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/metro-config/node_modules/jest-get-type": {
+ "version": "29.6.3",
+ "license": "MIT",
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/metro-config/node_modules/jest-validate": {
+ "version": "29.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "camelcase": "^6.2.0",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^29.6.3",
+ "leven": "^3.1.0",
+ "pretty-format": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/metro-core": {
+ "version": "0.82.5",
+ "license": "MIT",
+ "dependencies": {
+ "flow-enums-runtime": "^0.0.6",
+ "lodash.throttle": "^4.1.1",
+ "metro-resolver": "0.82.5"
+ },
+ "engines": {
+ "node": ">=18.18"
+ }
+ },
+ "../node_modules/metro-file-map": {
+ "version": "0.82.5",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.4.0",
+ "fb-watchman": "^2.0.0",
+ "flow-enums-runtime": "^0.0.6",
+ "graceful-fs": "^4.2.4",
+ "invariant": "^2.2.4",
+ "jest-worker": "^29.7.0",
+ "micromatch": "^4.0.4",
+ "nullthrows": "^1.1.1",
+ "walker": "^1.0.7"
+ },
+ "engines": {
+ "node": ">=18.18"
+ }
+ },
+ "../node_modules/metro-file-map/node_modules/jest-worker": {
+ "version": "29.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*",
+ "jest-util": "^29.7.0",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/metro-file-map/node_modules/supports-color": {
+ "version": "8.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "../node_modules/metro-minify-terser": {
+ "version": "0.82.5",
+ "license": "MIT",
+ "dependencies": {
+ "flow-enums-runtime": "^0.0.6",
+ "terser": "^5.15.0"
+ },
+ "engines": {
+ "node": ">=18.18"
+ }
+ },
+ "../node_modules/metro-react-native-babel-preset": {
+ "version": "0.77.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.20.0",
+ "@babel/plugin-proposal-async-generator-functions": "^7.0.0",
+ "@babel/plugin-proposal-class-properties": "^7.18.0",
+ "@babel/plugin-proposal-export-default-from": "^7.0.0",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0",
+ "@babel/plugin-proposal-numeric-separator": "^7.0.0",
+ "@babel/plugin-proposal-object-rest-spread": "^7.20.0",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.0.0",
+ "@babel/plugin-proposal-optional-chaining": "^7.20.0",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0",
+ "@babel/plugin-syntax-export-default-from": "^7.0.0",
+ "@babel/plugin-syntax-flow": "^7.18.0",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0",
+ "@babel/plugin-syntax-optional-chaining": "^7.0.0",
+ "@babel/plugin-transform-arrow-functions": "^7.0.0",
+ "@babel/plugin-transform-async-to-generator": "^7.20.0",
+ "@babel/plugin-transform-block-scoping": "^7.0.0",
+ "@babel/plugin-transform-classes": "^7.0.0",
+ "@babel/plugin-transform-computed-properties": "^7.0.0",
+ "@babel/plugin-transform-destructuring": "^7.20.0",
+ "@babel/plugin-transform-flow-strip-types": "^7.20.0",
+ "@babel/plugin-transform-function-name": "^7.0.0",
+ "@babel/plugin-transform-literals": "^7.0.0",
+ "@babel/plugin-transform-modules-commonjs": "^7.0.0",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0",
+ "@babel/plugin-transform-parameters": "^7.0.0",
+ "@babel/plugin-transform-react-display-name": "^7.0.0",
+ "@babel/plugin-transform-react-jsx": "^7.0.0",
+ "@babel/plugin-transform-react-jsx-self": "^7.0.0",
+ "@babel/plugin-transform-react-jsx-source": "^7.0.0",
+ "@babel/plugin-transform-runtime": "^7.0.0",
+ "@babel/plugin-transform-shorthand-properties": "^7.0.0",
+ "@babel/plugin-transform-spread": "^7.0.0",
+ "@babel/plugin-transform-sticky-regex": "^7.0.0",
+ "@babel/plugin-transform-typescript": "^7.5.0",
+ "@babel/plugin-transform-unicode-regex": "^7.0.0",
+ "@babel/template": "^7.0.0",
+ "babel-plugin-transform-flow-enums": "^0.0.2",
+ "react-refresh": "^0.4.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@babel/core": "*"
+ }
+ },
+ "../node_modules/metro-react-native-babel-preset/node_modules/react-refresh": {
+ "version": "0.4.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/metro-resolver": {
+ "version": "0.82.5",
+ "license": "MIT",
+ "dependencies": {
+ "flow-enums-runtime": "^0.0.6"
+ },
+ "engines": {
+ "node": ">=18.18"
+ }
+ },
+ "../node_modules/metro-runtime": {
+ "version": "0.82.5",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.25.0",
+ "flow-enums-runtime": "^0.0.6"
+ },
+ "engines": {
+ "node": ">=18.18"
+ }
+ },
+ "../node_modules/metro-source-map": {
+ "version": "0.82.5",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/traverse": "^7.25.3",
+ "@babel/traverse--for-generate-function-map": "npm:@babel/traverse@^7.25.3",
+ "@babel/types": "^7.25.2",
+ "flow-enums-runtime": "^0.0.6",
+ "invariant": "^2.2.4",
+ "metro-symbolicate": "0.82.5",
+ "nullthrows": "^1.1.1",
+ "ob1": "0.82.5",
+ "source-map": "^0.5.6",
+ "vlq": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=18.18"
+ }
+ },
+ "../node_modules/metro-source-map/node_modules/source-map": {
+ "version": "0.5.7",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/metro-symbolicate": {
+ "version": "0.82.5",
+ "license": "MIT",
+ "dependencies": {
+ "flow-enums-runtime": "^0.0.6",
+ "invariant": "^2.2.4",
+ "metro-source-map": "0.82.5",
+ "nullthrows": "^1.1.1",
+ "source-map": "^0.5.6",
+ "vlq": "^1.0.0"
+ },
+ "bin": {
+ "metro-symbolicate": "src/index.js"
+ },
+ "engines": {
+ "node": ">=18.18"
+ }
+ },
+ "../node_modules/metro-symbolicate/node_modules/source-map": {
+ "version": "0.5.7",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/metro-transform-plugins": {
+ "version": "0.82.5",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.25.2",
+ "@babel/generator": "^7.25.0",
+ "@babel/template": "^7.25.0",
+ "@babel/traverse": "^7.25.3",
+ "flow-enums-runtime": "^0.0.6",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=18.18"
+ }
+ },
+ "../node_modules/metro-transform-worker": {
+ "version": "0.82.5",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.25.2",
+ "@babel/generator": "^7.25.0",
+ "@babel/parser": "^7.25.3",
+ "@babel/types": "^7.25.2",
+ "flow-enums-runtime": "^0.0.6",
+ "metro": "0.82.5",
+ "metro-babel-transformer": "0.82.5",
+ "metro-cache": "0.82.5",
+ "metro-cache-key": "0.82.5",
+ "metro-minify-terser": "0.82.5",
+ "metro-source-map": "0.82.5",
+ "metro-transform-plugins": "0.82.5",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=18.18"
+ }
+ },
+ "../node_modules/metro/node_modules/ci-info": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "../node_modules/metro/node_modules/hermes-estree": {
+ "version": "0.29.1",
+ "license": "MIT"
+ },
+ "../node_modules/metro/node_modules/hermes-parser": {
+ "version": "0.29.1",
+ "license": "MIT",
+ "dependencies": {
+ "hermes-estree": "0.29.1"
+ }
+ },
+ "../node_modules/metro/node_modules/jest-worker": {
+ "version": "29.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*",
+ "jest-util": "^29.7.0",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/metro/node_modules/source-map": {
+ "version": "0.5.7",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/metro/node_modules/supports-color": {
+ "version": "8.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "../node_modules/metro/node_modules/ws": {
+ "version": "7.5.10",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.3.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/micromatch": {
+ "version": "4.0.8",
+ "license": "MIT",
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "../node_modules/micromatch/node_modules/picomatch": {
+ "version": "2.3.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "../node_modules/mime": {
+ "version": "1.6.0",
+ "license": "MIT",
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/mime-db": {
+ "version": "1.54.0",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "../node_modules/mime-types": {
+ "version": "2.1.35",
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "../node_modules/mime-types/node_modules/mime-db": {
+ "version": "1.52.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "../node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/mimic-response": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/min-indent": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/minimatch": {
+ "version": "3.1.2",
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "../node_modules/minimist": {
+ "version": "1.2.8",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/minimist-options": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "arrify": "^1.0.1",
+ "is-plain-obj": "^1.1.0",
+ "kind-of": "^6.0.3"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "../node_modules/minipass": {
+ "version": "7.1.2",
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "../node_modules/minizlib": {
+ "version": "3.0.2",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "minipass": "^7.1.2"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "../node_modules/mkdirp": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/modify-values": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/ms": {
+ "version": "2.1.3",
+ "license": "MIT"
+ },
+ "../node_modules/mute-stream": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/mz": {
+ "version": "2.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "any-promise": "^1.0.0",
+ "object-assign": "^4.0.1",
+ "thenify-all": "^1.0.0"
+ }
+ },
+ "../node_modules/nanoid": {
+ "version": "3.3.11",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "peer": true,
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "../node_modules/natural-compare": {
+ "version": "1.4.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/natural-compare-lite": {
+ "version": "1.4.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/negotiator": {
+ "version": "0.6.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "../node_modules/neo-async": {
+ "version": "2.6.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/nested-error-stacks": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "peer": true
+ },
+ "../node_modules/netmask": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "../node_modules/new-github-release-url": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^2.5.1"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/new-github-release-url/node_modules/type-fest": {
+ "version": "2.19.0",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=12.20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/node-domexception": {
+ "version": "1.0.0",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/jimmywarting"
+ },
+ {
+ "type": "github",
+ "url": "https://paypal.me/jimmywarting"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.5.0"
+ }
+ },
+ "../node_modules/node-fetch": {
+ "version": "2.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/node-forge": {
+ "version": "1.3.1",
+ "license": "(BSD-3-Clause OR GPL-2.0)",
+ "peer": true,
+ "engines": {
+ "node": ">= 6.13.0"
+ }
+ },
+ "../node_modules/node-int64": {
+ "version": "0.4.0",
+ "license": "MIT"
+ },
+ "../node_modules/node-releases": {
+ "version": "2.0.19",
+ "license": "MIT"
+ },
+ "../node_modules/normalize-package-data": {
+ "version": "3.0.3",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "hosted-git-info": "^4.0.1",
+ "is-core-module": "^2.5.0",
+ "semver": "^7.3.4",
+ "validate-npm-package-license": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/normalize-package-data/node_modules/semver": {
+ "version": "7.7.2",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/normalize-path": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/normalize-url": {
+ "version": "8.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/npm-package-arg": {
+ "version": "11.0.3",
+ "license": "ISC",
+ "peer": true,
+ "dependencies": {
+ "hosted-git-info": "^7.0.0",
+ "proc-log": "^4.0.0",
+ "semver": "^7.3.5",
+ "validate-npm-package-name": "^5.0.0"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/npm-package-arg/node_modules/hosted-git-info": {
+ "version": "7.0.2",
+ "license": "ISC",
+ "peer": true,
+ "dependencies": {
+ "lru-cache": "^10.0.1"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/npm-package-arg/node_modules/lru-cache": {
+ "version": "10.4.3",
+ "license": "ISC",
+ "peer": true
+ },
+ "../node_modules/npm-package-arg/node_modules/semver": {
+ "version": "7.7.2",
+ "license": "ISC",
+ "peer": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/npm-run-path": {
+ "version": "4.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/nullthrows": {
+ "version": "1.1.1",
+ "license": "MIT"
+ },
+ "../node_modules/ob1": {
+ "version": "0.82.5",
+ "license": "MIT",
+ "dependencies": {
+ "flow-enums-runtime": "^0.0.6"
+ },
+ "engines": {
+ "node": ">=18.18"
+ }
+ },
+ "../node_modules/object-assign": {
+ "version": "4.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/object-inspect": {
+ "version": "1.13.4",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/object-keys": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/object.assign": {
+ "version": "4.1.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0",
+ "has-symbols": "^1.1.0",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/object.entries": {
+ "version": "1.1.9",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/object.fromentries": {
+ "version": "2.0.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/object.values": {
+ "version": "1.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/on-finished": {
+ "version": "2.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "../node_modules/on-headers": {
+ "version": "1.1.0",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "../node_modules/once": {
+ "version": "1.4.0",
+ "license": "ISC",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "../node_modules/onetime": {
+ "version": "5.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/open": {
+ "version": "7.4.2",
+ "license": "MIT",
+ "dependencies": {
+ "is-docker": "^2.0.0",
+ "is-wsl": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/optionator": {
+ "version": "0.9.4",
+ "dev": true,
+ "license": "MIT",
+ "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/ora": {
+ "version": "3.4.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "chalk": "^2.4.2",
+ "cli-cursor": "^2.1.0",
+ "cli-spinners": "^2.0.0",
+ "log-symbols": "^2.2.0",
+ "strip-ansi": "^5.2.0",
+ "wcwidth": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/ora/node_modules/ansi-regex": {
+ "version": "4.1.1",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/ora/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/ora/node_modules/chalk": {
+ "version": "2.4.2",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/ora/node_modules/color-convert": {
+ "version": "1.9.3",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "../node_modules/ora/node_modules/color-name": {
+ "version": "1.1.3",
+ "license": "MIT",
+ "peer": true
+ },
+ "../node_modules/ora/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "../node_modules/ora/node_modules/has-flag": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/ora/node_modules/strip-ansi": {
+ "version": "5.2.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "ansi-regex": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/ora/node_modules/supports-color": {
+ "version": "5.5.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/os-name": {
+ "version": "5.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "macos-release": "^3.1.0",
+ "windows-release": "^5.0.1"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/os-tmpdir": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/own-keys": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "get-intrinsic": "^1.2.6",
+ "object-keys": "^1.1.1",
+ "safe-push-apply": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/p-cancelable": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.20"
+ }
+ },
+ "../node_modules/p-limit": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/p-locate": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/p-locate/node_modules/p-limit": {
+ "version": "2.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/p-map": {
+ "version": "5.5.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "aggregate-error": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/p-try": {
+ "version": "2.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/pac-proxy-agent": {
+ "version": "6.0.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.0.2",
+ "debug": "^4.3.4",
+ "get-uri": "^6.0.1",
+ "http-proxy-agent": "^7.0.0",
+ "https-proxy-agent": "^7.0.0",
+ "pac-resolver": "^6.0.1",
+ "socks-proxy-agent": "^8.0.1"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "../node_modules/pac-resolver": {
+ "version": "6.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "degenerator": "^4.0.4",
+ "ip": "^1.1.8",
+ "netmask": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "../node_modules/package-json": {
+ "version": "8.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "got": "^12.1.0",
+ "registry-auth-token": "^5.0.1",
+ "registry-url": "^6.0.0",
+ "semver": "^7.3.7"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/package-json-from-dist": {
+ "version": "1.0.1",
+ "license": "BlueOak-1.0.0"
+ },
+ "../node_modules/package-json/node_modules/semver": {
+ "version": "7.7.2",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/parent-module": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/parse-json": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/parse-path": {
+ "version": "7.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "protocols": "^2.0.0"
+ }
+ },
+ "../node_modules/parse-png": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "pngjs": "^3.3.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/parse-url": {
+ "version": "8.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "parse-path": "^7.0.0"
+ }
+ },
+ "../node_modules/parseurl": {
+ "version": "1.3.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "../node_modules/path-exists": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/path-key": {
+ "version": "3.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/path-parse": {
+ "version": "1.0.7",
+ "license": "MIT"
+ },
+ "../node_modules/path-scurry": {
+ "version": "1.11.1",
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "lru-cache": "^10.2.0",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "../node_modules/path-scurry/node_modules/lru-cache": {
+ "version": "10.4.3",
+ "license": "ISC"
+ },
+ "../node_modules/path-type": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/picocolors": {
+ "version": "1.1.1",
+ "license": "ISC"
+ },
+ "../node_modules/picomatch": {
+ "version": "3.0.1",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "../node_modules/pify": {
+ "version": "2.3.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/pirates": {
+ "version": "4.0.7",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "../node_modules/pkg-dir": {
+ "version": "4.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/plist": {
+ "version": "3.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "@xmldom/xmldom": "^0.8.8",
+ "base64-js": "^1.5.1",
+ "xmlbuilder": "^15.1.1"
+ },
+ "engines": {
+ "node": ">=10.4.0"
+ }
+ },
+ "../node_modules/pngjs": {
+ "version": "3.4.0",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "../node_modules/pod-install": {
+ "version": "0.1.39",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "pod-install": "build/index.js"
+ }
+ },
+ "../node_modules/possible-typed-array-names": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/postcss": {
+ "version": "8.4.49",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "nanoid": "^3.3.7",
+ "picocolors": "^1.1.1",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "../node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "../node_modules/prettier": {
+ "version": "2.8.8",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "prettier": "bin-prettier.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
+ "../node_modules/prettier-linter-helpers": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fast-diff": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "../node_modules/pretty-bytes": {
+ "version": "5.6.0",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/pretty-format": {
+ "version": "29.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "../node_modules/proc-log": {
+ "version": "4.2.0",
+ "license": "ISC",
+ "peer": true,
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/process-nextick-args": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/progress": {
+ "version": "2.0.3",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "../node_modules/promise": {
+ "version": "8.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "asap": "~2.0.6"
+ }
+ },
+ "../node_modules/promise.allsettled": {
+ "version": "1.0.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array.prototype.map": "^1.0.5",
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.4",
+ "es-abstract": "^1.20.4",
+ "get-intrinsic": "^1.1.3",
+ "iterate-value": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/prompts": {
+ "version": "2.4.2",
+ "license": "MIT",
+ "dependencies": {
+ "kleur": "^3.0.3",
+ "sisteransi": "^1.0.5"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "../node_modules/prop-types": {
+ "version": "15.8.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ }
+ },
+ "../node_modules/prop-types/node_modules/react-is": {
+ "version": "16.13.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/proto-list": {
+ "version": "1.2.4",
+ "dev": true,
+ "license": "ISC"
+ },
+ "../node_modules/protocols": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/proxy-agent": {
+ "version": "6.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.0.2",
+ "debug": "^4.3.4",
+ "http-proxy-agent": "^7.0.0",
+ "https-proxy-agent": "^7.0.0",
+ "lru-cache": "^7.14.1",
+ "pac-proxy-agent": "^6.0.3",
+ "proxy-from-env": "^1.1.0",
+ "socks-proxy-agent": "^8.0.1"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "../node_modules/proxy-agent/node_modules/lru-cache": {
+ "version": "7.18.3",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "../node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/pump": {
+ "version": "3.0.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "../node_modules/punycode": {
+ "version": "2.3.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/pupa": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "escape-goat": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=12.20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/q": {
+ "version": "1.5.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.6.0",
+ "teleport": ">=0.2.0"
+ }
+ },
+ "../node_modules/qrcode-terminal": {
+ "version": "0.11.0",
+ "peer": true,
+ "bin": {
+ "qrcode-terminal": "bin/qrcode-terminal.js"
+ }
+ },
+ "../node_modules/queue": {
+ "version": "6.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "~2.0.3"
+ }
+ },
+ "../node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "../node_modules/quick-lru": {
+ "version": "4.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/range-parser": {
+ "version": "1.2.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "../node_modules/rc": {
+ "version": "1.2.8",
+ "license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
+ "dependencies": {
+ "deep-extend": "^0.6.0",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
+ },
+ "bin": {
+ "rc": "cli.js"
+ }
+ },
+ "../node_modules/rc/node_modules/strip-json-comments": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/react": {
+ "version": "19.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/react-devtools-core": {
+ "version": "6.1.5",
+ "license": "MIT",
+ "dependencies": {
+ "shell-quote": "^1.6.1",
+ "ws": "^7"
+ }
+ },
+ "../node_modules/react-devtools-core/node_modules/ws": {
+ "version": "7.5.10",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.3.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/react-is": {
+ "version": "18.3.1",
+ "license": "MIT"
+ },
+ "../node_modules/react-native": {
+ "version": "0.79.6",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/create-cache-key-function": "^29.7.0",
+ "@react-native/assets-registry": "0.79.6",
+ "@react-native/codegen": "0.79.6",
+ "@react-native/community-cli-plugin": "0.79.6",
+ "@react-native/gradle-plugin": "0.79.6",
+ "@react-native/js-polyfills": "0.79.6",
+ "@react-native/normalize-colors": "0.79.6",
+ "@react-native/virtualized-lists": "0.79.6",
+ "abort-controller": "^3.0.0",
+ "anser": "^1.4.9",
+ "ansi-regex": "^5.0.0",
+ "babel-jest": "^29.7.0",
+ "babel-plugin-syntax-hermes-parser": "0.25.1",
+ "base64-js": "^1.5.1",
+ "chalk": "^4.0.0",
+ "commander": "^12.0.0",
+ "event-target-shim": "^5.0.1",
+ "flow-enums-runtime": "^0.0.6",
+ "glob": "^7.1.1",
+ "invariant": "^2.2.4",
+ "jest-environment-node": "^29.7.0",
+ "memoize-one": "^5.0.0",
+ "metro-runtime": "^0.82.0",
+ "metro-source-map": "^0.82.0",
+ "nullthrows": "^1.1.1",
+ "pretty-format": "^29.7.0",
+ "promise": "^8.3.0",
+ "react-devtools-core": "^6.1.1",
+ "react-refresh": "^0.14.0",
+ "regenerator-runtime": "^0.13.2",
+ "scheduler": "0.25.0",
+ "semver": "^7.1.3",
+ "stacktrace-parser": "^0.1.10",
+ "whatwg-fetch": "^3.0.0",
+ "ws": "^6.2.3",
+ "yargs": "^17.6.2"
+ },
+ "bin": {
+ "react-native": "cli.js"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/react": "^19.0.0",
+ "react": "^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/react-native-builder-bob": {
+ "version": "0.20.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.18.5",
+ "@babel/plugin-proposal-class-properties": "^7.17.12",
+ "@babel/preset-env": "^7.18.2",
+ "@babel/preset-flow": "^7.17.12",
+ "@babel/preset-react": "^7.17.12",
+ "@babel/preset-typescript": "^7.17.12",
+ "browserslist": "^4.20.4",
+ "cosmiconfig": "^7.0.1",
+ "cross-spawn": "^7.0.3",
+ "dedent": "^0.7.0",
+ "del": "^6.1.1",
+ "fs-extra": "^10.1.0",
+ "glob": "^8.0.3",
+ "is-git-dirty": "^2.0.1",
+ "json5": "^2.2.1",
+ "kleur": "^4.1.4",
+ "prompts": "^2.4.2",
+ "which": "^2.0.2",
+ "yargs": "^17.5.1"
+ },
+ "bin": {
+ "bob": "bin/bob"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "optionalDependencies": {
+ "jetifier": "^2.0.0"
+ }
+ },
+ "../node_modules/react-native-builder-bob/node_modules/aggregate-error": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/react-native-builder-bob/node_modules/brace-expansion": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "../node_modules/react-native-builder-bob/node_modules/clean-stack": {
+ "version": "2.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/react-native-builder-bob/node_modules/cosmiconfig": {
+ "version": "7.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.2.1",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.10.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/react-native-builder-bob/node_modules/del": {
+ "version": "6.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "globby": "^11.0.1",
+ "graceful-fs": "^4.2.4",
+ "is-glob": "^4.0.1",
+ "is-path-cwd": "^2.2.0",
+ "is-path-inside": "^3.0.2",
+ "p-map": "^4.0.0",
+ "rimraf": "^3.0.2",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/react-native-builder-bob/node_modules/glob": {
+ "version": "8.1.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "../node_modules/react-native-builder-bob/node_modules/indent-string": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/react-native-builder-bob/node_modules/is-path-cwd": {
+ "version": "2.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/react-native-builder-bob/node_modules/is-path-inside": {
+ "version": "3.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/react-native-builder-bob/node_modules/kleur": {
+ "version": "4.1.5",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/react-native-builder-bob/node_modules/minimatch": {
+ "version": "5.1.6",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/react-native-builder-bob/node_modules/p-map": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "aggregate-error": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/react-native-edge-to-edge": {
+ "version": "1.6.0",
+ "license": "MIT",
+ "peer": true,
+ "peerDependencies": {
+ "react": "*",
+ "react-native": "*"
+ }
+ },
+ "../node_modules/react-native/node_modules/@jest/environment": {
+ "version": "29.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/fake-timers": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "jest-mock": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/react-native/node_modules/@jest/fake-timers": {
+ "version": "29.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "@sinonjs/fake-timers": "^10.0.2",
+ "@types/node": "*",
+ "jest-message-util": "^29.7.0",
+ "jest-mock": "^29.7.0",
+ "jest-util": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/react-native/node_modules/@react-native/codegen": {
+ "version": "0.79.6",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.25.2",
+ "@babel/parser": "^7.25.3",
+ "glob": "^7.1.1",
+ "hermes-parser": "0.25.1",
+ "invariant": "^2.2.4",
+ "nullthrows": "^1.1.1",
+ "yargs": "^17.6.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@babel/core": "*"
+ }
+ },
+ "../node_modules/react-native/node_modules/@react-native/normalize-colors": {
+ "version": "0.79.6",
+ "license": "MIT"
+ },
+ "../node_modules/react-native/node_modules/@react-native/virtualized-lists": {
+ "version": "0.79.6",
+ "license": "MIT",
+ "dependencies": {
+ "invariant": "^2.2.4",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/react": "^19.0.0",
+ "react": "*",
+ "react-native": "*"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/react-native/node_modules/@sinonjs/commons": {
+ "version": "3.0.1",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "../node_modules/react-native/node_modules/@sinonjs/fake-timers": {
+ "version": "10.3.0",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@sinonjs/commons": "^3.0.0"
+ }
+ },
+ "../node_modules/react-native/node_modules/commander": {
+ "version": "12.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "../node_modules/react-native/node_modules/glob": {
+ "version": "7.2.3",
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "../node_modules/react-native/node_modules/jest-environment-node": {
+ "version": "29.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/environment": "^29.7.0",
+ "@jest/fake-timers": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "jest-mock": "^29.7.0",
+ "jest-util": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/react-native/node_modules/jest-message-util": {
+ "version": "29.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.12.13",
+ "@jest/types": "^29.6.3",
+ "@types/stack-utils": "^2.0.0",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^29.7.0",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/react-native/node_modules/jest-mock": {
+ "version": "29.7.0",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "jest-util": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/react-native/node_modules/semver": {
+ "version": "7.7.2",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/react-native/node_modules/ws": {
+ "version": "6.2.3",
+ "license": "MIT",
+ "dependencies": {
+ "async-limiter": "~1.0.0"
+ }
+ },
+ "../node_modules/react-refresh": {
+ "version": "0.14.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/react-test-renderer": {
+ "version": "19.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "react-is": "^19.0.0",
+ "scheduler": "^0.25.0"
+ },
+ "peerDependencies": {
+ "react": "^19.0.0"
+ }
+ },
+ "../node_modules/react-test-renderer/node_modules/react-is": {
+ "version": "19.1.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/read-pkg": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "load-json-file": "^4.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/read-pkg-up": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^2.0.0",
+ "read-pkg": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/read-pkg-up/node_modules/find-up": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/read-pkg-up/node_modules/locate-path": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/read-pkg-up/node_modules/p-limit": {
+ "version": "1.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-try": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/read-pkg-up/node_modules/p-locate": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/read-pkg-up/node_modules/p-try": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/read-pkg-up/node_modules/path-exists": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/read-pkg/node_modules/hosted-git-info": {
+ "version": "2.8.9",
+ "dev": true,
+ "license": "ISC"
+ },
+ "../node_modules/read-pkg/node_modules/normalize-package-data": {
+ "version": "2.5.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "../node_modules/read-pkg/node_modules/path-type": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "pify": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/read-pkg/node_modules/pify": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/read-pkg/node_modules/semver": {
+ "version": "5.7.2",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "../node_modules/readable-stream": {
+ "version": "3.6.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "../node_modules/rechoir": {
+ "version": "0.6.2",
+ "dev": true,
+ "dependencies": {
+ "resolve": "^1.1.6"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "../node_modules/redent": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "indent-string": "^4.0.0",
+ "strip-indent": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/redent/node_modules/indent-string": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/reflect.getprototypeof": {
+ "version": "1.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.9",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.7",
+ "get-proto": "^1.0.1",
+ "which-builtin-type": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/regenerate": {
+ "version": "1.4.2",
+ "license": "MIT"
+ },
+ "../node_modules/regenerate-unicode-properties": {
+ "version": "10.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "regenerate": "^1.4.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/regenerator-runtime": {
+ "version": "0.13.11",
+ "license": "MIT"
+ },
+ "../node_modules/regexp.prototype.flags": {
+ "version": "1.5.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "set-function-name": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/regexpu-core": {
+ "version": "6.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "regenerate": "^1.4.2",
+ "regenerate-unicode-properties": "^10.2.0",
+ "regjsgen": "^0.8.0",
+ "regjsparser": "^0.12.0",
+ "unicode-match-property-ecmascript": "^2.0.0",
+ "unicode-match-property-value-ecmascript": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/registry-auth-token": {
+ "version": "5.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@pnpm/npm-conf": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "../node_modules/registry-url": {
+ "version": "6.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "rc": "1.2.8"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/regjsgen": {
+ "version": "0.8.0",
+ "license": "MIT"
+ },
+ "../node_modules/regjsparser": {
+ "version": "0.12.0",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "jsesc": "~3.0.2"
+ },
+ "bin": {
+ "regjsparser": "bin/parser"
+ }
+ },
+ "../node_modules/regjsparser/node_modules/jsesc": {
+ "version": "3.0.2",
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/release-it": {
+ "version": "15.11.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@iarna/toml": "2.2.5",
+ "@octokit/rest": "19.0.11",
+ "async-retry": "1.3.3",
+ "chalk": "5.2.0",
+ "cosmiconfig": "8.1.3",
+ "execa": "7.1.1",
+ "git-url-parse": "13.1.0",
+ "globby": "13.1.4",
+ "got": "12.6.1",
+ "inquirer": "9.2.6",
+ "is-ci": "3.0.1",
+ "issue-parser": "6.0.0",
+ "lodash": "4.17.21",
+ "mime-types": "2.1.35",
+ "new-github-release-url": "2.0.0",
+ "node-fetch": "3.3.1",
+ "open": "9.1.0",
+ "ora": "6.3.1",
+ "os-name": "5.1.0",
+ "promise.allsettled": "1.0.6",
+ "proxy-agent": "6.2.1",
+ "semver": "7.5.1",
+ "shelljs": "0.8.5",
+ "update-notifier": "6.0.2",
+ "url-join": "5.0.0",
+ "wildcard-match": "5.1.2",
+ "yargs-parser": "21.1.1"
+ },
+ "bin": {
+ "release-it": "bin/release-it.js"
+ },
+ "engines": {
+ "node": ">=14.9"
+ }
+ },
+ "../node_modules/release-it/node_modules/ansi-regex": {
+ "version": "6.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "../node_modules/release-it/node_modules/argparse": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "Python-2.0"
+ },
+ "../node_modules/release-it/node_modules/chalk": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "../node_modules/release-it/node_modules/cli-cursor": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "restore-cursor": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/release-it/node_modules/cosmiconfig": {
+ "version": "8.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/d-fischer"
+ }
+ },
+ "../node_modules/release-it/node_modules/data-uri-to-buffer": {
+ "version": "4.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "../node_modules/release-it/node_modules/define-lazy-prop": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/release-it/node_modules/execa": {
+ "version": "7.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.1",
+ "human-signals": "^4.3.0",
+ "is-stream": "^3.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^5.1.0",
+ "onetime": "^6.0.0",
+ "signal-exit": "^3.0.7",
+ "strip-final-newline": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.18.0 || ^16.14.0 || >=18.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "../node_modules/release-it/node_modules/globby": {
+ "version": "13.1.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.11",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/release-it/node_modules/human-signals": {
+ "version": "4.3.1",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=14.18.0"
+ }
+ },
+ "../node_modules/release-it/node_modules/is-interactive": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/release-it/node_modules/is-stream": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/release-it/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "../node_modules/release-it/node_modules/log-symbols": {
+ "version": "5.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^5.0.0",
+ "is-unicode-supported": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/release-it/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/release-it/node_modules/mimic-fn": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/release-it/node_modules/node-fetch": {
+ "version": "3.3.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "data-uri-to-buffer": "^4.0.0",
+ "fetch-blob": "^3.1.4",
+ "formdata-polyfill": "^4.0.10"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/node-fetch"
+ }
+ },
+ "../node_modules/release-it/node_modules/npm-run-path": {
+ "version": "5.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/release-it/node_modules/onetime": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mimic-fn": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/release-it/node_modules/open": {
+ "version": "9.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "default-browser": "^4.0.0",
+ "define-lazy-prop": "^3.0.0",
+ "is-inside-container": "^1.0.0",
+ "is-wsl": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/release-it/node_modules/ora": {
+ "version": "6.3.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^5.0.0",
+ "cli-cursor": "^4.0.0",
+ "cli-spinners": "^2.6.1",
+ "is-interactive": "^2.0.0",
+ "is-unicode-supported": "^1.1.0",
+ "log-symbols": "^5.1.0",
+ "stdin-discarder": "^0.1.0",
+ "strip-ansi": "^7.0.1",
+ "wcwidth": "^1.0.1"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/release-it/node_modules/path-key": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/release-it/node_modules/restore-cursor": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/release-it/node_modules/restore-cursor/node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/release-it/node_modules/restore-cursor/node_modules/onetime": {
+ "version": "5.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/release-it/node_modules/semver": {
+ "version": "7.5.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/release-it/node_modules/signal-exit": {
+ "version": "3.0.7",
+ "dev": true,
+ "license": "ISC"
+ },
+ "../node_modules/release-it/node_modules/slash": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/release-it/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "../node_modules/release-it/node_modules/strip-final-newline": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/release-it/node_modules/yallist": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "ISC"
+ },
+ "../node_modules/release-it/node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "../node_modules/require-directory": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/require-from-string": {
+ "version": "2.0.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/requireg": {
+ "version": "0.2.2",
+ "peer": true,
+ "dependencies": {
+ "nested-error-stacks": "~2.0.1",
+ "rc": "~1.2.7",
+ "resolve": "~1.7.1"
+ },
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "../node_modules/requireg/node_modules/resolve": {
+ "version": "1.7.1",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "path-parse": "^1.0.5"
+ }
+ },
+ "../node_modules/resolve": {
+ "version": "1.22.10",
+ "license": "MIT",
+ "dependencies": {
+ "is-core-module": "^2.16.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/resolve-alpn": {
+ "version": "1.2.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/resolve-cwd": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "resolve-from": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/resolve-from": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/resolve-workspace-root": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "../node_modules/resolve.exports": {
+ "version": "2.0.3",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/responselike": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "lowercase-keys": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/restore-cursor": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "onetime": "^2.0.0",
+ "signal-exit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/restore-cursor/node_modules/mimic-fn": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/restore-cursor/node_modules/onetime": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "mimic-fn": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/restore-cursor/node_modules/signal-exit": {
+ "version": "3.0.7",
+ "license": "ISC",
+ "peer": true
+ },
+ "../node_modules/retry": {
+ "version": "0.13.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "../node_modules/reusify": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/rimraf": {
+ "version": "3.0.2",
+ "license": "ISC",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "../node_modules/rimraf/node_modules/glob": {
+ "version": "7.2.3",
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "../node_modules/run-applescript": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "execa": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/run-async": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "../node_modules/run-parallel": {
+ "version": "1.2.0",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "../node_modules/rxjs": {
+ "version": "7.8.2",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ }
+ },
+ "../node_modules/safe-array-concat": {
+ "version": "1.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.2",
+ "get-intrinsic": "^1.2.6",
+ "has-symbols": "^1.1.0",
+ "isarray": "^2.0.5"
+ },
+ "engines": {
+ "node": ">=0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "../node_modules/safe-push-apply": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "isarray": "^2.0.5"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/safe-regex-test": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "is-regex": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/sax": {
+ "version": "1.4.1",
+ "license": "ISC"
+ },
+ "../node_modules/scheduler": {
+ "version": "0.25.0",
+ "license": "MIT"
+ },
+ "../node_modules/semver": {
+ "version": "6.3.1",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "../node_modules/semver-diff": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/semver-diff/node_modules/semver": {
+ "version": "7.7.2",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/send": {
+ "version": "0.19.1",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "../node_modules/send/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "../node_modules/send/node_modules/debug/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "peer": true
+ },
+ "../node_modules/send/node_modules/encodeurl": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "../node_modules/send/node_modules/on-finished": {
+ "version": "2.4.1",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "../node_modules/send/node_modules/statuses": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "../node_modules/serialize-error": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/serve-static": {
+ "version": "1.16.2",
+ "license": "MIT",
+ "dependencies": {
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.19.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "../node_modules/serve-static/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "../node_modules/serve-static/node_modules/debug/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "../node_modules/serve-static/node_modules/encodeurl": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "../node_modules/serve-static/node_modules/on-finished": {
+ "version": "2.4.1",
+ "license": "MIT",
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "../node_modules/serve-static/node_modules/send": {
+ "version": "0.19.0",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "../node_modules/serve-static/node_modules/send/node_modules/encodeurl": {
+ "version": "1.0.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "../node_modules/serve-static/node_modules/statuses": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "../node_modules/set-function-length": {
+ "version": "1.2.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/set-function-name": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/set-proto": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dunder-proto": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/setprototypeof": {
+ "version": "1.2.0",
+ "license": "ISC"
+ },
+ "../node_modules/shebang-command": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/shell-quote": {
+ "version": "1.8.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/shelljs": {
+ "version": "0.8.5",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "glob": "^7.0.0",
+ "interpret": "^1.0.0",
+ "rechoir": "^0.6.2"
+ },
+ "bin": {
+ "shjs": "bin/shjs"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/shelljs/node_modules/glob": {
+ "version": "7.2.3",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "../node_modules/side-channel": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3",
+ "side-channel-list": "^1.0.0",
+ "side-channel-map": "^1.0.1",
+ "side-channel-weakmap": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/side-channel-list": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/side-channel-map": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/side-channel-weakmap": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3",
+ "side-channel-map": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/signal-exit": {
+ "version": "4.1.0",
+ "license": "ISC",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "../node_modules/simple-plist": {
+ "version": "1.3.1",
+ "license": "MIT",
+ "dependencies": {
+ "bplist-creator": "0.1.0",
+ "bplist-parser": "0.3.1",
+ "plist": "^3.0.5"
+ }
+ },
+ "../node_modules/simple-plist/node_modules/bplist-parser": {
+ "version": "0.3.1",
+ "license": "MIT",
+ "dependencies": {
+ "big-integer": "1.6.x"
+ },
+ "engines": {
+ "node": ">= 5.10.0"
+ }
+ },
+ "../node_modules/sisteransi": {
+ "version": "1.0.5",
+ "license": "MIT"
+ },
+ "../node_modules/slash": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/slugify": {
+ "version": "1.6.6",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "../node_modules/smart-buffer": {
+ "version": "4.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6.0.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "../node_modules/socks": {
+ "version": "2.8.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ip-address": "^10.0.1",
+ "smart-buffer": "^4.2.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "../node_modules/socks-proxy-agent": {
+ "version": "8.0.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.1.2",
+ "debug": "^4.3.4",
+ "socks": "^2.8.3"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "../node_modules/source-map": {
+ "version": "0.6.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/source-map-js": {
+ "version": "1.2.1",
+ "license": "BSD-3-Clause",
+ "peer": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/source-map-support": {
+ "version": "0.5.21",
+ "license": "MIT",
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "../node_modules/spdx-correct": {
+ "version": "3.2.0",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "../node_modules/spdx-exceptions": {
+ "version": "2.5.0",
+ "dev": true,
+ "license": "CC-BY-3.0"
+ },
+ "../node_modules/spdx-expression-parse": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "../node_modules/spdx-license-ids": {
+ "version": "3.0.22",
+ "dev": true,
+ "license": "CC0-1.0"
+ },
+ "../node_modules/split": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "through": "2"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "../node_modules/split2": {
+ "version": "3.2.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "readable-stream": "^3.0.0"
+ }
+ },
+ "../node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "license": "BSD-3-Clause"
+ },
+ "../node_modules/stack-utils": {
+ "version": "2.0.6",
+ "license": "MIT",
+ "dependencies": {
+ "escape-string-regexp": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/stack-utils/node_modules/escape-string-regexp": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/stackframe": {
+ "version": "1.3.4",
+ "license": "MIT"
+ },
+ "../node_modules/stacktrace-parser": {
+ "version": "0.1.11",
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^0.7.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/stacktrace-parser/node_modules/type-fest": {
+ "version": "0.7.1",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/statuses": {
+ "version": "1.5.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "../node_modules/stdin-discarder": {
+ "version": "0.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bl": "^5.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/stdin-discarder/node_modules/bl": {
+ "version": "5.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "buffer": "^6.0.3",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.4.0"
+ }
+ },
+ "../node_modules/stdin-discarder/node_modules/buffer": {
+ "version": "6.0.3",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
+ }
+ },
+ "../node_modules/stop-iteration-iterator": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "internal-slot": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/stream-buffers": {
+ "version": "2.2.0",
+ "license": "Unlicense",
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "../node_modules/string_decoder": {
+ "version": "1.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "../node_modules/string-length": {
+ "version": "4.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "char-regex": "^1.0.2",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/string-natural-compare": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/string-width": {
+ "version": "5.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/string-width-cjs": {
+ "name": "string-width",
+ "version": "4.2.3",
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/string-width-cjs/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "license": "MIT"
+ },
+ "../node_modules/string-width/node_modules/ansi-regex": {
+ "version": "6.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "../node_modules/string-width/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "../node_modules/string.prototype.matchall": {
+ "version": "4.0.12",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.6",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.6",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "internal-slot": "^1.1.0",
+ "regexp.prototype.flags": "^1.5.3",
+ "set-function-name": "^2.0.2",
+ "side-channel": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/string.prototype.repeat": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5"
+ }
+ },
+ "../node_modules/string.prototype.trim": {
+ "version": "1.2.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.2",
+ "define-data-property": "^1.1.4",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-object-atoms": "^1.0.0",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/string.prototype.trimend": {
+ "version": "1.0.9",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.2",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/string.prototype.trimstart": {
+ "version": "1.0.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/strip-ansi-cjs": {
+ "name": "strip-ansi",
+ "version": "6.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/strip-bom": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/strip-final-newline": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "../node_modules/strip-indent": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "min-indent": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/structured-headers": {
+ "version": "0.4.1",
+ "license": "MIT",
+ "peer": true
+ },
+ "../node_modules/sucrase": {
+ "version": "3.35.0",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "commander": "^4.0.0",
+ "glob": "^10.3.10",
+ "lines-and-columns": "^1.1.6",
+ "mz": "^2.7.0",
+ "pirates": "^4.0.1",
+ "ts-interface-checker": "^0.1.9"
+ },
+ "bin": {
+ "sucrase": "bin/sucrase",
+ "sucrase-node": "bin/sucrase-node"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "../node_modules/sucrase/node_modules/commander": {
+ "version": "4.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "../node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/supports-hyperlinks": {
+ "version": "2.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0",
+ "supports-color": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/tar": {
+ "version": "7.4.3",
+ "license": "ISC",
+ "peer": true,
+ "dependencies": {
+ "@isaacs/fs-minipass": "^4.0.0",
+ "chownr": "^3.0.0",
+ "minipass": "^7.1.2",
+ "minizlib": "^3.0.1",
+ "mkdirp": "^3.0.1",
+ "yallist": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "../node_modules/tar/node_modules/mkdirp": {
+ "version": "3.0.1",
+ "license": "MIT",
+ "peer": true,
+ "bin": {
+ "mkdirp": "dist/cjs/src/bin.js"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "../node_modules/tar/node_modules/yallist": {
+ "version": "5.0.0",
+ "license": "BlueOak-1.0.0",
+ "peer": true,
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "../node_modules/temp-dir": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/terminal-link": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-escapes": "^4.2.1",
+ "supports-hyperlinks": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/terser": {
+ "version": "5.43.1",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@jridgewell/source-map": "^0.3.3",
+ "acorn": "^8.14.0",
+ "commander": "^2.20.0",
+ "source-map-support": "~0.5.20"
+ },
+ "bin": {
+ "terser": "bin/terser"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/terser/node_modules/commander": {
+ "version": "2.20.3",
+ "license": "MIT"
+ },
+ "../node_modules/test-exclude": {
+ "version": "6.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/test-exclude/node_modules/glob": {
+ "version": "7.2.3",
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "../node_modules/text-extensions": {
+ "version": "1.9.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "../node_modules/text-table": {
+ "version": "0.2.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/thenify": {
+ "version": "3.3.1",
+ "license": "MIT",
+ "dependencies": {
+ "any-promise": "^1.0.0"
+ }
+ },
+ "../node_modules/thenify-all": {
+ "version": "1.6.0",
+ "license": "MIT",
+ "dependencies": {
+ "thenify": ">= 3.1.0 < 4"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "../node_modules/throat": {
+ "version": "5.0.0",
+ "license": "MIT"
+ },
+ "../node_modules/through": {
+ "version": "2.3.8",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/through2": {
+ "version": "4.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "readable-stream": "3"
+ }
+ },
+ "../node_modules/titleize": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/tmp": {
+ "version": "0.0.33",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "os-tmpdir": "~1.0.2"
+ },
+ "engines": {
+ "node": ">=0.6.0"
+ }
+ },
+ "../node_modules/tmpl": {
+ "version": "1.0.5",
+ "license": "BSD-3-Clause"
+ },
+ "../node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "../node_modules/toidentifier": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "../node_modules/tr46": {
+ "version": "0.0.3",
+ "license": "MIT"
+ },
+ "../node_modules/trim-newlines": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/ts-interface-checker": {
+ "version": "0.1.13",
+ "license": "Apache-2.0"
+ },
+ "../node_modules/tslib": {
+ "version": "2.8.1",
+ "dev": true,
+ "license": "0BSD"
+ },
+ "../node_modules/tsutils": {
+ "version": "3.21.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^1.8.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ },
+ "peerDependencies": {
+ "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+ }
+ },
+ "../node_modules/tsutils/node_modules/tslib": {
+ "version": "1.14.1",
+ "dev": true,
+ "license": "0BSD"
+ },
+ "../node_modules/type-check": {
+ "version": "0.4.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "../node_modules/type-detect": {
+ "version": "4.0.8",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/type-fest": {
+ "version": "0.20.2",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/typed-array-buffer": {
+ "version": "1.0.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "is-typed-array": "^1.1.14"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "../node_modules/typed-array-byte-length": {
+ "version": "1.0.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "for-each": "^0.3.3",
+ "gopd": "^1.2.0",
+ "has-proto": "^1.2.0",
+ "is-typed-array": "^1.1.14"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/typed-array-byte-offset": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "for-each": "^0.3.3",
+ "gopd": "^1.2.0",
+ "has-proto": "^1.2.0",
+ "is-typed-array": "^1.1.15",
+ "reflect.getprototypeof": "^1.0.9"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/typed-array-length": {
+ "version": "1.0.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "is-typed-array": "^1.1.13",
+ "possible-typed-array-names": "^1.0.0",
+ "reflect.getprototypeof": "^1.0.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/typedarray": {
+ "version": "0.0.6",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/typedarray-to-buffer": {
+ "version": "3.1.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "../node_modules/typescript": {
+ "version": "5.9.2",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "../node_modules/uglify-js": {
+ "version": "3.19.3",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "optional": true,
+ "bin": {
+ "uglifyjs": "bin/uglifyjs"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "../node_modules/unbox-primitive": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "has-bigints": "^1.0.2",
+ "has-symbols": "^1.1.0",
+ "which-boxed-primitive": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/unc-path-regex": {
+ "version": "0.1.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/undici": {
+ "version": "6.21.3",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=18.17"
+ }
+ },
+ "../node_modules/undici-types": {
+ "version": "7.10.0",
+ "license": "MIT"
+ },
+ "../node_modules/unicode-canonical-property-names-ecmascript": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/unicode-match-property-ecmascript": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "unicode-canonical-property-names-ecmascript": "^2.0.0",
+ "unicode-property-aliases-ecmascript": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/unicode-match-property-value-ecmascript": {
+ "version": "2.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/unicode-property-aliases-ecmascript": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "../node_modules/unique-string": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "crypto-random-string": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/universal-user-agent": {
+ "version": "6.0.1",
+ "dev": true,
+ "license": "ISC"
+ },
+ "../node_modules/universalify": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "../node_modules/unpipe": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "../node_modules/untildify": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/update-browserslist-db": {
+ "version": "1.1.3",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.1"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "../node_modules/update-notifier": {
+ "version": "6.0.2",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "boxen": "^7.0.0",
+ "chalk": "^5.0.1",
+ "configstore": "^6.0.0",
+ "has-yarn": "^3.0.0",
+ "import-lazy": "^4.0.0",
+ "is-ci": "^3.0.1",
+ "is-installed-globally": "^0.4.0",
+ "is-npm": "^6.0.0",
+ "is-yarn-global": "^0.4.0",
+ "latest-version": "^7.0.0",
+ "pupa": "^3.1.0",
+ "semver": "^7.3.7",
+ "semver-diff": "^4.0.0",
+ "xdg-basedir": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/yeoman/update-notifier?sponsor=1"
+ }
+ },
+ "../node_modules/update-notifier/node_modules/chalk": {
+ "version": "5.6.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "../node_modules/update-notifier/node_modules/semver": {
+ "version": "7.7.2",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/uri-js": {
+ "version": "4.4.1",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "../node_modules/url-join": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ }
+ },
+ "../node_modules/util": {
+ "version": "0.10.4",
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "2.0.3"
+ }
+ },
+ "../node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/util/node_modules/inherits": {
+ "version": "2.0.3",
+ "license": "ISC"
+ },
+ "../node_modules/utils-merge": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "../node_modules/uuid": {
+ "version": "7.0.3",
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "../node_modules/v8-to-istanbul": {
+ "version": "9.3.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.12",
+ "@types/istanbul-lib-coverage": "^2.0.1",
+ "convert-source-map": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10.12.0"
+ }
+ },
+ "../node_modules/validate-npm-package-license": {
+ "version": "3.0.4",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "../node_modules/validate-npm-package-name": {
+ "version": "5.0.1",
+ "license": "ISC",
+ "peer": true,
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "../node_modules/vary": {
+ "version": "1.1.2",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "../node_modules/vlq": {
+ "version": "1.0.1",
+ "license": "MIT"
+ },
+ "../node_modules/vm2": {
+ "version": "3.9.19",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.7.0",
+ "acorn-walk": "^8.2.0"
+ },
+ "bin": {
+ "vm2": "bin/vm2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "../node_modules/walker": {
+ "version": "1.0.8",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "makeerror": "1.0.12"
+ }
+ },
+ "../node_modules/wcwidth": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "defaults": "^1.0.3"
+ }
+ },
+ "../node_modules/web-streams-polyfill": {
+ "version": "3.3.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "../node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "license": "BSD-2-Clause"
+ },
+ "../node_modules/whatwg-fetch": {
+ "version": "3.6.20",
+ "license": "MIT"
+ },
+ "../node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "../node_modules/whatwg-url-without-unicode": {
+ "version": "8.0.0-3",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "buffer": "^5.4.3",
+ "punycode": "^2.1.1",
+ "webidl-conversions": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/whatwg-url-without-unicode/node_modules/webidl-conversions": {
+ "version": "5.0.0",
+ "license": "BSD-2-Clause",
+ "peer": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/which": {
+ "version": "2.0.2",
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "../node_modules/which-boxed-primitive": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-bigint": "^1.1.0",
+ "is-boolean-object": "^1.2.1",
+ "is-number-object": "^1.1.1",
+ "is-string": "^1.1.1",
+ "is-symbol": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/which-builtin-type": {
+ "version": "1.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "function.prototype.name": "^1.1.6",
+ "has-tostringtag": "^1.0.2",
+ "is-async-function": "^2.0.0",
+ "is-date-object": "^1.1.0",
+ "is-finalizationregistry": "^1.1.0",
+ "is-generator-function": "^1.0.10",
+ "is-regex": "^1.2.1",
+ "is-weakref": "^1.0.2",
+ "isarray": "^2.0.5",
+ "which-boxed-primitive": "^1.1.0",
+ "which-collection": "^1.0.2",
+ "which-typed-array": "^1.1.16"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/which-collection": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-map": "^2.0.3",
+ "is-set": "^2.0.3",
+ "is-weakmap": "^2.0.2",
+ "is-weakset": "^2.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/which-typed-array": {
+ "version": "1.1.19",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "for-each": "^0.3.5",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "../node_modules/widest-line": {
+ "version": "4.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "string-width": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/wildcard-match": {
+ "version": "5.1.2",
+ "dev": true,
+ "license": "ISC"
+ },
+ "../node_modules/windows-release": {
+ "version": "5.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "execa": "^5.1.1"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/wonka": {
+ "version": "6.3.5",
+ "license": "MIT",
+ "peer": true
+ },
+ "../node_modules/word-wrap": {
+ "version": "1.2.5",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "../node_modules/wordwrap": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "../node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "../node_modules/wrap-ansi-cjs": {
+ "name": "wrap-ansi",
+ "version": "7.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "../node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "license": "MIT"
+ },
+ "../node_modules/wrap-ansi-cjs/node_modules/string-width": {
+ "version": "4.2.3",
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/wrap-ansi/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "license": "MIT"
+ },
+ "../node_modules/wrap-ansi/node_modules/string-width": {
+ "version": "4.2.3",
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/wrappy": {
+ "version": "1.0.2",
+ "license": "ISC"
+ },
+ "../node_modules/write-file-atomic": {
+ "version": "4.0.2",
+ "license": "ISC",
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.7"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "../node_modules/write-file-atomic/node_modules/signal-exit": {
+ "version": "3.0.7",
+ "license": "ISC"
+ },
+ "../node_modules/ws": {
+ "version": "8.18.3",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "../node_modules/xcode": {
+ "version": "3.0.1",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "simple-plist": "^1.1.0",
+ "uuid": "^7.0.3"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "../node_modules/xdg-basedir": {
+ "version": "5.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../node_modules/xml2js": {
+ "version": "0.6.0",
+ "license": "MIT",
+ "dependencies": {
+ "sax": ">=0.6.0",
+ "xmlbuilder": "~11.0.0"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "../node_modules/xml2js/node_modules/xmlbuilder": {
+ "version": "11.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "../node_modules/xmlbuilder": {
+ "version": "15.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "../node_modules/xtend": {
+ "version": "4.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4"
+ }
+ },
+ "../node_modules/y18n": {
+ "version": "5.0.8",
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/yallist": {
+ "version": "3.1.1",
+ "license": "ISC"
+ },
+ "../node_modules/yaml": {
+ "version": "1.10.2",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "../node_modules/yargs": {
+ "version": "17.7.2",
+ "license": "MIT",
+ "dependencies": {
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "../node_modules/yargs-parser": {
+ "version": "20.2.9",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "../node_modules/yargs/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "license": "MIT"
+ },
+ "../node_modules/yargs/node_modules/string-width": {
+ "version": "4.2.3",
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "../node_modules/yargs/node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "../node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/@0no-co/graphql.web": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@0no-co/graphql.web/-/graphql.web-1.2.0.tgz",
- "integrity": "sha512-/1iHy9TTr63gE1YcR5idjx8UREz1s0kFhydf3bBLCXyqjhkIc6igAzTOx3zPifCwFR87tsh/4Pa9cNts6d2otw==",
"license": "MIT",
"peerDependencies": {
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
@@ -103,8 +18841,6 @@
},
"node_modules/@ampproject/remapping": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
- "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
"license": "Apache-2.0",
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.5",
@@ -116,8 +18852,6 @@
},
"node_modules/@babel/code-frame": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
- "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
"license": "MIT",
"dependencies": {
"@babel/helper-validator-identifier": "^7.27.1",
@@ -130,8 +18864,6 @@
},
"node_modules/@babel/compat-data": {
"version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz",
- "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -139,8 +18871,6 @@
},
"node_modules/@babel/core": {
"version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.3.tgz",
- "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==",
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.2.0",
@@ -169,8 +18899,6 @@
},
"node_modules/@babel/generator": {
"version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz",
- "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==",
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.28.3",
@@ -185,8 +18913,6 @@
},
"node_modules/@babel/helper-annotate-as-pure": {
"version": "7.27.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz",
- "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==",
"license": "MIT",
"dependencies": {
"@babel/types": "^7.27.3"
@@ -197,8 +18923,6 @@
},
"node_modules/@babel/helper-compilation-targets": {
"version": "7.27.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz",
- "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
"license": "MIT",
"dependencies": {
"@babel/compat-data": "^7.27.2",
@@ -213,8 +18937,6 @@
},
"node_modules/@babel/helper-create-class-features-plugin": {
"version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz",
- "integrity": "sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==",
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.27.3",
@@ -234,8 +18956,6 @@
},
"node_modules/@babel/helper-create-regexp-features-plugin": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz",
- "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.27.1",
@@ -251,8 +18971,6 @@
},
"node_modules/@babel/helper-define-polyfill-provider": {
"version": "0.6.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz",
- "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==",
"license": "MIT",
"dependencies": {
"@babel/helper-compilation-targets": "^7.27.2",
@@ -267,8 +18985,6 @@
},
"node_modules/@babel/helper-globals": {
"version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
- "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -276,8 +18992,6 @@
},
"node_modules/@babel/helper-member-expression-to-functions": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz",
- "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==",
"license": "MIT",
"dependencies": {
"@babel/traverse": "^7.27.1",
@@ -289,8 +19003,6 @@
},
"node_modules/@babel/helper-module-imports": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz",
- "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==",
"license": "MIT",
"dependencies": {
"@babel/traverse": "^7.27.1",
@@ -302,8 +19014,6 @@
},
"node_modules/@babel/helper-module-transforms": {
"version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz",
- "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==",
"license": "MIT",
"dependencies": {
"@babel/helper-module-imports": "^7.27.1",
@@ -319,8 +19029,6 @@
},
"node_modules/@babel/helper-optimise-call-expression": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz",
- "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==",
"license": "MIT",
"dependencies": {
"@babel/types": "^7.27.1"
@@ -331,8 +19039,6 @@
},
"node_modules/@babel/helper-plugin-utils": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz",
- "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -340,8 +19046,6 @@
},
"node_modules/@babel/helper-remap-async-to-generator": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz",
- "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==",
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.27.1",
@@ -357,8 +19061,6 @@
},
"node_modules/@babel/helper-replace-supers": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz",
- "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==",
"license": "MIT",
"dependencies": {
"@babel/helper-member-expression-to-functions": "^7.27.1",
@@ -374,8 +19076,6 @@
},
"node_modules/@babel/helper-skip-transparent-expression-wrappers": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz",
- "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==",
"license": "MIT",
"dependencies": {
"@babel/traverse": "^7.27.1",
@@ -387,8 +19087,6 @@
},
"node_modules/@babel/helper-string-parser": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
- "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -396,8 +19094,6 @@
},
"node_modules/@babel/helper-validator-identifier": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
- "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -405,8 +19101,6 @@
},
"node_modules/@babel/helper-validator-option": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
- "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -414,8 +19108,6 @@
},
"node_modules/@babel/helper-wrap-function": {
"version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz",
- "integrity": "sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==",
"license": "MIT",
"dependencies": {
"@babel/template": "^7.27.2",
@@ -428,8 +19120,6 @@
},
"node_modules/@babel/helpers": {
"version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.3.tgz",
- "integrity": "sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==",
"license": "MIT",
"dependencies": {
"@babel/template": "^7.27.2",
@@ -441,8 +19131,6 @@
},
"node_modules/@babel/highlight": {
"version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.9.tgz",
- "integrity": "sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==",
"license": "MIT",
"dependencies": {
"@babel/helper-validator-identifier": "^7.25.9",
@@ -456,8 +19144,6 @@
},
"node_modules/@babel/highlight/node_modules/ansi-styles": {
"version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"license": "MIT",
"dependencies": {
"color-convert": "^1.9.0"
@@ -468,8 +19154,6 @@
},
"node_modules/@babel/highlight/node_modules/chalk": {
"version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"license": "MIT",
"dependencies": {
"ansi-styles": "^3.2.1",
@@ -482,8 +19166,6 @@
},
"node_modules/@babel/highlight/node_modules/color-convert": {
"version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"license": "MIT",
"dependencies": {
"color-name": "1.1.3"
@@ -491,14 +19173,10 @@
},
"node_modules/@babel/highlight/node_modules/color-name": {
"version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
"license": "MIT"
},
"node_modules/@babel/highlight/node_modules/escape-string-regexp": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"license": "MIT",
"engines": {
"node": ">=0.8.0"
@@ -506,8 +19184,6 @@
},
"node_modules/@babel/highlight/node_modules/has-flag": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
"license": "MIT",
"engines": {
"node": ">=4"
@@ -515,8 +19191,6 @@
},
"node_modules/@babel/highlight/node_modules/supports-color": {
"version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"license": "MIT",
"dependencies": {
"has-flag": "^3.0.0"
@@ -527,8 +19201,6 @@
},
"node_modules/@babel/parser": {
"version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.3.tgz",
- "integrity": "sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==",
"license": "MIT",
"dependencies": {
"@babel/types": "^7.28.2"
@@ -542,8 +19214,6 @@
},
"node_modules/@babel/plugin-proposal-decorators": {
"version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.0.tgz",
- "integrity": "sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==",
"license": "MIT",
"dependencies": {
"@babel/helper-create-class-features-plugin": "^7.27.1",
@@ -559,8 +19229,6 @@
},
"node_modules/@babel/plugin-proposal-export-default-from": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.27.1.tgz",
- "integrity": "sha512-hjlsMBl1aJc5lp8MoCDEZCiYzlgdRAShOjAfRw6X+GlpLpUPU7c3XNLsKFZbQk/1cRzBlJ7CXg3xJAJMrFa1Uw==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -574,8 +19242,6 @@
},
"node_modules/@babel/plugin-syntax-async-generators": {
"version": "7.8.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
- "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
@@ -586,8 +19252,6 @@
},
"node_modules/@babel/plugin-syntax-bigint": {
"version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
- "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
@@ -598,8 +19262,6 @@
},
"node_modules/@babel/plugin-syntax-class-properties": {
"version": "7.12.13",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
- "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.12.13"
@@ -610,8 +19272,6 @@
},
"node_modules/@babel/plugin-syntax-class-static-block": {
"version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
- "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.14.5"
@@ -625,8 +19285,6 @@
},
"node_modules/@babel/plugin-syntax-decorators": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz",
- "integrity": "sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -640,8 +19298,6 @@
},
"node_modules/@babel/plugin-syntax-dynamic-import": {
"version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
- "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
@@ -652,8 +19308,6 @@
},
"node_modules/@babel/plugin-syntax-export-default-from": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.27.1.tgz",
- "integrity": "sha512-eBC/3KSekshx19+N40MzjWqJd7KTEdOoLesAfa4IDFI8eRz5a47i5Oszus6zG/cwIXN63YhgLOMSSNJx49sENg==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -667,8 +19321,6 @@
},
"node_modules/@babel/plugin-syntax-flow": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.27.1.tgz",
- "integrity": "sha512-p9OkPbZ5G7UT1MofwYFigGebnrzGJacoBSQM0/6bi/PUMVE+qlWDD/OalvQKbwgQzU6dl0xAv6r4X7Jme0RYxA==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -682,8 +19334,6 @@
},
"node_modules/@babel/plugin-syntax-import-attributes": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz",
- "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -697,8 +19347,6 @@
},
"node_modules/@babel/plugin-syntax-import-meta": {
"version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
- "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.10.4"
@@ -709,8 +19357,6 @@
},
"node_modules/@babel/plugin-syntax-json-strings": {
"version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
- "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
@@ -721,8 +19367,6 @@
},
"node_modules/@babel/plugin-syntax-jsx": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz",
- "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -736,8 +19380,6 @@
},
"node_modules/@babel/plugin-syntax-logical-assignment-operators": {
"version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
- "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.10.4"
@@ -748,8 +19390,6 @@
},
"node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
"version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
- "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
@@ -760,8 +19400,6 @@
},
"node_modules/@babel/plugin-syntax-numeric-separator": {
"version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
- "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.10.4"
@@ -772,8 +19410,6 @@
},
"node_modules/@babel/plugin-syntax-object-rest-spread": {
"version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
- "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
@@ -784,8 +19420,6 @@
},
"node_modules/@babel/plugin-syntax-optional-catch-binding": {
"version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
- "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
@@ -796,8 +19430,6 @@
},
"node_modules/@babel/plugin-syntax-optional-chaining": {
"version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
- "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
@@ -808,8 +19440,6 @@
},
"node_modules/@babel/plugin-syntax-private-property-in-object": {
"version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
- "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.14.5"
@@ -823,8 +19453,6 @@
},
"node_modules/@babel/plugin-syntax-top-level-await": {
"version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
- "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.14.5"
@@ -838,8 +19466,6 @@
},
"node_modules/@babel/plugin-syntax-typescript": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz",
- "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -853,8 +19479,6 @@
},
"node_modules/@babel/plugin-transform-arrow-functions": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz",
- "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -868,8 +19492,6 @@
},
"node_modules/@babel/plugin-transform-async-generator-functions": {
"version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz",
- "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1",
@@ -885,8 +19507,6 @@
},
"node_modules/@babel/plugin-transform-async-to-generator": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz",
- "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==",
"license": "MIT",
"dependencies": {
"@babel/helper-module-imports": "^7.27.1",
@@ -902,8 +19522,6 @@
},
"node_modules/@babel/plugin-transform-block-scoping": {
"version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.0.tgz",
- "integrity": "sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -917,8 +19535,6 @@
},
"node_modules/@babel/plugin-transform-class-properties": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz",
- "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==",
"license": "MIT",
"dependencies": {
"@babel/helper-create-class-features-plugin": "^7.27.1",
@@ -933,8 +19549,6 @@
},
"node_modules/@babel/plugin-transform-classes": {
"version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.3.tgz",
- "integrity": "sha512-DoEWC5SuxuARF2KdKmGUq3ghfPMO6ZzR12Dnp5gubwbeWJo4dbNWXJPVlwvh4Zlq6Z7YVvL8VFxeSOJgjsx4Sg==",
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.27.3",
@@ -953,8 +19567,6 @@
},
"node_modules/@babel/plugin-transform-computed-properties": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz",
- "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1",
@@ -969,8 +19581,6 @@
},
"node_modules/@babel/plugin-transform-destructuring": {
"version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz",
- "integrity": "sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1",
@@ -985,8 +19595,6 @@
},
"node_modules/@babel/plugin-transform-export-namespace-from": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz",
- "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -1000,8 +19608,6 @@
},
"node_modules/@babel/plugin-transform-flow-strip-types": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.27.1.tgz",
- "integrity": "sha512-G5eDKsu50udECw7DL2AcsysXiQyB7Nfg521t2OAJ4tbfTJ27doHLeF/vlI1NZGlLdbb/v+ibvtL1YBQqYOwJGg==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1",
@@ -1016,8 +19622,6 @@
},
"node_modules/@babel/plugin-transform-for-of": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz",
- "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1",
@@ -1032,8 +19636,6 @@
},
"node_modules/@babel/plugin-transform-function-name": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz",
- "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-compilation-targets": "^7.27.1",
@@ -1049,8 +19651,6 @@
},
"node_modules/@babel/plugin-transform-literals": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz",
- "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -1064,8 +19664,6 @@
},
"node_modules/@babel/plugin-transform-logical-assignment-operators": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz",
- "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -1079,8 +19677,6 @@
},
"node_modules/@babel/plugin-transform-modules-commonjs": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz",
- "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==",
"license": "MIT",
"dependencies": {
"@babel/helper-module-transforms": "^7.27.1",
@@ -1095,8 +19691,6 @@
},
"node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz",
- "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==",
"license": "MIT",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.27.1",
@@ -1111,8 +19705,6 @@
},
"node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz",
- "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -1126,8 +19718,6 @@
},
"node_modules/@babel/plugin-transform-numeric-separator": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz",
- "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -1141,8 +19731,6 @@
},
"node_modules/@babel/plugin-transform-object-rest-spread": {
"version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.0.tgz",
- "integrity": "sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==",
"license": "MIT",
"dependencies": {
"@babel/helper-compilation-targets": "^7.27.2",
@@ -1160,8 +19748,6 @@
},
"node_modules/@babel/plugin-transform-optional-catch-binding": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz",
- "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -1175,8 +19761,6 @@
},
"node_modules/@babel/plugin-transform-optional-chaining": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz",
- "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1",
@@ -1191,8 +19775,6 @@
},
"node_modules/@babel/plugin-transform-parameters": {
"version": "7.27.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz",
- "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -1206,8 +19788,6 @@
},
"node_modules/@babel/plugin-transform-private-methods": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz",
- "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==",
"license": "MIT",
"dependencies": {
"@babel/helper-create-class-features-plugin": "^7.27.1",
@@ -1222,8 +19802,6 @@
},
"node_modules/@babel/plugin-transform-private-property-in-object": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz",
- "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.27.1",
@@ -1239,8 +19817,6 @@
},
"node_modules/@babel/plugin-transform-react-display-name": {
"version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz",
- "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -1254,8 +19830,6 @@
},
"node_modules/@babel/plugin-transform-react-jsx": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz",
- "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==",
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.27.1",
@@ -1273,8 +19847,6 @@
},
"node_modules/@babel/plugin-transform-react-jsx-development": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz",
- "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==",
"license": "MIT",
"dependencies": {
"@babel/plugin-transform-react-jsx": "^7.27.1"
@@ -1288,8 +19860,6 @@
},
"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==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -1303,8 +19873,6 @@
},
"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==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -1318,8 +19886,6 @@
},
"node_modules/@babel/plugin-transform-react-pure-annotations": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz",
- "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==",
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.27.1",
@@ -1334,8 +19900,6 @@
},
"node_modules/@babel/plugin-transform-regenerator": {
"version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.3.tgz",
- "integrity": "sha512-K3/M/a4+ESb5LEldjQb+XSrpY0nF+ZBFlTCbSnKaYAMfD8v33O6PMs4uYnOk19HlcsI8WMu3McdFPTiQHF/1/A==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -1349,8 +19913,6 @@
},
"node_modules/@babel/plugin-transform-runtime": {
"version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.3.tgz",
- "integrity": "sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg==",
"license": "MIT",
"dependencies": {
"@babel/helper-module-imports": "^7.27.1",
@@ -1369,8 +19931,6 @@
},
"node_modules/@babel/plugin-transform-shorthand-properties": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz",
- "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -1384,8 +19944,6 @@
},
"node_modules/@babel/plugin-transform-spread": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz",
- "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1",
@@ -1400,8 +19958,6 @@
},
"node_modules/@babel/plugin-transform-sticky-regex": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz",
- "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -1415,8 +19971,6 @@
},
"node_modules/@babel/plugin-transform-typescript": {
"version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.0.tgz",
- "integrity": "sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==",
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.27.3",
@@ -1434,8 +19988,6 @@
},
"node_modules/@babel/plugin-transform-unicode-regex": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz",
- "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==",
"license": "MIT",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.27.1",
@@ -1450,8 +20002,6 @@
},
"node_modules/@babel/preset-react": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.27.1.tgz",
- "integrity": "sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1",
@@ -1470,8 +20020,6 @@
},
"node_modules/@babel/preset-typescript": {
"version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz",
- "integrity": "sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1",
@@ -1489,8 +20037,6 @@
},
"node_modules/@babel/runtime": {
"version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.3.tgz",
- "integrity": "sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -1498,8 +20044,6 @@
},
"node_modules/@babel/template": {
"version": "7.27.2",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
- "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.27.1",
@@ -1512,8 +20056,6 @@
},
"node_modules/@babel/traverse": {
"version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.3.tgz",
- "integrity": "sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==",
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.27.1",
@@ -1531,8 +20073,6 @@
"node_modules/@babel/traverse--for-generate-function-map": {
"name": "@babel/traverse",
"version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.3.tgz",
- "integrity": "sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==",
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.27.1",
@@ -1549,8 +20089,6 @@
},
"node_modules/@babel/types": {
"version": "7.28.2",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz",
- "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-string-parser": "^7.27.1",
@@ -1562,17 +20100,15 @@
},
"node_modules/@cloudinary/transformation-builder-sdk": {
"version": "1.21.2",
- "resolved": "https://registry.npmjs.org/@cloudinary/transformation-builder-sdk/-/transformation-builder-sdk-1.21.2.tgz",
- "integrity": "sha512-ehOgKUaP+Nvuf7B0TosmB8iilL0kdiVjzjl8tIK06cjvsNnwSJI3xP9nEJmKkvqNxwwFwvYXT+mxUTqnSv9JOA==",
"license": "MIT",
"dependencies": {
"@cloudinary/url-gen": "^1.7.0"
}
},
"node_modules/@cloudinary/url-gen": {
- "version": "1.21.0",
- "resolved": "https://registry.npmjs.org/@cloudinary/url-gen/-/url-gen-1.21.0.tgz",
- "integrity": "sha512-ctYcCzX3G3vcgnESTU2ET3K1XsBiXcEnBddCGV0QbR3fJhLLrIShjSMEwZoepgh4LAFOHJu9DzvLFr+E8R7c7g==",
+ "version": "1.22.0",
+ "resolved": "https://registry.npmjs.org/@cloudinary/url-gen/-/url-gen-1.22.0.tgz",
+ "integrity": "sha512-le8RMlgyC0JN3+FlC/YAlPYfvmJdtw8QGcSKDjCsfhS2CIem0mJl6ayti8bMoZ0P5wDvBewvRB0/dUQvhCzy3g==",
"license": "MIT",
"dependencies": {
"@cloudinary/transformation-builder-sdk": "^1.15.1"
@@ -1580,8 +20116,6 @@
},
"node_modules/@expo/cli": {
"version": "0.24.20",
- "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.24.20.tgz",
- "integrity": "sha512-uF1pOVcd+xizNtVTuZqNGzy7I6IJon5YMmQidsURds1Ww96AFDxrR/NEACqeATNAmY60m8wy1VZZpSg5zLNkpw==",
"license": "MIT",
"dependencies": {
"@0no-co/graphql.web": "^1.0.8",
@@ -1652,8 +20186,6 @@
},
"node_modules/@expo/cli/node_modules/semver": {
"version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
@@ -1664,8 +20196,6 @@
},
"node_modules/@expo/code-signing-certificates": {
"version": "0.0.5",
- "resolved": "https://registry.npmjs.org/@expo/code-signing-certificates/-/code-signing-certificates-0.0.5.tgz",
- "integrity": "sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw==",
"license": "MIT",
"dependencies": {
"node-forge": "^1.2.1",
@@ -1674,8 +20204,6 @@
},
"node_modules/@expo/config": {
"version": "11.0.13",
- "resolved": "https://registry.npmjs.org/@expo/config/-/config-11.0.13.tgz",
- "integrity": "sha512-TnGb4u/zUZetpav9sx/3fWK71oCPaOjZHoVED9NaEncktAd0Eonhq5NUghiJmkUGt3gGSjRAEBXiBbbY9/B1LA==",
"license": "MIT",
"dependencies": {
"@babel/code-frame": "~7.10.4",
@@ -1695,8 +20223,6 @@
},
"node_modules/@expo/config-plugins": {
"version": "10.1.2",
- "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-10.1.2.tgz",
- "integrity": "sha512-IMYCxBOcnuFStuK0Ay+FzEIBKrwW8OVUMc65+v0+i7YFIIe8aL342l7T4F8lR4oCfhXn7d6M5QPgXvjtc/gAcw==",
"license": "MIT",
"dependencies": {
"@expo/config-types": "^53.0.5",
@@ -1717,8 +20243,6 @@
},
"node_modules/@expo/config-plugins/node_modules/semver": {
"version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
@@ -1729,14 +20253,10 @@
},
"node_modules/@expo/config-types": {
"version": "53.0.5",
- "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-53.0.5.tgz",
- "integrity": "sha512-kqZ0w44E+HEGBjy+Lpyn0BVL5UANg/tmNixxaRMLS6nf37YsDrLk2VMAmeKMMk5CKG0NmOdVv3ngeUjRQMsy9g==",
"license": "MIT"
},
"node_modules/@expo/config/node_modules/@babel/code-frame": {
"version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
"license": "MIT",
"dependencies": {
"@babel/highlight": "^7.10.4"
@@ -1744,8 +20264,6 @@
},
"node_modules/@expo/config/node_modules/semver": {
"version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
@@ -1756,8 +20274,6 @@
},
"node_modules/@expo/devcert": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@expo/devcert/-/devcert-1.2.0.tgz",
- "integrity": "sha512-Uilcv3xGELD5t/b0eM4cxBFEKQRIivB3v7i+VhWLV/gL98aw810unLKKJbGAxAIhY6Ipyz8ChWibFsKFXYwstA==",
"license": "MIT",
"dependencies": {
"@expo/sudo-prompt": "^9.3.1",
@@ -1767,8 +20283,6 @@
},
"node_modules/@expo/devcert/node_modules/debug": {
"version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"license": "MIT",
"dependencies": {
"ms": "^2.1.1"
@@ -1776,8 +20290,6 @@
},
"node_modules/@expo/env": {
"version": "1.0.7",
- "resolved": "https://registry.npmjs.org/@expo/env/-/env-1.0.7.tgz",
- "integrity": "sha512-qSTEnwvuYJ3umapO9XJtrb1fAqiPlmUUg78N0IZXXGwQRt+bkp0OBls+Y5Mxw/Owj8waAM0Z3huKKskRADR5ow==",
"license": "MIT",
"dependencies": {
"chalk": "^4.0.0",
@@ -1789,8 +20301,6 @@
},
"node_modules/@expo/fingerprint": {
"version": "0.13.4",
- "resolved": "https://registry.npmjs.org/@expo/fingerprint/-/fingerprint-0.13.4.tgz",
- "integrity": "sha512-MYfPYBTMfrrNr07DALuLhG6EaLVNVrY/PXjEzsjWdWE4ZFn0yqI0IdHNkJG7t1gePT8iztHc7qnsx+oo/rDo6w==",
"license": "MIT",
"dependencies": {
"@expo/spawn-async": "^1.7.2",
@@ -1812,8 +20322,6 @@
},
"node_modules/@expo/fingerprint/node_modules/semver": {
"version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
@@ -1824,8 +20332,6 @@
},
"node_modules/@expo/image-utils": {
"version": "0.7.6",
- "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.7.6.tgz",
- "integrity": "sha512-GKnMqC79+mo/1AFrmAcUcGfbsXXTRqOMNS1umebuevl3aaw+ztsYEFEiuNhHZW7PQ3Xs3URNT513ZxKhznDscw==",
"license": "MIT",
"dependencies": {
"@expo/spawn-async": "^1.7.2",
@@ -1841,8 +20347,6 @@
},
"node_modules/@expo/image-utils/node_modules/semver": {
"version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
@@ -1853,8 +20357,6 @@
},
"node_modules/@expo/json-file": {
"version": "9.1.5",
- "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-9.1.5.tgz",
- "integrity": "sha512-prWBhLUlmcQtvN6Y7BpW2k9zXGd3ySa3R6rAguMJkp1z22nunLN64KYTUWfijFlprFoxm9r2VNnGkcbndAlgKA==",
"license": "MIT",
"dependencies": {
"@babel/code-frame": "~7.10.4",
@@ -1863,8 +20365,6 @@
},
"node_modules/@expo/json-file/node_modules/@babel/code-frame": {
"version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
"license": "MIT",
"dependencies": {
"@babel/highlight": "^7.10.4"
@@ -1872,8 +20372,6 @@
},
"node_modules/@expo/metro-config": {
"version": "0.20.17",
- "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.20.17.tgz",
- "integrity": "sha512-lpntF2UZn5bTwrPK6guUv00Xv3X9mkN3YYla+IhEHiYXWyG7WKOtDU0U4KR8h3ubkZ6SPH3snDyRyAzMsWtZFA==",
"license": "MIT",
"dependencies": {
"@babel/core": "^7.20.0",
@@ -1899,8 +20397,6 @@
},
"node_modules/@expo/osascript": {
"version": "2.2.5",
- "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.2.5.tgz",
- "integrity": "sha512-Bpp/n5rZ0UmpBOnl7Li3LtM7la0AR3H9NNesqL+ytW5UiqV/TbonYW3rDZY38u4u/lG7TnYflVIVQPD+iqZJ5w==",
"license": "MIT",
"dependencies": {
"@expo/spawn-async": "^1.7.2",
@@ -1912,8 +20408,6 @@
},
"node_modules/@expo/package-manager": {
"version": "1.8.6",
- "resolved": "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.8.6.tgz",
- "integrity": "sha512-gcdICLuL+nHKZagPIDC5tX8UoDDB8vNA5/+SaQEqz8D+T2C4KrEJc2Vi1gPAlDnKif834QS6YluHWyxjk0yZlQ==",
"license": "MIT",
"dependencies": {
"@expo/json-file": "^9.1.5",
@@ -1926,8 +20420,6 @@
},
"node_modules/@expo/plist": {
"version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.3.5.tgz",
- "integrity": "sha512-9RYVU1iGyCJ7vWfg3e7c/NVyMFs8wbl+dMWZphtFtsqyN9zppGREU3ctlD3i8KUE0sCUTVnLjCWr+VeUIDep2g==",
"license": "MIT",
"dependencies": {
"@xmldom/xmldom": "^0.8.8",
@@ -1937,8 +20429,6 @@
},
"node_modules/@expo/prebuild-config": {
"version": "9.0.11",
- "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-9.0.11.tgz",
- "integrity": "sha512-0DsxhhixRbCCvmYskBTq8czsU0YOBsntYURhWPNpkl0IPVpeP9haE5W4OwtHGzXEbmHdzaoDwNmVcWjS/mqbDw==",
"license": "MIT",
"dependencies": {
"@expo/config": "~11.0.13",
@@ -1955,8 +20445,6 @@
},
"node_modules/@expo/prebuild-config/node_modules/semver": {
"version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
@@ -1967,14 +20455,10 @@
},
"node_modules/@expo/sdk-runtime-versions": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.0.tgz",
- "integrity": "sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==",
"license": "MIT"
},
"node_modules/@expo/spawn-async": {
"version": "1.7.2",
- "resolved": "https://registry.npmjs.org/@expo/spawn-async/-/spawn-async-1.7.2.tgz",
- "integrity": "sha512-QdWi16+CHB9JYP7gma19OVVg0BFkvU8zNj9GjWorYI8Iv8FUxjOCcYRuAmX4s/h91e4e7BPsskc8cSrZYho9Ew==",
"license": "MIT",
"dependencies": {
"cross-spawn": "^7.0.3"
@@ -1985,14 +20469,10 @@
},
"node_modules/@expo/sudo-prompt": {
"version": "9.3.2",
- "resolved": "https://registry.npmjs.org/@expo/sudo-prompt/-/sudo-prompt-9.3.2.tgz",
- "integrity": "sha512-HHQigo3rQWKMDzYDLkubN5WQOYXJJE2eNqIQC2axC2iO3mHdwnIR7FgZVvHWtBwAdzBgAP0ECp8KqS8TiMKvgw==",
"license": "MIT"
},
"node_modules/@expo/vector-icons": {
"version": "14.1.0",
- "resolved": "https://registry.npmjs.org/@expo/vector-icons/-/vector-icons-14.1.0.tgz",
- "integrity": "sha512-7T09UE9h8QDTsUeMGymB4i+iqvtEeaO5VvUjryFB4tugDTG/bkzViWA74hm5pfjjDEhYMXWaX112mcvhccmIwQ==",
"license": "MIT",
"peerDependencies": {
"expo-font": "*",
@@ -2002,14 +20482,10 @@
},
"node_modules/@expo/ws-tunnel": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/@expo/ws-tunnel/-/ws-tunnel-1.0.6.tgz",
- "integrity": "sha512-nDRbLmSrJar7abvUjp3smDwH8HcbZcoOEa5jVPUv9/9CajgmWw20JNRwTuBRzWIWIkEJDkz20GoNA+tSwUqk0Q==",
"license": "MIT"
},
"node_modules/@expo/xcpretty": {
"version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.3.2.tgz",
- "integrity": "sha512-ReZxZ8pdnoI3tP/dNnJdnmAk7uLT4FjsKDGW7YeDdvdOMz2XCQSmSCM9IWlrXuWtMF9zeSB6WJtEhCQ41gQOfw==",
"license": "BSD-3-Clause",
"dependencies": {
"@babel/code-frame": "7.10.4",
@@ -2023,8 +20499,6 @@
},
"node_modules/@expo/xcpretty/node_modules/@babel/code-frame": {
"version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
"license": "MIT",
"dependencies": {
"@babel/highlight": "^7.10.4"
@@ -2032,8 +20506,6 @@
},
"node_modules/@isaacs/cliui": {
"version": "8.0.2",
- "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
- "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
"license": "ISC",
"dependencies": {
"string-width": "^5.1.2",
@@ -2049,8 +20521,6 @@
},
"node_modules/@isaacs/cliui/node_modules/ansi-styles": {
"version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
- "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
"license": "MIT",
"engines": {
"node": ">=12"
@@ -2061,8 +20531,6 @@
},
"node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
"version": "8.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
- "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
"license": "MIT",
"dependencies": {
"ansi-styles": "^6.1.0",
@@ -2078,8 +20546,6 @@
},
"node_modules/@isaacs/fs-minipass": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz",
- "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==",
"license": "ISC",
"dependencies": {
"minipass": "^7.0.4"
@@ -2090,8 +20556,6 @@
},
"node_modules/@isaacs/ttlcache": {
"version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz",
- "integrity": "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==",
"license": "ISC",
"engines": {
"node": ">=12"
@@ -2099,8 +20563,6 @@
},
"node_modules/@istanbuljs/load-nyc-config": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
- "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
"license": "ISC",
"dependencies": {
"camelcase": "^5.3.1",
@@ -2115,8 +20577,6 @@
},
"node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": {
"version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"license": "MIT",
"dependencies": {
"sprintf-js": "~1.0.2"
@@ -2124,8 +20584,6 @@
},
"node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"license": "MIT",
"dependencies": {
"locate-path": "^5.0.0",
@@ -2137,8 +20595,6 @@
},
"node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": {
"version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"license": "MIT",
"dependencies": {
"argparse": "^1.0.7",
@@ -2150,8 +20606,6 @@
},
"node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"license": "MIT",
"dependencies": {
"p-locate": "^4.1.0"
@@ -2162,8 +20616,6 @@
},
"node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"license": "MIT",
"dependencies": {
"p-try": "^2.0.0"
@@ -2177,8 +20629,6 @@
},
"node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"license": "MIT",
"dependencies": {
"p-limit": "^2.2.0"
@@ -2189,8 +20639,6 @@
},
"node_modules/@istanbuljs/schema": {
"version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
- "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
"license": "MIT",
"engines": {
"node": ">=8"
@@ -2198,8 +20646,6 @@
},
"node_modules/@jest/create-cache-key-function": {
"version": "29.7.0",
- "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz",
- "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==",
"license": "MIT",
"dependencies": {
"@jest/types": "^29.6.3"
@@ -2210,8 +20656,6 @@
},
"node_modules/@jest/environment": {
"version": "29.7.0",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz",
- "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==",
"license": "MIT",
"dependencies": {
"@jest/fake-timers": "^29.7.0",
@@ -2225,8 +20669,6 @@
},
"node_modules/@jest/fake-timers": {
"version": "29.7.0",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz",
- "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==",
"license": "MIT",
"dependencies": {
"@jest/types": "^29.6.3",
@@ -2242,8 +20684,6 @@
},
"node_modules/@jest/schemas": {
"version": "29.6.3",
- "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
- "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
"license": "MIT",
"dependencies": {
"@sinclair/typebox": "^0.27.8"
@@ -2254,8 +20694,6 @@
},
"node_modules/@jest/transform": {
"version": "29.7.0",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz",
- "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==",
"license": "MIT",
"dependencies": {
"@babel/core": "^7.11.6",
@@ -2280,8 +20718,6 @@
},
"node_modules/@jest/types": {
"version": "29.6.3",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
- "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
"license": "MIT",
"dependencies": {
"@jest/schemas": "^29.6.3",
@@ -2297,8 +20733,6 @@
},
"node_modules/@jridgewell/gen-mapping": {
"version": "0.3.13",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
- "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
"license": "MIT",
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.5.0",
@@ -2307,8 +20741,6 @@
},
"node_modules/@jridgewell/resolve-uri": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
"license": "MIT",
"engines": {
"node": ">=6.0.0"
@@ -2316,8 +20748,6 @@
},
"node_modules/@jridgewell/source-map": {
"version": "0.3.11",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz",
- "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==",
"license": "MIT",
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.5",
@@ -2326,14 +20756,10 @@
},
"node_modules/@jridgewell/sourcemap-codec": {
"version": "1.5.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
- "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
"license": "MIT"
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.30",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz",
- "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==",
"license": "MIT",
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
@@ -2342,8 +20768,6 @@
},
"node_modules/@pkgjs/parseargs": {
"version": "0.11.0",
- "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
- "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
"license": "MIT",
"optional": true,
"engines": {
@@ -2352,8 +20776,6 @@
},
"node_modules/@react-native/assets-registry": {
"version": "0.79.5",
- "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.79.5.tgz",
- "integrity": "sha512-N4Kt1cKxO5zgM/BLiyzuuDNquZPiIgfktEQ6TqJ/4nKA8zr4e8KJgU6Tb2eleihDO4E24HmkvGc73naybKRz/w==",
"license": "MIT",
"engines": {
"node": ">=18"
@@ -2361,8 +20783,6 @@
},
"node_modules/@react-native/babel-plugin-codegen": {
"version": "0.79.5",
- "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.79.5.tgz",
- "integrity": "sha512-Rt/imdfqXihD/sn0xnV4flxxb1aLLjPtMF1QleQjEhJsTUPpH4TFlfOpoCvsrXoDl4OIcB1k4FVM24Ez92zf5w==",
"license": "MIT",
"dependencies": {
"@babel/traverse": "^7.25.3",
@@ -2374,8 +20794,6 @@
},
"node_modules/@react-native/babel-preset": {
"version": "0.79.5",
- "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.79.5.tgz",
- "integrity": "sha512-GDUYIWslMLbdJHEgKNfrOzXk8EDKxKzbwmBXUugoiSlr6TyepVZsj3GZDLEFarOcTwH1EXXHJsixihk8DCRQDA==",
"license": "MIT",
"dependencies": {
"@babel/core": "^7.25.2",
@@ -2433,8 +20851,6 @@
},
"node_modules/@react-native/codegen": {
"version": "0.79.5",
- "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.79.5.tgz",
- "integrity": "sha512-FO5U1R525A1IFpJjy+KVznEinAgcs3u7IbnbRJUG9IH/MBXi2lEU2LtN+JarJ81MCfW4V2p0pg6t/3RGHFRrlQ==",
"license": "MIT",
"dependencies": {
"glob": "^7.1.1",
@@ -2452,8 +20868,6 @@
},
"node_modules/@react-native/codegen/node_modules/brace-expansion": {
"version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
@@ -2462,9 +20876,6 @@
},
"node_modules/@react-native/codegen/node_modules/glob": {
"version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
"license": "ISC",
"dependencies": {
"fs.realpath": "^1.0.0",
@@ -2483,8 +20894,6 @@
},
"node_modules/@react-native/codegen/node_modules/minimatch": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
@@ -2495,8 +20904,6 @@
},
"node_modules/@react-native/community-cli-plugin": {
"version": "0.79.5",
- "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.79.5.tgz",
- "integrity": "sha512-ApLO1ARS8JnQglqS3JAHk0jrvB+zNW3dvNJyXPZPoygBpZVbf8sjvqeBiaEYpn8ETbFWddebC4HoQelDndnrrA==",
"license": "MIT",
"dependencies": {
"@react-native/dev-middleware": "0.79.5",
@@ -2522,8 +20929,6 @@
},
"node_modules/@react-native/community-cli-plugin/node_modules/debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
@@ -2531,14 +20936,10 @@
},
"node_modules/@react-native/community-cli-plugin/node_modules/ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"license": "MIT"
},
"node_modules/@react-native/community-cli-plugin/node_modules/semver": {
"version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
@@ -2549,8 +20950,6 @@
},
"node_modules/@react-native/debugger-frontend": {
"version": "0.79.5",
- "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.79.5.tgz",
- "integrity": "sha512-WQ49TRpCwhgUYo5/n+6GGykXmnumpOkl4Lr2l2o2buWU9qPOwoiBqJAtmWEXsAug4ciw3eLiVfthn5ufs0VB0A==",
"license": "BSD-3-Clause",
"engines": {
"node": ">=18"
@@ -2558,8 +20957,6 @@
},
"node_modules/@react-native/dev-middleware": {
"version": "0.79.5",
- "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.79.5.tgz",
- "integrity": "sha512-U7r9M/SEktOCP/0uS6jXMHmYjj4ESfYCkNAenBjFjjsRWekiHE+U/vRMeO+fG9gq4UCcBAUISClkQCowlftYBw==",
"license": "MIT",
"dependencies": {
"@isaacs/ttlcache": "^1.4.1",
@@ -2580,8 +20977,6 @@
},
"node_modules/@react-native/dev-middleware/node_modules/debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
@@ -2589,14 +20984,10 @@
},
"node_modules/@react-native/dev-middleware/node_modules/ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"license": "MIT"
},
"node_modules/@react-native/dev-middleware/node_modules/ws": {
"version": "6.2.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz",
- "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==",
"license": "MIT",
"dependencies": {
"async-limiter": "~1.0.0"
@@ -2604,8 +20995,6 @@
},
"node_modules/@react-native/gradle-plugin": {
"version": "0.79.5",
- "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.79.5.tgz",
- "integrity": "sha512-K3QhfFNKiWKF3HsCZCEoWwJPSMcPJQaeqOmzFP4RL8L3nkpgUwn74PfSCcKHxooVpS6bMvJFQOz7ggUZtNVT+A==",
"license": "MIT",
"engines": {
"node": ">=18"
@@ -2613,8 +21002,6 @@
},
"node_modules/@react-native/js-polyfills": {
"version": "0.79.5",
- "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.79.5.tgz",
- "integrity": "sha512-a2wsFlIhvd9ZqCD5KPRsbCQmbZi6KxhRN++jrqG0FUTEV5vY7MvjjUqDILwJd2ZBZsf7uiDuClCcKqA+EEdbvw==",
"license": "MIT",
"engines": {
"node": ">=18"
@@ -2622,20 +21009,14 @@
},
"node_modules/@react-native/normalize-colors": {
"version": "0.79.5",
- "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.79.5.tgz",
- "integrity": "sha512-nGXMNMclZgzLUxijQQ38Dm3IAEhgxuySAWQHnljFtfB0JdaMwpe0Ox9H7Tp2OgrEA+EMEv+Od9ElKlHwGKmmvQ==",
"license": "MIT"
},
"node_modules/@sinclair/typebox": {
"version": "0.27.8",
- "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
- "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
"license": "MIT"
},
"node_modules/@sinonjs/commons": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
- "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
"license": "BSD-3-Clause",
"dependencies": {
"type-detect": "4.0.8"
@@ -2643,8 +21024,6 @@
},
"node_modules/@sinonjs/fake-timers": {
"version": "10.3.0",
- "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz",
- "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==",
"license": "BSD-3-Clause",
"dependencies": {
"@sinonjs/commons": "^3.0.0"
@@ -2652,8 +21031,6 @@
},
"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==",
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.20.7",
@@ -2665,8 +21042,6 @@
},
"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==",
"license": "MIT",
"dependencies": {
"@babel/types": "^7.0.0"
@@ -2674,8 +21049,6 @@
},
"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==",
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.1.0",
@@ -2684,8 +21057,6 @@
},
"node_modules/@types/babel__traverse": {
"version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz",
- "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==",
"license": "MIT",
"dependencies": {
"@babel/types": "^7.28.2"
@@ -2693,8 +21064,6 @@
},
"node_modules/@types/graceful-fs": {
"version": "4.1.9",
- "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz",
- "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==",
"license": "MIT",
"dependencies": {
"@types/node": "*"
@@ -2702,14 +21071,10 @@
},
"node_modules/@types/istanbul-lib-coverage": {
"version": "2.0.6",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
- "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
"license": "MIT"
},
"node_modules/@types/istanbul-lib-report": {
"version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz",
- "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==",
"license": "MIT",
"dependencies": {
"@types/istanbul-lib-coverage": "*"
@@ -2717,8 +21082,6 @@
},
"node_modules/@types/istanbul-reports": {
"version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
- "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
"license": "MIT",
"dependencies": {
"@types/istanbul-lib-report": "*"
@@ -2726,8 +21089,6 @@
},
"node_modules/@types/node": {
"version": "24.3.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-24.3.0.tgz",
- "integrity": "sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==",
"license": "MIT",
"dependencies": {
"undici-types": "~7.10.0"
@@ -2735,8 +21096,6 @@
},
"node_modules/@types/react": {
"version": "19.0.14",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.14.tgz",
- "integrity": "sha512-ixLZ7zG7j1fM0DijL9hDArwhwcCb4vqmePgwtV0GfnkHRSCUEv4LvzarcTdhoqgyMznUx/EhoTUv31CKZzkQlw==",
"devOptional": true,
"license": "MIT",
"dependencies": {
@@ -2745,14 +21104,10 @@
},
"node_modules/@types/stack-utils": {
"version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
- "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
"license": "MIT"
},
"node_modules/@types/yargs": {
"version": "17.0.33",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz",
- "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==",
"license": "MIT",
"dependencies": {
"@types/yargs-parser": "*"
@@ -2760,14 +21115,10 @@
},
"node_modules/@types/yargs-parser": {
"version": "21.0.3",
- "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
- "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
"license": "MIT"
},
"node_modules/@urql/core": {
"version": "5.2.0",
- "resolved": "https://registry.npmjs.org/@urql/core/-/core-5.2.0.tgz",
- "integrity": "sha512-/n0ieD0mvvDnVAXEQgX/7qJiVcvYvNkOHeBvkwtylfjydar123caCXcl58PXFY11oU1oquJocVXHxLAbtv4x1A==",
"license": "MIT",
"dependencies": {
"@0no-co/graphql.web": "^1.0.13",
@@ -2776,8 +21127,6 @@
},
"node_modules/@urql/exchange-retry": {
"version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@urql/exchange-retry/-/exchange-retry-1.3.2.tgz",
- "integrity": "sha512-TQMCz2pFJMfpNxmSfX1VSfTjwUIFx/mL+p1bnfM1xjjdla7Z+KnGMW/EhFbpckp3LyWAH4PgOsMwOMnIN+MBFg==",
"license": "MIT",
"dependencies": {
"@urql/core": "^5.1.2",
@@ -2789,8 +21138,6 @@
},
"node_modules/@xmldom/xmldom": {
"version": "0.8.11",
- "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.11.tgz",
- "integrity": "sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==",
"license": "MIT",
"engines": {
"node": ">=10.0.0"
@@ -2798,8 +21145,6 @@
},
"node_modules/abort-controller": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
- "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
"license": "MIT",
"dependencies": {
"event-target-shim": "^5.0.0"
@@ -2810,8 +21155,6 @@
},
"node_modules/accepts": {
"version": "1.3.8",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
- "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
"license": "MIT",
"dependencies": {
"mime-types": "~2.1.34",
@@ -2823,8 +21166,6 @@
},
"node_modules/acorn": {
"version": "8.15.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
- "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"license": "MIT",
"bin": {
"acorn": "bin/acorn"
@@ -2835,8 +21176,6 @@
},
"node_modules/agent-base": {
"version": "7.1.4",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
- "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
"license": "MIT",
"engines": {
"node": ">= 14"
@@ -2844,14 +21183,10 @@
},
"node_modules/anser": {
"version": "1.4.10",
- "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz",
- "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==",
"license": "MIT"
},
"node_modules/ansi-escapes": {
"version": "4.3.2",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
- "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
"license": "MIT",
"dependencies": {
"type-fest": "^0.21.3"
@@ -2865,8 +21200,6 @@
},
"node_modules/ansi-escapes/node_modules/type-fest": {
"version": "0.21.3",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
- "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
"license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=10"
@@ -2877,8 +21210,6 @@
},
"node_modules/ansi-regex": {
"version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"license": "MIT",
"engines": {
"node": ">=8"
@@ -2886,8 +21217,6 @@
},
"node_modules/ansi-styles": {
"version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"license": "MIT",
"dependencies": {
"color-convert": "^2.0.1"
@@ -2901,14 +21230,10 @@
},
"node_modules/any-promise": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
- "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
"license": "MIT"
},
"node_modules/anymatch": {
"version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"license": "ISC",
"dependencies": {
"normalize-path": "^3.0.0",
@@ -2920,8 +21245,6 @@
},
"node_modules/anymatch/node_modules/picomatch": {
"version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"license": "MIT",
"engines": {
"node": ">=8.6"
@@ -2932,32 +21255,22 @@
},
"node_modules/arg": {
"version": "5.0.2",
- "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
- "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
"license": "MIT"
},
"node_modules/argparse": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
"license": "Python-2.0"
},
"node_modules/asap": {
"version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
"license": "MIT"
},
"node_modules/async-limiter": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
- "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
"license": "MIT"
},
"node_modules/babel-jest": {
"version": "29.7.0",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz",
- "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==",
"license": "MIT",
"dependencies": {
"@jest/transform": "^29.7.0",
@@ -2977,8 +21290,6 @@
},
"node_modules/babel-plugin-istanbul": {
"version": "6.1.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
- "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
"license": "BSD-3-Clause",
"dependencies": {
"@babel/helper-plugin-utils": "^7.0.0",
@@ -2993,8 +21304,6 @@
},
"node_modules/babel-plugin-jest-hoist": {
"version": "29.6.3",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz",
- "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==",
"license": "MIT",
"dependencies": {
"@babel/template": "^7.3.3",
@@ -3008,8 +21317,6 @@
},
"node_modules/babel-plugin-polyfill-corejs2": {
"version": "0.4.14",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz",
- "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==",
"license": "MIT",
"dependencies": {
"@babel/compat-data": "^7.27.7",
@@ -3022,8 +21329,6 @@
},
"node_modules/babel-plugin-polyfill-corejs3": {
"version": "0.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz",
- "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==",
"license": "MIT",
"dependencies": {
"@babel/helper-define-polyfill-provider": "^0.6.5",
@@ -3035,8 +21340,6 @@
},
"node_modules/babel-plugin-polyfill-regenerator": {
"version": "0.6.5",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz",
- "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==",
"license": "MIT",
"dependencies": {
"@babel/helper-define-polyfill-provider": "^0.6.5"
@@ -3047,14 +21350,10 @@
},
"node_modules/babel-plugin-react-native-web": {
"version": "0.19.13",
- "resolved": "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.19.13.tgz",
- "integrity": "sha512-4hHoto6xaN23LCyZgL9LJZc3olmAxd7b6jDzlZnKXAh4rRAbZRKNBJoOOdp46OBqgy+K0t0guTj5/mhA8inymQ==",
"license": "MIT"
},
"node_modules/babel-plugin-syntax-hermes-parser": {
"version": "0.25.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.25.1.tgz",
- "integrity": "sha512-IVNpGzboFLfXZUAwkLFcI/bnqVbwky0jP3eBno4HKtqvQJAHBLdgxiG6lQ4to0+Q/YCN3PO0od5NZwIKyY4REQ==",
"license": "MIT",
"dependencies": {
"hermes-parser": "0.25.1"
@@ -3062,8 +21361,6 @@
},
"node_modules/babel-plugin-transform-flow-enums": {
"version": "0.0.2",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz",
- "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==",
"license": "MIT",
"dependencies": {
"@babel/plugin-syntax-flow": "^7.12.1"
@@ -3071,8 +21368,6 @@
},
"node_modules/babel-preset-current-node-syntax": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz",
- "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==",
"license": "MIT",
"dependencies": {
"@babel/plugin-syntax-async-generators": "^7.8.4",
@@ -3097,8 +21392,6 @@
},
"node_modules/babel-preset-expo": {
"version": "13.2.3",
- "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-13.2.3.tgz",
- "integrity": "sha512-wQJn92lqj8GKR7Ojg/aW4+GkqI6ZdDNTDyOqhhl7A9bAqk6t0ukUOWLDXQb4p0qKJjMDV1F6gNWasI2KUbuVTQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-module-imports": "^7.25.9",
@@ -3134,8 +21427,6 @@
},
"node_modules/babel-preset-jest": {
"version": "29.6.3",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz",
- "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==",
"license": "MIT",
"dependencies": {
"babel-plugin-jest-hoist": "^29.6.3",
@@ -3150,14 +21441,10 @@
},
"node_modules/balanced-match": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"license": "MIT"
},
"node_modules/base64-js": {
"version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
"funding": [
{
"type": "github",
@@ -3176,8 +21463,6 @@
},
"node_modules/better-opn": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz",
- "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==",
"license": "MIT",
"dependencies": {
"open": "^8.0.4"
@@ -3188,8 +21473,6 @@
},
"node_modules/better-opn/node_modules/open": {
"version": "8.4.2",
- "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
- "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
"license": "MIT",
"dependencies": {
"define-lazy-prop": "^2.0.0",
@@ -3205,17 +21488,19 @@
},
"node_modules/big-integer": {
"version": "1.6.52",
- "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz",
- "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==",
"license": "Unlicense",
"engines": {
"node": ">=0.6"
}
},
+ "node_modules/boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
+ "license": "ISC"
+ },
"node_modules/bplist-creator": {
"version": "0.1.0",
- "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz",
- "integrity": "sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==",
"license": "MIT",
"dependencies": {
"stream-buffers": "2.2.x"
@@ -3223,8 +21508,6 @@
},
"node_modules/bplist-parser": {
"version": "0.3.2",
- "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.2.tgz",
- "integrity": "sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==",
"license": "MIT",
"dependencies": {
"big-integer": "1.6.x"
@@ -3235,8 +21518,6 @@
},
"node_modules/brace-expansion": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
- "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
@@ -3244,8 +21525,6 @@
},
"node_modules/braces": {
"version": "3.0.3",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
- "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"license": "MIT",
"dependencies": {
"fill-range": "^7.1.1"
@@ -3256,8 +21535,6 @@
},
"node_modules/browserslist": {
"version": "4.25.2",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.2.tgz",
- "integrity": "sha512-0si2SJK3ooGzIawRu61ZdPCO1IncZwS8IzuX73sPZsXW6EQ/w/DAfPyKI8l1ETTCr2MnvqWitmlCUxgdul45jA==",
"funding": [
{
"type": "opencollective",
@@ -3288,8 +21565,6 @@
},
"node_modules/bser": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
- "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
"license": "Apache-2.0",
"dependencies": {
"node-int64": "^0.4.0"
@@ -3297,8 +21572,6 @@
},
"node_modules/buffer": {
"version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"funding": [
{
"type": "github",
@@ -3321,14 +21594,10 @@
},
"node_modules/buffer-from": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
"license": "MIT"
},
"node_modules/bytes": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -3336,8 +21605,6 @@
},
"node_modules/caller-callsite": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
- "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==",
"license": "MIT",
"dependencies": {
"callsites": "^2.0.0"
@@ -3348,8 +21615,6 @@
},
"node_modules/caller-path": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
- "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==",
"license": "MIT",
"dependencies": {
"caller-callsite": "^2.0.0"
@@ -3360,8 +21625,6 @@
},
"node_modules/callsites": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
- "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==",
"license": "MIT",
"engines": {
"node": ">=4"
@@ -3369,8 +21632,6 @@
},
"node_modules/camelcase": {
"version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"license": "MIT",
"engines": {
"node": ">=6"
@@ -3378,8 +21639,6 @@
},
"node_modules/caniuse-lite": {
"version": "1.0.30001735",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001735.tgz",
- "integrity": "sha512-EV/laoX7Wq2J9TQlyIXRxTJqIw4sxfXS4OYgudGxBYRuTv0q7AM6yMEpU/Vo1I94thg9U6EZ2NfZx9GJq83u7w==",
"funding": [
{
"type": "opencollective",
@@ -3398,8 +21657,6 @@
},
"node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
@@ -3414,8 +21671,6 @@
},
"node_modules/chownr": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz",
- "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==",
"license": "BlueOak-1.0.0",
"engines": {
"node": ">=18"
@@ -3423,8 +21678,6 @@
},
"node_modules/chrome-launcher": {
"version": "0.15.2",
- "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz",
- "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==",
"license": "Apache-2.0",
"dependencies": {
"@types/node": "*",
@@ -3441,8 +21694,6 @@
},
"node_modules/chromium-edge-launcher": {
"version": "0.2.0",
- "resolved": "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-0.2.0.tgz",
- "integrity": "sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg==",
"license": "Apache-2.0",
"dependencies": {
"@types/node": "*",
@@ -3455,8 +21706,6 @@
},
"node_modules/ci-info": {
"version": "3.9.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
- "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
"funding": [
{
"type": "github",
@@ -3470,8 +21719,6 @@
},
"node_modules/cli-cursor": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
- "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==",
"license": "MIT",
"dependencies": {
"restore-cursor": "^2.0.0"
@@ -3482,8 +21729,6 @@
},
"node_modules/cli-spinners": {
"version": "2.9.2",
- "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz",
- "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==",
"license": "MIT",
"engines": {
"node": ">=6"
@@ -3494,8 +21739,6 @@
},
"node_modules/cliui": {
"version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
"license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
@@ -3508,14 +21751,10 @@
},
"node_modules/cliui/node_modules/emoji-regex": {
"version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"license": "MIT"
},
"node_modules/cliui/node_modules/string-width": {
"version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
@@ -3528,8 +21767,6 @@
},
"node_modules/cliui/node_modules/strip-ansi": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@@ -3540,8 +21777,6 @@
},
"node_modules/clone": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
- "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
"license": "MIT",
"engines": {
"node": ">=0.8"
@@ -3553,8 +21788,6 @@
},
"node_modules/color-convert": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"license": "MIT",
"dependencies": {
"color-name": "~1.1.4"
@@ -3565,14 +21798,10 @@
},
"node_modules/color-name": {
"version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"license": "MIT"
},
"node_modules/commander": {
"version": "7.2.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
"license": "MIT",
"engines": {
"node": ">= 10"
@@ -3580,8 +21809,6 @@
},
"node_modules/compressible": {
"version": "2.0.18",
- "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
- "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
"license": "MIT",
"dependencies": {
"mime-db": ">= 1.43.0 < 2"
@@ -3592,8 +21819,6 @@
},
"node_modules/compression": {
"version": "1.8.1",
- "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz",
- "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==",
"license": "MIT",
"dependencies": {
"bytes": "3.1.2",
@@ -3610,8 +21835,6 @@
},
"node_modules/compression/node_modules/debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
@@ -3619,14 +21842,10 @@
},
"node_modules/compression/node_modules/ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"license": "MIT"
},
"node_modules/compression/node_modules/negotiator": {
"version": "0.6.4",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz",
- "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
@@ -3634,14 +21853,10 @@
},
"node_modules/concat-map": {
"version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
"license": "MIT"
},
"node_modules/connect": {
"version": "3.7.0",
- "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
- "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
"license": "MIT",
"dependencies": {
"debug": "2.6.9",
@@ -3655,8 +21870,6 @@
},
"node_modules/connect/node_modules/debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
@@ -3664,20 +21877,14 @@
},
"node_modules/connect/node_modules/ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"license": "MIT"
},
"node_modules/convert-source-map": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
- "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
"license": "MIT"
},
"node_modules/core-js-compat": {
"version": "3.45.0",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.45.0.tgz",
- "integrity": "sha512-gRoVMBawZg0OnxaVv3zpqLLxaHmsubEGyTnqdpI/CEBvX4JadI1dMSHxagThprYRtSVbuQxvi6iUatdPxohHpA==",
"license": "MIT",
"dependencies": {
"browserslist": "^4.25.1"
@@ -3689,8 +21896,6 @@
},
"node_modules/cosmiconfig": {
"version": "5.2.1",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
- "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
"license": "MIT",
"dependencies": {
"import-fresh": "^2.0.0",
@@ -3704,8 +21909,6 @@
},
"node_modules/cosmiconfig/node_modules/argparse": {
"version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"license": "MIT",
"dependencies": {
"sprintf-js": "~1.0.2"
@@ -3713,8 +21916,6 @@
},
"node_modules/cosmiconfig/node_modules/js-yaml": {
"version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"license": "MIT",
"dependencies": {
"argparse": "^1.0.7",
@@ -3726,8 +21927,6 @@
},
"node_modules/cross-spawn": {
"version": "7.0.6",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
- "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
"license": "MIT",
"dependencies": {
"path-key": "^3.1.0",
@@ -3740,24 +21939,68 @@
},
"node_modules/crypto-random-string": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
- "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
"license": "MIT",
"engines": {
"node": ">=8"
}
},
+ "node_modules/css-select": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz",
+ "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "boolbase": "^1.0.0",
+ "css-what": "^6.1.0",
+ "domhandler": "^5.0.2",
+ "domutils": "^3.0.1",
+ "nth-check": "^2.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
+ "node_modules/css-tree": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
+ "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
+ "license": "MIT",
+ "dependencies": {
+ "mdn-data": "2.0.14",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/css-tree/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/css-what": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz",
+ "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">= 6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
"node_modules/csstype": {
"version": "3.1.3",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
- "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
"devOptional": true,
"license": "MIT"
},
"node_modules/debug": {
"version": "4.4.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
- "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
@@ -3773,8 +22016,6 @@
},
"node_modules/deep-extend": {
"version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
"license": "MIT",
"engines": {
"node": ">=4.0.0"
@@ -3782,8 +22023,6 @@
},
"node_modules/deepmerge": {
"version": "4.3.1",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
- "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -3791,8 +22030,6 @@
},
"node_modules/defaults": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
- "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
"license": "MIT",
"dependencies": {
"clone": "^1.0.2"
@@ -3803,8 +22040,6 @@
},
"node_modules/define-lazy-prop": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
- "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
"license": "MIT",
"engines": {
"node": ">=8"
@@ -3812,8 +22047,6 @@
},
"node_modules/depd": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -3821,8 +22054,6 @@
},
"node_modules/destroy": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
- "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
"license": "MIT",
"engines": {
"node": ">= 0.8",
@@ -3831,8 +22062,6 @@
},
"node_modules/detect-libc": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
- "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
"license": "Apache-2.0",
"bin": {
"detect-libc": "bin/detect-libc.js"
@@ -3841,10 +22070,63 @@
"node": ">=0.10"
}
},
+ "node_modules/dom-serializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
+ "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
+ "license": "MIT",
+ "dependencies": {
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "entities": "^4.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
+ }
+ },
+ "node_modules/domelementtype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/domhandler": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "domelementtype": "^2.3.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
+ }
+ },
+ "node_modules/domutils": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz",
+ "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "dom-serializer": "^2.0.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
+ }
+ },
"node_modules/dotenv": {
"version": "16.4.7",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz",
- "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==",
"license": "BSD-2-Clause",
"engines": {
"node": ">=12"
@@ -3855,8 +22137,6 @@
},
"node_modules/dotenv-expand": {
"version": "11.0.7",
- "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.7.tgz",
- "integrity": "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==",
"license": "BSD-2-Clause",
"dependencies": {
"dotenv": "^16.4.5"
@@ -3870,41 +22150,41 @@
},
"node_modules/eastasianwidth": {
"version": "0.2.0",
- "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
- "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
"license": "MIT"
},
"node_modules/ee-first": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
"license": "MIT"
},
"node_modules/electron-to-chromium": {
"version": "1.5.203",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.203.tgz",
- "integrity": "sha512-uz4i0vLhfm6dLZWbz/iH88KNDV+ivj5+2SA+utpgjKaj9Q0iDLuwk6Idhe9BTxciHudyx6IvTvijhkPvFGUQ0g==",
"license": "ISC"
},
"node_modules/emoji-regex": {
"version": "9.2.2",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
"license": "MIT"
},
"node_modules/encodeurl": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
+ "node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
"node_modules/env-editor": {
"version": "0.4.2",
- "resolved": "https://registry.npmjs.org/env-editor/-/env-editor-0.4.2.tgz",
- "integrity": "sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA==",
"license": "MIT",
"engines": {
"node": ">=8"
@@ -3912,8 +22192,6 @@
},
"node_modules/error-ex": {
"version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
"license": "MIT",
"dependencies": {
"is-arrayish": "^0.2.1"
@@ -3921,8 +22199,6 @@
},
"node_modules/error-stack-parser": {
"version": "2.1.4",
- "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz",
- "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==",
"license": "MIT",
"dependencies": {
"stackframe": "^1.3.4"
@@ -3930,8 +22206,6 @@
},
"node_modules/escalade": {
"version": "3.2.0",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
- "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
"license": "MIT",
"engines": {
"node": ">=6"
@@ -3939,14 +22213,10 @@
},
"node_modules/escape-html": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
"license": "MIT"
},
"node_modules/escape-string-regexp": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
"license": "MIT",
"engines": {
"node": ">=10"
@@ -3957,8 +22227,6 @@
},
"node_modules/esprima": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
"license": "BSD-2-Clause",
"bin": {
"esparse": "bin/esparse.js",
@@ -3970,8 +22238,6 @@
},
"node_modules/etag": {
"version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
@@ -3979,8 +22245,6 @@
},
"node_modules/event-target-shim": {
"version": "5.0.1",
- "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
- "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
"license": "MIT",
"engines": {
"node": ">=6"
@@ -3988,14 +22252,10 @@
},
"node_modules/exec-async": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/exec-async/-/exec-async-2.2.0.tgz",
- "integrity": "sha512-87OpwcEiMia/DeiKFzaQNBNFeN3XkkpYIh9FyOqq5mS2oKv3CBE67PXoEKcr6nodWdXNogTiQ0jE2NGuoffXPw==",
"license": "MIT"
},
"node_modules/expo": {
"version": "53.0.20",
- "resolved": "https://registry.npmjs.org/expo/-/expo-53.0.20.tgz",
- "integrity": "sha512-Nh+HIywVy9KxT/LtH08QcXqrxtUOA9BZhsXn3KCsAYA+kNb80M8VKN8/jfQF+I6CgeKyFKJoPNsWgI0y0VBGrA==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.20.0",
@@ -4042,8 +22302,6 @@
},
"node_modules/expo-asset": {
"version": "11.1.7",
- "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-11.1.7.tgz",
- "integrity": "sha512-b5P8GpjUh08fRCf6m5XPVAh7ra42cQrHBIMgH2UXP+xsj4Wufl6pLy6jRF5w6U7DranUMbsXm8TOyq4EHy7ADg==",
"license": "MIT",
"dependencies": {
"@expo/image-utils": "^0.7.6",
@@ -4057,8 +22315,6 @@
},
"node_modules/expo-av": {
"version": "15.1.7",
- "resolved": "https://registry.npmjs.org/expo-av/-/expo-av-15.1.7.tgz",
- "integrity": "sha512-NC+JR+65sxXfQN1mOHp3QBaXTL2J+BzNwVO27XgUEc5s9NaoBTdHWElYXrfxvik6xwytZ+a7abrqfNNgsbQzsA==",
"license": "MIT",
"peerDependencies": {
"expo": "*",
@@ -4074,8 +22330,6 @@
},
"node_modules/expo-constants": {
"version": "17.1.7",
- "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-17.1.7.tgz",
- "integrity": "sha512-byBjGsJ6T6FrLlhOBxw4EaiMXrZEn/MlUYIj/JAd+FS7ll5X/S4qVRbIimSJtdW47hXMq0zxPfJX6njtA56hHA==",
"license": "MIT",
"dependencies": {
"@expo/config": "~11.0.12",
@@ -4088,8 +22342,6 @@
},
"node_modules/expo-crypto": {
"version": "14.1.5",
- "resolved": "https://registry.npmjs.org/expo-crypto/-/expo-crypto-14.1.5.tgz",
- "integrity": "sha512-ZXJoUMoUeiMNEoSD4itItFFz3cKrit6YJ/BR0hjuwNC+NczbV9rorvhvmeJmrU9O2cFQHhJQQR1fjQnt45Vu4Q==",
"license": "MIT",
"dependencies": {
"base64-js": "^1.3.0"
@@ -4100,8 +22352,6 @@
},
"node_modules/expo-file-system": {
"version": "18.1.11",
- "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-18.1.11.tgz",
- "integrity": "sha512-HJw/m0nVOKeqeRjPjGdvm+zBi5/NxcdPf8M8P3G2JFvH5Z8vBWqVDic2O58jnT1OFEy0XXzoH9UqFu7cHg9DTQ==",
"license": "MIT",
"peerDependencies": {
"expo": "*",
@@ -4109,22 +22359,19 @@
}
},
"node_modules/expo-font": {
- "version": "13.3.2",
- "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-13.3.2.tgz",
- "integrity": "sha512-wUlMdpqURmQ/CNKK/+BIHkDA5nGjMqNlYmW0pJFXY/KE/OG80Qcavdu2sHsL4efAIiNGvYdBS10WztuQYU4X0A==",
+ "version": "12.0.10",
+ "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-12.0.10.tgz",
+ "integrity": "sha512-Q1i2NuYri3jy32zdnBaHHCya1wH1yMAsI+3CCmj9zlQzlhsS9Bdwcj2W3c5eU5FvH2hsNQy4O+O1NnM6o/pDaQ==",
"license": "MIT",
"dependencies": {
"fontfaceobserver": "^2.1.0"
},
"peerDependencies": {
- "expo": "*",
- "react": "*"
+ "expo": "*"
}
},
"node_modules/expo-keep-awake": {
"version": "14.1.4",
- "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-14.1.4.tgz",
- "integrity": "sha512-wU9qOnosy4+U4z/o4h8W9PjPvcFMfZXrlUoKTMBW7F4pLqhkkP/5G4EviPZixv4XWFMjn1ExQ5rV6BX8GwJsWA==",
"license": "MIT",
"peerDependencies": {
"expo": "*",
@@ -4133,8 +22380,6 @@
},
"node_modules/expo-modules-autolinking": {
"version": "2.1.14",
- "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-2.1.14.tgz",
- "integrity": "sha512-nT5ERXwc+0ZT/pozDoJjYZyUQu5RnXMk9jDGm5lg+PiKvsrCTSA/2/eftJGMxLkTjVI2MXp5WjSz3JRjbA7UXA==",
"license": "MIT",
"dependencies": {
"@expo/spawn-async": "^1.7.2",
@@ -4151,17 +22396,23 @@
},
"node_modules/expo-modules-core": {
"version": "2.5.0",
- "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-2.5.0.tgz",
- "integrity": "sha512-aIbQxZE2vdCKsolQUl6Q9Farlf8tjh/ROR4hfN1qT7QBGPl1XrJGnaOKkcgYaGrlzCPg/7IBe0Np67GzKMZKKQ==",
"license": "MIT",
"dependencies": {
"invariant": "^2.2.4"
}
},
+ "node_modules/expo-screen-orientation": {
+ "version": "8.1.7",
+ "resolved": "https://registry.npmjs.org/expo-screen-orientation/-/expo-screen-orientation-8.1.7.tgz",
+ "integrity": "sha512-nYwadYtdU6mMDk0MCHMPPPQtBoeFYJ2FspLRW+J35CMLqzE4nbpwGeiImfXzkvD94fpOCfI4KgLj5vGauC3pfA==",
+ "license": "MIT",
+ "peerDependencies": {
+ "expo": "*",
+ "react-native": "*"
+ }
+ },
"node_modules/expo-status-bar": {
"version": "2.2.3",
- "resolved": "https://registry.npmjs.org/expo-status-bar/-/expo-status-bar-2.2.3.tgz",
- "integrity": "sha512-+c8R3AESBoduunxTJ8353SqKAKpxL6DvcD8VKBuh81zzJyUUbfB4CVjr1GufSJEKsMzNPXZU+HJwXx7Xh7lx8Q==",
"license": "MIT",
"dependencies": {
"react-native-edge-to-edge": "1.6.0",
@@ -4174,8 +22425,6 @@
},
"node_modules/expo-video": {
"version": "2.2.2",
- "resolved": "https://registry.npmjs.org/expo-video/-/expo-video-2.2.2.tgz",
- "integrity": "sha512-SJrW1CeiWO7WCaAVMbjqGlvOMJfU/x+d0g9izjsnEXdV/KE3NhuCI3Y/3zCcFiAoR+jrHEtlI8sPlkLx3dq8xw==",
"license": "MIT",
"peerDependencies": {
"expo": "*",
@@ -4183,22 +22432,29 @@
"react-native": "*"
}
},
+ "node_modules/expo/node_modules/expo-font": {
+ "version": "13.3.2",
+ "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-13.3.2.tgz",
+ "integrity": "sha512-wUlMdpqURmQ/CNKK/+BIHkDA5nGjMqNlYmW0pJFXY/KE/OG80Qcavdu2sHsL4efAIiNGvYdBS10WztuQYU4X0A==",
+ "license": "MIT",
+ "dependencies": {
+ "fontfaceobserver": "^2.1.0"
+ },
+ "peerDependencies": {
+ "expo": "*",
+ "react": "*"
+ }
+ },
"node_modules/exponential-backoff": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz",
- "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==",
"license": "Apache-2.0"
},
"node_modules/fast-json-stable-stringify": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
"license": "MIT"
},
"node_modules/fb-watchman": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz",
- "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==",
"license": "Apache-2.0",
"dependencies": {
"bser": "2.1.1"
@@ -4206,8 +22462,6 @@
},
"node_modules/fill-range": {
"version": "7.1.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
- "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"license": "MIT",
"dependencies": {
"to-regex-range": "^5.0.1"
@@ -4218,8 +22472,6 @@
},
"node_modules/finalhandler": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
- "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
"license": "MIT",
"dependencies": {
"debug": "2.6.9",
@@ -4236,8 +22488,6 @@
},
"node_modules/finalhandler/node_modules/debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
@@ -4245,14 +22495,10 @@
},
"node_modules/finalhandler/node_modules/ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"license": "MIT"
},
"node_modules/find-up": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
"license": "MIT",
"dependencies": {
"locate-path": "^6.0.0",
@@ -4267,20 +22513,14 @@
},
"node_modules/flow-enums-runtime": {
"version": "0.0.6",
- "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz",
- "integrity": "sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==",
"license": "MIT"
},
"node_modules/fontfaceobserver": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/fontfaceobserver/-/fontfaceobserver-2.3.0.tgz",
- "integrity": "sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==",
"license": "BSD-2-Clause"
},
"node_modules/foreground-child": {
"version": "3.3.1",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
- "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
"license": "ISC",
"dependencies": {
"cross-spawn": "^7.0.6",
@@ -4295,8 +22535,6 @@
},
"node_modules/freeport-async": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/freeport-async/-/freeport-async-2.0.0.tgz",
- "integrity": "sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ==",
"license": "MIT",
"engines": {
"node": ">=8"
@@ -4304,8 +22542,6 @@
},
"node_modules/fresh": {
"version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
@@ -4313,15 +22549,10 @@
},
"node_modules/fs.realpath": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
"license": "ISC"
},
"node_modules/fsevents": {
"version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "hasInstallScript": true,
"license": "MIT",
"optional": true,
"os": [
@@ -4333,8 +22564,6 @@
},
"node_modules/function-bind": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -4342,8 +22571,6 @@
},
"node_modules/gensync": {
"version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -4351,8 +22578,6 @@
},
"node_modules/get-caller-file": {
"version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"license": "ISC",
"engines": {
"node": "6.* || 8.* || >= 10.*"
@@ -4360,8 +22585,6 @@
},
"node_modules/get-package-type": {
"version": "0.1.0",
- "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
- "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
"license": "MIT",
"engines": {
"node": ">=8.0.0"
@@ -4369,8 +22592,6 @@
},
"node_modules/getenv": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/getenv/-/getenv-2.0.0.tgz",
- "integrity": "sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ==",
"license": "MIT",
"engines": {
"node": ">=6"
@@ -4378,8 +22599,6 @@
},
"node_modules/glob": {
"version": "10.4.5",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
- "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
"license": "ISC",
"dependencies": {
"foreground-child": "^3.1.0",
@@ -4398,14 +22617,10 @@
},
"node_modules/graceful-fs": {
"version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
"license": "ISC"
},
"node_modules/has-flag": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"license": "MIT",
"engines": {
"node": ">=8"
@@ -4413,8 +22628,6 @@
},
"node_modules/hasown": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
- "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"license": "MIT",
"dependencies": {
"function-bind": "^1.1.2"
@@ -4425,14 +22638,10 @@
},
"node_modules/hermes-estree": {
"version": "0.25.1",
- "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz",
- "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==",
"license": "MIT"
},
"node_modules/hermes-parser": {
"version": "0.25.1",
- "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz",
- "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==",
"license": "MIT",
"dependencies": {
"hermes-estree": "0.25.1"
@@ -4440,8 +22649,6 @@
},
"node_modules/hosted-git-info": {
"version": "7.0.2",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz",
- "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==",
"license": "ISC",
"dependencies": {
"lru-cache": "^10.0.1"
@@ -4452,14 +22659,10 @@
},
"node_modules/hosted-git-info/node_modules/lru-cache": {
"version": "10.4.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
- "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
"license": "ISC"
},
"node_modules/http-errors": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
- "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
"license": "MIT",
"dependencies": {
"depd": "2.0.0",
@@ -4474,8 +22677,6 @@
},
"node_modules/http-errors/node_modules/statuses": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -4483,8 +22684,6 @@
},
"node_modules/https-proxy-agent": {
"version": "7.0.6",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
- "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
"license": "MIT",
"dependencies": {
"agent-base": "^7.1.2",
@@ -4496,8 +22695,6 @@
},
"node_modules/ieee754": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
"funding": [
{
"type": "github",
@@ -4516,8 +22713,6 @@
},
"node_modules/ignore": {
"version": "5.3.2",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
- "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
"license": "MIT",
"engines": {
"node": ">= 4"
@@ -4525,8 +22720,6 @@
},
"node_modules/image-size": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.2.1.tgz",
- "integrity": "sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==",
"license": "MIT",
"dependencies": {
"queue": "6.0.2"
@@ -4540,8 +22733,6 @@
},
"node_modules/import-fresh": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
- "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==",
"license": "MIT",
"dependencies": {
"caller-path": "^2.0.0",
@@ -4553,8 +22744,6 @@
},
"node_modules/import-fresh/node_modules/resolve-from": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
- "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==",
"license": "MIT",
"engines": {
"node": ">=4"
@@ -4562,8 +22751,6 @@
},
"node_modules/imurmurhash": {
"version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
"license": "MIT",
"engines": {
"node": ">=0.8.19"
@@ -4571,9 +22758,6 @@
},
"node_modules/inflight": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
"license": "ISC",
"dependencies": {
"once": "^1.3.0",
@@ -4582,20 +22766,14 @@
},
"node_modules/inherits": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"license": "ISC"
},
"node_modules/ini": {
"version": "1.3.8",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
"license": "ISC"
},
"node_modules/invariant": {
"version": "2.2.4",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
- "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
"license": "MIT",
"dependencies": {
"loose-envify": "^1.0.0"
@@ -4603,14 +22781,10 @@
},
"node_modules/is-arrayish": {
"version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
"license": "MIT"
},
"node_modules/is-core-module": {
"version": "2.16.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
- "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
"license": "MIT",
"dependencies": {
"hasown": "^2.0.2"
@@ -4624,8 +22798,6 @@
},
"node_modules/is-directory": {
"version": "0.3.1",
- "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
- "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -4633,8 +22805,6 @@
},
"node_modules/is-docker": {
"version": "2.2.1",
- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
- "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
"license": "MIT",
"bin": {
"is-docker": "cli.js"
@@ -4648,8 +22818,6 @@
},
"node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"license": "MIT",
"engines": {
"node": ">=8"
@@ -4657,8 +22825,6 @@
},
"node_modules/is-number": {
"version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"license": "MIT",
"engines": {
"node": ">=0.12.0"
@@ -4666,8 +22832,6 @@
},
"node_modules/is-wsl": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
- "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
"license": "MIT",
"dependencies": {
"is-docker": "^2.0.0"
@@ -4678,14 +22842,10 @@
},
"node_modules/isexe": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
"license": "ISC"
},
"node_modules/isomorphic-fetch": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz",
- "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==",
"license": "MIT",
"dependencies": {
"node-fetch": "^2.6.1",
@@ -4694,8 +22854,6 @@
},
"node_modules/istanbul-lib-coverage": {
"version": "3.2.2",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
- "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
"license": "BSD-3-Clause",
"engines": {
"node": ">=8"
@@ -4703,8 +22861,6 @@
},
"node_modules/istanbul-lib-instrument": {
"version": "5.2.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
- "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
"license": "BSD-3-Clause",
"dependencies": {
"@babel/core": "^7.12.3",
@@ -4719,8 +22875,6 @@
},
"node_modules/jackspeak": {
"version": "3.4.3",
- "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
- "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
"license": "BlueOak-1.0.0",
"dependencies": {
"@isaacs/cliui": "^8.0.2"
@@ -4734,8 +22888,6 @@
},
"node_modules/jest-environment-node": {
"version": "29.7.0",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz",
- "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==",
"license": "MIT",
"dependencies": {
"@jest/environment": "^29.7.0",
@@ -4751,8 +22903,6 @@
},
"node_modules/jest-get-type": {
"version": "29.6.3",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz",
- "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==",
"license": "MIT",
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -4760,8 +22910,6 @@
},
"node_modules/jest-haste-map": {
"version": "29.7.0",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz",
- "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==",
"license": "MIT",
"dependencies": {
"@jest/types": "^29.6.3",
@@ -4785,8 +22933,6 @@
},
"node_modules/jest-message-util": {
"version": "29.7.0",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz",
- "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==",
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.12.13",
@@ -4805,8 +22951,6 @@
},
"node_modules/jest-mock": {
"version": "29.7.0",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz",
- "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==",
"license": "MIT",
"dependencies": {
"@jest/types": "^29.6.3",
@@ -4819,8 +22963,6 @@
},
"node_modules/jest-regex-util": {
"version": "29.6.3",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz",
- "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==",
"license": "MIT",
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -4828,8 +22970,6 @@
},
"node_modules/jest-util": {
"version": "29.7.0",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
- "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
"license": "MIT",
"dependencies": {
"@jest/types": "^29.6.3",
@@ -4845,8 +22985,6 @@
},
"node_modules/jest-util/node_modules/picomatch": {
"version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"license": "MIT",
"engines": {
"node": ">=8.6"
@@ -4857,8 +22995,6 @@
},
"node_modules/jest-validate": {
"version": "29.7.0",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz",
- "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==",
"license": "MIT",
"dependencies": {
"@jest/types": "^29.6.3",
@@ -4874,8 +23010,6 @@
},
"node_modules/jest-validate/node_modules/camelcase": {
"version": "6.3.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
"license": "MIT",
"engines": {
"node": ">=10"
@@ -4886,8 +23020,6 @@
},
"node_modules/jest-worker": {
"version": "29.7.0",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz",
- "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==",
"license": "MIT",
"dependencies": {
"@types/node": "*",
@@ -4901,8 +23033,6 @@
},
"node_modules/jest-worker/node_modules/supports-color": {
"version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
"license": "MIT",
"dependencies": {
"has-flag": "^4.0.0"
@@ -4916,20 +23046,14 @@
},
"node_modules/jimp-compact": {
"version": "0.16.1",
- "resolved": "https://registry.npmjs.org/jimp-compact/-/jimp-compact-0.16.1.tgz",
- "integrity": "sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==",
"license": "MIT"
},
"node_modules/js-tokens": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
"license": "MIT"
},
"node_modules/js-yaml": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
@@ -4940,14 +23064,10 @@
},
"node_modules/jsc-safe-url": {
"version": "0.2.4",
- "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz",
- "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==",
"license": "0BSD"
},
"node_modules/jsesc": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
- "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
"license": "MIT",
"bin": {
"jsesc": "bin/jsesc"
@@ -4958,14 +23078,10 @@
},
"node_modules/json-parse-better-errors": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
"license": "MIT"
},
"node_modules/json5": {
"version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
"license": "MIT",
"bin": {
"json5": "lib/cli.js"
@@ -4976,8 +23092,6 @@
},
"node_modules/kleur": {
"version": "3.0.3",
- "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
- "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
"license": "MIT",
"engines": {
"node": ">=6"
@@ -4985,8 +23099,6 @@
},
"node_modules/lan-network": {
"version": "0.1.7",
- "resolved": "https://registry.npmjs.org/lan-network/-/lan-network-0.1.7.tgz",
- "integrity": "sha512-mnIlAEMu4OyEvUNdzco9xpuB9YVcPkQec+QsgycBCtPZvEqWPCDPfbAE4OJMdBBWpZWtpCn1xw9jJYlwjWI5zQ==",
"license": "MIT",
"bin": {
"lan-network": "dist/lan-network-cli.js"
@@ -4994,8 +23106,6 @@
},
"node_modules/leven": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
- "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
"license": "MIT",
"engines": {
"node": ">=6"
@@ -5003,8 +23113,6 @@
},
"node_modules/lighthouse-logger": {
"version": "1.4.2",
- "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz",
- "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==",
"license": "Apache-2.0",
"dependencies": {
"debug": "^2.6.9",
@@ -5013,8 +23121,6 @@
},
"node_modules/lighthouse-logger/node_modules/debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
@@ -5022,14 +23128,10 @@
},
"node_modules/lighthouse-logger/node_modules/ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"license": "MIT"
},
"node_modules/lightningcss": {
"version": "1.27.0",
- "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.27.0.tgz",
- "integrity": "sha512-8f7aNmS1+etYSLHht0fQApPc2kNO8qGRutifN5rVIc6Xo6ABsEbqOr758UwI7ALVbTt4x1fllKt0PYgzD9S3yQ==",
"license": "MPL-2.0",
"dependencies": {
"detect-libc": "^1.0.3"
@@ -5056,8 +23158,6 @@
},
"node_modules/lightningcss-darwin-arm64": {
"version": "1.27.0",
- "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.27.0.tgz",
- "integrity": "sha512-Gl/lqIXY+d+ySmMbgDf0pgaWSqrWYxVHoc88q+Vhf2YNzZ8DwoRzGt5NZDVqqIW5ScpSnmmjcgXP87Dn2ylSSQ==",
"cpu": [
"arm64"
],
@@ -5074,196 +23174,12 @@
"url": "https://opencollective.com/parcel"
}
},
- "node_modules/lightningcss-darwin-x64": {
- "version": "1.27.0",
- "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.27.0.tgz",
- "integrity": "sha512-0+mZa54IlcNAoQS9E0+niovhyjjQWEMrwW0p2sSdLRhLDc8LMQ/b67z7+B5q4VmjYCMSfnFi3djAAQFIDuj/Tg==",
- "cpu": [
- "x64"
- ],
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-freebsd-x64": {
- "version": "1.27.0",
- "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.27.0.tgz",
- "integrity": "sha512-n1sEf85fePoU2aDN2PzYjoI8gbBqnmLGEhKq7q0DKLj0UTVmOTwDC7PtLcy/zFxzASTSBlVQYJUhwIStQMIpRA==",
- "cpu": [
- "x64"
- ],
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-linux-arm-gnueabihf": {
- "version": "1.27.0",
- "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.27.0.tgz",
- "integrity": "sha512-MUMRmtdRkOkd5z3h986HOuNBD1c2lq2BSQA1Jg88d9I7bmPGx08bwGcnB75dvr17CwxjxD6XPi3Qh8ArmKFqCA==",
- "cpu": [
- "arm"
- ],
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-linux-arm64-gnu": {
- "version": "1.27.0",
- "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.27.0.tgz",
- "integrity": "sha512-cPsxo1QEWq2sfKkSq2Bq5feQDHdUEwgtA9KaB27J5AX22+l4l0ptgjMZZtYtUnteBofjee+0oW1wQ1guv04a7A==",
- "cpu": [
- "arm64"
- ],
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-linux-arm64-musl": {
- "version": "1.27.0",
- "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.27.0.tgz",
- "integrity": "sha512-rCGBm2ax7kQ9pBSeITfCW9XSVF69VX+fm5DIpvDZQl4NnQoMQyRwhZQm9pd59m8leZ1IesRqWk2v/DntMo26lg==",
- "cpu": [
- "arm64"
- ],
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-linux-x64-gnu": {
- "version": "1.27.0",
- "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.27.0.tgz",
- "integrity": "sha512-Dk/jovSI7qqhJDiUibvaikNKI2x6kWPN79AQiD/E/KeQWMjdGe9kw51RAgoWFDi0coP4jinaH14Nrt/J8z3U4A==",
- "cpu": [
- "x64"
- ],
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-linux-x64-musl": {
- "version": "1.27.0",
- "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.27.0.tgz",
- "integrity": "sha512-QKjTxXm8A9s6v9Tg3Fk0gscCQA1t/HMoF7Woy1u68wCk5kS4fR+q3vXa1p3++REW784cRAtkYKrPy6JKibrEZA==",
- "cpu": [
- "x64"
- ],
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-win32-arm64-msvc": {
- "version": "1.27.0",
- "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.27.0.tgz",
- "integrity": "sha512-/wXegPS1hnhkeG4OXQKEMQeJd48RDC3qdh+OA8pCuOPCyvnm/yEayrJdJVqzBsqpy1aJklRCVxscpFur80o6iQ==",
- "cpu": [
- "arm64"
- ],
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-win32-x64-msvc": {
- "version": "1.27.0",
- "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.27.0.tgz",
- "integrity": "sha512-/OJLj94Zm/waZShL8nB5jsNj3CfNATLCTyFxZyouilfTmSoLDX7VlVAmhPHoZWVFp4vdmoiEbPEYC8HID3m6yw==",
- "cpu": [
- "x64"
- ],
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
"node_modules/lines-and-columns": {
"version": "1.2.4",
- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
"license": "MIT"
},
"node_modules/locate-path": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
"license": "MIT",
"dependencies": {
"p-locate": "^5.0.0"
@@ -5277,20 +23193,14 @@
},
"node_modules/lodash.debounce": {
"version": "4.0.8",
- "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
- "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
"license": "MIT"
},
"node_modules/lodash.throttle": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
- "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==",
"license": "MIT"
},
"node_modules/log-symbols": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
- "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
"license": "MIT",
"dependencies": {
"chalk": "^2.0.1"
@@ -5301,8 +23211,6 @@
},
"node_modules/log-symbols/node_modules/ansi-styles": {
"version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"license": "MIT",
"dependencies": {
"color-convert": "^1.9.0"
@@ -5313,8 +23221,6 @@
},
"node_modules/log-symbols/node_modules/chalk": {
"version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"license": "MIT",
"dependencies": {
"ansi-styles": "^3.2.1",
@@ -5327,8 +23233,6 @@
},
"node_modules/log-symbols/node_modules/color-convert": {
"version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"license": "MIT",
"dependencies": {
"color-name": "1.1.3"
@@ -5336,14 +23240,10 @@
},
"node_modules/log-symbols/node_modules/color-name": {
"version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
"license": "MIT"
},
"node_modules/log-symbols/node_modules/escape-string-regexp": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"license": "MIT",
"engines": {
"node": ">=0.8.0"
@@ -5351,8 +23251,6 @@
},
"node_modules/log-symbols/node_modules/has-flag": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
"license": "MIT",
"engines": {
"node": ">=4"
@@ -5360,8 +23258,6 @@
},
"node_modules/log-symbols/node_modules/supports-color": {
"version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"license": "MIT",
"dependencies": {
"has-flag": "^3.0.0"
@@ -5372,8 +23268,6 @@
},
"node_modules/loose-envify": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"license": "MIT",
"dependencies": {
"js-tokens": "^3.0.0 || ^4.0.0"
@@ -5384,8 +23278,6 @@
},
"node_modules/lru-cache": {
"version": "5.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
"license": "ISC",
"dependencies": {
"yallist": "^3.0.2"
@@ -5393,8 +23285,6 @@
},
"node_modules/makeerror": {
"version": "1.0.12",
- "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
- "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==",
"license": "BSD-3-Clause",
"dependencies": {
"tmpl": "1.0.5"
@@ -5402,26 +23292,24 @@
},
"node_modules/marky": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/marky/-/marky-1.3.0.tgz",
- "integrity": "sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==",
"license": "Apache-2.0"
},
+ "node_modules/mdn-data": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
+ "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
+ "license": "CC0-1.0"
+ },
"node_modules/memoize-one": {
"version": "5.2.1",
- "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz",
- "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==",
"license": "MIT"
},
"node_modules/merge-stream": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
"license": "MIT"
},
"node_modules/metro": {
"version": "0.82.5",
- "resolved": "https://registry.npmjs.org/metro/-/metro-0.82.5.tgz",
- "integrity": "sha512-8oAXxL7do8QckID/WZEKaIFuQJFUTLzfVcC48ghkHhNK2RGuQq8Xvf4AVd+TUA0SZtX0q8TGNXZ/eba1ckeGCg==",
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.24.7",
@@ -5474,8 +23362,6 @@
},
"node_modules/metro-babel-transformer": {
"version": "0.82.5",
- "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.82.5.tgz",
- "integrity": "sha512-W/scFDnwJXSccJYnOFdGiYr9srhbHPdxX9TvvACOFsIXdLilh3XuxQl/wXW6jEJfgIb0jTvoTlwwrqvuwymr6Q==",
"license": "MIT",
"dependencies": {
"@babel/core": "^7.25.2",
@@ -5489,14 +23375,10 @@
},
"node_modules/metro-babel-transformer/node_modules/hermes-estree": {
"version": "0.29.1",
- "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.29.1.tgz",
- "integrity": "sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ==",
"license": "MIT"
},
"node_modules/metro-babel-transformer/node_modules/hermes-parser": {
"version": "0.29.1",
- "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.29.1.tgz",
- "integrity": "sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==",
"license": "MIT",
"dependencies": {
"hermes-estree": "0.29.1"
@@ -5504,8 +23386,6 @@
},
"node_modules/metro-cache": {
"version": "0.82.5",
- "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.82.5.tgz",
- "integrity": "sha512-AwHV9607xZpedu1NQcjUkua8v7HfOTKfftl6Vc9OGr/jbpiJX6Gpy8E/V9jo/U9UuVYX2PqSUcVNZmu+LTm71Q==",
"license": "MIT",
"dependencies": {
"exponential-backoff": "^3.1.1",
@@ -5519,8 +23399,6 @@
},
"node_modules/metro-cache-key": {
"version": "0.82.5",
- "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.82.5.tgz",
- "integrity": "sha512-qpVmPbDJuRLrT4kcGlUouyqLGssJnbTllVtvIgXfR7ZuzMKf0mGS+8WzcqzNK8+kCyakombQWR0uDd8qhWGJcA==",
"license": "MIT",
"dependencies": {
"flow-enums-runtime": "^0.0.6"
@@ -5531,8 +23409,6 @@
},
"node_modules/metro-config": {
"version": "0.82.5",
- "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.82.5.tgz",
- "integrity": "sha512-/r83VqE55l0WsBf8IhNmc/3z71y2zIPe5kRSuqA5tY/SL/ULzlHUJEMd1szztd0G45JozLwjvrhAzhDPJ/Qo/g==",
"license": "MIT",
"dependencies": {
"connect": "^3.6.5",
@@ -5550,8 +23426,6 @@
},
"node_modules/metro-core": {
"version": "0.82.5",
- "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.82.5.tgz",
- "integrity": "sha512-OJL18VbSw2RgtBm1f2P3J5kb892LCVJqMvslXxuxjAPex8OH7Eb8RBfgEo7VZSjgb/LOf4jhC4UFk5l5tAOHHA==",
"license": "MIT",
"dependencies": {
"flow-enums-runtime": "^0.0.6",
@@ -5564,8 +23438,6 @@
},
"node_modules/metro-file-map": {
"version": "0.82.5",
- "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.82.5.tgz",
- "integrity": "sha512-vpMDxkGIB+MTN8Af5hvSAanc6zXQipsAUO+XUx3PCQieKUfLwdoa8qaZ1WAQYRpaU+CJ8vhBcxtzzo3d9IsCIQ==",
"license": "MIT",
"dependencies": {
"debug": "^4.4.0",
@@ -5584,8 +23456,6 @@
},
"node_modules/metro-minify-terser": {
"version": "0.82.5",
- "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.82.5.tgz",
- "integrity": "sha512-v6Nx7A4We6PqPu/ta1oGTqJ4Usz0P7c+3XNeBxW9kp8zayS3lHUKR0sY0wsCHInxZlNAEICx791x+uXytFUuwg==",
"license": "MIT",
"dependencies": {
"flow-enums-runtime": "^0.0.6",
@@ -5597,8 +23467,6 @@
},
"node_modules/metro-resolver": {
"version": "0.82.5",
- "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.82.5.tgz",
- "integrity": "sha512-kFowLnWACt3bEsuVsaRNgwplT8U7kETnaFHaZePlARz4Fg8tZtmRDUmjaD68CGAwc0rwdwNCkWizLYpnyVcs2g==",
"license": "MIT",
"dependencies": {
"flow-enums-runtime": "^0.0.6"
@@ -5609,8 +23477,6 @@
},
"node_modules/metro-runtime": {
"version": "0.82.5",
- "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.82.5.tgz",
- "integrity": "sha512-rQZDoCUf7k4Broyw3Ixxlq5ieIPiR1ULONdpcYpbJQ6yQ5GGEyYjtkztGD+OhHlw81LCR2SUAoPvtTus2WDK5g==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.25.0",
@@ -5622,8 +23488,6 @@
},
"node_modules/metro-source-map": {
"version": "0.82.5",
- "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.82.5.tgz",
- "integrity": "sha512-wH+awTOQJVkbhn2SKyaw+0cd+RVSCZ3sHVgyqJFQXIee/yLs3dZqKjjeKKhhVeudgjXo7aE/vSu/zVfcQEcUfw==",
"license": "MIT",
"dependencies": {
"@babel/traverse": "^7.25.3",
@@ -5643,8 +23507,6 @@
},
"node_modules/metro-symbolicate": {
"version": "0.82.5",
- "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.82.5.tgz",
- "integrity": "sha512-1u+07gzrvYDJ/oNXuOG1EXSvXZka/0JSW1q2EYBWerVKMOhvv9JzDGyzmuV7hHbF2Hg3T3S2uiM36sLz1qKsiw==",
"license": "MIT",
"dependencies": {
"flow-enums-runtime": "^0.0.6",
@@ -5663,8 +23525,6 @@
},
"node_modules/metro-transform-plugins": {
"version": "0.82.5",
- "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.82.5.tgz",
- "integrity": "sha512-57Bqf3rgq9nPqLrT2d9kf/2WVieTFqsQ6qWHpEng5naIUtc/Iiw9+0bfLLWSAw0GH40iJ4yMjFcFJDtNSYynMA==",
"license": "MIT",
"dependencies": {
"@babel/core": "^7.25.2",
@@ -5680,8 +23540,6 @@
},
"node_modules/metro-transform-worker": {
"version": "0.82.5",
- "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.82.5.tgz",
- "integrity": "sha512-mx0grhAX7xe+XUQH6qoHHlWedI8fhSpDGsfga7CpkO9Lk9W+aPitNtJWNGrW8PfjKEWbT9Uz9O50dkI8bJqigw==",
"license": "MIT",
"dependencies": {
"@babel/core": "^7.25.2",
@@ -5704,20 +23562,14 @@
},
"node_modules/metro/node_modules/ci-info": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
- "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
"license": "MIT"
},
"node_modules/metro/node_modules/hermes-estree": {
"version": "0.29.1",
- "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.29.1.tgz",
- "integrity": "sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ==",
"license": "MIT"
},
"node_modules/metro/node_modules/hermes-parser": {
"version": "0.29.1",
- "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.29.1.tgz",
- "integrity": "sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==",
"license": "MIT",
"dependencies": {
"hermes-estree": "0.29.1"
@@ -5725,8 +23577,6 @@
},
"node_modules/metro/node_modules/ws": {
"version": "7.5.10",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
- "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
"license": "MIT",
"engines": {
"node": ">=8.3.0"
@@ -5746,8 +23596,6 @@
},
"node_modules/micromatch": {
"version": "4.0.8",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
- "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
"license": "MIT",
"dependencies": {
"braces": "^3.0.3",
@@ -5759,8 +23607,6 @@
},
"node_modules/micromatch/node_modules/picomatch": {
"version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"license": "MIT",
"engines": {
"node": ">=8.6"
@@ -5771,8 +23617,6 @@
},
"node_modules/mime": {
"version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"license": "MIT",
"bin": {
"mime": "cli.js"
@@ -5783,8 +23627,6 @@
},
"node_modules/mime-db": {
"version": "1.54.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
- "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
@@ -5792,8 +23634,6 @@
},
"node_modules/mime-types": {
"version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"license": "MIT",
"dependencies": {
"mime-db": "1.52.0"
@@ -5804,8 +23644,6 @@
},
"node_modules/mime-types/node_modules/mime-db": {
"version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
@@ -5813,8 +23651,6 @@
},
"node_modules/mimic-fn": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
"license": "MIT",
"engines": {
"node": ">=4"
@@ -5822,8 +23658,6 @@
},
"node_modules/minimatch": {
"version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
@@ -5837,8 +23671,6 @@
},
"node_modules/minimist": {
"version": "1.2.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -5846,8 +23678,6 @@
},
"node_modules/minipass": {
"version": "7.1.2",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
- "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
"license": "ISC",
"engines": {
"node": ">=16 || 14 >=14.17"
@@ -5855,8 +23685,6 @@
},
"node_modules/minizlib": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz",
- "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==",
"license": "MIT",
"dependencies": {
"minipass": "^7.1.2"
@@ -5867,8 +23695,6 @@
},
"node_modules/mkdirp": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"license": "MIT",
"bin": {
"mkdirp": "bin/cmd.js"
@@ -5879,14 +23705,10 @@
},
"node_modules/ms": {
"version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"license": "MIT"
},
"node_modules/mz": {
"version": "2.7.0",
- "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
- "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
"license": "MIT",
"dependencies": {
"any-promise": "^1.0.0",
@@ -5896,8 +23718,6 @@
},
"node_modules/nanoid": {
"version": "3.3.11",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
- "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
"funding": [
{
"type": "github",
@@ -5914,8 +23734,6 @@
},
"node_modules/negotiator": {
"version": "0.6.3",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
- "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
@@ -5923,14 +23741,10 @@
},
"node_modules/nested-error-stacks": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.0.1.tgz",
- "integrity": "sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A==",
"license": "MIT"
},
"node_modules/node-fetch": {
"version": "2.7.0",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
- "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
"license": "MIT",
"dependencies": {
"whatwg-url": "^5.0.0"
@@ -5949,8 +23763,6 @@
},
"node_modules/node-forge": {
"version": "1.3.1",
- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
- "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
"license": "(BSD-3-Clause OR GPL-2.0)",
"engines": {
"node": ">= 6.13.0"
@@ -5958,20 +23770,14 @@
},
"node_modules/node-int64": {
"version": "0.4.0",
- "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
- "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==",
"license": "MIT"
},
"node_modules/node-releases": {
"version": "2.0.19",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
- "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
"license": "MIT"
},
"node_modules/normalize-path": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -5979,8 +23785,6 @@
},
"node_modules/npm-package-arg": {
"version": "11.0.3",
- "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.3.tgz",
- "integrity": "sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==",
"license": "ISC",
"dependencies": {
"hosted-git-info": "^7.0.0",
@@ -5994,8 +23798,6 @@
},
"node_modules/npm-package-arg/node_modules/semver": {
"version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
@@ -6004,16 +23806,24 @@
"node": ">=10"
}
},
+ "node_modules/nth-check": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
+ "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "boolbase": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/nth-check?sponsor=1"
+ }
+ },
"node_modules/nullthrows": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz",
- "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==",
"license": "MIT"
},
"node_modules/ob1": {
"version": "0.82.5",
- "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.82.5.tgz",
- "integrity": "sha512-QyQQ6e66f+Ut/qUVjEce0E/wux5nAGLXYZDn1jr15JWstHsCH3l6VVrg8NKDptW9NEiBXKOJeGF/ydxeSDF3IQ==",
"license": "MIT",
"dependencies": {
"flow-enums-runtime": "^0.0.6"
@@ -6024,8 +23834,6 @@
},
"node_modules/object-assign": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -6033,8 +23841,6 @@
},
"node_modules/on-finished": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==",
"license": "MIT",
"dependencies": {
"ee-first": "1.1.1"
@@ -6045,8 +23851,6 @@
},
"node_modules/on-headers": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz",
- "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -6054,8 +23858,6 @@
},
"node_modules/once": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"license": "ISC",
"dependencies": {
"wrappy": "1"
@@ -6063,8 +23865,6 @@
},
"node_modules/onetime": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
- "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==",
"license": "MIT",
"dependencies": {
"mimic-fn": "^1.0.0"
@@ -6075,8 +23875,6 @@
},
"node_modules/open": {
"version": "7.4.2",
- "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz",
- "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==",
"license": "MIT",
"dependencies": {
"is-docker": "^2.0.0",
@@ -6091,8 +23889,6 @@
},
"node_modules/ora": {
"version": "3.4.0",
- "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz",
- "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==",
"license": "MIT",
"dependencies": {
"chalk": "^2.4.2",
@@ -6108,8 +23904,6 @@
},
"node_modules/ora/node_modules/ansi-regex": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
- "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
"license": "MIT",
"engines": {
"node": ">=6"
@@ -6117,8 +23911,6 @@
},
"node_modules/ora/node_modules/ansi-styles": {
"version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"license": "MIT",
"dependencies": {
"color-convert": "^1.9.0"
@@ -6129,8 +23921,6 @@
},
"node_modules/ora/node_modules/chalk": {
"version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"license": "MIT",
"dependencies": {
"ansi-styles": "^3.2.1",
@@ -6143,8 +23933,6 @@
},
"node_modules/ora/node_modules/color-convert": {
"version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"license": "MIT",
"dependencies": {
"color-name": "1.1.3"
@@ -6152,14 +23940,10 @@
},
"node_modules/ora/node_modules/color-name": {
"version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
"license": "MIT"
},
"node_modules/ora/node_modules/escape-string-regexp": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"license": "MIT",
"engines": {
"node": ">=0.8.0"
@@ -6167,8 +23951,6 @@
},
"node_modules/ora/node_modules/has-flag": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
"license": "MIT",
"engines": {
"node": ">=4"
@@ -6176,8 +23958,6 @@
},
"node_modules/ora/node_modules/strip-ansi": {
"version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
"license": "MIT",
"dependencies": {
"ansi-regex": "^4.1.0"
@@ -6188,8 +23968,6 @@
},
"node_modules/ora/node_modules/supports-color": {
"version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"license": "MIT",
"dependencies": {
"has-flag": "^3.0.0"
@@ -6200,8 +23978,6 @@
},
"node_modules/p-limit": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"license": "MIT",
"dependencies": {
"yocto-queue": "^0.1.0"
@@ -6215,8 +23991,6 @@
},
"node_modules/p-locate": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
"license": "MIT",
"dependencies": {
"p-limit": "^3.0.2"
@@ -6230,8 +24004,6 @@
},
"node_modules/p-try": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"license": "MIT",
"engines": {
"node": ">=6"
@@ -6239,14 +24011,10 @@
},
"node_modules/package-json-from-dist": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
- "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
"license": "BlueOak-1.0.0"
},
"node_modules/parse-json": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
"license": "MIT",
"dependencies": {
"error-ex": "^1.3.1",
@@ -6258,8 +24026,6 @@
},
"node_modules/parse-png": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/parse-png/-/parse-png-2.1.0.tgz",
- "integrity": "sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ==",
"license": "MIT",
"dependencies": {
"pngjs": "^3.3.0"
@@ -6270,8 +24036,6 @@
},
"node_modules/parseurl": {
"version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -6279,8 +24043,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==",
"license": "MIT",
"engines": {
"node": ">=8"
@@ -6288,8 +24050,6 @@
},
"node_modules/path-is-absolute": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -6297,8 +24057,6 @@
},
"node_modules/path-key": {
"version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
"license": "MIT",
"engines": {
"node": ">=8"
@@ -6306,14 +24064,10 @@
},
"node_modules/path-parse": {
"version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
"license": "MIT"
},
"node_modules/path-scurry": {
"version": "1.11.1",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
- "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
"license": "BlueOak-1.0.0",
"dependencies": {
"lru-cache": "^10.2.0",
@@ -6328,20 +24082,14 @@
},
"node_modules/path-scurry/node_modules/lru-cache": {
"version": "10.4.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
- "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
"license": "ISC"
},
"node_modules/picocolors": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
- "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
"license": "ISC"
},
"node_modules/picomatch": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-3.0.1.tgz",
- "integrity": "sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==",
"license": "MIT",
"engines": {
"node": ">=10"
@@ -6352,8 +24100,6 @@
},
"node_modules/pirates": {
"version": "4.0.7",
- "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz",
- "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==",
"license": "MIT",
"engines": {
"node": ">= 6"
@@ -6361,8 +24107,6 @@
},
"node_modules/plist": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz",
- "integrity": "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==",
"license": "MIT",
"dependencies": {
"@xmldom/xmldom": "^0.8.8",
@@ -6375,8 +24119,6 @@
},
"node_modules/pngjs": {
"version": "3.4.0",
- "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz",
- "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==",
"license": "MIT",
"engines": {
"node": ">=4.0.0"
@@ -6384,8 +24126,6 @@
},
"node_modules/postcss": {
"version": "8.4.49",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz",
- "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==",
"funding": [
{
"type": "opencollective",
@@ -6412,8 +24152,6 @@
},
"node_modules/pretty-bytes": {
"version": "5.6.0",
- "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
- "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==",
"license": "MIT",
"engines": {
"node": ">=6"
@@ -6424,8 +24162,6 @@
},
"node_modules/pretty-format": {
"version": "29.7.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
- "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
"license": "MIT",
"dependencies": {
"@jest/schemas": "^29.6.3",
@@ -6438,8 +24174,6 @@
},
"node_modules/pretty-format/node_modules/ansi-styles": {
"version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
"license": "MIT",
"engines": {
"node": ">=10"
@@ -6450,8 +24184,6 @@
},
"node_modules/proc-log": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz",
- "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==",
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -6459,8 +24191,6 @@
},
"node_modules/progress": {
"version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
"license": "MIT",
"engines": {
"node": ">=0.4.0"
@@ -6468,8 +24198,6 @@
},
"node_modules/promise": {
"version": "8.3.0",
- "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz",
- "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==",
"license": "MIT",
"dependencies": {
"asap": "~2.0.6"
@@ -6477,8 +24205,6 @@
},
"node_modules/prompts": {
"version": "2.4.2",
- "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
- "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
"license": "MIT",
"dependencies": {
"kleur": "^3.0.3",
@@ -6490,8 +24216,6 @@
},
"node_modules/punycode": {
"version": "2.3.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
- "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
"license": "MIT",
"engines": {
"node": ">=6"
@@ -6499,16 +24223,12 @@
},
"node_modules/qrcode-terminal": {
"version": "0.11.0",
- "resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.11.0.tgz",
- "integrity": "sha512-Uu7ii+FQy4Qf82G4xu7ShHhjhGahEpCWc3x8UavY3CTcWV+ufmmCtwkr7ZKsX42jdL0kr1B5FKUeqJvAn51jzQ==",
"bin": {
"qrcode-terminal": "bin/qrcode-terminal.js"
}
},
"node_modules/queue": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz",
- "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==",
"license": "MIT",
"dependencies": {
"inherits": "~2.0.3"
@@ -6516,8 +24236,6 @@
},
"node_modules/range-parser": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
@@ -6525,8 +24243,6 @@
},
"node_modules/rc": {
"version": "1.2.8",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
"license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
"dependencies": {
"deep-extend": "^0.6.0",
@@ -6540,8 +24256,6 @@
},
"node_modules/react": {
"version": "19.0.0",
- "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz",
- "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -6549,8 +24263,6 @@
},
"node_modules/react-devtools-core": {
"version": "6.1.5",
- "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-6.1.5.tgz",
- "integrity": "sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA==",
"license": "MIT",
"dependencies": {
"shell-quote": "^1.6.1",
@@ -6559,8 +24271,6 @@
},
"node_modules/react-devtools-core/node_modules/ws": {
"version": "7.5.10",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
- "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
"license": "MIT",
"engines": {
"node": ">=8.3.0"
@@ -6580,14 +24290,10 @@
},
"node_modules/react-is": {
"version": "18.3.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
- "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
"license": "MIT"
},
"node_modules/react-native": {
"version": "0.79.5",
- "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.79.5.tgz",
- "integrity": "sha512-jVihwsE4mWEHZ9HkO1J2eUZSwHyDByZOqthwnGrVZCh6kTQBCm4v8dicsyDa6p0fpWNE5KicTcpX/XXl0ASJFg==",
"license": "MIT",
"dependencies": {
"@jest/create-cache-key-function": "^29.7.0",
@@ -6645,8 +24351,6 @@
},
"node_modules/react-native-edge-to-edge": {
"version": "1.6.0",
- "resolved": "https://registry.npmjs.org/react-native-edge-to-edge/-/react-native-edge-to-edge-1.6.0.tgz",
- "integrity": "sha512-2WCNdE3Qd6Fwg9+4BpbATUxCLcouF6YRY7K+J36KJ4l3y+tWN6XCqAC4DuoGblAAbb2sLkhEDp4FOlbOIot2Og==",
"license": "MIT",
"peerDependencies": {
"react": "*",
@@ -6655,18 +24359,29 @@
},
"node_modules/react-native-is-edge-to-edge": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/react-native-is-edge-to-edge/-/react-native-is-edge-to-edge-1.2.1.tgz",
- "integrity": "sha512-FLbPWl/MyYQWz+KwqOZsSyj2JmLKglHatd3xLZWskXOpRaio4LfEDEz8E/A6uD8QoTHW6Aobw1jbEwK7KMgR7Q==",
"license": "MIT",
"peerDependencies": {
"react": "*",
"react-native": "*"
}
},
+ "node_modules/react-native-svg": {
+ "version": "15.11.2",
+ "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-15.11.2.tgz",
+ "integrity": "sha512-+YfF72IbWQUKzCIydlijV1fLuBsQNGMT6Da2kFlo1sh+LE3BIm/2Q7AR1zAAR6L0BFLi1WaQPLfFUC9bNZpOmw==",
+ "license": "MIT",
+ "dependencies": {
+ "css-select": "^5.1.0",
+ "css-tree": "^1.1.3",
+ "warn-once": "0.1.1"
+ },
+ "peerDependencies": {
+ "react": "*",
+ "react-native": "*"
+ }
+ },
"node_modules/react-native/node_modules/@react-native/virtualized-lists": {
"version": "0.79.5",
- "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.79.5.tgz",
- "integrity": "sha512-EUPM2rfGNO4cbI3olAbhPkIt3q7MapwCwAJBzUfWlZ/pu0PRNOnMQ1IvaXTf3TpeozXV52K1OdprLEI/kI5eUA==",
"license": "MIT",
"dependencies": {
"invariant": "^2.2.4",
@@ -6688,8 +24403,6 @@
},
"node_modules/react-native/node_modules/brace-expansion": {
"version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
@@ -6698,8 +24411,6 @@
},
"node_modules/react-native/node_modules/commander": {
"version": "12.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
- "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
"license": "MIT",
"engines": {
"node": ">=18"
@@ -6707,9 +24418,6 @@
},
"node_modules/react-native/node_modules/glob": {
"version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
"license": "ISC",
"dependencies": {
"fs.realpath": "^1.0.0",
@@ -6728,8 +24436,6 @@
},
"node_modules/react-native/node_modules/minimatch": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
@@ -6740,8 +24446,6 @@
},
"node_modules/react-native/node_modules/semver": {
"version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
@@ -6752,8 +24456,6 @@
},
"node_modules/react-native/node_modules/ws": {
"version": "6.2.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz",
- "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==",
"license": "MIT",
"dependencies": {
"async-limiter": "~1.0.0"
@@ -6761,8 +24463,6 @@
},
"node_modules/react-refresh": {
"version": "0.14.2",
- "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz",
- "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -6770,14 +24470,10 @@
},
"node_modules/regenerate": {
"version": "1.4.2",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
- "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
"license": "MIT"
},
"node_modules/regenerate-unicode-properties": {
"version": "10.2.0",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz",
- "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==",
"license": "MIT",
"dependencies": {
"regenerate": "^1.4.2"
@@ -6788,14 +24484,10 @@
},
"node_modules/regenerator-runtime": {
"version": "0.13.11",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
- "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==",
"license": "MIT"
},
"node_modules/regexpu-core": {
"version": "6.2.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz",
- "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==",
"license": "MIT",
"dependencies": {
"regenerate": "^1.4.2",
@@ -6811,14 +24503,10 @@
},
"node_modules/regjsgen": {
"version": "0.8.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz",
- "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==",
"license": "MIT"
},
"node_modules/regjsparser": {
"version": "0.12.0",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz",
- "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==",
"license": "BSD-2-Clause",
"dependencies": {
"jsesc": "~3.0.2"
@@ -6829,8 +24517,6 @@
},
"node_modules/regjsparser/node_modules/jsesc": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
- "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
"license": "MIT",
"bin": {
"jsesc": "bin/jsesc"
@@ -6841,8 +24527,6 @@
},
"node_modules/require-directory": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -6850,8 +24534,6 @@
},
"node_modules/require-from-string": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -6859,8 +24541,6 @@
},
"node_modules/requireg": {
"version": "0.2.2",
- "resolved": "https://registry.npmjs.org/requireg/-/requireg-0.2.2.tgz",
- "integrity": "sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg==",
"dependencies": {
"nested-error-stacks": "~2.0.1",
"rc": "~1.2.7",
@@ -6872,8 +24552,6 @@
},
"node_modules/requireg/node_modules/resolve": {
"version": "1.7.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
- "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
"license": "MIT",
"dependencies": {
"path-parse": "^1.0.5"
@@ -6881,8 +24559,6 @@
},
"node_modules/resolve": {
"version": "1.22.10",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
- "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
"license": "MIT",
"dependencies": {
"is-core-module": "^2.16.0",
@@ -6901,8 +24577,6 @@
},
"node_modules/resolve-from": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"license": "MIT",
"engines": {
"node": ">=8"
@@ -6910,14 +24584,10 @@
},
"node_modules/resolve-workspace-root": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/resolve-workspace-root/-/resolve-workspace-root-2.0.0.tgz",
- "integrity": "sha512-IsaBUZETJD5WsI11Wt8PKHwaIe45or6pwNc8yflvLJ4DWtImK9kuLoH5kUva/2Mmx/RdIyr4aONNSa2v9LTJsw==",
"license": "MIT"
},
"node_modules/resolve.exports": {
"version": "2.0.3",
- "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz",
- "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==",
"license": "MIT",
"engines": {
"node": ">=10"
@@ -6925,8 +24595,6 @@
},
"node_modules/restore-cursor": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
- "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==",
"license": "MIT",
"dependencies": {
"onetime": "^2.0.0",
@@ -6938,15 +24606,10 @@
},
"node_modules/restore-cursor/node_modules/signal-exit": {
"version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
"license": "ISC"
},
"node_modules/rimraf": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "deprecated": "Rimraf versions prior to v4 are no longer supported",
"license": "ISC",
"dependencies": {
"glob": "^7.1.3"
@@ -6960,8 +24623,6 @@
},
"node_modules/rimraf/node_modules/brace-expansion": {
"version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
@@ -6970,9 +24631,6 @@
},
"node_modules/rimraf/node_modules/glob": {
"version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
"license": "ISC",
"dependencies": {
"fs.realpath": "^1.0.0",
@@ -6991,8 +24649,6 @@
},
"node_modules/rimraf/node_modules/minimatch": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
@@ -7003,8 +24659,6 @@
},
"node_modules/safe-buffer": {
"version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"funding": [
{
"type": "github",
@@ -7023,20 +24677,14 @@
},
"node_modules/sax": {
"version": "1.4.1",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz",
- "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==",
"license": "ISC"
},
"node_modules/scheduler": {
"version": "0.25.0",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz",
- "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==",
"license": "MIT"
},
"node_modules/semver": {
"version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
@@ -7044,8 +24692,6 @@
},
"node_modules/send": {
"version": "0.19.1",
- "resolved": "https://registry.npmjs.org/send/-/send-0.19.1.tgz",
- "integrity": "sha512-p4rRk4f23ynFEfcD9LA0xRYngj+IyGiEYyqqOak8kaN0TvNmuxC2dcVeBn62GpCeR2CpWqyHCNScTP91QbAVFg==",
"license": "MIT",
"dependencies": {
"debug": "2.6.9",
@@ -7068,8 +24714,6 @@
},
"node_modules/send/node_modules/debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
@@ -7077,14 +24721,10 @@
},
"node_modules/send/node_modules/debug/node_modules/ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"license": "MIT"
},
"node_modules/send/node_modules/encodeurl": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
- "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -7092,8 +24732,6 @@
},
"node_modules/send/node_modules/on-finished": {
"version": "2.4.1",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
- "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
"license": "MIT",
"dependencies": {
"ee-first": "1.1.1"
@@ -7104,8 +24742,6 @@
},
"node_modules/send/node_modules/statuses": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -7113,8 +24749,6 @@
},
"node_modules/serialize-error": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz",
- "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -7122,8 +24756,6 @@
},
"node_modules/serve-static": {
"version": "1.16.2",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
- "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
"license": "MIT",
"dependencies": {
"encodeurl": "~2.0.0",
@@ -7137,8 +24769,6 @@
},
"node_modules/serve-static/node_modules/debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
@@ -7146,14 +24776,10 @@
},
"node_modules/serve-static/node_modules/debug/node_modules/ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"license": "MIT"
},
"node_modules/serve-static/node_modules/encodeurl": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
- "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -7161,8 +24787,6 @@
},
"node_modules/serve-static/node_modules/on-finished": {
"version": "2.4.1",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
- "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
"license": "MIT",
"dependencies": {
"ee-first": "1.1.1"
@@ -7173,8 +24797,6 @@
},
"node_modules/serve-static/node_modules/send": {
"version": "0.19.0",
- "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
- "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
"license": "MIT",
"dependencies": {
"debug": "2.6.9",
@@ -7197,8 +24819,6 @@
},
"node_modules/serve-static/node_modules/send/node_modules/encodeurl": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -7206,8 +24826,6 @@
},
"node_modules/serve-static/node_modules/statuses": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -7215,14 +24833,10 @@
},
"node_modules/setprototypeof": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
"license": "ISC"
},
"node_modules/shebang-command": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
"license": "MIT",
"dependencies": {
"shebang-regex": "^3.0.0"
@@ -7233,8 +24847,6 @@
},
"node_modules/shebang-regex": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"license": "MIT",
"engines": {
"node": ">=8"
@@ -7242,8 +24854,6 @@
},
"node_modules/shell-quote": {
"version": "1.8.3",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz",
- "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==",
"license": "MIT",
"engines": {
"node": ">= 0.4"
@@ -7254,8 +24864,6 @@
},
"node_modules/signal-exit": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
- "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"license": "ISC",
"engines": {
"node": ">=14"
@@ -7266,8 +24874,6 @@
},
"node_modules/simple-plist": {
"version": "1.3.1",
- "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.1.tgz",
- "integrity": "sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==",
"license": "MIT",
"dependencies": {
"bplist-creator": "0.1.0",
@@ -7277,8 +24883,6 @@
},
"node_modules/simple-plist/node_modules/bplist-parser": {
"version": "0.3.1",
- "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz",
- "integrity": "sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==",
"license": "MIT",
"dependencies": {
"big-integer": "1.6.x"
@@ -7289,14 +24893,10 @@
},
"node_modules/sisteransi": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
- "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
"license": "MIT"
},
"node_modules/slash": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"license": "MIT",
"engines": {
"node": ">=8"
@@ -7304,8 +24904,6 @@
},
"node_modules/slugify": {
"version": "1.6.6",
- "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz",
- "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==",
"license": "MIT",
"engines": {
"node": ">=8.0.0"
@@ -7313,8 +24911,6 @@
},
"node_modules/source-map": {
"version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
@@ -7322,8 +24918,6 @@
},
"node_modules/source-map-js": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
- "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
@@ -7331,8 +24925,6 @@
},
"node_modules/source-map-support": {
"version": "0.5.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
"license": "MIT",
"dependencies": {
"buffer-from": "^1.0.0",
@@ -7341,8 +24933,6 @@
},
"node_modules/source-map-support/node_modules/source-map": {
"version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
@@ -7350,14 +24940,10 @@
},
"node_modules/sprintf-js": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
"license": "BSD-3-Clause"
},
"node_modules/stack-utils": {
"version": "2.0.6",
- "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz",
- "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==",
"license": "MIT",
"dependencies": {
"escape-string-regexp": "^2.0.0"
@@ -7368,8 +24954,6 @@
},
"node_modules/stack-utils/node_modules/escape-string-regexp": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
- "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
"license": "MIT",
"engines": {
"node": ">=8"
@@ -7377,14 +24961,10 @@
},
"node_modules/stackframe": {
"version": "1.3.4",
- "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz",
- "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==",
"license": "MIT"
},
"node_modules/stacktrace-parser": {
"version": "0.1.11",
- "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.11.tgz",
- "integrity": "sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==",
"license": "MIT",
"dependencies": {
"type-fest": "^0.7.1"
@@ -7395,8 +24975,6 @@
},
"node_modules/statuses": {
"version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
@@ -7404,8 +24982,6 @@
},
"node_modules/stream-buffers": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz",
- "integrity": "sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==",
"license": "Unlicense",
"engines": {
"node": ">= 0.10.0"
@@ -7413,8 +24989,6 @@
},
"node_modules/string-width": {
"version": "5.1.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
- "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
"license": "MIT",
"dependencies": {
"eastasianwidth": "^0.2.0",
@@ -7431,8 +25005,6 @@
"node_modules/string-width-cjs": {
"name": "string-width",
"version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
@@ -7445,14 +25017,10 @@
},
"node_modules/string-width-cjs/node_modules/emoji-regex": {
"version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"license": "MIT"
},
"node_modules/string-width-cjs/node_modules/strip-ansi": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@@ -7463,8 +25031,6 @@
},
"node_modules/strip-ansi": {
"version": "7.1.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
- "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
"license": "MIT",
"dependencies": {
"ansi-regex": "^6.0.1"
@@ -7479,8 +25045,6 @@
"node_modules/strip-ansi-cjs": {
"name": "strip-ansi",
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@@ -7491,8 +25055,6 @@
},
"node_modules/strip-ansi/node_modules/ansi-regex": {
"version": "6.2.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz",
- "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==",
"license": "MIT",
"engines": {
"node": ">=12"
@@ -7503,8 +25065,6 @@
},
"node_modules/strip-json-comments": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -7512,14 +25072,10 @@
},
"node_modules/structured-headers": {
"version": "0.4.1",
- "resolved": "https://registry.npmjs.org/structured-headers/-/structured-headers-0.4.1.tgz",
- "integrity": "sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==",
"license": "MIT"
},
"node_modules/sucrase": {
"version": "3.35.0",
- "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz",
- "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==",
"license": "MIT",
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.2",
@@ -7540,8 +25096,6 @@
},
"node_modules/sucrase/node_modules/commander": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
- "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
"license": "MIT",
"engines": {
"node": ">= 6"
@@ -7549,8 +25103,6 @@
},
"node_modules/supports-color": {
"version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"license": "MIT",
"dependencies": {
"has-flag": "^4.0.0"
@@ -7561,8 +25113,6 @@
},
"node_modules/supports-hyperlinks": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
- "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
"license": "MIT",
"dependencies": {
"has-flag": "^4.0.0",
@@ -7574,8 +25124,6 @@
},
"node_modules/supports-preserve-symlinks-flag": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
"license": "MIT",
"engines": {
"node": ">= 0.4"
@@ -7586,8 +25134,6 @@
},
"node_modules/tar": {
"version": "7.4.3",
- "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz",
- "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==",
"license": "ISC",
"dependencies": {
"@isaacs/fs-minipass": "^4.0.0",
@@ -7603,8 +25149,6 @@
},
"node_modules/tar/node_modules/mkdirp": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz",
- "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==",
"license": "MIT",
"bin": {
"mkdirp": "dist/cjs/src/bin.js"
@@ -7618,8 +25162,6 @@
},
"node_modules/tar/node_modules/yallist": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz",
- "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==",
"license": "BlueOak-1.0.0",
"engines": {
"node": ">=18"
@@ -7627,8 +25169,6 @@
},
"node_modules/temp-dir": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz",
- "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==",
"license": "MIT",
"engines": {
"node": ">=8"
@@ -7636,8 +25176,6 @@
},
"node_modules/terminal-link": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
- "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
"license": "MIT",
"dependencies": {
"ansi-escapes": "^4.2.1",
@@ -7652,8 +25190,6 @@
},
"node_modules/terser": {
"version": "5.43.1",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.43.1.tgz",
- "integrity": "sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==",
"license": "BSD-2-Clause",
"dependencies": {
"@jridgewell/source-map": "^0.3.3",
@@ -7670,14 +25206,10 @@
},
"node_modules/terser/node_modules/commander": {
"version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"license": "MIT"
},
"node_modules/test-exclude": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
- "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
"license": "ISC",
"dependencies": {
"@istanbuljs/schema": "^0.1.2",
@@ -7690,8 +25222,6 @@
},
"node_modules/test-exclude/node_modules/brace-expansion": {
"version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
@@ -7700,9 +25230,6 @@
},
"node_modules/test-exclude/node_modules/glob": {
"version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
"license": "ISC",
"dependencies": {
"fs.realpath": "^1.0.0",
@@ -7721,8 +25248,6 @@
},
"node_modules/test-exclude/node_modules/minimatch": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
@@ -7733,8 +25258,6 @@
},
"node_modules/thenify": {
"version": "3.3.1",
- "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
- "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
"license": "MIT",
"dependencies": {
"any-promise": "^1.0.0"
@@ -7742,8 +25265,6 @@
},
"node_modules/thenify-all": {
"version": "1.6.0",
- "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
- "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
"license": "MIT",
"dependencies": {
"thenify": ">= 3.1.0 < 4"
@@ -7754,20 +25275,14 @@
},
"node_modules/throat": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz",
- "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==",
"license": "MIT"
},
"node_modules/tmpl": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
- "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
"license": "BSD-3-Clause"
},
"node_modules/to-regex-range": {
"version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"license": "MIT",
"dependencies": {
"is-number": "^7.0.0"
@@ -7778,8 +25293,6 @@
},
"node_modules/toidentifier": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
- "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
"license": "MIT",
"engines": {
"node": ">=0.6"
@@ -7787,20 +25300,14 @@
},
"node_modules/tr46": {
"version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
"license": "MIT"
},
"node_modules/ts-interface-checker": {
"version": "0.1.13",
- "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
- "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
"license": "Apache-2.0"
},
"node_modules/type-detect": {
"version": "4.0.8",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
"license": "MIT",
"engines": {
"node": ">=4"
@@ -7808,8 +25315,6 @@
},
"node_modules/type-fest": {
"version": "0.7.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz",
- "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==",
"license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=8"
@@ -7817,8 +25322,6 @@
},
"node_modules/typescript": {
"version": "5.8.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
- "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
"dev": true,
"license": "Apache-2.0",
"bin": {
@@ -7831,8 +25334,6 @@
},
"node_modules/undici": {
"version": "6.21.3",
- "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.3.tgz",
- "integrity": "sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==",
"license": "MIT",
"engines": {
"node": ">=18.17"
@@ -7840,14 +25341,10 @@
},
"node_modules/undici-types": {
"version": "7.10.0",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz",
- "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==",
"license": "MIT"
},
"node_modules/unicode-canonical-property-names-ecmascript": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz",
- "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==",
"license": "MIT",
"engines": {
"node": ">=4"
@@ -7855,8 +25352,6 @@
},
"node_modules/unicode-match-property-ecmascript": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
- "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
"license": "MIT",
"dependencies": {
"unicode-canonical-property-names-ecmascript": "^2.0.0",
@@ -7868,8 +25363,6 @@
},
"node_modules/unicode-match-property-value-ecmascript": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz",
- "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==",
"license": "MIT",
"engines": {
"node": ">=4"
@@ -7877,8 +25370,6 @@
},
"node_modules/unicode-property-aliases-ecmascript": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
- "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
"license": "MIT",
"engines": {
"node": ">=4"
@@ -7886,8 +25377,6 @@
},
"node_modules/unique-string": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
- "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
"license": "MIT",
"dependencies": {
"crypto-random-string": "^2.0.0"
@@ -7898,8 +25387,6 @@
},
"node_modules/unpipe": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -7907,8 +25394,6 @@
},
"node_modules/update-browserslist-db": {
"version": "1.1.3",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz",
- "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==",
"funding": [
{
"type": "opencollective",
@@ -7937,8 +25422,6 @@
},
"node_modules/util": {
"version": "0.10.4",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
- "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
"license": "MIT",
"dependencies": {
"inherits": "2.0.3"
@@ -7946,14 +25429,10 @@
},
"node_modules/util/node_modules/inherits": {
"version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
"license": "ISC"
},
"node_modules/utils-merge": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
"license": "MIT",
"engines": {
"node": ">= 0.4.0"
@@ -7961,8 +25440,6 @@
},
"node_modules/uuid": {
"version": "7.0.3",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz",
- "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==",
"license": "MIT",
"bin": {
"uuid": "dist/bin/uuid"
@@ -7970,8 +25447,6 @@
},
"node_modules/validate-npm-package-name": {
"version": "5.0.1",
- "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz",
- "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==",
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -7979,8 +25454,6 @@
},
"node_modules/vary": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -7988,23 +25461,23 @@
},
"node_modules/vlq": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz",
- "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==",
"license": "MIT"
},
"node_modules/walker": {
"version": "1.0.8",
- "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz",
- "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==",
"license": "Apache-2.0",
"dependencies": {
"makeerror": "1.0.12"
}
},
+ "node_modules/warn-once": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/warn-once/-/warn-once-0.1.1.tgz",
+ "integrity": "sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q==",
+ "license": "MIT"
+ },
"node_modules/wcwidth": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
- "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
"license": "MIT",
"dependencies": {
"defaults": "^1.0.3"
@@ -8012,8 +25485,6 @@
},
"node_modules/webidl-conversions": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
- "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
"license": "BSD-2-Clause",
"engines": {
"node": ">=8"
@@ -8021,14 +25492,10 @@
},
"node_modules/whatwg-fetch": {
"version": "3.6.20",
- "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz",
- "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==",
"license": "MIT"
},
"node_modules/whatwg-url": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"license": "MIT",
"dependencies": {
"tr46": "~0.0.3",
@@ -8037,8 +25504,6 @@
},
"node_modules/whatwg-url-without-unicode": {
"version": "8.0.0-3",
- "resolved": "https://registry.npmjs.org/whatwg-url-without-unicode/-/whatwg-url-without-unicode-8.0.0-3.tgz",
- "integrity": "sha512-HoKuzZrUlgpz35YO27XgD28uh/WJH4B0+3ttFqRo//lmq+9T/mIOJ6kqmINI9HpUpz1imRC/nR/lxKpJiv0uig==",
"license": "MIT",
"dependencies": {
"buffer": "^5.4.3",
@@ -8051,14 +25516,10 @@
},
"node_modules/whatwg-url/node_modules/webidl-conversions": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
"license": "BSD-2-Clause"
},
"node_modules/which": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"license": "ISC",
"dependencies": {
"isexe": "^2.0.0"
@@ -8072,14 +25533,10 @@
},
"node_modules/wonka": {
"version": "6.3.5",
- "resolved": "https://registry.npmjs.org/wonka/-/wonka-6.3.5.tgz",
- "integrity": "sha512-SSil+ecw6B4/Dm7Pf2sAshKQ5hWFvfyGlfPbEd6A14dOH6VDjrmbY86u6nZvy9omGwwIPFR8V41+of1EezgoUw==",
"license": "MIT"
},
"node_modules/wrap-ansi": {
"version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
@@ -8096,8 +25553,6 @@
"node_modules/wrap-ansi-cjs": {
"name": "wrap-ansi",
"version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
@@ -8113,14 +25568,10 @@
},
"node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
"version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"license": "MIT"
},
"node_modules/wrap-ansi-cjs/node_modules/string-width": {
"version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
@@ -8133,8 +25584,6 @@
},
"node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@@ -8145,14 +25594,10 @@
},
"node_modules/wrap-ansi/node_modules/emoji-regex": {
"version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"license": "MIT"
},
"node_modules/wrap-ansi/node_modules/string-width": {
"version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
@@ -8165,8 +25610,6 @@
},
"node_modules/wrap-ansi/node_modules/strip-ansi": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@@ -8177,14 +25620,10 @@
},
"node_modules/wrappy": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
"license": "ISC"
},
"node_modules/write-file-atomic": {
"version": "4.0.2",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
- "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
"license": "ISC",
"dependencies": {
"imurmurhash": "^0.1.4",
@@ -8196,14 +25635,10 @@
},
"node_modules/write-file-atomic/node_modules/signal-exit": {
"version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
"license": "ISC"
},
"node_modules/ws": {
"version": "8.18.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
- "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
"license": "MIT",
"engines": {
"node": ">=10.0.0"
@@ -8223,8 +25658,6 @@
},
"node_modules/xcode": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/xcode/-/xcode-3.0.1.tgz",
- "integrity": "sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==",
"license": "Apache-2.0",
"dependencies": {
"simple-plist": "^1.1.0",
@@ -8236,8 +25669,6 @@
},
"node_modules/xml2js": {
"version": "0.6.0",
- "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.0.tgz",
- "integrity": "sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==",
"license": "MIT",
"dependencies": {
"sax": ">=0.6.0",
@@ -8249,8 +25680,6 @@
},
"node_modules/xml2js/node_modules/xmlbuilder": {
"version": "11.0.1",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
- "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
"license": "MIT",
"engines": {
"node": ">=4.0"
@@ -8258,8 +25687,6 @@
},
"node_modules/xmlbuilder": {
"version": "15.1.1",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz",
- "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==",
"license": "MIT",
"engines": {
"node": ">=8.0"
@@ -8267,8 +25694,6 @@
},
"node_modules/y18n": {
"version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
"license": "ISC",
"engines": {
"node": ">=10"
@@ -8276,14 +25701,10 @@
},
"node_modules/yallist": {
"version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
"license": "ISC"
},
"node_modules/yargs": {
"version": "17.7.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
- "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
"license": "MIT",
"dependencies": {
"cliui": "^8.0.1",
@@ -8300,8 +25721,6 @@
},
"node_modules/yargs-parser": {
"version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
"license": "ISC",
"engines": {
"node": ">=12"
@@ -8309,14 +25728,10 @@
},
"node_modules/yargs/node_modules/emoji-regex": {
"version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"license": "MIT"
},
"node_modules/yargs/node_modules/string-width": {
"version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
@@ -8329,8 +25744,6 @@
},
"node_modules/yargs/node_modules/strip-ansi": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@@ -8341,8 +25754,6 @@
},
"node_modules/yocto-queue": {
"version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
"license": "MIT",
"engines": {
"node": ">=10"
diff --git a/example/package.json b/example/package.json
index f5f5729..1d39967 100644
--- a/example/package.json
+++ b/example/package.json
@@ -9,18 +9,22 @@
"web": "expo start --web"
},
"dependencies": {
- "@cloudinary/url-gen": "^1.21.0",
+ "@cloudinary/url-gen": "^1.22.0",
"@expo/config": "^11.0.0",
"@expo/metro-config": "~0.20.0",
+ "@expo/vector-icons": "^14.0.2",
"cloudinary-react-native": "../",
"expo": "~53.0.0",
"expo-av": "~15.1.7",
"expo-crypto": "~14.1.5",
+ "expo-font": "~12.0.10",
+ "expo-screen-orientation": "^8.1.7",
"expo-status-bar": "~2.2.3",
"expo-video": "^2.0.0",
"isomorphic-fetch": "^3.0.0",
"react": "19.0.0",
"react-native": "0.79.5",
+ "react-native-svg": "15.11.2",
"util": "^0.10.4"
},
"devDependencies": {
diff --git a/package-lock.json b/package-lock.json
index 42e8333..31ad773 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,15 +1,15 @@
{
"name": "cloudinary-react-native",
- "version": "1.2.0",
+ "version": "1.2.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "cloudinary-react-native",
- "version": "1.2.0",
+ "version": "1.2.1",
"license": "MIT",
"dependencies": {
- "@cloudinary/url-gen": "^1.10.0",
+ "@cloudinary/url-gen": "^1.22.0",
"expo-constants": "^17.0.0",
"expo-crypto": "^14.1.5",
"isomorphic-fetch": "^3.0.0",
@@ -47,6 +47,7 @@
"node": ">= 18.0.0"
},
"peerDependencies": {
+ "@expo/vector-icons": "^14.0.0",
"expo": "^50.0.0 || ^51.0.0 || ^52.0.0 || ^53.0.0",
"expo-av": "^14.0.0 || ^15.0.0",
"expo-constants": "^16.0.0 || ^17.0.0",
@@ -56,9 +57,15 @@
"react-native": ">=0.79.0"
},
"peerDependenciesMeta": {
+ "@expo/vector-icons": {
+ "optional": true
+ },
"expo-av": {
"optional": true
},
+ "expo-font": {
+ "optional": true
+ },
"expo-video": {
"optional": true
}
@@ -2368,9 +2375,9 @@
}
},
"node_modules/@cloudinary/url-gen": {
- "version": "1.21.0",
- "resolved": "https://registry.npmjs.org/@cloudinary/url-gen/-/url-gen-1.21.0.tgz",
- "integrity": "sha512-ctYcCzX3G3vcgnESTU2ET3K1XsBiXcEnBddCGV0QbR3fJhLLrIShjSMEwZoepgh4LAFOHJu9DzvLFr+E8R7c7g==",
+ "version": "1.22.0",
+ "resolved": "https://registry.npmjs.org/@cloudinary/url-gen/-/url-gen-1.22.0.tgz",
+ "integrity": "sha512-le8RMlgyC0JN3+FlC/YAlPYfvmJdtw8QGcSKDjCsfhS2CIem0mJl6ayti8bMoZ0P5wDvBewvRB0/dUQvhCzy3g==",
"license": "MIT",
"dependencies": {
"@cloudinary/transformation-builder-sdk": "^1.15.1"
diff --git a/package.json b/package.json
index 9635143..39954d9 100644
--- a/package.json
+++ b/package.json
@@ -77,13 +77,14 @@
"typescript": "^5.3.0"
},
"dependencies": {
- "@cloudinary/url-gen": "^1.10.0",
+ "@cloudinary/url-gen": "^1.22.0",
"expo-constants": "^17.0.0",
"expo-crypto": "^14.1.5",
"isomorphic-fetch": "^3.0.0",
"util": "^0.10.4"
},
"peerDependencies": {
+ "@expo/vector-icons": "^14.0.0",
"expo": "^50.0.0 || ^51.0.0 || ^52.0.0 || ^53.0.0",
"expo-av": "^14.0.0 || ^15.0.0",
"expo-constants": "^16.0.0 || ^17.0.0",
@@ -93,9 +94,15 @@
"react-native": ">=0.79.0"
},
"peerDependenciesMeta": {
+ "@expo/vector-icons": {
+ "optional": true
+ },
"expo-av": {
"optional": true
},
+ "expo-font": {
+ "optional": true
+ },
"expo-video": {
"optional": true
}
diff --git a/src/AdvancedImage.tsx b/src/AdvancedImage.tsx
index 7becbe2..c3c35c4 100644
--- a/src/AdvancedImage.tsx
+++ b/src/AdvancedImage.tsx
@@ -8,9 +8,9 @@ interface AdvancedImageProps extends Omit {
}
const AdvancedImage: React.FC = ({
- cldImg,
- ...rest
- }) => {
+ cldImg,
+ ...rest
+}) => {
const uri = cldImg.toURL({trackedAnalytics: SDKAnalyticsConstants});
return (
;
-
enableAnalytics?: boolean;
autoTrackAnalytics?: boolean;
+ onPlaybackStatusUpdate?: (status: any) => void;
+ useNativeControls?: boolean;
analyticsOptions?: {
customData?: any;
videoPlayerType?: string;
@@ -30,6 +31,11 @@ export interface AdvancedVideoRef {
stopAnalyticsTracking: () => void;
startAutoAnalyticsTracking: (options?: any) => void;
addCustomEvent: (eventName: string, eventDetails?: any) => void;
+ playAsync: () => Promise;
+ pauseAsync: () => Promise;
+ setIsMutedAsync: (isMuted: boolean) => Promise;
+ setPositionAsync: (positionMillis: number) => Promise;
+ setStatusAsync: (status: any) => Promise;
}
class AdvancedVideo extends Component {
@@ -77,12 +83,12 @@ class AdvancedVideo extends Component {
private getVideoUri = (): string => {
if (this.props.videoUrl) {
return this.props.videoUrl;
- }
+ }
if (this.props.cldVideo) {
return this.props.cldVideo.toURL({ trackedAnalytics: SDKAnalyticsConstants });
- }
- return '';
- };
+ }
+ return '';
+ };
private initializeAnalytics = async () => {
if (!this.props.enableAnalytics || !this.videoRef.current || this.state.analyticsInitialized) {
@@ -117,6 +123,7 @@ class AdvancedVideo extends Component {
};
private onPlaybackStatusUpdate = (status: any) => {
+
if (this.props.enableAnalytics && this.videoRef.current && this.state.analyticsInitialized) {
if (!this.videoRef.current._currentStatus) {
this.videoRef.current._currentStatus = {};
@@ -133,9 +140,11 @@ class AdvancedVideo extends Component {
}
this.setState({ previousStatus: status });
} catch (error) {
- // Silently fail if status processing fails
}
}
+
+ // Forward status updates to parent component
+ this.props.onPlaybackStatusUpdate?.(status);
};
@@ -186,6 +195,62 @@ class AdvancedVideo extends Component {
}
};
+ // Playback control methods
+ public playAsync = async () => {
+ if (this.videoRef.current) {
+ try {
+ // expo-av uses setStatusAsync for playback control
+ await this.videoRef.current.setStatusAsync({ shouldPlay: true });
+ } catch (error) {
+ console.warn('Failed to play video:', error);
+ }
+ }
+ };
+
+ public pauseAsync = async () => {
+ if (this.videoRef.current) {
+ try {
+ // expo-av uses setStatusAsync for playback control
+ await this.videoRef.current.setStatusAsync({ shouldPlay: false });
+ } catch (error) {
+ console.warn('Failed to pause video:', error);
+ }
+ }
+ };
+
+ public setIsMutedAsync = async (isMuted: boolean) => {
+ if (this.videoRef.current) {
+ try {
+ // expo-av uses setStatusAsync for muting
+ await this.videoRef.current.setStatusAsync({ isMuted });
+ } catch (error) {
+ console.warn('Failed to set muted state:', error);
+ }
+ }
+ };
+
+ public setPositionAsync = async (positionMillis: number) => {
+ if (this.videoRef.current) {
+ try {
+ // expo-av uses setStatusAsync for seeking
+ await this.videoRef.current.setStatusAsync({ positionMillis });
+ } catch (error) {
+ console.warn('Failed to set position:', error);
+ }
+ }
+ };
+
+ public setStatusAsync = async (status: any) => {
+ if (this.videoRef.current) {
+ try {
+ // Forward to underlying video component
+ await this.videoRef.current.setStatusAsync(status);
+ } catch (error) {
+ console.warn('Failed to set status:', error);
+ }
+ }
+ };
+
render() {
const videoUri = this.getVideoUri();
@@ -200,10 +265,14 @@ class AdvancedVideo extends Component {
const videoElement = this.state.videoAdapter.renderVideo({
videoUri,
style: this.props.videoStyle,
+ useNativeControls: this.props.useNativeControls,
onPlaybackStatusUpdate: this.onPlaybackStatusUpdate,
- onLoadStart: () => {},
- onLoad: () => {},
- onError: (_error: any) => {},
+ onLoadStart: () => {
+ },
+ onLoad: () => {
+ },
+ onError: () => {
+ },
}, this.videoRef);
return videoElement;
diff --git a/src/adapters/ExpoAVVideoAdapter.tsx b/src/adapters/ExpoAVVideoAdapter.tsx
index 7f20887..36aefd1 100644
--- a/src/adapters/ExpoAVVideoAdapter.tsx
+++ b/src/adapters/ExpoAVVideoAdapter.tsx
@@ -17,11 +17,7 @@ export class ExpoAVVideoAdapter implements VideoPlayerAdapter {
}
isAvailable(): boolean {
- const hasModule = !!this.expoAVModule;
- const hasVideo = !!(this.expoAVModule && this.expoAVModule.Video);
- const isAvailable = hasModule && hasVideo;
-
- return isAvailable;
+ return !!(this.expoAVModule && this.expoAVModule.Video);
}
getAdapterName(): string {
@@ -36,17 +32,33 @@ export class ExpoAVVideoAdapter implements VideoPlayerAdapter {
const { Video } = this.expoAVModule;
return React.createElement(Video, {
- ref,
+ ref: (videoInstance: any) => {
+ if (ref && typeof ref === 'object' && 'current' in ref) {
+ ref.current = videoInstance;
+ }
+ },
source: { uri: props.videoUri },
style: props.style,
- useNativeControls: true,
+ useNativeControls: props.useNativeControls || false,
shouldPlay: false,
isLooping: false,
resizeMode: 'contain',
- onPlaybackStatusUpdate: props.onPlaybackStatusUpdate,
- onError: props.onError || (() => {}),
- onLoad: props.onLoad || (() => {}),
- onLoadStart: props.onLoadStart || (() => {}),
+ onPlaybackStatusUpdate: (status: any) => {
+ if (props.onPlaybackStatusUpdate) {
+ props.onPlaybackStatusUpdate(status);
+ }
+ },
+ onError: (error: any) => {
+ if (props.onError) {
+ props.onError(error);
+ }
+ },
+ onLoad: (data: any) => {
+ props.onLoad?.(data);
+ },
+ onLoadStart: (data: any) => {
+ props.onLoadStart?.(data);
+ },
});
}
diff --git a/src/adapters/ExpoVideoAdapter.tsx b/src/adapters/ExpoVideoAdapter.tsx
index bf0268b..5ed5433 100644
--- a/src/adapters/ExpoVideoAdapter.tsx
+++ b/src/adapters/ExpoVideoAdapter.tsx
@@ -1,9 +1,12 @@
import React, { ReactElement, RefObject } from 'react';
import { VideoPlayerAdapter, VideoPlayerProps, VideoPlayerRef, VideoPlayerType } from './types';
+// ExpoVideoAdapter - handles expo-video integration
+// Currently disabled due to hooks compatibility issues with class-based adapter system
+
export class ExpoVideoAdapter implements VideoPlayerAdapter {
private expoVideoModule: any = null;
- private videoPlayer: any = null;
+ private playerCache: Map = new Map();
constructor() {
this.loadExpoVideo();
@@ -18,12 +21,8 @@ export class ExpoVideoAdapter implements VideoPlayerAdapter {
}
isAvailable(): boolean {
- const hasModule = !!this.expoVideoModule;
- const hasVideoView = !!(this.expoVideoModule && this.expoVideoModule.VideoView);
- const hasCreatePlayer = !!(this.expoVideoModule && this.expoVideoModule.createVideoPlayer);
- const isAvailable = hasModule && hasVideoView && hasCreatePlayer;
-
- return isAvailable;
+ // Check if expo-video module loaded successfully and has Video component
+ return !!(this.expoVideoModule && this.expoVideoModule.VideoView);
}
getAdapterName(): string {
@@ -31,52 +30,314 @@ export class ExpoVideoAdapter implements VideoPlayerAdapter {
}
renderVideo(props: VideoPlayerProps, ref: RefObject): ReactElement {
+
if (!this.isAvailable()) {
throw new Error('expo-video is not available');
}
const { VideoView, createVideoPlayer } = this.expoVideoModule;
- // Create or reuse the video player
- if (!this.videoPlayer) {
- this.videoPlayer = createVideoPlayer(props.videoUri);
- } else {
- // Update the source if it changed
- this.videoPlayer.source = props.videoUri;
+ // Get or create cached player for this URI
+ let player = this.playerCache.get(props.videoUri);
+ if (!player) {
+ player = createVideoPlayer({ uri: props.videoUri });
+
+ // Configure player properties with initial values
+ player.loop = false;
+ player.muted = false;
+ player.playbackRate = 1.0;
+
+ this.playerCache.set(props.videoUri, player);
+ }
+
+ // Handle URI changes for quality/source switching
+ if (player.source?.uri !== props.videoUri) {
+ try {
+ // Store current playback state
+ const wasPlaying = player.playing;
+ const currentTime = player.currentTime || 0;
+
+ // Update source
+ player.source = { uri: props.videoUri };
+
+ // Restore playback state after a brief delay
+ setTimeout(() => {
+ try {
+ if (currentTime > 0) {
+ player.currentTime = currentTime;
+ }
+ if (wasPlaying) {
+ player.play();
+ }
+ } catch (error) {
+ // Silently handle playback state restoration errors
+ }
+ }, 100);
+ } catch (error) {
+ // Silently handle source update errors
+ }
+ }
+
+ // Set up event listeners for status updates only once per player
+ if (props.onPlaybackStatusUpdate && !player._listenersSetup) {
+
+ const sendStatusUpdate = () => {
+ const status = {
+ uri: props.videoUri,
+ isLoaded: true,
+ shouldPlay: player.playing || false,
+ isPlaying: player.playing || false,
+ positionMillis: (player.currentTime || 0) * 1000,
+ durationMillis: (player.duration || 0) * 1000,
+ isMuted: player.muted || false,
+ rate: player.playbackRate || 1.0,
+ volume: player.muted ? 0 : 1.0
+ };
+ if (props.onPlaybackStatusUpdate) {
+ props.onPlaybackStatusUpdate(status);
+ }
+ return status;
+ };
+
+ // Listen to various player events and map them to status updates
+ const playingChangeHandler = () => {
+ sendStatusUpdate();
+ };
+
+ const statusChangeHandler = () => {
+ sendStatusUpdate();
+ };
+
+ const timeUpdateHandler = () => {
+ // Send time updates for seekbar
+ sendStatusUpdate();
+ };
+
+ const loadedHandler = () => {
+ sendStatusUpdate();
+ };
+
+ // Set up a timer to continuously update time during playback
+ let timeUpdateInterval: NodeJS.Timeout | null = null;
+
+ const startTimeUpdates = () => {
+ if (timeUpdateInterval) clearInterval(timeUpdateInterval);
+ timeUpdateInterval = setInterval(() => {
+ if (player.playing) {
+ sendStatusUpdate();
+ }
+ }, 250); // Update 4 times per second
+ };
+
+ const stopTimeUpdates = () => {
+ if (timeUpdateInterval) {
+ clearInterval(timeUpdateInterval);
+ timeUpdateInterval = null;
+ }
+ };
+
+ const enhancedPlayingChangeHandler = (isPlaying: boolean) => {
+ if (isPlaying) {
+ startTimeUpdates();
+ } else {
+ stopTimeUpdates();
+ }
+ sendStatusUpdate();
+ };
+
+ player.addListener('playingChange', enhancedPlayingChangeHandler);
+ player.addListener('statusChange', statusChangeHandler);
+
+ // Try multiple possible event names for time updates
+ try {
+ player.addListener('timeUpdate', timeUpdateHandler);
+ } catch (e) {
+ }
+
+ try {
+ player.addListener('playbackStatusUpdate', timeUpdateHandler);
+ } catch (e) {
+ }
+
+ try {
+ player.addListener('loadeddata', loadedHandler);
+ } catch (e) {
+ }
+
+ // Mark listeners as setup to prevent duplicates
+ player._listenersSetup = true;
+ player._handlers = {
+ playingChangeHandler: enhancedPlayingChangeHandler,
+ statusChangeHandler,
+ timeUpdateHandler,
+ loadedHandler,
+ stopTimeUpdates
+ };
+
+ // Send initial status
+ setTimeout(() => sendStatusUpdate(), 100);
+ }
+
+ // Handle errors
+ if (props.onError) {
+ player.addListener('error', (error: any) => {
+ props.onError!(error);
+ });
}
return React.createElement(VideoView, {
- ref,
- player: this.videoPlayer,
- style: props.style,
- nativeControls: true,
- onPlaybackStatusUpdate: (status: any) => {
- this.processExpoVideoEvents(ref.current, 'onPlaybackStatusUpdate', status);
- props.onPlaybackStatusUpdate?.(status);
- },
- onLoadStart: (data: any) => {
- this.processExpoVideoEvents(ref.current, 'onLoadStart', data);
- props.onLoadStart?.(data);
+ ref: (videoInstance: any) => {
+ if (ref && typeof ref === 'object' && 'current' in ref) {
+ // Store the player reference for compatibility with existing code
+ ref.current = {
+ ...videoInstance,
+ // Add expo-av compatible methods for backward compatibility
+ setStatusAsync: async (status: any) => {
+ try {
+ let statusChanged = false;
+
+ if (status.shouldPlay !== undefined) {
+ if (status.shouldPlay) {
+ await player.play();
+ statusChanged = true;
+ } else {
+ player.pause();
+ statusChanged = true;
+ }
+ }
+ if (status.positionMillis !== undefined) {
+ player.currentTime = status.positionMillis / 1000;
+ statusChanged = true;
+ }
+ if (status.isMuted !== undefined) {
+ player.muted = status.isMuted;
+ statusChanged = true;
+ }
+ if (status.rate !== undefined) {
+ player.playbackRate = status.rate;
+ statusChanged = true;
+ }
+ if (status.uri !== undefined && status.uri !== props.videoUri) {
+ try {
+ // Handle source changes (quality switching)
+ const wasPlaying = player.playing;
+ const currentTime = player.currentTime || 0;
+
+ player.source = { uri: status.uri };
+
+ // Restore state
+ setTimeout(() => {
+ if (status.positionMillis !== undefined) {
+ player.currentTime = status.positionMillis / 1000;
+ } else if (currentTime > 0) {
+ player.currentTime = currentTime;
+ }
+ if (status.shouldPlay !== undefined ? status.shouldPlay : wasPlaying) {
+ player.play();
+ }
+ }, 100);
+
+ statusChanged = true;
+ } catch (error) {
+ console.warn('ExpoVideoAdapter - URI change failed:', error);
+ }
+ }
+
+ // Send status update after changes
+ if (statusChanged && props.onPlaybackStatusUpdate) {
+ setTimeout(() => {
+ const newStatus = {
+ uri: props.videoUri,
+ isLoaded: true,
+ shouldPlay: player.playing || false,
+ isPlaying: player.playing || false,
+ positionMillis: (player.currentTime || 0) * 1000,
+ durationMillis: (player.duration || 0) * 1000,
+ isMuted: player.muted || false,
+ rate: player.playbackRate || 1.0,
+ volume: player.muted ? 0 : 1.0
+ };
+ props.onPlaybackStatusUpdate!(newStatus);
+ }, 50);
+ }
+ } catch (error) {
+ console.warn('ExpoVideoAdapter - setStatusAsync error:', error);
+ }
+ },
+ // Add missing expo-av compatible method for mute toggle
+ setIsMutedAsync: async (isMuted: boolean) => {
+ try {
+ player.muted = isMuted;
+ // Send status update after mute change
+ if (props.onPlaybackStatusUpdate) {
+ setTimeout(() => {
+ const newStatus = {
+ uri: props.videoUri,
+ isLoaded: true,
+ shouldPlay: player.playing || false,
+ isPlaying: player.playing || false,
+ positionMillis: (player.currentTime || 0) * 1000,
+ durationMillis: (player.duration || 0) * 1000,
+ isMuted: player.muted || false,
+ rate: player.playbackRate || 1.0,
+ volume: player.muted ? 0 : 1.0
+ };
+ if (props.onPlaybackStatusUpdate) {
+ props.onPlaybackStatusUpdate(newStatus);
+ }
+ }, 50);
+ }
+ } catch (error) {
+ // Silently handle mute errors
+ }
+ },
+ // Add cleanup method
+ _cleanup: () => {
+ try {
+ if (player._handlers) {
+ player.removeListener('playingChange', player._handlers.playingChangeHandler);
+ player.removeListener('statusChange', player._handlers.statusChangeHandler);
+
+ // Clean up time update interval
+ if (player._handlers.stopTimeUpdates) {
+ player._handlers.stopTimeUpdates();
+ }
+
+ try {
+ player.removeListener('timeUpdate', player._handlers.timeUpdateHandler);
+ } catch (e) {}
+
+ try {
+ player.removeListener('loadeddata', player._handlers.loadedHandler);
+ } catch (e) {}
+ }
+ player.remove();
+ } catch (error) {
+ console.warn('ExpoVideoAdapter - cleanup error:', error);
+ }
+ },
+ _currentStatus: {
+ uri: props.videoUri,
+ isLoaded: true,
+ shouldPlay: player.playing || false,
+ positionMillis: (player.currentTime || 0) * 1000,
+ durationMillis: (player.duration || 0) * 1000,
+ isMuted: player.muted || false,
+ rate: player.playbackRate || 1.0,
+ volume: player.muted ? 0 : 1.0
+ }
+ };
+ }
},
+ player: player,
+ style: props.style,
+ nativeControls: props.useNativeControls || false,
+ contentFit: 'contain',
onLoad: (data: any) => {
- this.processExpoVideoEvents(ref.current, 'onLoad', data);
props.onLoad?.(data);
},
- onError: (error: any) => {
- this.processExpoVideoEvents(ref.current, 'onError', error);
- props.onError?.(error);
- },
- onReadyForDisplay: (data: any) => {
- this.processExpoVideoEvents(ref.current, 'onReadyForDisplay', data);
- props.onReadyForDisplay?.(data);
- },
- onPlayingChange: (isPlaying: boolean) => {
- this.processExpoVideoEvents(ref.current, 'onPlayingChange', isPlaying);
- props.onPlayingChange?.(isPlaying);
- },
- onEnd: (data: any) => {
- this.processExpoVideoEvents(ref.current, 'onEnd', data);
- props.onEnd?.(data);
+ onLoadStart: (data: any) => {
+ props.onLoadStart?.(data);
},
});
}
@@ -108,8 +369,4 @@ export class ExpoVideoAdapter implements VideoPlayerAdapter {
return null;
}
}
-
- cleanup(): void {
- this.videoPlayer = null;
- }
}
diff --git a/src/adapters/VideoPlayerFactory.ts b/src/adapters/VideoPlayerFactory.ts
index dae725a..8dad75e 100644
--- a/src/adapters/VideoPlayerFactory.ts
+++ b/src/adapters/VideoPlayerFactory.ts
@@ -14,8 +14,8 @@ export class VideoPlayerFactory {
if (this.initialized) return;
this.adapters = [
- new ExpoVideoAdapter(), // Try expo-video first (newer package)
- new ExpoAVVideoAdapter(), // Fallback to expo-av
+ new ExpoVideoAdapter(), // Try expo-video first (modern, recommended)
+ new ExpoAVVideoAdapter(), // Fallback to expo-av for compatibility
];
this.initialized = true;
@@ -29,7 +29,6 @@ export class VideoPlayerFactory {
// Find the first available adapter
for (const adapter of this.adapters) {
- const adapterName = adapter.getAdapterName();
const isAvailable = adapter.isAvailable();
if (isAvailable) {
diff --git a/src/adapters/types.ts b/src/adapters/types.ts
index 45abf46..5647dda 100644
--- a/src/adapters/types.ts
+++ b/src/adapters/types.ts
@@ -10,6 +10,7 @@ export interface VideoPlayerRef {
export interface VideoPlayerProps {
videoUri: string;
style?: StyleProp;
+ useNativeControls?: boolean;
onPlaybackStatusUpdate?: (status: any) => void;
onLoadStart?: (data: any) => void;
onLoad?: (data: any) => void;
diff --git a/src/index.tsx b/src/index.tsx
index cf5932c..833685d 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -1,7 +1,11 @@
import AdvancedImage from "./AdvancedImage";
import AdvancedVideo from './AdvancedVideo';
+import { CLDVideoLayer, ButtonPosition, TimePosition } from './widgets/video/layer';
+import type { SeekbarConfig } from './widgets/video/layer';
export { upload, unsignedUpload, uploadBase64, rename, explicit } from "./api/upload";
export { UploadApiOptions } from './api/upload/model/params/upload-params';
export { AdvancedImage };
export { AdvancedVideo };
+export { CLDVideoLayer, ButtonPosition, TimePosition };
+export type { SeekbarConfig };
diff --git a/src/widgets/video/layer/CLDVideoLayer.tsx b/src/widgets/video/layer/CLDVideoLayer.tsx
new file mode 100644
index 0000000..2ac0f07
--- /dev/null
+++ b/src/widgets/video/layer/CLDVideoLayer.tsx
@@ -0,0 +1,391 @@
+import React from 'react';
+import { View, TouchableOpacity, Text, PanResponder, ActivityIndicator, Animated, StyleSheet, Easing, Dimensions } from 'react-native';
+
+import { Ionicons } from '@expo/vector-icons';
+import AdvancedVideo from '../../../AdvancedVideo';
+import { CLDVideoLayerProps, ButtonPosition, ButtonLayoutDirection, SubtitleOption, QualityOption } from './types';
+import { formatTime, handleDefaultShare, isHLSVideo, parseHLSManifest, parseHLSQualityLevels, getVideoUrl } from './utils';
+import { SubtitleCue, fetchSubtitleFile, findActiveSubtitle } from './utils/subtitleUtils';
+import { styles, getResponsiveStyles } from './styles';
+import { TopControls, CenterControls, BottomControls, SubtitleDisplay, AbsoluteButtons, TitleSubtitle, BottomButtonBar } from './components';
+import { ICON_SIZES } from './constants';
+import { calculateButtonPosition, getTopPadding } from './utils';
+import { parseHLSSubtitlesIfNeeded, parseHLSQualityLevelsIfNeeded } from './helpers/hlsHelpers';
+
+// Import the organized logic functions
+import { VideoControlsManager } from './helpers/videoControlsManager';
+import { VideoPlaybackManager } from './helpers/videoPlaybackManager';
+import { VideoSubtitlesManager } from './helpers/videoSubtitlesManager';
+import { VideoQualityManager } from './helpers/videoQualityManager';
+import { VideoOrientationManager } from './helpers/videoOrientationManager';
+
+interface CLDVideoLayerState {
+ status: any | null;
+ isControlsVisible: boolean;
+ isSeeking: boolean;
+ seekingPosition: number;
+ lastSeekPosition: number;
+ isSeekingComplete: boolean;
+ isLandscape: boolean;
+ isFullScreen: boolean;
+ previousOrientation: 'portrait' | 'landscape' | null;
+ currentPlaybackSpeed: number;
+ isSpeedMenuVisible: boolean;
+ currentSubtitle: string;
+ isSubtitlesMenuVisible: boolean;
+ availableSubtitleTracks: SubtitleOption[];
+ subtitleCues: SubtitleCue[];
+ activeSubtitleText: string | null;
+ currentQuality: string;
+ isQualityMenuVisible: boolean;
+ availableQualityLevels: QualityOption[];
+}
+
+export class CLDVideoLayer extends React.Component {
+ private videoRef: React.RefObject;
+ private seekbarRef: React.RefObject;
+ private panResponder: any;
+
+ // Manager instances
+ private controlsManager: VideoControlsManager;
+ private playbackManager: VideoPlaybackManager;
+ private subtitlesManager: VideoSubtitlesManager;
+ private qualityManager: VideoQualityManager;
+ private orientationManager: VideoOrientationManager;
+
+ constructor(props: CLDVideoLayerProps) {
+ super(props);
+ this.videoRef = React.createRef();
+ this.seekbarRef = React.createRef();
+
+ // Initialize managers
+ this.controlsManager = new VideoControlsManager();
+ this.playbackManager = new VideoPlaybackManager();
+ this.subtitlesManager = new VideoSubtitlesManager();
+ this.qualityManager = new VideoQualityManager();
+ this.orientationManager = new VideoOrientationManager();
+
+ // Get initial orientation
+ const { width, height } = Dimensions.get('window');
+ const initialIsLandscape = width > height;
+
+ this.state = {
+ status: null,
+ isControlsVisible: true,
+ isSeeking: false,
+ seekingPosition: 0,
+ lastSeekPosition: 0,
+ isSeekingComplete: false,
+ isLandscape: initialIsLandscape,
+ isFullScreen: false,
+ previousOrientation: null,
+ currentPlaybackSpeed: props.playbackSpeed?.defaultSpeed || 1.0,
+ isSpeedMenuVisible: false,
+ currentSubtitle: props.subtitles?.defaultLanguage || 'off',
+ isSubtitlesMenuVisible: false,
+ availableSubtitleTracks: [],
+ subtitleCues: [],
+ activeSubtitleText: null,
+ currentQuality: props.quality?.defaultQuality || 'auto',
+ isQualityMenuVisible: false,
+ availableQualityLevels: [],
+ };
+
+ // Create pan responder
+ this.panResponder = this.playbackManager.createPanResponder(
+ () => this.state,
+ (updates) => this.setState(updates),
+ this.controlsManager.clearAutoHideTimer,
+ this.controlsManager.startAutoHideTimer,
+ this.videoRef,
+ this.seekbarRef
+ );
+ }
+
+ componentDidMount() {
+ if (this.state.isControlsVisible) {
+ this.controlsManager.startAutoHideTimer(() => this.setState({ isControlsVisible: false }));
+ }
+
+ // Initialize orientation handling
+ this.orientationManager.initialize((updates) => this.setState(updates as any));
+
+ // Parse HLS manifest for subtitle tracks and quality levels if video is HLS
+ setTimeout(() => {
+ parseHLSSubtitlesIfNeeded(this.props, (updates) => this.setState(updates as any));
+ parseHLSQualityLevelsIfNeeded(this.props, (updates) => this.setState(updates as any));
+ }, 100);
+ }
+
+ componentDidUpdate(prevProps: CLDVideoLayerProps) {
+ // Re-parse subtitles and quality levels if video URL changed
+ if (prevProps.videoUrl !== this.props.videoUrl) {
+ parseHLSSubtitlesIfNeeded(this.props, (updates) => this.setState(updates as any));
+ parseHLSQualityLevelsIfNeeded(this.props, (updates) => this.setState(updates as any));
+ }
+ }
+
+ componentWillUnmount() {
+ this.controlsManager.cleanup();
+ this.orientationManager.cleanup();
+ }
+
+ handleStatusUpdate = (s: any) => {
+ // Always update status to handle loading states properly
+ if (this.state.isSeekingComplete && this.state.lastSeekPosition > 0 && s?.isLoaded) {
+ const currentVideoPosition = s.positionMillis || 0;
+ const seekPositionDiff = Math.abs(currentVideoPosition - this.state.lastSeekPosition);
+
+ if (seekPositionDiff < 500) {
+ this.setState({
+ status: s,
+ isSeekingComplete: false,
+ lastSeekPosition: 0
+ });
+ return;
+ }
+ }
+
+ // Update subtitle text based on current time
+ this.subtitlesManager.updateActiveSubtitle(s, this.state, (updates) => this.setState(updates));
+
+ this.setState({ status: s });
+ };
+
+ handlePlayPause = async () => {
+ await this.playbackManager.handlePlayPause(this.videoRef, this.state.status);
+ };
+
+ handleMuteToggle = async () => {
+ await this.playbackManager.handleMuteToggle(this.videoRef, this.state.status);
+ };
+
+ handlePlaybackSpeedChange = async (speed: number) => {
+ await this.playbackManager.handlePlaybackSpeedChange(this.videoRef, speed, (updates) => this.setState(updates));
+ };
+
+ handleToggleSpeedMenu = () => {
+ this.playbackManager.handleToggleSpeedMenu(this.state.isSpeedMenuVisible, (updates) => this.setState(updates));
+ };
+
+ handleSubtitleChange = async (languageCode: string) => {
+ await this.subtitlesManager.handleSubtitleChange(languageCode, this.state, (updates) => this.setState(updates));
+ };
+
+ handleToggleSubtitlesMenu = () => {
+ this.subtitlesManager.handleToggleSubtitlesMenu(this.state.isSubtitlesMenuVisible, (updates) => this.setState(updates));
+ };
+
+ handleQualityChange = async (qualityValue: string) => {
+ await this.qualityManager.handleQualityChange(qualityValue, this.videoRef, this.state, (updates) => this.setState(updates), this.props);
+ };
+
+ handleToggleQualityMenu = () => {
+ this.qualityManager.handleToggleQualityMenu(this.state.isQualityMenuVisible, (updates) => this.setState(updates));
+ };
+
+ handleShare = async () => {
+ try {
+ if (this.props.onShare) {
+ this.props.onShare();
+ } else {
+ await handleDefaultShare(this.props.cldVideo);
+ }
+ } catch (error) {
+ console.warn('CLDVideoLayer: Failed to handle share:', error);
+ }
+ };
+
+ handleToggleFullScreen = async () => {
+ await this.orientationManager.handleToggleFullScreen(
+ this.state.isFullScreen,
+ this.state.isLandscape,
+ this.props.fullScreen,
+ (updates) => this.setState(updates)
+ );
+ };
+
+ getProgress = (): number => {
+ return this.playbackManager.getProgress(this.state);
+ };
+
+ getCurrentPosition = (): number => {
+ return this.playbackManager.getCurrentPosition(this.state);
+ };
+
+ toggleControls = () => {
+ this.controlsManager.toggleControls(this.state.isControlsVisible, (visible) => this.setState({ isControlsVisible: visible }));
+ };
+
+ render() {
+ const {
+ cldVideo,
+ videoUrl,
+ onBack,
+ backButtonPosition,
+ shareButtonPosition,
+ showCenterPlayButton = true,
+ seekBar = {},
+ fullScreen,
+ playbackSpeed,
+ subtitles,
+ quality,
+ buttonGroups = [],
+ titleLeftOffset
+ } = this.props;
+
+ const { status, isLandscape, isFullScreen, availableSubtitleTracks, availableQualityLevels } = this.state;
+ const isVideoLoaded = status?.isLoaded === true;
+ const progress = this.getProgress();
+ const currentPosition = this.getCurrentPosition();
+
+ // Get the effective video URL for HLS detection
+ const effectiveVideoUrl = getVideoUrl(videoUrl, cldVideo);
+
+ // Create dynamic subtitles config based on HLS availability
+ const dynamicSubtitles = isHLSVideo(effectiveVideoUrl) && subtitles?.enabled ? {
+ ...subtitles,
+ enabled: true,
+ languages: availableSubtitleTracks.length > 0 ? availableSubtitleTracks : [{ code: 'off', label: 'Off' }],
+ defaultLanguage: subtitles?.defaultLanguage || 'off'
+ } : subtitles;
+
+ // Create dynamic quality config based on HLS availability
+ const dynamicQuality = isHLSVideo(effectiveVideoUrl) && quality?.enabled ? {
+ ...quality,
+ enabled: true,
+ qualities: availableQualityLevels.length > 0 ? availableQualityLevels : [{ value: 'auto', label: 'Auto' }],
+ defaultQuality: quality?.defaultQuality || 'auto'
+ } : quality;
+
+ // Get responsive styles based on current orientation
+ const responsiveStyles = getResponsiveStyles(isLandscape);
+
+ return (
+
+
+
+ {/* Loading Spinner */}
+ {!isVideoLoaded && (
+
+
+ Loading video...
+
+ )}
+
+ {/* Subtitle Display */}
+
+
+
+
+ {showCenterPlayButton && (
+
+ )}
+ {
+ // If bottom button bar is enabled, add extra bottom padding to push seekbar up
+ if (this.props.bottomButtonBar?.enabled) {
+ const buttonBarPadding = (this.props.bottomButtonBar.style?.paddingVertical || 8) * 2;
+ const buttonHeight = 22; // Icon size from button bar
+ const buttonBarHeight = buttonBarPadding + buttonHeight;
+ const extraSpacing = 8; // Small gap between seekbar and button bar
+
+ return {
+ paddingBottom: buttonBarHeight + extraSpacing
+ };
+ }
+ return {};
+ })()}>
+
+
+
+
+
+
+
+
+
+
+ );
+ }
+}
\ No newline at end of file
diff --git a/src/widgets/video/layer/README.md b/src/widgets/video/layer/README.md
new file mode 100644
index 0000000..5586702
--- /dev/null
+++ b/src/widgets/video/layer/README.md
@@ -0,0 +1,501 @@
+# CLDVideoLayer
+
+A comprehensive video player component with customizable controls, overlay buttons, and advanced features for React Native applications using Cloudinary videos.
+
+## Features
+
+- **Full Video Controls**: Play/pause, seek, volume, playback speed
+- **Flexible Button Positioning**: Place buttons anywhere on the video overlay
+- **Horizontal/Vertical Button Layouts**: Control how multiple buttons are arranged
+- **Share Functionality**: Built-in sharing capabilities
+- **Playback Speed Control**: Customizable playback speeds (0.5x, 1x, 1.25x, 1.5x, 2x, etc.)
+- **Subtitle Support**: Automatic HLS subtitle parsing and custom subtitle languages
+- **Quality Selection**: Automatic HLS quality detection and manual quality selection
+- **Full Screen Support**: Landscape-optimized full screen mode
+- **Auto-hide Controls**: Controls automatically fade after 3 seconds
+- **Responsive Design**: Adapts to portrait and landscape orientations
+- **Bottom Button Bar**: Additional button bar positioned below the seekbar
+
+## Basic Usage
+
+```tsx
+import { CLDVideoLayer, ButtonPosition } from './path/to/CLDVideoLayer';
+import { Cloudinary } from '@cloudinary/url-gen';
+
+const cld = new Cloudinary({
+ cloud: { cloudName: 'your-cloud-name' },
+ url: { secure: true }
+});
+
+function MyVideoPlayer() {
+ const myVideo = cld.video('your-video-id');
+
+ return (
+ navigation.goBack()}
+ backButtonPosition={ButtonPosition.NW}
+ shareButtonPosition={ButtonPosition.NE}
+ />
+ );
+}
+```
+
+## Button Positioning
+
+### Available Positions
+
+```tsx
+enum ButtonPosition {
+ NE = 'NE', // North East (top-right)
+ NW = 'NW', // North West (top-left)
+ N = 'N', // North (top-center)
+ SE = 'SE', // South East (bottom-right)
+ SW = 'SW', // South West (bottom-left)
+ S = 'S', // South (bottom-center)
+ E = 'E', // East (middle-right)
+ W = 'W' // West (middle-left)
+}
+```
+
+### Single Button Example
+
+```tsx
+
+```
+
+## Button Groups (Multiple Buttons)
+
+### Vertical Layout (Default)
+
+```tsx
+ Alert.alert('Liked!')
+ },
+ {
+ icon: 'bookmark-outline',
+ position: ButtonPosition.SE,
+ color: '#FF6B6B',
+ onPress: () => Alert.alert('Bookmarked!')
+ }
+ ]
+ }
+ ]}
+/>
+```
+
+### Horizontal Layout
+
+```tsx
+ openSettings()
+ },
+ {
+ icon: 'information-circle-outline',
+ position: ButtonPosition.N,
+ onPress: () => showInfo()
+ }
+ ]
+ }
+ ]}
+/>
+```
+
+## Share Button
+
+### Default Share Behavior
+
+```tsx
+// Uses built-in share functionality
+
+```
+
+### Custom Share Handler
+
+```tsx
+ {
+ // Custom share logic
+ Share.share({
+ message: 'Check out this video!',
+ url: 'https://your-video-url.com'
+ });
+ }}
+/>
+```
+
+## Playback Speed Control
+
+```tsx
+
+```
+
+## Subtitles
+
+### Manual Subtitle Configuration
+
+```tsx
+
+```
+
+### Automatic HLS Subtitle Detection
+
+For HLS videos (.m3u8), subtitles are automatically detected from the manifest:
+
+```tsx
+// Subtitles will be automatically parsed from HLS manifest
+
+```
+
+## Quality Selection
+
+### Manual Quality Configuration
+
+```tsx
+
+```
+
+### Automatic HLS Quality Detection
+
+For HLS videos, quality levels are automatically detected:
+
+```tsx
+// Quality levels will be automatically parsed from HLS manifest
+
+```
+
+## Full Screen Support
+
+```tsx
+ {
+ // Custom logic for entering full screen
+ console.log('Entering full screen');
+ // Example: Lock orientation
+ // ScreenOrientation.lockAsync(ScreenOrientation.OrientationLock.LANDSCAPE);
+ },
+ onExitFullScreen: () => {
+ // Custom logic for exiting full screen
+ console.log('Exiting full screen');
+ // Example: Unlock orientation
+ // ScreenOrientation.unlockAsync();
+ }
+ }}
+/>
+```
+
+## Seekbar Customization
+
+```tsx
+
+```
+
+## Bottom Button Bar
+
+Add a button bar positioned below the seekbar:
+
+```tsx
+ downloadVideo()
+ },
+ {
+ icon: 'star-outline',
+ color: '#FFD700',
+ size: 20,
+ text: 'Rate',
+ onPress: () => rateVideo()
+ },
+ {
+ icon: 'share-social-outline',
+ color: '#00BFFF',
+ size: 20,
+ onPress: () => shareToSocial()
+ }
+ ],
+ style: {
+ backgroundColor: 'rgba(0,0,0,0.8)',
+ borderRadius: 25,
+ paddingHorizontal: 20,
+ paddingVertical: 12,
+ marginHorizontal: 20,
+ marginBottom: 10
+ }
+ }}
+/>
+```
+
+## Title and Subtitle
+
+```tsx
+
+```
+
+## Complete Advanced Example
+
+```tsx
+ navigation.goBack()}
+ backButtonPosition={ButtonPosition.NW}
+ shareButtonPosition={ButtonPosition.NE}
+ showCenterPlayButton={true}
+
+ // Custom seekbar
+ seekBar={{
+ height: 25,
+ color: '#FF6B6B',
+ timePosition: TimePosition.BELOW
+ }}
+
+ // Full screen support
+ fullScreen={{
+ enabled: true,
+ landscapeOnly: true,
+ onEnterFullScreen: () => lockOrientation(),
+ onExitFullScreen: () => unlockOrientation()
+ }}
+
+ // Playback speed control
+ playbackSpeed={{
+ enabled: true,
+ defaultSpeed: 1.0,
+ speeds: [
+ { value: 0.5, label: '0.5×' },
+ { value: 1.0, label: 'Normal' },
+ { value: 1.5, label: '1.5×' },
+ { value: 2.0, label: '2×' }
+ ]
+ }}
+
+ // Subtitle support
+ subtitles={{
+ enabled: true,
+ defaultLanguage: 'off'
+ }}
+
+ // Quality selection
+ quality={{
+ enabled: true,
+ defaultQuality: 'auto'
+ }}
+
+ // Multiple button groups
+ buttonGroups={[
+ {
+ position: ButtonPosition.SE,
+ layoutDirection: ButtonLayoutDirection.VERTICAL,
+ buttons: [
+ {
+ icon: 'heart-outline',
+ position: ButtonPosition.SE,
+ color: '#FF1493',
+ onPress: () => likeVideo()
+ },
+ {
+ icon: 'bookmark-outline',
+ position: ButtonPosition.SE,
+ color: '#FF6B6B',
+ onPress: () => bookmarkVideo()
+ }
+ ]
+ }
+ ]}
+
+ // Bottom button bar
+ bottomButtonBar={{
+ enabled: true,
+ buttons: [
+ {
+ icon: 'download-outline',
+ text: 'Download',
+ onPress: () => downloadVideo()
+ },
+ {
+ icon: 'star-outline',
+ text: 'Rate',
+ color: '#FFD700',
+ onPress: () => rateVideo()
+ }
+ ],
+ style: {
+ backgroundColor: 'rgba(0,0,0,0.8)',
+ borderRadius: 20,
+ paddingHorizontal: 16,
+ paddingVertical: 8
+ }
+ }}
+
+ // Title and subtitle
+ title="Advanced Video Demo"
+ subtitle="With all features enabled"
+ titleLeftOffset={80}
+/>
+```
+
+## Props Reference
+
+| Prop | Type | Description |
+|------|------|-------------|
+| `cldVideo` | `CloudinaryVideo` | Cloudinary video object (required) |
+| `videoUrl` | `string` | Alternative video URL |
+| `autoPlay` | `boolean` | Auto-play video on load |
+| `muted` | `boolean` | Start video muted |
+| `onBack` | `() => void` | Back button handler |
+| `onShare` | `() => void` | Custom share handler |
+| `hideControls` | `boolean` | Hide all video controls |
+| `showCenterPlayButton` | `boolean` | Show large center play button (default: true) |
+| `backButtonPosition` | `ButtonPosition` | Position of back button |
+| `shareButtonPosition` | `ButtonPosition` | Position of share button |
+| `seekBar` | `SeekbarConfig` | Seekbar customization options |
+| `fullScreen` | `FullScreenConfig` | Full screen configuration |
+| `playbackSpeed` | `PlaybackSpeedConfig` | Playback speed options |
+| `subtitles` | `SubtitlesConfig` | Subtitle configuration |
+| `quality` | `QualityConfig` | Quality selection configuration |
+| `buttonGroups` | `ButtonGroupConfig[]` | Multiple button groups with layout control |
+| `bottomButtonBar` | `BottomButtonBarConfig` | Bottom button bar configuration |
+| `title` | `string` | Video title displayed in top-left |
+| `subtitle` | `string` | Video subtitle displayed below title |
+| `titleLeftOffset` | `number` | Custom left offset for title positioning |
+
+## Button Layout Directions
+
+- **VERTICAL** (default): Buttons stack vertically (top to bottom or bottom to top)
+- **HORIZONTAL**: Buttons arrange side by side (left to right)
+
+## Responsive Design
+
+The component automatically adapts to:
+- **Portrait/Landscape orientation changes**
+- **Different screen sizes**
+- **Platform differences (iOS/Android)**
+- **Safe area considerations**
+
+## HLS Video Support
+
+For HLS videos (.m3u8 files), the component automatically:
+- **Detects available subtitle tracks** from the manifest
+- **Parses quality levels** and bitrates
+- **Enables adaptive streaming** with manual override options
diff --git a/src/widgets/video/layer/components/AbsoluteButtons.tsx b/src/widgets/video/layer/components/AbsoluteButtons.tsx
new file mode 100644
index 0000000..4f31abc
--- /dev/null
+++ b/src/widgets/video/layer/components/AbsoluteButtons.tsx
@@ -0,0 +1,146 @@
+import React from 'react';
+import { TouchableOpacity } from 'react-native';
+import { Ionicons } from '@expo/vector-icons';
+import { ButtonPosition, ButtonLayoutDirection } from '../types';
+import { ICON_SIZES } from '../constants';
+import { calculateButtonPosition } from '../utils';
+import { getResponsiveStyles } from '../styles';
+import { CustomButton } from './CustomButton';
+
+interface AbsoluteButtonsProps {
+ isControlsVisible: boolean;
+ onBack?: () => void;
+ backButtonPosition?: ButtonPosition;
+ shareButtonPosition?: ButtonPosition;
+ onShare: () => void;
+ fullScreen?: any;
+ isFullScreen: boolean;
+ onToggleFullScreen: () => void;
+ buttonGroups: any[];
+ isLandscape: boolean;
+}
+
+export function AbsoluteButtons({
+ isControlsVisible,
+ onBack,
+ backButtonPosition,
+ shareButtonPosition,
+ onShare,
+ fullScreen,
+ isFullScreen,
+ onToggleFullScreen,
+ buttonGroups,
+ isLandscape
+}: AbsoluteButtonsProps) {
+ if (!isControlsVisible) return null;
+
+ const responsiveStyles = getResponsiveStyles(isLandscape);
+
+ // Create default full screen button if enabled
+ const defaultFullScreenButton = fullScreen?.enabled === true && fullScreen?.button ? {
+ ...fullScreen.button,
+ onPress: fullScreen.button.onPress || onToggleFullScreen
+ } : fullScreen?.enabled === true ? {
+ icon: isFullScreen ? 'contract-outline' : 'expand-outline',
+ position: ButtonPosition.NE,
+ onPress: onToggleFullScreen
+ } : null;
+
+ // Process button groups format
+ const processedButtonGroups: Record = {};
+
+ buttonGroups.forEach(group => {
+ processedButtonGroups[group.position] = {
+ buttons: group.buttons,
+ layoutDirection: group.layoutDirection || ButtonLayoutDirection.VERTICAL
+ };
+ });
+
+ // Add default full screen button if enabled and not already in a group
+ if (defaultFullScreenButton && !processedButtonGroups[ButtonPosition.NE]) {
+ processedButtonGroups[ButtonPosition.NE] = {
+ buttons: [defaultFullScreenButton],
+ layoutDirection: ButtonLayoutDirection.VERTICAL
+ };
+ } else if (defaultFullScreenButton && processedButtonGroups[ButtonPosition.NE]) {
+ // Check if full screen button is already in the group to avoid duplicates
+ const existingButtons = processedButtonGroups[ButtonPosition.NE].buttons;
+ const hasFullScreenButton = existingButtons.some(button =>
+ button.icon === defaultFullScreenButton.icon ||
+ (button.icon === 'expand-outline' || button.icon === 'contract-outline')
+ );
+
+ if (!hasFullScreenButton) {
+ processedButtonGroups[ButtonPosition.NE].buttons.push(defaultFullScreenButton);
+ }
+ }
+
+ // Filter for absolute positioning (not in top controls bar)
+ const absolutePositions = [ButtonPosition.SE, ButtonPosition.SW, ButtonPosition.S, ButtonPosition.E, ButtonPosition.W];
+ const absoluteButtonGroups = Object.entries(processedButtonGroups).filter(([position]) =>
+ absolutePositions.includes(position as ButtonPosition)
+ );
+
+ // Render buttons with enhanced spacing and layout direction
+ const renderedButtons: React.ReactElement[] = [];
+
+ absoluteButtonGroups.forEach(([position, { buttons, layoutDirection }]) => {
+ buttons.forEach((button, index) => {
+ // Get base position style
+ const basePositionStyle = (() => {
+ switch (button.position) {
+ case ButtonPosition.SE: return responsiveStyles.buttonPositionSE;
+ case ButtonPosition.SW: return responsiveStyles.buttonPositionSW;
+ case ButtonPosition.S: return responsiveStyles.buttonPositionS;
+ case ButtonPosition.E: return responsiveStyles.buttonPositionE;
+ case ButtonPosition.W: return responsiveStyles.buttonPositionW;
+ default: return {};
+ }
+ })();
+
+ // Calculate spacing offset with layout direction support
+ const spacingStyle = calculateButtonPosition(
+ position,
+ index,
+ buttons.length,
+ isLandscape,
+ layoutDirection
+ );
+
+ // Combine base position with spacing
+ const finalStyle = { ...basePositionStyle, ...spacingStyle };
+
+ renderedButtons.push(
+
+ );
+ });
+ });
+
+ return (
+ <>
+ {onBack && backButtonPosition === ButtonPosition.SE && (
+
+
+
+ )}
+ {shareButtonPosition === ButtonPosition.SE && (
+
+
+
+ )}
+ {renderedButtons}
+ >
+ );
+}
diff --git a/src/widgets/video/layer/components/BottomButtonBar.tsx b/src/widgets/video/layer/components/BottomButtonBar.tsx
new file mode 100644
index 0000000..e972787
--- /dev/null
+++ b/src/widgets/video/layer/components/BottomButtonBar.tsx
@@ -0,0 +1,85 @@
+import React from 'react';
+import { View, TouchableOpacity, Text } from 'react-native';
+import { Ionicons } from '@expo/vector-icons';
+import { ButtonConfig } from '../types';
+
+interface BottomButtonBarProps {
+ isControlsVisible: boolean;
+ bottomButtonBar?: {
+ enabled: boolean;
+ buttons: ButtonConfig[];
+ style?: {
+ marginHorizontal?: number;
+ backgroundColor?: string;
+ borderRadius?: number;
+ paddingHorizontal?: number;
+ paddingVertical?: number;
+ marginBottom?: number;
+ };
+ };
+}
+
+export function BottomButtonBar({
+ isControlsVisible,
+ bottomButtonBar
+}: BottomButtonBarProps) {
+ if (!isControlsVisible || !bottomButtonBar?.enabled) return null;
+
+ return (
+ {
+ // Position button bar below the seekbar (closer to screen bottom)
+ // Use a small bottom value to place it below the seekbar
+ const spacingFromBottom = 0;
+
+ return spacingFromBottom;
+ })(),
+ left: bottomButtonBar.style?.marginHorizontal || 20,
+ right: bottomButtonBar.style?.marginHorizontal || 20,
+ flexDirection: 'row',
+ justifyContent: 'center',
+ alignItems: 'center',
+ zIndex: 1, // Lower than seekbar and bottom controls
+ backgroundColor: bottomButtonBar.style?.backgroundColor || 'rgba(0,0,0,0.7)',
+ borderRadius: bottomButtonBar.style?.borderRadius || 20,
+ paddingHorizontal: bottomButtonBar.style?.paddingHorizontal || 16,
+ paddingVertical: bottomButtonBar.style?.paddingVertical || 8,
+ marginBottom: bottomButtonBar.style?.marginBottom || 0,
+ }
+ ]}>
+ {bottomButtonBar.buttons.map((button, index) => (
+ {})}
+ >
+
+ {button.text && (
+
+ {button.text}
+
+ )}
+
+ ))}
+
+ );
+}
diff --git a/src/widgets/video/layer/components/BottomControls.tsx b/src/widgets/video/layer/components/BottomControls.tsx
new file mode 100644
index 0000000..b3dd9f1
--- /dev/null
+++ b/src/widgets/video/layer/components/BottomControls.tsx
@@ -0,0 +1,117 @@
+import React from 'react';
+import { View, TouchableOpacity } from 'react-native';
+import { Ionicons } from '@expo/vector-icons';
+import { BottomControlsProps, ButtonPosition } from '../types';
+import { styles, getResponsiveStyles } from '../styles';
+import { ICON_SIZES } from '../constants';
+import { Seekbar } from './Seekbar';
+import { PlaybackSpeedButton } from './PlaybackSpeedButton';
+import { SubtitlesButton } from './SubtitlesButton';
+import { QualityButton } from './QualityButton';
+
+export const BottomControls: React.FC = ({
+ status,
+ onPlayPause,
+ onMuteToggle,
+ formatTime,
+ getProgress,
+ getCurrentPosition,
+ seekBarRef,
+ panResponder,
+ backButtonPosition,
+ shareButtonPosition,
+ isLandscape = false,
+ seekbar = {},
+ playbackSpeed,
+ currentPlaybackSpeed,
+ onPlaybackSpeedChange,
+ isSpeedMenuVisible,
+ onToggleSpeedMenu,
+ subtitles,
+ currentSubtitle,
+ onSubtitleChange,
+ isSubtitlesMenuVisible,
+ onToggleSubtitlesMenu,
+ quality,
+ currentQuality,
+ onQualityChange,
+ isQualityMenuVisible,
+ onToggleQualityMenu,
+}) => {
+ const responsiveStyles = getResponsiveStyles(isLandscape);
+ const progress = getProgress();
+ const currentPosition = getCurrentPosition();
+
+ // Check if we need to leave space for SE positioned buttons
+ const hasSEButton = backButtonPosition === ButtonPosition.SE || shareButtonPosition === ButtonPosition.SE;
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
\ No newline at end of file
diff --git a/src/widgets/video/layer/components/CenterControls.tsx b/src/widgets/video/layer/components/CenterControls.tsx
new file mode 100644
index 0000000..dd33e3a
--- /dev/null
+++ b/src/widgets/video/layer/components/CenterControls.tsx
@@ -0,0 +1,24 @@
+import React from 'react';
+import { View, TouchableOpacity } from 'react-native';
+import { Ionicons } from '@expo/vector-icons';
+import { CenterControlsProps } from '../types';
+import { styles } from '../styles';
+import { ICON_SIZES } from '../constants';
+
+export const CenterControls: React.FC = ({ status, onPlayPause }) => {
+ return (
+
+
+
+
+
+ );
+};
\ No newline at end of file
diff --git a/src/widgets/video/layer/components/CustomButton.tsx b/src/widgets/video/layer/components/CustomButton.tsx
new file mode 100644
index 0000000..e661edb
--- /dev/null
+++ b/src/widgets/video/layer/components/CustomButton.tsx
@@ -0,0 +1,51 @@
+import React from 'react';
+import { TouchableOpacity } from 'react-native';
+import { Ionicons } from '@expo/vector-icons';
+import { ButtonConfig } from '../types';
+import { styles, getResponsiveStyles } from '../styles';
+import { ICON_SIZES } from '../constants';
+
+interface CustomButtonProps {
+ config: ButtonConfig;
+ isLandscape?: boolean;
+ style?: any;
+ defaultOnPress?: () => void;
+}
+
+export const CustomButton: React.FC = ({
+ config,
+ isLandscape = false,
+ style,
+ defaultOnPress
+}) => {
+ const responsiveStyles = getResponsiveStyles(isLandscape);
+
+ const handlePress = () => {
+ if (config.onPress) {
+ config.onPress();
+ } else if (defaultOnPress) {
+ defaultOnPress();
+ }
+ };
+
+ const buttonStyle = [
+ responsiveStyles.topButton,
+ {
+ backgroundColor: config.backgroundColor || 'rgba(0, 0, 0, 0.7)',
+ },
+ style
+ ];
+
+ return (
+
+
+
+ );
+};
diff --git a/src/widgets/video/layer/components/PlaybackSpeedButton.tsx b/src/widgets/video/layer/components/PlaybackSpeedButton.tsx
new file mode 100644
index 0000000..b9e2929
--- /dev/null
+++ b/src/widgets/video/layer/components/PlaybackSpeedButton.tsx
@@ -0,0 +1,172 @@
+import React from 'react';
+import { View, TouchableOpacity, Text, Modal, StyleSheet, Dimensions } from 'react-native';
+import { Ionicons } from '@expo/vector-icons';
+import { PlaybackSpeedConfig, PlaybackSpeedOption } from '../types';
+import { getResponsiveStyles } from '../styles';
+import { ICON_SIZES } from '../constants';
+
+interface PlaybackSpeedButtonProps {
+ playbackSpeed?: PlaybackSpeedConfig;
+ currentSpeed?: number;
+ onSpeedChange?: (speed: number) => void;
+ isLandscape?: boolean;
+ isMenuVisible?: boolean;
+ onToggleMenu?: () => void;
+}
+
+const DEFAULT_SPEEDS: PlaybackSpeedOption[] = [
+ { value: 0.5, label: '0.5×' },
+ { value: 1.0, label: '1.0×' },
+ { value: 1.25, label: '1.25×' },
+ { value: 1.5, label: '1.5×' },
+ { value: 2.0, label: '2.0×' },
+];
+
+export const PlaybackSpeedButton: React.FC = ({
+ playbackSpeed,
+ currentSpeed = 1.0,
+ onSpeedChange,
+ isLandscape = false,
+ isMenuVisible = false,
+ onToggleMenu,
+}) => {
+ const responsiveStyles = getResponsiveStyles(isLandscape);
+
+ // Don't render if playback speed is not enabled
+ if (!playbackSpeed?.enabled) {
+ return null;
+ }
+
+ const speedOptions = playbackSpeed.speeds || DEFAULT_SPEEDS;
+ const currentSpeedLabel = speedOptions.find(option => option.value === currentSpeed)?.label || '1.0×';
+
+ const handleSpeedSelect = (speed: number) => {
+ onToggleMenu?.(); // Close the menu
+ onSpeedChange?.(speed);
+ };
+
+ const toggleMenu = () => {
+ onToggleMenu?.();
+ };
+
+ return (
+
+
+
+
+
+
+
+
+
+ Playback Speed
+
+
+ {speedOptions.map((option) => (
+ handleSpeedSelect(option.value)}
+ >
+
+ {option.label}
+
+ {currentSpeed === option.value && (
+
+ )}
+
+ ))}
+
+
+
+
+ );
+};
+
+const styles = StyleSheet.create({
+ container: {
+ position: 'relative',
+ },
+ speedButton: {
+ // Additional styling for the speed button if needed
+ },
+ modalOverlay: {
+ flex: 1,
+ backgroundColor: 'rgba(0, 0, 0, 0.5)',
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+ speedMenu: {
+ backgroundColor: 'rgba(42, 42, 46, 0.95)',
+ borderRadius: 16,
+ minWidth: 200,
+ maxWidth: 280,
+ marginHorizontal: 20,
+ shadowColor: '#000',
+ shadowOffset: {
+ width: 0,
+ height: 2,
+ },
+ shadowOpacity: 0.25,
+ shadowRadius: 10,
+ elevation: 5,
+ },
+ speedMenuLandscape: {
+ maxWidth: 240,
+ },
+ speedMenuHeader: {
+ padding: 16,
+ borderBottomWidth: 0.5,
+ borderBottomColor: 'rgba(255, 255, 255, 0.2)',
+ },
+ speedMenuTitle: {
+ color: 'white',
+ fontSize: 17,
+ fontWeight: '600',
+ textAlign: 'center',
+ },
+ speedOption: {
+ flexDirection: 'row',
+ alignItems: 'center',
+ justifyContent: 'space-between',
+ paddingHorizontal: 20,
+ paddingVertical: 16,
+ borderBottomWidth: 0.5,
+ borderBottomColor: 'rgba(255, 255, 255, 0.1)',
+ },
+ speedOptionSelected: {
+ backgroundColor: 'rgba(0, 122, 255, 0.2)',
+ },
+ speedOptionText: {
+ color: 'white',
+ fontSize: 17,
+ fontWeight: '400',
+ },
+ speedOptionTextSelected: {
+ color: '#007AFF',
+ fontWeight: '600',
+ },
+});
diff --git a/src/widgets/video/layer/components/QualityButton.tsx b/src/widgets/video/layer/components/QualityButton.tsx
new file mode 100644
index 0000000..6bacaf7
--- /dev/null
+++ b/src/widgets/video/layer/components/QualityButton.tsx
@@ -0,0 +1,182 @@
+import React from 'react';
+import { View, TouchableOpacity, Text, Modal, StyleSheet } from 'react-native';
+import { Ionicons } from '@expo/vector-icons';
+import { QualityConfig, QualityOption } from '../types';
+import { getResponsiveStyles } from '../styles';
+import { ICON_SIZES } from '../constants';
+
+interface QualityButtonProps {
+ quality?: QualityConfig;
+ currentQuality?: string;
+ onQualityChange?: (qualityValue: string) => void;
+ isLandscape?: boolean;
+ isMenuVisible?: boolean;
+ onToggleMenu?: () => void;
+}
+
+export const QualityButton: React.FC = ({
+ quality,
+ currentQuality = 'auto',
+ onQualityChange,
+ isLandscape = false,
+ isMenuVisible = false,
+ onToggleMenu,
+}) => {
+ const responsiveStyles = getResponsiveStyles(isLandscape);
+
+ // Don't render if quality selection is not enabled or no options available
+ if (!quality?.enabled) {
+ return null;
+ }
+
+ const qualityOptions = quality.qualities || [];
+
+ // Don't render if no quality options available
+ if (qualityOptions.length === 0) {
+ return null;
+ }
+
+ const currentQualityLabel = qualityOptions.find(option => option.value === currentQuality)?.label || 'Auto';
+
+ const handleQualitySelect = (qualityValue: string) => {
+ onQualityChange?.(qualityValue);
+ onToggleMenu?.(); // Close the menu
+ };
+
+ const toggleMenu = () => {
+ onToggleMenu?.();
+ };
+
+ return (
+
+
+
+
+
+
+
+
+
+ Quality
+
+
+ {qualityOptions.map((option) => (
+ handleQualitySelect(option.value)}
+ >
+
+
+ {option.label}
+
+ {option.resolution && option.value !== 'auto' && (
+
+ {option.resolution}
+
+ )}
+
+ {currentQuality === option.value && (
+
+ )}
+
+ ))}
+
+
+
+
+ );
+};
+
+const styles = StyleSheet.create({
+ container: {
+ position: 'relative',
+ },
+ qualityButton: {
+ marginRight: 8,
+ },
+ modalOverlay: {
+ flex: 1,
+ backgroundColor: 'rgba(0, 0, 0, 0.5)',
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+ qualityMenu: {
+ backgroundColor: 'rgba(20, 20, 20, 0.95)',
+ borderRadius: 12,
+ padding: 4,
+ minWidth: 200,
+ maxWidth: 300,
+ maxHeight: '70%',
+ marginBottom: 100,
+ },
+ qualityMenuLandscape: {
+ marginBottom: 50,
+ minWidth: 220,
+ },
+ qualityMenuHeader: {
+ borderBottomWidth: 1,
+ borderBottomColor: 'rgba(255, 255, 255, 0.1)',
+ paddingVertical: 12,
+ paddingHorizontal: 16,
+ },
+ qualityMenuTitle: {
+ color: 'white',
+ fontSize: 18,
+ fontWeight: '600',
+ textAlign: 'center',
+ },
+ qualityOption: {
+ flexDirection: 'row',
+ alignItems: 'center',
+ justifyContent: 'space-between',
+ paddingVertical: 12,
+ paddingHorizontal: 16,
+ borderRadius: 8,
+ marginVertical: 2,
+ marginHorizontal: 4,
+ },
+ qualityOptionSelected: {
+ backgroundColor: 'rgba(0, 122, 255, 0.2)',
+ },
+ qualityOptionContent: {
+ flex: 1,
+ },
+ qualityOptionText: {
+ color: 'white',
+ fontSize: 16,
+ fontWeight: '500',
+ },
+ qualityOptionTextSelected: {
+ color: '#007AFF',
+ fontWeight: '600',
+ },
+ qualityOptionSubtext: {
+ color: 'rgba(255, 255, 255, 0.7)',
+ fontSize: 12,
+ marginTop: 2,
+ },
+});
diff --git a/src/widgets/video/layer/components/Seekbar.tsx b/src/widgets/video/layer/components/Seekbar.tsx
new file mode 100644
index 0000000..7103f83
--- /dev/null
+++ b/src/widgets/video/layer/components/Seekbar.tsx
@@ -0,0 +1,86 @@
+import React from 'react';
+import { View, Text } from 'react-native';
+import { SeekbarProps, TimePosition } from '../types';
+import { styles, getResponsiveStyles } from '../styles';
+import { SEEKBAR_HEIGHT, COLORS } from '../constants';
+
+export const Seekbar: React.FC = ({
+ progress,
+ currentPosition,
+ status,
+ formatTime,
+ seekBarRef,
+ panResponder,
+ isLandscape = false,
+ seekBar = {},
+}) => {
+ const responsiveStyles = getResponsiveStyles(isLandscape);
+
+ // Get values from config with fallbacks to current defaults
+ const seekbarHeight = seekBar?.height ?? SEEKBAR_HEIGHT;
+ const seekbarWidth = seekBar?.width; // undefined means full width (default)
+ const seekbarColor = seekBar?.color ?? COLORS.seekbarProgress;
+ const timePosition = seekBar?.timePosition ?? TimePosition.BELOW;
+
+ // Create consistent spacing with wrapper View - different heights for above/below
+ const timeTextSpacingAbove = isLandscape ? 22 : 24; // Total height for above position
+ const timeTextSpacingBelow = isLandscape ? 12 : 14; // Much smaller height for below position
+
+ const timeText = (
+
+
+ {formatTime(currentPosition)} / {formatTime(status?.durationMillis || 0)}
+
+
+ );
+
+ // Create seekbar width styling
+ const seekbarWidthStyle = seekbarWidth ? {
+ width: seekbarWidth as any, // Accept both number (px) and string (%)
+ alignSelf: 'center' as const // Center the seekbar if it's not full width
+ } : {};
+
+ return (
+
+
+ {timePosition === TimePosition.ABOVE && (
+
+ {timeText}
+
+ )}
+
+
+
+
+
+ {timePosition === TimePosition.BELOW && (
+
+ {timeText}
+
+ )}
+
+
+ );
+};
\ No newline at end of file
diff --git a/src/widgets/video/layer/components/SubtitleDisplay.tsx b/src/widgets/video/layer/components/SubtitleDisplay.tsx
new file mode 100644
index 0000000..774b0eb
--- /dev/null
+++ b/src/widgets/video/layer/components/SubtitleDisplay.tsx
@@ -0,0 +1,64 @@
+import React from 'react';
+import { View, Text, StyleSheet } from 'react-native';
+
+export interface SubtitleDisplayProps {
+ text?: string;
+ isLandscape?: boolean;
+ visible?: boolean;
+}
+
+export const SubtitleDisplay: React.FC = ({
+ text,
+ isLandscape = false,
+ visible = true
+}) => {
+ if (!visible || !text) {
+ return null;
+ }
+
+ return (
+
+
+
+ {text}
+
+
+
+ );
+};
+
+const styles = StyleSheet.create({
+ container: {
+ position: 'absolute',
+ left: 20,
+ right: 20,
+ alignItems: 'center',
+ justifyContent: 'center',
+ },
+ containerPortrait: {
+ bottom: 80, // Above bottom controls
+ },
+ containerLandscape: {
+ bottom: 60, // Adjusted for landscape
+ },
+ textContainer: {
+ backgroundColor: 'rgba(0, 0, 0, 0.8)',
+ paddingHorizontal: 12,
+ paddingVertical: 8,
+ borderRadius: 6,
+ maxWidth: '90%',
+ },
+ subtitleText: {
+ color: 'white',
+ fontSize: 16,
+ textAlign: 'center',
+ fontWeight: '500',
+ lineHeight: 20,
+ textShadowColor: 'rgba(0, 0, 0, 0.9)',
+ textShadowOffset: { width: 1, height: 1 },
+ textShadowRadius: 2,
+ },
+});
diff --git a/src/widgets/video/layer/components/SubtitlesButton.tsx b/src/widgets/video/layer/components/SubtitlesButton.tsx
new file mode 100644
index 0000000..641823b
--- /dev/null
+++ b/src/widgets/video/layer/components/SubtitlesButton.tsx
@@ -0,0 +1,171 @@
+import React from 'react';
+import { View, TouchableOpacity, Text, Modal, StyleSheet } from 'react-native';
+import { Ionicons } from '@expo/vector-icons';
+import { SubtitlesConfig, SubtitleOption } from '../types';
+import { getResponsiveStyles } from '../styles';
+import { ICON_SIZES } from '../constants';
+
+interface SubtitlesButtonProps {
+ subtitles?: SubtitlesConfig;
+ currentSubtitle?: string;
+ onSubtitleChange?: (languageCode: string) => void;
+ isLandscape?: boolean;
+ isMenuVisible?: boolean;
+ onToggleMenu?: () => void;
+}
+
+// Remove hardcoded default subtitles - now dynamically loaded from HLS manifest
+
+export const SubtitlesButton: React.FC = ({
+ subtitles,
+ currentSubtitle = 'off',
+ onSubtitleChange,
+ isLandscape = false,
+ isMenuVisible = false,
+ onToggleMenu,
+}) => {
+ const responsiveStyles = getResponsiveStyles(isLandscape);
+
+ // Don't render if subtitles are not enabled or no options available
+ if (!subtitles?.enabled) {
+ return null;
+ }
+
+ const subtitleOptions = subtitles.languages || [];
+
+ // Don't render if no subtitle options available (should not happen with our logic but defensive)
+ if (subtitleOptions.length === 0) {
+ return null;
+ }
+ const currentSubtitleLabel = subtitleOptions.find(option => option.code === currentSubtitle)?.label || 'Off';
+
+ const handleSubtitleSelect = (languageCode: string) => {
+ onToggleMenu?.(); // Close the menu
+ onSubtitleChange?.(languageCode);
+ };
+
+ const toggleMenu = () => {
+ onToggleMenu?.();
+ };
+
+ return (
+
+
+
+
+
+
+
+
+
+ Subtitles
+
+
+ {subtitleOptions.map((option) => (
+ handleSubtitleSelect(option.code)}
+ >
+
+ {option.label}
+
+ {currentSubtitle === option.code && (
+
+ )}
+
+ ))}
+
+
+
+
+ );
+};
+
+const styles = StyleSheet.create({
+ container: {
+ position: 'relative',
+ },
+ subtitlesButton: {
+ // Additional styling for the subtitles button if needed
+ },
+ modalOverlay: {
+ flex: 1,
+ backgroundColor: 'rgba(0, 0, 0, 0.5)',
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+ subtitlesMenu: {
+ backgroundColor: 'rgba(42, 42, 46, 0.95)',
+ borderRadius: 16,
+ minWidth: 200,
+ maxWidth: 280,
+ marginHorizontal: 20,
+ shadowColor: '#000',
+ shadowOffset: {
+ width: 0,
+ height: 2,
+ },
+ shadowOpacity: 0.25,
+ shadowRadius: 10,
+ elevation: 5,
+ },
+ subtitlesMenuLandscape: {
+ maxWidth: 240,
+ },
+ subtitlesMenuHeader: {
+ padding: 16,
+ borderBottomWidth: 0.5,
+ borderBottomColor: 'rgba(255, 255, 255, 0.2)',
+ },
+ subtitlesMenuTitle: {
+ color: 'white',
+ fontSize: 17,
+ fontWeight: '600',
+ textAlign: 'center',
+ },
+ subtitleOption: {
+ flexDirection: 'row',
+ alignItems: 'center',
+ justifyContent: 'space-between',
+ paddingHorizontal: 20,
+ paddingVertical: 16,
+ borderBottomWidth: 0.5,
+ borderBottomColor: 'rgba(255, 255, 255, 0.1)',
+ },
+ subtitleOptionSelected: {
+ backgroundColor: 'rgba(0, 122, 255, 0.2)',
+ },
+ subtitleOptionText: {
+ color: 'white',
+ fontSize: 17,
+ fontWeight: '400',
+ },
+ subtitleOptionTextSelected: {
+ color: '#007AFF',
+ fontWeight: '600',
+ },
+});
diff --git a/src/widgets/video/layer/components/TitleSubtitle.tsx b/src/widgets/video/layer/components/TitleSubtitle.tsx
new file mode 100644
index 0000000..10bf156
--- /dev/null
+++ b/src/widgets/video/layer/components/TitleSubtitle.tsx
@@ -0,0 +1,64 @@
+import React from 'react';
+import { View, Text } from 'react-native';
+import { ButtonPosition } from '../types';
+import { getTopPadding } from '../utils';
+
+interface TitleSubtitleProps {
+ isControlsVisible: boolean;
+ title?: string;
+ subtitle?: string;
+ isLandscape: boolean;
+ onBack?: () => void;
+ backButtonPosition?: ButtonPosition;
+ titleLeftOffset?: number;
+}
+
+export function TitleSubtitle({
+ isControlsVisible,
+ title,
+ subtitle,
+ isLandscape,
+ onBack,
+ backButtonPosition,
+ titleLeftOffset
+}: TitleSubtitleProps) {
+ if (!isControlsVisible || (!title && !subtitle)) return null;
+
+ return (
+
+ {title && (
+
+ {title}
+
+ )}
+ {subtitle && (
+
+ {subtitle}
+
+ )}
+
+ );
+}
diff --git a/src/widgets/video/layer/components/TopControls.tsx b/src/widgets/video/layer/components/TopControls.tsx
new file mode 100644
index 0000000..9b9a75e
--- /dev/null
+++ b/src/widgets/video/layer/components/TopControls.tsx
@@ -0,0 +1,206 @@
+import React from 'react';
+import { View, TouchableOpacity, Text } from 'react-native';
+import { Ionicons } from '@expo/vector-icons';
+import { TopControlsProps, ButtonPosition, ButtonLayoutDirection } from '../types';
+import { styles, getResponsiveStyles } from '../styles';
+import { ICON_SIZES } from '../constants';
+import { CustomButton } from './CustomButton';
+
+export const TopControls: React.FC = ({
+ onBack,
+ onShare,
+ backButtonPosition,
+ shareButtonPosition,
+ isLandscape = false,
+ fullScreen,
+ isFullScreen = false,
+ onToggleFullScreen,
+ buttonGroups = []
+}) => {
+ const responsiveStyles = getResponsiveStyles(isLandscape);
+
+ const getPositionStyle = (position: ButtonPosition) => {
+ switch (position) {
+ case ButtonPosition.NE:
+ return responsiveStyles.buttonPositionNE;
+ case ButtonPosition.NW:
+ return responsiveStyles.buttonPositionNW;
+ case ButtonPosition.N:
+ return responsiveStyles.buttonPositionN;
+ case ButtonPosition.SE:
+ return responsiveStyles.buttonPositionSE;
+ case ButtonPosition.SW:
+ return responsiveStyles.buttonPositionSW;
+ case ButtonPosition.S:
+ return responsiveStyles.buttonPositionS;
+ case ButtonPosition.E:
+ return responsiveStyles.buttonPositionE;
+ case ButtonPosition.W:
+ return responsiveStyles.buttonPositionW;
+ default:
+ return {};
+ }
+ };
+
+
+
+ // Create default full screen button if enabled
+ const defaultFullScreenButton = fullScreen?.enabled === true && fullScreen?.button ? {
+ ...fullScreen.button,
+ onPress: fullScreen.button.onPress || onToggleFullScreen
+ } : fullScreen?.enabled === true ? {
+ icon: isFullScreen ? 'contract-outline' : 'expand-outline',
+ position: ButtonPosition.NE,
+ onPress: onToggleFullScreen
+ } : null;
+
+ // Process button groups format for top positions
+ const processedButtonGroups: Record = {};
+
+ buttonGroups
+ .filter(group => [ButtonPosition.N, ButtonPosition.NE, ButtonPosition.NW].includes(group.position))
+ .forEach(group => {
+ processedButtonGroups[group.position] = {
+ buttons: group.buttons,
+ layoutDirection: group.layoutDirection || ButtonLayoutDirection.VERTICAL
+ };
+ });
+
+ // Add default full screen button if enabled and not already in a group
+ if (defaultFullScreenButton && !processedButtonGroups[ButtonPosition.NE]) {
+ processedButtonGroups[ButtonPosition.NE] = {
+ buttons: [defaultFullScreenButton],
+ layoutDirection: ButtonLayoutDirection.VERTICAL
+ };
+ } else if (defaultFullScreenButton && processedButtonGroups[ButtonPosition.NE]) {
+ // Check if full screen button is already in the group to avoid duplicates
+ const existingButtons = processedButtonGroups[ButtonPosition.NE].buttons;
+ const hasFullScreenButton = existingButtons.some(button =>
+ button.icon === defaultFullScreenButton.icon ||
+ (button.icon === 'expand-outline' || button.icon === 'contract-outline')
+ );
+
+ if (!hasFullScreenButton) {
+ processedButtonGroups[ButtonPosition.NE].buttons.push(defaultFullScreenButton);
+ }
+ }
+
+ // Extract buttons for each position
+ const topPositionedButtons = Object.values(processedButtonGroups).flatMap(group => group.buttons);
+
+ // Check if we have any top-positioned buttons (NE, NW, N)
+ const hasTopPositionedButtons =
+ (backButtonPosition && [ButtonPosition.N, ButtonPosition.NE, ButtonPosition.NW].includes(backButtonPosition)) ||
+ (shareButtonPosition && [ButtonPosition.N, ButtonPosition.NE, ButtonPosition.NW].includes(shareButtonPosition)) ||
+ topPositionedButtons.length > 0;
+
+ // If we have top-positioned buttons, render them within the bar
+ if (hasTopPositionedButtons) {
+ return (
+
+ {/* Left side - NW positioned button */}
+
+ {onBack && backButtonPosition === ButtonPosition.NW && (
+
+
+
+ )}
+ {shareButtonPosition === ButtonPosition.NW && (
+
+
+
+ )}
+ {processedButtonGroups[ButtonPosition.NW]?.buttons.map((button, index) => (
+
+ ))}
+
+
+ {/* Center - N positioned buttons */}
+
+ {onBack && backButtonPosition === ButtonPosition.N && (
+
+
+
+ )}
+ {shareButtonPosition === ButtonPosition.N && (
+
+
+
+ )}
+ {processedButtonGroups[ButtonPosition.N]?.buttons.map((button, index) => (
+
+ ))}
+
+
+ {/* Right side - NE positioned button */}
+
+ {onBack && backButtonPosition === ButtonPosition.NE && (
+
+
+
+ )}
+ {shareButtonPosition === ButtonPosition.NE && (
+
+
+
+ )}
+ {processedButtonGroups[ButtonPosition.NE]?.buttons.map((button, index) => (
+
+ ))}
+
+
+ );
+ }
+
+ // Default layout (original behavior) - only if no positioning is specified
+ if (!backButtonPosition && !shareButtonPosition) {
+ return (
+
+ {onBack && (
+
+
+
+ )}
+
+
+
+
+ );
+ }
+
+ // Return empty spacer if only SE buttons are specified
+ return ;
+};
\ No newline at end of file
diff --git a/src/widgets/video/layer/components/index.ts b/src/widgets/video/layer/components/index.ts
new file mode 100644
index 0000000..c49eedc
--- /dev/null
+++ b/src/widgets/video/layer/components/index.ts
@@ -0,0 +1,12 @@
+export { TopControls } from './TopControls';
+export { CenterControls } from './CenterControls';
+export { BottomControls } from './BottomControls';
+export { Seekbar } from './Seekbar';
+export { CustomButton } from './CustomButton';
+export { PlaybackSpeedButton } from './PlaybackSpeedButton';
+export { SubtitlesButton } from './SubtitlesButton';
+export { QualityButton } from './QualityButton';
+export { SubtitleDisplay } from './SubtitleDisplay';
+export { AbsoluteButtons } from './AbsoluteButtons';
+export { TitleSubtitle } from './TitleSubtitle';
+export { BottomButtonBar } from './BottomButtonBar';
\ No newline at end of file
diff --git a/src/widgets/video/layer/constants.ts b/src/widgets/video/layer/constants.ts
new file mode 100644
index 0000000..a282523
--- /dev/null
+++ b/src/widgets/video/layer/constants.ts
@@ -0,0 +1,114 @@
+import { Platform } from 'react-native';
+
+
+// Animation and timing constants
+export const CONTROLS_AUTO_HIDE_DELAY = 3000; // 3 seconds
+export const CONTROLS_FADE_DURATION = 300; // 300ms
+export const SEEK_DEBOUNCE_DELAY = 200; // 200ms
+export const SEEK_POSITION_THRESHOLD = 100; // 100ms
+export const SEEK_POSITION_TOLERANCE = 500; // 500ms
+export const SEEK_BUFFER_MS = 100; // 100ms buffer from end
+
+// Responsive UI dimensions - now orientation-aware
+export const TOP_BUTTON_SIZE = Platform.select({ ios: 44, android: 48 });
+export const CENTER_PLAY_BUTTON_SIZE = 72; // Center button size
+export const BOTTOM_BUTTON_SIZE = Platform.select({ ios: 40, android: 44 });
+export const SEEKBAR_HEIGHT = 20;
+export const SEEKBAR_TRACK_HEIGHT = 3;
+export const SEEKBAR_HANDLE_SIZE = 16;
+
+// Platform-specific padding with safe area consideration - orientation-responsive
+export const TOP_PADDING_IOS = 60;
+export const TOP_PADDING_ANDROID = 30;
+export const LEGACY_TOP_PADDING_IOS = 50;
+export const LEGACY_TOP_PADDING_ANDROID = 20;
+
+// Landscape-specific padding (reduced for landscape mode)
+export const TOP_PADDING_IOS_LANDSCAPE = 20;
+export const TOP_PADDING_ANDROID_LANDSCAPE = 6;
+
+
+// Bottom controls alignment constants (responsive and orientation-aware)
+export const BOTTOM_CONTROLS_PADDING = Platform.select({ ios: 15, android: 12 });
+export const BOTTOM_CONTROLS_PADDING_LANDSCAPE = Platform.select({ ios: 10, android: 8 });
+export const SEEKBAR_ALIGNMENT_OFFSET = Platform.select({ ios: 16, android: 14 }); // Platform-specific alignment
+export const SEEKBAR_ALIGNMENT_OFFSET_LANDSCAPE = Platform.select({ ios: 12, android: 10 });
+// Align SE buttons with volume button position
+// Volume button position = bottomControlsBar paddingHorizontal (20) + volumeButton marginRight (8) = 28
+export const SE_BUTTON_RIGHT_OFFSET = 28; // Align with volume button
+export const SE_BUTTON_BOTTOM_OFFSET = Platform.select({ ios: 32, android: 28 }); // Platform-specific bottom offset
+export const SE_BUTTON_BOTTOM_OFFSET_LANDSCAPE = Platform.select({ ios: 20, android: 18 });
+
+
+// Button spacing constants for multiple buttons in the same position
+export const BUTTON_SPACING = Platform.select({ ios: 8, android: 6 }); // Space between buttons
+export const BUTTON_MARGIN = Platform.select({ ios: 4, android: 3 }); // Margin from edge
+
+
+// Visual styling constants
+export const BORDER_RADIUS = {
+ topButton: 22,
+ centerButton: 36,
+ bottomButton: 20,
+ seekbar: 10,
+ seekbarTrack: 1.5,
+ seekbarHandle: 8,
+};
+
+// Shadow and elevation values
+export const SHADOW_VALUES = {
+ topButton: {
+ shadowOffset: { width: 0, height: 1 },
+ shadowOpacity: 0.3,
+ shadowRadius: 2,
+ elevation: 2,
+ },
+ centerButton: {
+ shadowOffset: { width: 0, height: 4 },
+ shadowOpacity: 0.25,
+ shadowRadius: 8,
+ elevation: 8,
+ },
+ seekbarProgress: {
+ shadowOffset: { width: 0, height: 0 },
+ shadowOpacity: 0.6,
+ shadowRadius: 2,
+ elevation: 2,
+ },
+ seekbarHandle: {
+ shadowOffset: { width: 0, height: 3 },
+ shadowOpacity: 0.3,
+ shadowRadius: 6,
+ elevation: 6,
+ },
+};
+
+// Color constants
+export const COLORS = {
+ overlay: 'rgba(0, 0, 0, 0.4)',
+ loadingBackground: 'rgba(0, 0, 0, 0.8)',
+ topControlsBackground: 'rgba(0, 0, 0, 0.6)',
+ bottomControlsBackground: 'rgba(0, 0, 0, 0.6)',
+ topButtonBackground: 'rgba(0, 0, 0, 0.7)',
+ centerButtonBackground: 'rgba(255, 255, 255, 0.95)',
+ centerButtonBorder: 'rgba(255, 255, 255, 0.8)',
+ seekbarTrack: 'rgba(255, 255, 255, 0.2)',
+ seekbarProgress: '#FFFFFF',
+ seekbarHandle: '#FFFFFF',
+ seekbarHandleBorder: 'rgba(255, 255, 255, 0.9)',
+ text: {
+ white: 'white',
+ black: '#1a1a1a',
+ shadow: 'rgba(0, 0, 0, 0.5)',
+ whiteShadow: 'rgba(255, 255, 255, 0.3)',
+ },
+};
+
+// Icon sizes
+export const ICON_SIZES = {
+ top: 24,
+ center: 32,
+ bottom: 26,
+ bottomVolume: 26,
+ bottomPlayPause: 26,
+};
\ No newline at end of file
diff --git a/src/widgets/video/layer/helpers/hlsHelpers.ts b/src/widgets/video/layer/helpers/hlsHelpers.ts
new file mode 100644
index 0000000..bb23bf5
--- /dev/null
+++ b/src/widgets/video/layer/helpers/hlsHelpers.ts
@@ -0,0 +1,48 @@
+import { isHLSVideo, parseHLSManifest, parseHLSQualityLevels, getVideoUrl } from '../utils';
+import { SubtitleOption, QualityOption, CLDVideoLayerProps } from '../types';
+
+export async function parseHLSSubtitlesIfNeeded(
+ props: Pick,
+ updateState: (updates: any) => void
+) {
+ const videoUrl = getVideoUrl(props.videoUrl, props.cldVideo);
+
+ if (isHLSVideo(videoUrl)) {
+ try {
+ const subtitleTracks = await parseHLSManifest(videoUrl);
+
+ const availableSubtitleTracks: SubtitleOption[] = [
+ { code: 'off', label: 'Off' },
+ ...subtitleTracks
+ ];
+
+ updateState({ availableSubtitleTracks });
+ } catch (error) {
+ console.warn('Failed to parse HLS subtitles:', error);
+ updateState({ availableSubtitleTracks: [{ code: 'off', label: 'Off' }] });
+ }
+ }
+}
+
+export async function parseHLSQualityLevelsIfNeeded(
+ props: Pick,
+ updateState: (updates: any) => void
+) {
+ const videoUrl = getVideoUrl(props.videoUrl, props.cldVideo);
+
+ if (isHLSVideo(videoUrl)) {
+ try {
+ const qualityLevels = await parseHLSQualityLevels(videoUrl);
+
+ const availableQualityLevels: QualityOption[] = [
+ { value: 'auto', label: 'Auto' },
+ ...qualityLevels
+ ];
+
+ updateState({ availableQualityLevels });
+ } catch (error) {
+ console.warn('Failed to parse HLS quality levels:', error);
+ updateState({ availableQualityLevels: [{ value: 'auto', label: 'Auto' }] });
+ }
+ }
+}
diff --git a/src/widgets/video/layer/helpers/videoControlsManager.ts b/src/widgets/video/layer/helpers/videoControlsManager.ts
new file mode 100644
index 0000000..51c3b95
--- /dev/null
+++ b/src/widgets/video/layer/helpers/videoControlsManager.ts
@@ -0,0 +1,59 @@
+import { Animated, Easing } from 'react-native';
+
+export class VideoControlsManager {
+ private fadeAnim: Animated.Value;
+ private autoHideTimeoutId: NodeJS.Timeout | null = null;
+
+ constructor() {
+ this.fadeAnim = new Animated.Value(1);
+ }
+
+ getFadeAnim() {
+ return this.fadeAnim;
+ }
+
+ clearAutoHideTimer = () => {
+ if (this.autoHideTimeoutId) {
+ clearTimeout(this.autoHideTimeoutId);
+ this.autoHideTimeoutId = null;
+ }
+ };
+
+ startAutoHideTimer = (onHide: () => void) => {
+ this.clearAutoHideTimer();
+ this.autoHideTimeoutId = setTimeout(() => {
+ onHide();
+ Animated.timing(this.fadeAnim, {
+ toValue: 0,
+ duration: 300,
+ easing: Easing.linear,
+ useNativeDriver: true,
+ }).start();
+ }, 3000);
+ };
+
+ toggleControls = (
+ isControlsVisible: boolean,
+ onToggle: (visible: boolean) => void
+ ) => {
+ const newVisibility = !isControlsVisible;
+ onToggle(newVisibility);
+
+ Animated.timing(this.fadeAnim, {
+ toValue: newVisibility ? 1 : 0,
+ duration: 300,
+ easing: Easing.linear,
+ useNativeDriver: true,
+ }).start();
+
+ if (newVisibility) {
+ this.startAutoHideTimer(() => onToggle(false));
+ } else {
+ this.clearAutoHideTimer();
+ }
+ };
+
+ cleanup = () => {
+ this.clearAutoHideTimer();
+ };
+}
diff --git a/src/widgets/video/layer/helpers/videoOrientationManager.ts b/src/widgets/video/layer/helpers/videoOrientationManager.ts
new file mode 100644
index 0000000..f81210b
--- /dev/null
+++ b/src/widgets/video/layer/helpers/videoOrientationManager.ts
@@ -0,0 +1,70 @@
+import { Dimensions } from 'react-native';
+
+export class VideoOrientationManager {
+ private orientationSubscription: any = null;
+ private orientationCheckInterval: NodeJS.Timeout | null = null;
+
+ initialize(updateState: (updates: any) => void) {
+ // Subscribe to orientation changes
+ this.orientationSubscription = Dimensions.addEventListener('change', ({ window }: any) => {
+ const { width, height } = window;
+ const isLandscape = width > height;
+ updateState({ isLandscape });
+ });
+
+ // Also check orientation periodically as fallback
+ this.orientationCheckInterval = setInterval(() => {
+ const { width, height } = Dimensions.get('window');
+ const isLandscape = width > height;
+ // Note: We'd need the current state to compare, but this is handled in the component
+ updateState({ isLandscape });
+ }, 500);
+ }
+
+ cleanup() {
+ if (this.orientationSubscription && this.orientationSubscription.remove) {
+ this.orientationSubscription.remove();
+ }
+
+ if (this.orientationCheckInterval) {
+ clearInterval(this.orientationCheckInterval);
+ this.orientationCheckInterval = null;
+ }
+ }
+
+ async handleToggleFullScreen(
+ isFullScreen: boolean,
+ isLandscape: boolean,
+ fullScreen: any,
+ updateState: (updates: any) => void
+ ) {
+ if (fullScreen?.enabled !== true) {
+ return;
+ }
+
+ try {
+ if (!isFullScreen) {
+ const currentOrientation = isLandscape ? 'landscape' : 'portrait';
+ updateState({
+ previousOrientation: currentOrientation,
+ isFullScreen: true
+ });
+
+ if (fullScreen?.onEnterFullScreen) {
+ fullScreen.onEnterFullScreen();
+ }
+ } else {
+ updateState({
+ isFullScreen: false,
+ previousOrientation: null
+ });
+
+ if (fullScreen?.onExitFullScreen) {
+ fullScreen.onExitFullScreen();
+ }
+ }
+ } catch (error) {
+ console.warn('Failed to toggle full screen:', error);
+ }
+ }
+}
diff --git a/src/widgets/video/layer/helpers/videoPlaybackManager.ts b/src/widgets/video/layer/helpers/videoPlaybackManager.ts
new file mode 100644
index 0000000..4665dfe
--- /dev/null
+++ b/src/widgets/video/layer/helpers/videoPlaybackManager.ts
@@ -0,0 +1,166 @@
+import { PanResponder } from 'react-native';
+import AdvancedVideo from '../../../../AdvancedVideo';
+
+export class VideoPlaybackManager {
+ createPanResponder(
+ getCurrentState: () => any,
+ updateState: (updates: any) => void,
+ clearAutoHideTimer: () => void,
+ startAutoHideTimer: (onHide: () => void) => void,
+ videoRef: React.RefObject,
+ seekbarRef: React.RefObject
+ ) {
+ return PanResponder.create({
+ onStartShouldSetPanResponder: () => true,
+ onMoveShouldSetPanResponder: () => true,
+ onPanResponderGrant: (_evt) => {
+ updateState({ isSeeking: true });
+ clearAutoHideTimer();
+ },
+ onPanResponderMove: (evt) => {
+ const state = getCurrentState();
+ if (seekbarRef.current && state.status) {
+ const touchPageX = evt.nativeEvent.pageX;
+ seekbarRef.current.measure((_x: any, _y: any, width: any, _height: any, pageX: any, _pageY: any) => {
+ const touchX = touchPageX - pageX;
+ const progress = Math.max(0, Math.min(1, touchX / width));
+ const seekPosition = progress * (state.status?.durationMillis || 0);
+ updateState({ seekingPosition: seekPosition });
+ });
+ }
+ },
+ onPanResponderRelease: (evt) => {
+ const state = getCurrentState();
+ if (seekbarRef.current && state.status) {
+ const touchPageX = evt.nativeEvent.pageX;
+ seekbarRef.current.measure((_x: any, _y: any, width: any, _height: any, pageX: any, _pageY: any) => {
+ const touchX = touchPageX - pageX;
+ const progress = Math.max(0, Math.min(1, touchX / width));
+ const duration = state.status?.durationMillis || 0;
+ const seekPosition = progress * duration;
+
+ if (videoRef.current && state.status && duration > 0) {
+ const validSeekPosition = Math.max(0, Math.min(seekPosition, duration - 100));
+ const currentPosition = state.status.positionMillis || 0;
+ const positionDiff = Math.abs(validSeekPosition - currentPosition);
+
+ if (positionDiff > 100) {
+ if (state.status.isLoaded &&
+ state.status.durationMillis &&
+ state.status.durationMillis > 0 &&
+ validSeekPosition >= 0 &&
+ validSeekPosition < state.status.durationMillis) {
+
+ videoRef.current.setStatusAsync({ positionMillis: validSeekPosition }).catch((error: any) => {
+ console.warn('Seek failed:', error);
+ updateState({
+ isSeeking: false,
+ seekingPosition: 0,
+ lastSeekPosition: 0,
+ isSeekingComplete: false
+ });
+ });
+ }
+ }
+
+ updateState({
+ isSeeking: false,
+ seekingPosition: validSeekPosition,
+ lastSeekPosition: validSeekPosition,
+ isSeekingComplete: true
+ });
+ } else {
+ updateState({
+ isSeeking: false,
+ seekingPosition: 0,
+ lastSeekPosition: 0,
+ isSeekingComplete: false
+ });
+ }
+ });
+ }
+
+ const currentState = getCurrentState();
+ if (currentState.isControlsVisible) {
+ startAutoHideTimer(() => updateState({ isControlsVisible: false }));
+ }
+ },
+ });
+ }
+
+ getProgress(state: any): number {
+ if (!state.status) return 0;
+
+ const duration = state.status.durationMillis || 1;
+ const currentVideoPosition = state.status.positionMillis || 0;
+
+ if (state.isSeeking) {
+ return state.seekingPosition / duration;
+ }
+
+ if (state.isSeekingComplete && state.lastSeekPosition > 0) {
+ return state.lastSeekPosition / duration;
+ }
+
+ return currentVideoPosition / duration;
+ }
+
+ getCurrentPosition(state: any): number {
+ if (!state.status) return 0;
+
+ const currentVideoPosition = state.status.positionMillis || 0;
+
+ if (state.isSeeking) {
+ return state.seekingPosition;
+ }
+
+ if (state.isSeekingComplete && state.lastSeekPosition > 0) {
+ return state.lastSeekPosition;
+ }
+
+ return currentVideoPosition;
+ }
+
+ async handlePlayPause(videoRef: React.RefObject, status: any) {
+ if (videoRef.current) {
+ try {
+ if (status?.isPlaying) {
+ await videoRef.current.setStatusAsync({ shouldPlay: false });
+ } else {
+ await videoRef.current.setStatusAsync({ shouldPlay: true });
+ }
+ } catch (error) {
+ console.warn('Failed to toggle play/pause:', error);
+ }
+ }
+ }
+
+ async handleMuteToggle(videoRef: React.RefObject, status: any) {
+ if (videoRef.current && status) {
+ try {
+ await videoRef.current.setIsMutedAsync(!status.isMuted);
+ } catch (error) {
+ console.warn('Failed to toggle mute:', error);
+ }
+ }
+ }
+
+ async handlePlaybackSpeedChange(
+ videoRef: React.RefObject,
+ speed: number,
+ updateState: (updates: any) => void
+ ) {
+ if (videoRef.current) {
+ try {
+ await videoRef.current.setStatusAsync({ rate: speed });
+ updateState({ currentPlaybackSpeed: speed });
+ } catch (error) {
+ console.warn('Failed to change playback speed:', error);
+ }
+ }
+ }
+
+ handleToggleSpeedMenu(isVisible: boolean, updateState: (updates: any) => void) {
+ updateState({ isSpeedMenuVisible: !isVisible });
+ }
+}
diff --git a/src/widgets/video/layer/helpers/videoQualityManager.ts b/src/widgets/video/layer/helpers/videoQualityManager.ts
new file mode 100644
index 0000000..4f1f337
--- /dev/null
+++ b/src/widgets/video/layer/helpers/videoQualityManager.ts
@@ -0,0 +1,52 @@
+import AdvancedVideo from '../../../../AdvancedVideo';
+import { getVideoUrl } from '../utils';
+
+export class VideoQualityManager {
+ async handleQualityChange(
+ qualityValue: string,
+ videoRef: React.RefObject,
+ state: any,
+ updateState: (updates: any) => void,
+ props: any
+ ) {
+ updateState({ currentQuality: qualityValue });
+
+ if (qualityValue === 'auto') {
+ const originalUrl = getVideoUrl(props.videoUrl, props.cldVideo);
+ if (videoRef.current) {
+ try {
+ await videoRef.current.setStatusAsync({
+ uri: originalUrl,
+ shouldPlay: state.status?.shouldPlay || false,
+ positionMillis: state.status?.positionMillis || 0
+ });
+ } catch (error) {
+ console.warn('Failed to switch to auto quality:', error);
+ }
+ }
+ return;
+ }
+
+ const selectedQuality = state.availableQualityLevels.find(
+ (level: any) => level.value === qualityValue
+ );
+
+ if (selectedQuality?.url && videoRef.current) {
+ try {
+ await videoRef.current.setStatusAsync({
+ uri: selectedQuality.url,
+ shouldPlay: state.status?.shouldPlay || false,
+ positionMillis: state.status?.positionMillis || 0
+ });
+ } catch (error) {
+ console.warn('Failed to switch to quality level:', qualityValue, error);
+ }
+ } else {
+ console.warn('No URL found for quality level:', qualityValue);
+ }
+ }
+
+ handleToggleQualityMenu(isVisible: boolean, updateState: (updates: any) => void) {
+ updateState({ isQualityMenuVisible: !isVisible });
+ }
+}
diff --git a/src/widgets/video/layer/helpers/videoSubtitlesManager.ts b/src/widgets/video/layer/helpers/videoSubtitlesManager.ts
new file mode 100644
index 0000000..072d8d3
--- /dev/null
+++ b/src/widgets/video/layer/helpers/videoSubtitlesManager.ts
@@ -0,0 +1,56 @@
+import { fetchSubtitleFile, findActiveSubtitle } from '../utils/subtitleUtils';
+
+export class VideoSubtitlesManager {
+ async handleSubtitleChange(
+ languageCode: string,
+ state: any,
+ updateState: (updates: any) => void
+ ) {
+ updateState({ currentSubtitle: languageCode, activeSubtitleText: null });
+
+ if (languageCode === 'off') {
+ updateState({ subtitleCues: [], activeSubtitleText: null });
+ return;
+ }
+
+ const selectedTrack = state.availableSubtitleTracks.find(
+ (track: any) => track.code === languageCode
+ );
+
+ if (selectedTrack?.url) {
+ try {
+ const subtitleCues = await fetchSubtitleFile(selectedTrack.url);
+ updateState({ subtitleCues });
+ } catch (error) {
+ console.warn('Failed to load subtitle file:', error);
+ updateState({ subtitleCues: [] });
+ }
+ } else {
+ console.warn('No URL found for subtitle track:', languageCode);
+ updateState({ subtitleCues: [] });
+ }
+ }
+
+ handleToggleSubtitlesMenu(isVisible: boolean, updateState: (updates: any) => void) {
+ updateState({ isSubtitlesMenuVisible: !isVisible });
+ }
+
+ updateActiveSubtitle(status: any, state: any, updateState: (updates: any) => void) {
+ const { subtitleCues, currentSubtitle } = state;
+
+ if (currentSubtitle === 'off' || subtitleCues.length === 0 || !status?.isLoaded) {
+ if (state.activeSubtitleText !== null) {
+ updateState({ activeSubtitleText: null });
+ }
+ return;
+ }
+
+ const currentTimeSeconds = (status.positionMillis || 0) / 1000;
+ const activeSubtitle = findActiveSubtitle(subtitleCues, currentTimeSeconds);
+ const newSubtitleText = activeSubtitle?.text || null;
+
+ if (state.activeSubtitleText !== newSubtitleText) {
+ updateState({ activeSubtitleText: newSubtitleText });
+ }
+ }
+}
diff --git a/src/widgets/video/layer/hooks.ts b/src/widgets/video/layer/hooks.ts
new file mode 100644
index 0000000..7d243b2
--- /dev/null
+++ b/src/widgets/video/layer/hooks.ts
@@ -0,0 +1,302 @@
+import React from 'react';
+import { Animated, Easing } from 'react-native';
+import { AVPlaybackStatusSuccess } from 'expo-av';
+import {
+ CONTROLS_AUTO_HIDE_DELAY,
+ CONTROLS_FADE_DURATION,
+ SEEK_DEBOUNCE_DELAY,
+ SEEK_POSITION_THRESHOLD,
+ SEEK_POSITION_TOLERANCE,
+} from './constants';
+import { validateSeekPosition, hasSignificantPositionDifference, calculateSeekProgress } from './utils';
+
+/**
+ * Custom hook for managing video controls visibility and auto-hide functionality
+ */
+export const useVideoControlsVisibility = () => {
+ const fadeAnim = React.useRef(new Animated.Value(1)).current;
+ const autoHideTimeoutId = React.useRef(null);
+
+ const clearAutoHideTimer = React.useCallback(() => {
+ if (autoHideTimeoutId.current) {
+ clearTimeout(autoHideTimeoutId.current);
+ autoHideTimeoutId.current = null;
+ }
+ }, []);
+
+ const startAutoHideTimer = React.useCallback((isControlsVisible: boolean, setIsControlsVisible: (visible: boolean) => void) => {
+ clearAutoHideTimer();
+
+ autoHideTimeoutId.current = setTimeout(() => {
+ if (isControlsVisible) {
+ setIsControlsVisible(false);
+ Animated.timing(fadeAnim, {
+ toValue: 0,
+ duration: CONTROLS_FADE_DURATION,
+ easing: Easing.linear,
+ useNativeDriver: true,
+ }).start();
+ }
+ }, CONTROLS_AUTO_HIDE_DELAY);
+ }, [fadeAnim, clearAutoHideTimer]);
+
+ const toggleControls = React.useCallback((
+ isControlsVisible: boolean,
+ setIsControlsVisible: (visible: boolean) => void
+ ) => {
+ const newVisibility = !isControlsVisible;
+ setIsControlsVisible(newVisibility);
+
+ Animated.timing(fadeAnim, {
+ toValue: newVisibility ? 1 : 0,
+ duration: CONTROLS_FADE_DURATION,
+ easing: Easing.linear,
+ useNativeDriver: true,
+ }).start();
+
+ if (newVisibility) {
+ startAutoHideTimer(newVisibility, setIsControlsVisible);
+ } else {
+ clearAutoHideTimer();
+ }
+ }, [fadeAnim, startAutoHideTimer, clearAutoHideTimer]);
+
+ // Cleanup on unmount
+ React.useEffect(() => {
+ return () => {
+ clearAutoHideTimer();
+ };
+ }, [clearAutoHideTimer]);
+
+ return {
+ fadeAnim,
+ startAutoHideTimer,
+ clearAutoHideTimer,
+ toggleControls,
+ };
+};
+
+/**
+ * Custom hook for managing video seeking functionality
+ */
+export const useVideoSeeking = () => {
+ const seekTimeoutId = React.useRef(null);
+ const lastSeekTime = React.useRef(0);
+
+ const handleSeekStart = React.useCallback(() => {
+ return { isSeeking: true };
+ }, []);
+
+ const handleSeekMove = React.useCallback((
+ evt: any,
+ seekbarRef: React.RefObject,
+ status: any | null
+ ) => {
+ if (seekbarRef.current && status) {
+ const touchPageX = evt.nativeEvent.pageX;
+ return new Promise<{ seekingPosition: number }>((resolve) => {
+ seekbarRef.current.measure((_x: number, _y: number, width: number, _height: number, pageX: number, _pageY: number) => {
+ const touchX = touchPageX - pageX;
+ const progress = calculateSeekProgress(touchX, width);
+ const seekPosition = progress * (status.durationMillis || 0);
+ resolve({ seekingPosition: seekPosition });
+ });
+ });
+ }
+ return Promise.resolve({ seekingPosition: 0 });
+ }, []);
+
+ const handleSeekEnd = React.useCallback((
+ evt: any,
+ seekbarRef: React.RefObject,
+ status: any | null,
+ videoRef: any
+ ) => {
+ if (seekbarRef.current && status) {
+ const touchPageX = evt.nativeEvent.pageX;
+ return new Promise<{
+ isSeeking: boolean;
+ seekingPosition: number;
+ lastSeekPosition: number;
+ isSeekingComplete: boolean;
+ }>((resolve) => {
+ seekbarRef.current.measure((_x: number, _y: number, width: number, _height: number, pageX: number, _pageY: number) => {
+ const touchX = touchPageX - pageX;
+ const progress = calculateSeekProgress(touchX, width);
+ const duration = status.durationMillis || 0;
+ const seekPosition = progress * duration;
+
+ if (videoRef.current && status && duration > 0) {
+ const validSeekPosition = validateSeekPosition(seekPosition, duration);
+ const currentPosition = status.positionMillis || 0;
+ const positionDiff = hasSignificantPositionDifference(validSeekPosition, currentPosition, SEEK_POSITION_THRESHOLD);
+
+ const now = Date.now();
+ const timeSinceLastSeek = now - lastSeekTime.current;
+
+ if (positionDiff && timeSinceLastSeek > SEEK_DEBOUNCE_DELAY) {
+ if (status.isLoaded &&
+ status.durationMillis &&
+ status.durationMillis > 0 &&
+ validSeekPosition >= 0 &&
+ validSeekPosition < status.durationMillis) {
+
+ lastSeekTime.current = now;
+ videoRef.current.setStatusAsync({ positionMillis: validSeekPosition }).catch((error: any) => {
+ console.warn('Seek failed:', error);
+ resolve({
+ isSeeking: false,
+ seekingPosition: 0,
+ lastSeekPosition: 0,
+ isSeekingComplete: false,
+ });
+ });
+ }
+ }
+
+ resolve({
+ isSeeking: false,
+ seekingPosition: validSeekPosition,
+ lastSeekPosition: validSeekPosition,
+ isSeekingComplete: true,
+ });
+ } else {
+ resolve({
+ isSeeking: false,
+ seekingPosition: 0,
+ lastSeekPosition: 0,
+ isSeekingComplete: false,
+ });
+ }
+ });
+ });
+ }
+
+ return Promise.resolve({
+ isSeeking: false,
+ seekingPosition: 0,
+ lastSeekPosition: 0,
+ isSeekingComplete: false,
+ });
+ }, []);
+
+ const getProgress = React.useCallback((
+ status: any | null,
+ isSeeking: boolean,
+ seekingPosition: number,
+ isSeekingComplete: boolean,
+ lastSeekPosition: number
+ ): number => {
+ if (!status) return 0;
+
+ const duration = status.durationMillis || 1;
+ const currentVideoPosition = status.positionMillis || 0;
+
+ if (isSeeking) {
+ return seekingPosition / duration;
+ }
+
+ if (isSeekingComplete && lastSeekPosition > 0) {
+ return lastSeekPosition / duration;
+ }
+
+ return currentVideoPosition / duration;
+ }, []);
+
+ const getCurrentPosition = React.useCallback((
+ status: any | null,
+ isSeeking: boolean,
+ seekingPosition: number,
+ isSeekingComplete: boolean,
+ lastSeekPosition: number
+ ): number => {
+ if (!status) return 0;
+
+ const currentVideoPosition = status.positionMillis || 0;
+
+ if (isSeeking) {
+ return seekingPosition;
+ }
+
+ if (isSeekingComplete && lastSeekPosition > 0) {
+ return lastSeekPosition;
+ }
+
+ return currentVideoPosition;
+ }, []);
+
+ const handleStatusUpdate = React.useCallback((
+ s: any,
+ isSeekingComplete: boolean,
+ lastSeekPosition: number,
+ setStatus: (status: any) => void,
+ setSeekingState: (state: { isSeekingComplete: boolean; lastSeekPosition: number }) => void
+ ) => {
+ if (s.isLoaded) {
+ if (isSeekingComplete && lastSeekPosition > 0) {
+ const currentVideoPosition = s.positionMillis || 0;
+ const seekPositionDiff = Math.abs(currentVideoPosition - lastSeekPosition);
+
+ if (seekPositionDiff < SEEK_POSITION_TOLERANCE) {
+ setStatus(s);
+ setSeekingState({
+ isSeekingComplete: false,
+ lastSeekPosition: 0,
+ });
+ return;
+ }
+ }
+
+ setStatus(s);
+ }
+ }, []);
+
+ // Cleanup on unmount
+ React.useEffect(() => {
+ return () => {
+ if (seekTimeoutId.current) {
+ clearTimeout(seekTimeoutId.current);
+ seekTimeoutId.current = null;
+ }
+ };
+ }, []);
+
+ return {
+ handleSeekStart,
+ handleSeekMove,
+ handleSeekEnd,
+ getProgress,
+ getCurrentPosition,
+ handleStatusUpdate,
+ };
+};
+
+/**
+ * Custom hook for managing device orientation detection
+ */
+export const useOrientation = () => {
+ const [isLandscape, setIsLandscape] = React.useState(false);
+
+ React.useEffect(() => {
+ const { Dimensions } = require('react-native');
+
+ const updateOrientation = () => {
+ const { width, height } = Dimensions.get('window');
+ setIsLandscape(width > height);
+ };
+
+ // Set initial orientation
+ updateOrientation();
+
+ // Listen for orientation changes
+ const subscription = Dimensions.addEventListener('change', updateOrientation);
+
+ return () => {
+ if (subscription?.remove) {
+ subscription.remove();
+ }
+ };
+ }, []);
+
+ return { isLandscape };
+};
\ No newline at end of file
diff --git a/src/widgets/video/layer/index.ts b/src/widgets/video/layer/index.ts
new file mode 100644
index 0000000..e5873c7
--- /dev/null
+++ b/src/widgets/video/layer/index.ts
@@ -0,0 +1,11 @@
+export { CLDVideoLayer } from './CLDVideoLayer';
+export { ButtonPosition, ButtonLayoutDirection, TimePosition } from './types';
+export type {
+ ButtonConfig,
+ ButtonGroupConfig,
+ CLDVideoLayerProps,
+ SeekbarConfig,
+ FullScreenConfig,
+ PlaybackSpeedConfig,
+ SubtitlesConfig
+} from './types';
\ No newline at end of file
diff --git a/src/widgets/video/layer/styles.ts b/src/widgets/video/layer/styles.ts
new file mode 100644
index 0000000..ff1dfd3
--- /dev/null
+++ b/src/widgets/video/layer/styles.ts
@@ -0,0 +1,283 @@
+import { StyleSheet, Platform } from 'react-native';
+import {
+ COLORS,
+ BORDER_RADIUS,
+ SHADOW_VALUES,
+ TOP_BUTTON_SIZE,
+ CENTER_PLAY_BUTTON_SIZE,
+ BOTTOM_BUTTON_SIZE,
+ SEEKBAR_HEIGHT,
+ SEEKBAR_TRACK_HEIGHT,
+ SEEKBAR_HANDLE_SIZE,
+ TOP_PADDING_IOS,
+ TOP_PADDING_ANDROID,
+ LEGACY_TOP_PADDING_IOS,
+ LEGACY_TOP_PADDING_ANDROID,
+ BOTTOM_CONTROLS_PADDING,
+ SEEKBAR_ALIGNMENT_OFFSET,
+ SE_BUTTON_RIGHT_OFFSET,
+ SE_BUTTON_BOTTOM_OFFSET,
+} from './constants';
+import {
+ getTopPadding,
+ getBottomControlsPadding,
+ getSeekbarAlignmentOffset,
+ getSEButtonBottomOffset,
+} from './utils';
+
+// Base styles (orientation-independent)
+export const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ backgroundColor: 'black',
+ },
+ overlay: {
+ ...StyleSheet.absoluteFillObject,
+ justifyContent: 'space-between',
+ },
+ // Loading styles
+ loadingContainer: {
+ ...StyleSheet.absoluteFillObject,
+ justifyContent: 'center',
+ alignItems: 'center',
+ backgroundColor: COLORS.loadingBackground,
+ zIndex: 1,
+ },
+ loadingText: {
+ color: COLORS.text.white,
+ fontSize: 16,
+ marginTop: 16,
+ textAlign: 'center',
+ opacity: 0.9,
+ },
+ // Center Controls
+ centerControls: {
+ alignSelf: 'center',
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+ centerPlayButton: {
+ width: CENTER_PLAY_BUTTON_SIZE,
+ height: CENTER_PLAY_BUTTON_SIZE,
+ borderRadius: BORDER_RADIUS.centerButton,
+ backgroundColor: COLORS.centerButtonBackground,
+ justifyContent: 'center',
+ alignItems: 'center',
+ shadowColor: '#000',
+ ...SHADOW_VALUES.centerButton,
+ borderWidth: 1,
+ borderColor: COLORS.centerButtonBorder,
+ },
+ centerPlayIcon: {
+ color: COLORS.text.black,
+ fontSize: 32,
+ fontWeight: '500',
+ marginLeft: 2, // Slight offset for play icon visual balance
+ textShadowColor: COLORS.text.whiteShadow,
+ textShadowOffset: { width: 0, height: 1 },
+ textShadowRadius: 1,
+ },
+ iconText: {
+ color: COLORS.text.white,
+ fontSize: 20,
+ fontWeight: '400',
+ textShadowColor: COLORS.text.shadow,
+ textShadowOffset: { width: 0, height: 1 },
+ textShadowRadius: 1,
+ },
+ timeText: {
+ color: COLORS.text.white,
+ fontSize: 12,
+ opacity: 0.8,
+ },
+ // Legacy styles (keeping for backward compatibility)
+ topRow: {
+ marginTop: Platform.OS === 'ios' ? LEGACY_TOP_PADDING_IOS : LEGACY_TOP_PADDING_ANDROID,
+ flexDirection: 'row',
+ justifyContent: 'space-between',
+ paddingHorizontal: 16,
+ },
+ bottomRow: {
+ flexDirection: 'row',
+ justifyContent: 'flex-end',
+ padding: 16,
+ },
+});
+
+// Orientation-responsive style functions
+export const getResponsiveStyles = (isLandscape: boolean = false) => {
+ const topPadding = getTopPadding(isLandscape);
+ const bottomPadding = getBottomControlsPadding(isLandscape);
+ const seekbarOffset = getSeekbarAlignmentOffset(isLandscape);
+ const seButtonBottomOffset = getSEButtonBottomOffset(isLandscape);
+
+ return StyleSheet.create({
+ // Top Controls
+ topControlsBar: {
+ flexDirection: 'row',
+ justifyContent: 'space-between',
+ alignItems: 'center',
+ paddingHorizontal: 20,
+ paddingTop: topPadding,
+ paddingBottom: (bottomPadding || 15) * 2,
+ backgroundColor: COLORS.topControlsBackground,
+ },
+ topButton: {
+ width: TOP_BUTTON_SIZE,
+ height: TOP_BUTTON_SIZE,
+ borderRadius: BORDER_RADIUS.topButton,
+ backgroundColor: COLORS.topButtonBackground,
+ justifyContent: 'center',
+ alignItems: 'center',
+ shadowColor: '#000',
+ ...SHADOW_VALUES.topButton,
+ },
+ // Button positioning styles
+ buttonPositionNE: {
+ position: 'absolute',
+ top: topPadding + (isLandscape ? 6 : 8),
+ right: 20,
+ },
+ buttonPositionNW: {
+ position: 'absolute',
+ top: topPadding + (isLandscape ? 6 : 8),
+ left: 20,
+ },
+ buttonPositionN: {
+ position: 'absolute',
+ top: topPadding + (isLandscape ? 6 : 8),
+ alignSelf: 'center',
+ },
+ buttonPositionSE: {
+ position: 'absolute',
+ bottom: seButtonBottomOffset,
+ right: SE_BUTTON_RIGHT_OFFSET,
+ zIndex: 10,
+ },
+ buttonPositionSW: {
+ position: 'absolute',
+ bottom: seButtonBottomOffset,
+ left: SE_BUTTON_RIGHT_OFFSET,
+ zIndex: 10,
+ },
+ buttonPositionS: {
+ position: 'absolute',
+ bottom: seButtonBottomOffset,
+ alignSelf: 'center',
+ zIndex: 10,
+ },
+ buttonPositionE: {
+ position: 'absolute',
+ right: 20,
+ top: '50%',
+ marginTop: -22, // Half of TOP_BUTTON_SIZE to center
+ zIndex: 10,
+ },
+ buttonPositionW: {
+ position: 'absolute',
+ left: 20,
+ top: '50%',
+ marginTop: -22, // Half of TOP_BUTTON_SIZE to center
+ zIndex: 10,
+ },
+ // Bottom Controls
+ bottomControlsBar: {
+ flexDirection: 'row',
+ justifyContent: 'space-between',
+ alignItems: 'center',
+ paddingHorizontal: 20,
+ paddingVertical: bottomPadding,
+ backgroundColor: COLORS.bottomControlsBackground,
+ zIndex: 10, // Ensure bottom controls appear above button bar
+ },
+ bottomLeftControls: {
+ flex: 1,
+ flexDirection: 'row',
+ alignItems: 'center',
+ },
+ bottomRightControls: {
+ flexDirection: 'row',
+ alignItems: 'center',
+ },
+ playPauseButton: {
+ width: BOTTOM_BUTTON_SIZE,
+ height: BOTTOM_BUTTON_SIZE,
+ borderRadius: BORDER_RADIUS.bottomButton,
+ backgroundColor: 'transparent',
+ justifyContent: 'center',
+ alignItems: 'center',
+ marginRight: 12,
+ marginBottom: seekbarOffset,
+ },
+ playPauseIcon: {
+ color: COLORS.text.white,
+ fontSize: isLandscape ? 20 : 22,
+ fontWeight: '500',
+ textShadowColor: COLORS.text.shadow,
+ textShadowOffset: { width: 0, height: 1 },
+ textShadowRadius: 1,
+ },
+ volumeButton: {
+ width: BOTTOM_BUTTON_SIZE,
+ height: BOTTOM_BUTTON_SIZE,
+ borderRadius: BORDER_RADIUS.bottomButton,
+ backgroundColor: 'transparent',
+ justifyContent: 'center',
+ alignItems: 'center',
+ marginRight: 8,
+ marginBottom: seekbarOffset,
+ },
+ volumeIcon: {
+ color: COLORS.text.white,
+ fontSize: isLandscape ? 18 : 20,
+ fontWeight: '500',
+ textShadowColor: COLORS.text.shadow,
+ textShadowOffset: { width: 0, height: 1 },
+ textShadowRadius: 1,
+ },
+ // Seekbar
+ seekbarContainer: {
+ flex: 1,
+ marginRight: 18,
+ marginLeft: 8,
+ },
+ seekbar: {
+ height: SEEKBAR_HEIGHT,
+ borderRadius: BORDER_RADIUS.seekbar,
+ position: 'relative',
+ justifyContent: 'center',
+ paddingVertical: isLandscape ? 6 : 8, // Reduce touch area in landscape
+ },
+ seekbarTrack: {
+ height: SEEKBAR_TRACK_HEIGHT,
+ backgroundColor: COLORS.seekbarTrack,
+ borderRadius: BORDER_RADIUS.seekbarTrack,
+ position: 'absolute',
+ top: 8.5,
+ left: 0,
+ right: 0,
+ },
+ seekbarProgress: {
+ height: SEEKBAR_TRACK_HEIGHT,
+ backgroundColor: COLORS.seekbarProgress,
+ borderRadius: BORDER_RADIUS.seekbarTrack,
+ position: 'absolute',
+ top: 8.5, // Center within the 20px height
+ shadowColor: COLORS.seekbarProgress,
+ ...SHADOW_VALUES.seekbarProgress,
+ },
+ seekbarHandle: {
+ position: 'absolute',
+ width: SEEKBAR_HANDLE_SIZE,
+ height: SEEKBAR_HANDLE_SIZE,
+ borderRadius: BORDER_RADIUS.seekbarHandle,
+ backgroundColor: COLORS.seekbarHandle,
+ top: 2, // Center within the 20px height
+ marginLeft: -8, // Half of width to center properly
+ shadowColor: '#000',
+ ...SHADOW_VALUES.seekbarHandle,
+ borderWidth: 2,
+ borderColor: COLORS.seekbarHandleBorder,
+ },
+ });
+};
\ No newline at end of file
diff --git a/src/widgets/video/layer/types.ts b/src/widgets/video/layer/types.ts
new file mode 100644
index 0000000..fdc56a2
--- /dev/null
+++ b/src/widgets/video/layer/types.ts
@@ -0,0 +1,193 @@
+import { Animated } from 'react-native';
+import { AVPlaybackStatusSuccess } from 'expo-av';
+import type { CloudinaryVideo } from '@cloudinary/url-gen';
+
+export enum ButtonPosition {
+ NE = 'NE', // North East (top-right)
+ NW = 'NW', // North West (top-left)
+ N = 'N', // North (top-center)
+ SE = 'SE', // South East (bottom-right)
+ SW = 'SW', // South West (bottom-left)
+ S = 'S', // South (bottom-center)
+ E = 'E', // East (middle-right)
+ W = 'W' // West (middle-left)
+}
+
+export enum ButtonLayoutDirection {
+ HORIZONTAL = 'horizontal', // Arrange buttons side by side
+ VERTICAL = 'vertical' // Arrange buttons stacked vertically
+}
+
+export interface ButtonConfig {
+ icon: string; // Ionicons icon name
+ size?: number; // Icon size (px)
+ color?: string; // Icon color
+ backgroundColor?: string; // Button background color
+ position: ButtonPosition; // Button position
+ onPress?: () => void; // Custom functionality
+ text?: string; // Text label next to icon
+ textColor?: string; // Text color
+}
+
+export interface ButtonGroupConfig {
+ position: ButtonPosition; // Group position (NE, NW, etc.)
+ layoutDirection?: ButtonLayoutDirection; // How to arrange multiple buttons in this position
+ buttons: ButtonConfig[]; // Individual button configurations
+}
+
+export enum TimePosition {
+ ABOVE = 'above',
+ BELOW = 'below',
+ NONE = 'none'
+}
+
+export interface SeekbarConfig {
+ height?: number; // px
+ width?: number | string; // px or percentage (e.g., 200 or '80%')
+ color?: string; // CSS color
+ timePosition?: TimePosition; // TimePosition.ABOVE | TimePosition.BELOW | TimePosition.NONE
+}
+
+export interface FullScreenConfig {
+ enabled?: boolean; // Enable/disable full screen functionality
+ landscapeOnly?: boolean; // Force landscape mode in full screen (default: true)
+ button?: ButtonConfig; // Custom button configuration
+ onEnterFullScreen?: () => void; // Custom enter full screen handler
+ onExitFullScreen?: () => void; // Custom exit full screen handler
+}
+
+export interface PlaybackSpeedOption {
+ value: number; // Speed multiplier (e.g., 0.5, 1.0, 1.25, 1.5, 2.0)
+ label: string; // Display label (e.g., "0.5×", "1.0×", "1.25×", "1.5×", "2.0×")
+}
+
+export interface PlaybackSpeedConfig {
+ enabled?: boolean; // Enable/disable playback speed functionality
+ defaultSpeed?: number; // Default playback speed (default: 1.0)
+ speeds?: PlaybackSpeedOption[]; // Custom speed options
+ button?: Partial; // Custom button configuration (position not needed as it's fixed in bottom controls)
+}
+
+export interface SubtitleOption {
+ code: string; // Language code (e.g., 'en', 'es', 'ar', 'off')
+ label: string; // Display label (e.g., 'English', 'Spanish', 'Arabic', 'Off')
+ url?: string; // Future: URL to subtitle file
+}
+
+export interface SubtitlesConfig {
+ enabled?: boolean; // Enable/disable subtitles functionality
+ defaultLanguage?: string; // Default language code (default: 'off')
+ languages?: SubtitleOption[]; // Available subtitle languages
+ button?: Partial; // Custom button configuration (position not needed as it's fixed in bottom controls)
+}
+
+export interface QualityOption {
+ value: string; // Quality identifier (e.g., 'auto', '1080p', '720p', '480p', '360p')
+ label: string; // Display label (e.g., 'Auto', '1080p', '720p', '480p', '360p')
+ bandwidth?: number; // Bandwidth in bits per second
+ resolution?: string; // Resolution (e.g., '1920x1080', '1280x720')
+ url?: string; // URL to specific quality stream
+}
+
+export interface QualityConfig {
+ enabled?: boolean; // Enable/disable quality selection functionality
+ defaultQuality?: string; // Default quality value (default: 'auto')
+ qualities?: QualityOption[]; // Available quality options
+ button?: Partial; // Custom button configuration (position not needed as it's fixed in bottom controls)
+}
+
+export interface CLDVideoLayerProps {
+ cldVideo: CloudinaryVideo;
+ videoUrl?: string;
+ autoPlay?: boolean;
+ muted?: boolean;
+ onBack?: () => void;
+ onShare?: () => void;
+ hideControls?: boolean;
+ showCenterPlayButton?: boolean;
+ backButtonPosition?: ButtonPosition;
+ shareButtonPosition?: ButtonPosition;
+ seekBar?: SeekbarConfig;
+ fullScreen?: FullScreenConfig;
+ playbackSpeed?: PlaybackSpeedConfig;
+ subtitles?: SubtitlesConfig;
+ quality?: QualityConfig;
+ buttonGroups?: ButtonGroupConfig[]; // Button groups with layout control
+ bottomButtonBar?: {
+ enabled: boolean;
+ buttons: ButtonConfig[];
+ style?: {
+ backgroundColor?: string;
+ borderRadius?: number;
+ paddingHorizontal?: number;
+ paddingVertical?: number;
+ marginHorizontal?: number;
+ marginBottom?: number;
+ };
+ }; // Bottom button bar positioned below seekbar
+ title?: string;
+ subtitle?: string;
+ titleLeftOffset?: number; // Custom left offset for title/subtitle positioning
+}
+
+export interface TopControlsProps {
+ onBack?: () => void;
+ onShare: () => void;
+ backButtonPosition?: ButtonPosition;
+ shareButtonPosition?: ButtonPosition;
+ isLandscape?: boolean;
+ fullScreen?: FullScreenConfig;
+ isFullScreen?: boolean;
+ onToggleFullScreen?: () => void;
+ buttonGroups?: ButtonGroupConfig[];
+}
+
+export interface CenterControlsProps {
+ status: any | null;
+ onPlayPause: () => void;
+}
+
+export interface BottomControlsProps {
+ status: any | null;
+ onPlayPause: () => void;
+ onMuteToggle: () => void;
+ formatTime: (milliseconds: number) => string;
+ getProgress: () => number;
+ getCurrentPosition: () => number;
+ seekBarRef: React.RefObject;
+ panResponder: any;
+ backButtonPosition?: ButtonPosition;
+ shareButtonPosition?: ButtonPosition;
+ isLandscape?: boolean;
+ seekbar?: SeekbarConfig;
+ fullScreen?: FullScreenConfig;
+ isFullScreen?: boolean;
+ onToggleFullScreen?: () => void;
+ playbackSpeed?: PlaybackSpeedConfig;
+ currentPlaybackSpeed?: number;
+ onPlaybackSpeedChange?: (speed: number) => void;
+ isSpeedMenuVisible?: boolean;
+ onToggleSpeedMenu?: () => void;
+ subtitles?: SubtitlesConfig;
+ currentSubtitle?: string;
+ onSubtitleChange?: (languageCode: string) => void;
+ isSubtitlesMenuVisible?: boolean;
+ onToggleSubtitlesMenu?: () => void;
+ quality?: QualityConfig;
+ currentQuality?: string;
+ onQualityChange?: (qualityValue: string) => void;
+ isQualityMenuVisible?: boolean;
+ onToggleQualityMenu?: () => void;
+ buttonGroups?: ButtonGroupConfig[];
+}
+
+export interface SeekbarProps {
+ progress: number;
+ currentPosition: number;
+ status: any | null;
+ formatTime: (milliseconds: number) => string;
+ seekBarRef: React.RefObject;
+ panResponder: any;
+ isLandscape?: boolean;
+ seekBar?: SeekbarConfig;
+}
diff --git a/src/widgets/video/layer/utils.ts b/src/widgets/video/layer/utils.ts
new file mode 100644
index 0000000..f2fbdb9
--- /dev/null
+++ b/src/widgets/video/layer/utils.ts
@@ -0,0 +1,479 @@
+import { Share, Platform, Dimensions } from 'react-native';
+import type { CloudinaryVideo } from '@cloudinary/url-gen';
+import { SubtitleOption, QualityOption, ButtonLayoutDirection } from './types';
+import { SDKAnalyticsConstants } from '../../../internal/SDKAnalyticsConstants';
+
+/**
+ * Formats time in milliseconds to MM:SS format
+ */
+export const formatTime = (milliseconds: number): string => {
+ const totalSeconds = Math.floor(milliseconds / 1000);
+ const minutes = Math.floor(totalSeconds / 60);
+ const seconds = totalSeconds % 60;
+ return `${minutes}:${seconds.toString().padStart(2, '0')}`;
+};
+
+/**
+ * Default share handler for video
+ */
+export const handleDefaultShare = async (cldVideo: CloudinaryVideo): Promise => {
+ try {
+ // Create analytics object with feature 'G' for CLDVideoLayer
+ const videoLayerAnalytics = {
+ ...SDKAnalyticsConstants,
+ feature: 'G',
+ };
+
+ let videoUrl: string;
+ try {
+ videoUrl = cldVideo.toURL({ trackedAnalytics: videoLayerAnalytics });
+ } catch (analyticsError) {
+ console.warn('CLDVideoLayer: Failed to generate URL with analytics, falling back:', analyticsError);
+ videoUrl = cldVideo.toURL();
+ }
+
+ await Share.share({
+ message: Platform.OS === 'ios' ? '' : videoUrl,
+ url: videoUrl,
+ });
+ } catch (error) {
+ console.warn('Failed to share video:', error);
+ }
+};
+
+/**
+ * Validates seek position to ensure it's within bounds
+ */
+export const validateSeekPosition = (
+ seekPosition: number,
+ duration: number,
+ bufferMs: number = 100
+): number => {
+ return Math.max(0, Math.min(seekPosition, duration - bufferMs));
+};
+
+/**
+ * Checks if two positions are significantly different
+ */
+export const hasSignificantPositionDifference = (
+ position1: number,
+ position2: number,
+ threshold: number = 100
+): boolean => {
+ return Math.abs(position1 - position2) > threshold;
+};
+
+/**
+ * Calculates touch position relative to seekbar
+ */
+export const calculateSeekProgress = (
+ touchX: number,
+ seekbarWidth: number
+): number => {
+ return Math.max(0, Math.min(1, touchX / seekbarWidth));
+};
+
+/**
+ * Checks if a video URL is an HLS stream (ends with .m3u8)
+ */
+export const isHLSVideo = (videoUrl: string | undefined): boolean => {
+ if (!videoUrl) return false;
+ return videoUrl.toLowerCase().endsWith('.m3u8');
+};
+
+/**
+ * Parses HLS manifest to extract subtitle tracks
+ */
+export const parseHLSManifest = async (manifestUrl: string): Promise => {
+ try {
+ const response = await fetch(manifestUrl);
+
+ if (!response.ok) {
+ console.warn('Failed to fetch HLS manifest:', response.status);
+ return [];
+ }
+
+ const manifestText = await response.text();
+ const subtitleTracks: SubtitleOption[] = [];
+
+ // Parse for subtitle tracks
+ // Look for EXT-X-MEDIA tags with TYPE=SUBTITLES
+ const lines = manifestText.split('\n');
+
+ // Get base URL for resolving relative URLs
+ const baseUrl = manifestUrl.substring(0, manifestUrl.lastIndexOf('/') + 1);
+
+ for (let i = 0; i < lines.length; i++) {
+ const line = lines[i]?.trim();
+
+ if (line?.startsWith('#EXT-X-MEDIA:') && line.includes('TYPE=SUBTITLES')) {
+ const attributes = parseM3U8Attributes(line);
+
+ if (attributes.LANGUAGE && attributes.NAME) {
+ const languageCode = attributes.LANGUAGE.replace(/"/g, ''); // Remove quotes from language code
+ const displayName = attributes.NAME.replace(/"/g, ''); // Remove quotes from display name
+ let subtitleUrl = attributes.URI ? attributes.URI.replace(/"/g, '') : undefined;
+
+ // Resolve relative URLs properly
+ if (subtitleUrl && !subtitleUrl.startsWith('http')) {
+ // Handle URLs that start with /
+ if (subtitleUrl.startsWith('/')) {
+ // Extract the base domain from the manifest URL
+ const urlObj = new URL(manifestUrl);
+ subtitleUrl = `${urlObj.protocol}//${urlObj.host}${subtitleUrl}`;
+ } else {
+ // For other relative URLs, use baseUrl
+ subtitleUrl = baseUrl + subtitleUrl;
+ }
+ }
+
+ // Only add if not already present
+ if (!subtitleTracks.some(track => track.code === languageCode)) {
+ subtitleTracks.push({
+ code: languageCode,
+ label: displayName,
+ url: subtitleUrl
+ });
+ }
+ }
+ }
+ }
+
+ return subtitleTracks;
+ } catch (error) {
+ console.warn('Failed to parse HLS manifest:', error);
+ return [];
+ }
+};
+
+/**
+ * Parses HLS manifest to extract quality levels/bitrates
+ */
+export const parseHLSQualityLevels = async (manifestUrl: string): Promise => {
+ try {
+ const response = await fetch(manifestUrl);
+ if (!response.ok) {
+ console.warn('Failed to fetch HLS manifest for quality parsing:', response.status);
+ return [];
+ }
+
+ const manifestText = await response.text();
+ const qualityLevels: QualityOption[] = [];
+
+ // Parse for stream variants with different qualities
+ // Look for EXT-X-STREAM-INF tags that define different quality streams
+ const lines = manifestText.split('\n');
+
+ // Get base URL for resolving relative URLs
+ const baseUrl = manifestUrl.substring(0, manifestUrl.lastIndexOf('/') + 1);
+
+ for (let i = 0; i < lines.length; i++) {
+ const line = lines[i]?.trim();
+
+ if (line?.startsWith('#EXT-X-STREAM-INF:')) {
+ const attributes = parseM3U8Attributes(line);
+ const streamUrl = lines[i + 1]?.trim(); // Next line contains the stream URL
+
+ if (streamUrl && attributes.BANDWIDTH) {
+ const bandwidth = parseInt(attributes.BANDWIDTH);
+ const resolution = attributes.RESOLUTION;
+ let qualityLabel = 'Auto';
+ let qualityValue = 'auto';
+
+ // Determine quality label based on resolution or bandwidth
+ if (resolution) {
+ const [width, height] = resolution.split('x').map(Number);
+
+ // Standard quality mapping based on height (with safety check)
+ if (height && height >= 1080) {
+ qualityLabel = '1080p';
+ qualityValue = '1080p';
+ } else if (height && height >= 720) {
+ qualityLabel = '720p';
+ qualityValue = '720p';
+ } else if (height && height >= 480) {
+ qualityLabel = '480p';
+ qualityValue = '480p';
+ } else if (height && height >= 360) {
+ qualityLabel = '360p';
+ qualityValue = '360p';
+ } else if (height && height >= 240) {
+ qualityLabel = '240p';
+ qualityValue = '240p';
+ } else if (height) {
+ qualityLabel = `${height}p`;
+ qualityValue = `${height}p`;
+ }
+ } else {
+ // Fallback to bandwidth-based labeling
+ if (bandwidth >= 2000000) {
+ qualityLabel = 'High';
+ qualityValue = 'high';
+ } else if (bandwidth >= 1000000) {
+ qualityLabel = 'Medium';
+ qualityValue = 'medium';
+ } else {
+ qualityLabel = 'Low';
+ qualityValue = 'low';
+ }
+ }
+
+ // Resolve relative stream URL
+ let fullStreamUrl = streamUrl;
+ if (!streamUrl.startsWith('http')) {
+ fullStreamUrl = baseUrl + streamUrl;
+ }
+
+ // Only add if not already present (avoid duplicates)
+ if (!qualityLevels.some(level => level.value === qualityValue)) {
+ qualityLevels.push({
+ value: qualityValue,
+ label: qualityLabel,
+ bandwidth,
+ resolution,
+ url: fullStreamUrl
+ });
+ }
+ }
+ }
+ }
+
+ // Sort by bandwidth (highest first) for better UX
+ qualityLevels.sort((a, b) => (b.bandwidth || 0) - (a.bandwidth || 0));
+
+ return qualityLevels;
+ } catch (error) {
+ console.warn('Failed to parse HLS quality levels:', error);
+ return [];
+ }
+};
+
+/**
+ * Helper function to parse M3U8 attributes from a line
+ */
+const parseM3U8Attributes = (line: string): Record => {
+ const attributes: Record = {};
+
+ // Remove the tag part (everything before the first colon)
+ const attributesPart = line.split(':', 2)[1];
+ if (!attributesPart) return attributes;
+
+ // Split by comma, but handle quoted values
+ const pairs = attributesPart.match(/[A-Z-]+=(?:"[^"]*"|[^,]*)/g) || [];
+
+ pairs.forEach(pair => {
+ const [key, value] = pair.split('=', 2);
+ if (key && value) {
+ attributes[key.trim()] = value.trim();
+ }
+ });
+
+ return attributes;
+};
+
+/**
+ * Determines the final video URL to use, prioritizing videoUrl over generated URL
+ * When generating URL from cldVideo, includes feature 'G' analytics for CLDVideoLayer
+ */
+export const getVideoUrl = (videoUrl: string | undefined, cldVideo: CloudinaryVideo): string => {
+ // If videoUrl is provided directly, use it as-is
+ if (videoUrl) {
+ return videoUrl;
+ }
+
+ // Generate URL with CLDVideoLayer analytics (feature 'G')
+ try {
+ const videoLayerAnalytics = {
+ ...SDKAnalyticsConstants,
+ feature: 'G',
+ };
+
+ return cldVideo.toURL({ trackedAnalytics: videoLayerAnalytics });
+ } catch (error) {
+ console.error('CLDVideoLayer: Error generating video URL with analytics, falling back:', error);
+ // Fallback to URL without analytics if there's an issue
+ return cldVideo.toURL();
+ }
+};
+
+// Constants for layout utility functions
+const TOP_BUTTON_SIZE = Platform.select({ ios: 44, android: 48 });
+const BUTTON_SPACING = Platform.select({ ios: 8, android: 6 });
+const BUTTON_MARGIN = Platform.select({ ios: 4, android: 3 });
+const TOP_PADDING_IOS = 60;
+const TOP_PADDING_ANDROID = 30;
+const TOP_PADDING_IOS_LANDSCAPE = 20;
+const TOP_PADDING_ANDROID_LANDSCAPE = 6;
+const BOTTOM_CONTROLS_PADDING = Platform.select({ ios: 15, android: 12 });
+const BOTTOM_CONTROLS_PADDING_LANDSCAPE = Platform.select({ ios: 10, android: 8 });
+const SEEKBAR_ALIGNMENT_OFFSET = Platform.select({ ios: 16, android: 14 });
+const SEEKBAR_ALIGNMENT_OFFSET_LANDSCAPE = Platform.select({ ios: 12, android: 10 });
+const SE_BUTTON_BOTTOM_OFFSET = Platform.select({ ios: 32, android: 28 });
+const SE_BUTTON_BOTTOM_OFFSET_LANDSCAPE = Platform.select({ ios: 20, android: 18 });
+
+/**
+ * Helper function to determine if device is in landscape
+ */
+export const isLandscapeOrientation = () => {
+ const { width, height } = Dimensions.get('window');
+ return width > height;
+};
+
+/**
+ * Get responsive top padding based on orientation
+ */
+export const getTopPadding = (isLandscape: boolean = false) => {
+ if (Platform.OS === 'ios') {
+ return isLandscape ? TOP_PADDING_IOS_LANDSCAPE : TOP_PADDING_IOS;
+ }
+ return isLandscape ? TOP_PADDING_ANDROID_LANDSCAPE : TOP_PADDING_ANDROID;
+};
+
+/**
+ * Get responsive bottom controls padding
+ */
+export const getBottomControlsPadding = (isLandscape: boolean = false) => {
+ return isLandscape ? BOTTOM_CONTROLS_PADDING_LANDSCAPE : BOTTOM_CONTROLS_PADDING;
+};
+
+/**
+ * Get responsive seekbar alignment offset
+ */
+export const getSeekbarAlignmentOffset = (isLandscape: boolean = false) => {
+ return isLandscape ? SEEKBAR_ALIGNMENT_OFFSET_LANDSCAPE : SEEKBAR_ALIGNMENT_OFFSET;
+};
+
+/**
+ * Get responsive SE button bottom offset
+ */
+export const getSEButtonBottomOffset = (isLandscape: boolean = false) => {
+ return isLandscape ? SE_BUTTON_BOTTOM_OFFSET_LANDSCAPE : SE_BUTTON_BOTTOM_OFFSET;
+};
+
+/**
+ * Calculate button positions with automatic spacing and layout direction support
+ */
+export const calculateButtonPosition = (
+ position: string,
+ index: number,
+ totalButtons: number,
+ isLandscape: boolean = false,
+ layoutDirection: ButtonLayoutDirection = ButtonLayoutDirection.VERTICAL
+) => {
+ const buttonSize = TOP_BUTTON_SIZE ?? 44;
+ const spacing = BUTTON_SPACING ?? 8;
+ const margin = BUTTON_MARGIN ?? 4;
+
+ // Helper function to calculate horizontal layout
+ const getHorizontalLayout = () => {
+ const horizontalCenterOffset = ((totalButtons - 1) * (buttonSize + spacing)) / 2;
+ return {
+ marginLeft: (index * (buttonSize + spacing)) - horizontalCenterOffset,
+ };
+ };
+
+ // Helper function to calculate vertical layout
+ const getVerticalLayout = (baseOffset: number = 0) => {
+ const verticalCenterOffset = ((totalButtons - 1) * (buttonSize + spacing)) / 2;
+ return {
+ marginTop: baseOffset + (index * (buttonSize + spacing)) - verticalCenterOffset,
+ };
+ };
+
+ switch (position) {
+ case 'SE':
+ // For SE position, account for volume button
+ const seBaseOffset = (getSEButtonBottomOffset(isLandscape) ?? 32) + (buttonSize + spacing);
+ if (layoutDirection === 'horizontal') {
+ return {
+ bottom: seBaseOffset,
+ ...getHorizontalLayout(),
+ };
+ }
+ // Default to vertical stacking upward
+ return {
+ bottom: seBaseOffset + (index * (buttonSize + spacing)),
+ };
+
+ case 'SW':
+ // For SW position
+ const swBaseOffset = (getSEButtonBottomOffset(isLandscape) ?? 32);
+ if (layoutDirection === 'horizontal') {
+ return {
+ bottom: swBaseOffset,
+ ...getHorizontalLayout(),
+ };
+ }
+ // Default to vertical stacking upward
+ return {
+ bottom: swBaseOffset + (index * (buttonSize + spacing)),
+ };
+
+ case 'S':
+ // For South position
+ const sBaseOffset = (getSEButtonBottomOffset(isLandscape) ?? 32);
+ if (layoutDirection === 'vertical') {
+ return {
+ bottom: sBaseOffset + (index * (buttonSize + spacing)),
+ alignSelf: 'center',
+ };
+ }
+ // Default to horizontal stacking
+ return {
+ bottom: sBaseOffset,
+ alignSelf: 'center',
+ ...getHorizontalLayout(),
+ };
+
+ case 'NE':
+ case 'NW':
+ // For top positions
+ const topBaseOffset = (getTopPadding(isLandscape) ?? 60) + (isLandscape ? 6 : 8);
+ if (layoutDirection === 'horizontal') {
+ return {
+ top: topBaseOffset,
+ ...getHorizontalLayout(),
+ };
+ }
+ // Default to vertical stacking downward
+ return {
+ top: topBaseOffset + (index * (buttonSize + spacing)),
+ };
+
+ case 'N':
+ // For North position
+ const nBaseOffset = (getTopPadding(isLandscape) ?? 60) + (isLandscape ? 6 : 8);
+ if (layoutDirection === 'vertical') {
+ return {
+ top: nBaseOffset + (index * (buttonSize + spacing)),
+ alignSelf: 'center',
+ };
+ }
+ // Default to horizontal stacking
+ return {
+ top: nBaseOffset,
+ alignSelf: 'center',
+ ...getHorizontalLayout(),
+ };
+
+ case 'E':
+ case 'W':
+ // For middle positions
+ if (layoutDirection === 'horizontal') {
+ return {
+ top: '50%',
+ marginTop: -22,
+ ...getHorizontalLayout(),
+ };
+ }
+ // Default to vertical stacking around center
+ const centerOffset = ((totalButtons - 1) * (buttonSize + spacing)) / 2;
+ return {
+ top: '50%',
+ marginTop: -22 + (index * (buttonSize + spacing)) - centerOffset,
+ };
+
+ default:
+ return {};
+ }
+};
\ No newline at end of file
diff --git a/src/widgets/video/layer/utils/subtitleUtils.ts b/src/widgets/video/layer/utils/subtitleUtils.ts
new file mode 100644
index 0000000..644e83b
--- /dev/null
+++ b/src/widgets/video/layer/utils/subtitleUtils.ts
@@ -0,0 +1,153 @@
+/**
+ * WebVTT parsing utilities for subtitle support
+ */
+
+export interface SubtitleCue {
+ start: number; // Start time in seconds
+ end: number; // End time in seconds
+ text: string; // Subtitle text
+}
+
+/**
+ * Parse WebVTT file content into subtitle cues
+ */
+export const parseWebVTT = (content: string): SubtitleCue[] => {
+ const cues: SubtitleCue[] = [];
+
+ // Split content into lines and remove BOM if present
+ const lines = content.replace(/^\ufeff/, '').split('\n');
+
+ let i = 0;
+
+ // Skip header
+ while (i < lines.length && !lines[i]?.includes('-->')) {
+ i++;
+ }
+
+ // Parse cues
+ while (i < lines.length) {
+ const line = lines[i]?.trim();
+
+ if (line?.includes('-->')) {
+ // Found a time line
+ const timeMatch = line.match(/(\d{2}:\d{2}:\d{2}\.\d{3})\s*-->\s*(\d{2}:\d{2}:\d{2}\.\d{3})/);
+
+ if (timeMatch && timeMatch[1] && timeMatch[2]) {
+ const startTime = parseVTTTime(timeMatch[1]);
+ const endTime = parseVTTTime(timeMatch[2]);
+
+ // Collect subtitle text lines
+ i++;
+ const textLines: string[] = [];
+
+ while (i < lines.length && lines[i]?.trim() !== '') {
+ const textLine = lines[i]?.trim();
+ if (textLine) {
+ textLines.push(textLine);
+ }
+ i++;
+ }
+
+ if (textLines.length > 0) {
+ cues.push({
+ start: startTime,
+ end: endTime,
+ text: textLines.join('\n').replace(/<[^>]*>/g, '') // Strip HTML tags for now
+ });
+ }
+ }
+ }
+
+ i++;
+ }
+
+ return cues;
+};
+
+/**
+ * Parse VTT time format (HH:MM:SS.mmm) to seconds
+ */
+const parseVTTTime = (timeStr: string): number => {
+ const parts = timeStr.split(':');
+ const lastPart = parts[parts.length - 1];
+ if (!lastPart) return 0;
+
+ const seconds = lastPart.split('.');
+
+ const hours = parseInt(parts[0] || '0', 10);
+ const minutes = parseInt(parts[1] || '0', 10);
+ const secs = parseInt(seconds[0] || '0', 10);
+ const milliseconds = parseInt(seconds[1] || '0', 10);
+
+ return hours * 3600 + minutes * 60 + secs + milliseconds / 1000;
+};
+
+/**
+ * Find active subtitle cue for given time
+ */
+export const findActiveSubtitle = (cues: SubtitleCue[], currentTime: number): SubtitleCue | null => {
+ return cues.find(cue => currentTime >= cue.start && currentTime <= cue.end) || null;
+};
+
+/**
+ * Parse M3U8 playlist content to extract VTT file URL
+ */
+const parseM3U8ForVTTUrl = (content: string, baseUrl: string): string | null => {
+ const lines = content.split('\n');
+
+ for (const line of lines) {
+ const trimmedLine = line.trim();
+ // Look for lines that end with .vtt and don't start with #
+ if (!trimmedLine.startsWith('#') && trimmedLine.includes('.vtt')) {
+ let vttUrl = trimmedLine;
+
+ // Resolve relative URL if needed
+ if (vttUrl.startsWith('/')) {
+ const urlObj = new URL(baseUrl);
+ vttUrl = `${urlObj.protocol}//${urlObj.host}${vttUrl}`;
+ } else if (!vttUrl.startsWith('http')) {
+ const basePath = baseUrl.substring(0, baseUrl.lastIndexOf('/') + 1);
+ vttUrl = basePath + vttUrl;
+ }
+
+ return vttUrl;
+ }
+ }
+
+ return null;
+};
+
+/**
+ * Fetch and parse subtitle file from URL
+ */
+export const fetchSubtitleFile = async (url: string): Promise => {
+ try {
+ const response = await fetch(url);
+
+ if (!response.ok) {
+ throw new Error(`Failed to fetch subtitle file: ${response.status}`);
+ }
+
+ const content = await response.text();
+
+ // Check if this is an M3U8 playlist instead of a VTT file
+ if (content.trim().startsWith('#EXTM3U')) {
+ const vttUrl = parseM3U8ForVTTUrl(content, url);
+
+ if (vttUrl) {
+ // Recursively fetch the actual VTT file
+ return await fetchSubtitleFile(vttUrl);
+ } else {
+ console.warn('No VTT URL found in M3U8 playlist');
+ return [];
+ }
+ }
+
+ // Content is already VTT, parse it directly
+ const cues = parseWebVTT(content);
+ return cues;
+ } catch (error) {
+ console.warn('Failed to fetch subtitle file:', error);
+ return [];
+ }
+};