From c5f22dcedd5a4bf14fdd5d8b7e7852fbec401c1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Garc=C3=ADa?= Date: Tue, 13 Jan 2026 20:36:00 -0600 Subject: [PATCH 01/18] improvements --- .../__mocks__/react-native-nitro-modules.ts | 33 ++- .../native-date/__tests__/comparisons.test.ts | 138 ++++++++++++ .../__tests__/library-comparison.test.ts | 207 ++++++++++++++++++ .../native-date/__tests__/setters.test.ts | 201 +++++++++++++++++ .../native-date/__tests__/standards.test.ts | 25 ++- .../native-date/__tests__/timezone.test.ts | 174 +++++++++++++++ packages/native-date/cpp/HybridNativeDate.cpp | 34 ++- packages/native-date/cpp/HybridNativeDate.hpp | 1 + packages/native-date/src/NativeDate.nitro.ts | 1 + packages/native-date/src/index.tsx | 176 ++++++++++++++- 10 files changed, 959 insertions(+), 31 deletions(-) create mode 100644 packages/native-date/__tests__/setters.test.ts diff --git a/packages/native-date/__tests__/__mocks__/react-native-nitro-modules.ts b/packages/native-date/__tests__/__mocks__/react-native-nitro-modules.ts index ef01228..ec69149 100644 --- a/packages/native-date/__tests__/__mocks__/react-native-nitro-modules.ts +++ b/packages/native-date/__tests__/__mocks__/react-native-nitro-modules.ts @@ -23,6 +23,7 @@ type TimeUnit = | 'millisecond'; // Timezone offsets in minutes (simplified for testing) +// Note: These don't account for DST - real implementation uses platform APIs const TIMEZONE_OFFSETS: Record = { 'UTC': 0, 'America/New_York': -300, // EST (not accounting for DST) @@ -33,6 +34,29 @@ const TIMEZONE_OFFSETS: Record = { 'Australia/Sydney': 660, }; +// DST-aware offsets (simplified - June vs January) +function getTimezoneOffsetForDate(tz: string, timestamp: number): number { + const date = new Date(timestamp); + const month = date.getUTCMonth(); + const isDST = month >= 3 && month <= 10; // April-October (Northern Hemisphere) + + // Simplified DST handling for common timezones + if (tz === 'America/New_York') { + return isDST ? -240 : -300; // EDT vs EST + } + if (tz === 'America/Los_Angeles') { + return isDST ? -420 : -480; // PDT vs PST + } + if (tz === 'Europe/London') { + return isDST ? 60 : 0; // BST vs GMT + } + if (tz === 'Europe/Paris') { + return isDST ? 120 : 60; // CEST vs CET + } + + return TIMEZONE_OFFSETS[tz] ?? 0; +} + const AVAILABLE_TIMEZONES = Object.keys(TIMEZONE_OFFSETS); function parseISO8601(dateString: string): number { @@ -860,9 +884,14 @@ const mockNativeDate = { getTimezone: () => 'America/New_York', getTimezoneOffset: () => new Date().getTimezoneOffset(), getTimezoneOffsetForTimestamp: () => new Date().getTimezoneOffset(), + getOffsetInTimezone: (ts: number, tz: string) => getTimezoneOffsetForDate(tz, ts), toTimezone: (ts: number, _tz: string) => ts, // Simplified - formatInTimezone: (ts: number, pattern: string, _tz: string) => - formatDate(ts, pattern), + formatInTimezone: (ts: number, pattern: string, tz: string) => { + // Apply timezone offset for proper formatting + const offset = getTimezoneOffsetForDate(tz, ts); + const adjustedTs = ts + offset * 60 * 1000; + return formatDate(adjustedTs, pattern, true); // Use UTC after adjustment + }, getAvailableTimezones: () => AVAILABLE_TIMEZONES, isValidTimezone: (tz: string) => AVAILABLE_TIMEZONES.includes(tz), diff --git a/packages/native-date/__tests__/comparisons.test.ts b/packages/native-date/__tests__/comparisons.test.ts index 8136b62..51773b3 100644 --- a/packages/native-date/__tests__/comparisons.test.ts +++ b/packages/native-date/__tests__/comparisons.test.ts @@ -6,6 +6,10 @@ import { isSameDay, isSameMonth, isSameYear, + isToday, + isTomorrow, + isYesterday, + toISOString, diff, diffInDays, diffInMonths, @@ -17,6 +21,10 @@ import { clamp, min, max, + now, + addDays, + subDays, + format, } from '../src/index'; describe('Date Comparisons', () => { @@ -221,3 +229,133 @@ describe('Utility Functions', () => { }); }); }); + +describe('Local Time Predicates (date-fns compatible)', () => { + describe('toISOString()', () => { + it('should produce valid ISO 8601 string in UTC', () => { + // Jan 14, 2024 00:00:00 UTC + const utcTimestamp = Date.UTC(2024, 0, 14, 0, 0, 0, 0); + const result = toISOString(utcTimestamp); + // Should output UTC time with Z suffix + expect(result).toBe('2024-01-14T00:00:00.000Z'); + }); + + it('should match native Date.toISOString() behavior', () => { + const testDate = new Date('2024-06-15T14:30:45.123Z'); + const result = toISOString(testDate.getTime()); + expect(result).toBe(testDate.toISOString()); + }); + + it('should format UTC regardless of input timezone context', () => { + // This timestamp represents a specific moment in time + const timestamp = parse('2024-12-25T10:30:45Z'); + const result = toISOString(timestamp); + expect(result).toBe('2024-12-25T10:30:45.000Z'); + }); + }); + + describe('isToday() - local time comparison', () => { + it('should return true for current timestamp', () => { + expect(isToday(now())).toBe(true); + }); + + it('should return false for yesterday', () => { + const yesterday = subDays(now(), 1); + expect(isToday(yesterday)).toBe(false); + }); + + it('should return false for tomorrow', () => { + const tomorrow = addDays(now(), 1); + expect(isToday(tomorrow)).toBe(false); + }); + + it('should use local time for comparison', () => { + // Create a date string for today in local time + const todayStr = format(now(), 'yyyy-MM-dd'); + // Parse it back - should be considered today + const todayParsed = parse(todayStr + 'T12:00:00'); + expect(isToday(todayParsed)).toBe(true); + }); + }); + + describe('isTomorrow() - local time comparison', () => { + it('should return true for tomorrow', () => { + const tomorrow = addDays(now(), 1); + expect(isTomorrow(tomorrow)).toBe(true); + }); + + it('should return false for today', () => { + expect(isTomorrow(now())).toBe(false); + }); + + it('should return false for day after tomorrow', () => { + const dayAfter = addDays(now(), 2); + expect(isTomorrow(dayAfter)).toBe(false); + }); + }); + + describe('isYesterday() - local time comparison', () => { + it('should return true for yesterday', () => { + const yesterday = subDays(now(), 1); + expect(isYesterday(yesterday)).toBe(true); + }); + + it('should return false for today', () => { + expect(isYesterday(now())).toBe(false); + }); + + it('should return false for day before yesterday', () => { + const dayBefore = subDays(now(), 2); + expect(isYesterday(dayBefore)).toBe(false); + }); + }); + + describe('isSameDay() - local time comparison', () => { + it('should compare days in local time', () => { + // Two times on the same local day + const morning = parse('2024-06-15T08:00:00'); + const evening = parse('2024-06-15T20:00:00'); + expect(isSameDay(morning, evening)).toBe(true); + }); + + it('should return false for different local days', () => { + const day1 = parse('2024-06-15T12:00:00'); + const day2 = parse('2024-06-16T12:00:00'); + expect(isSameDay(day1, day2)).toBe(false); + }); + + it('should handle dates across months', () => { + const lastDay = parse('2024-06-30T23:00:00'); + const firstDay = parse('2024-07-01T01:00:00'); + expect(isSameDay(lastDay, firstDay)).toBe(false); + }); + }); + + describe('isSameMonth() - local time comparison', () => { + it('should compare months in local time', () => { + const early = parse('2024-06-01T12:00:00'); + const late = parse('2024-06-30T12:00:00'); + expect(isSameMonth(early, late)).toBe(true); + }); + + it('should return false for different months', () => { + const june = parse('2024-06-15T12:00:00'); + const july = parse('2024-07-15T12:00:00'); + expect(isSameMonth(june, july)).toBe(false); + }); + }); + + describe('isSameYear() - local time comparison', () => { + it('should compare years in local time', () => { + const jan = parse('2024-01-15T12:00:00'); + const dec = parse('2024-12-15T12:00:00'); + expect(isSameYear(jan, dec)).toBe(true); + }); + + it('should return false for different years', () => { + const y2024 = parse('2024-06-15T12:00:00'); + const y2025 = parse('2025-06-15T12:00:00'); + expect(isSameYear(y2024, y2025)).toBe(false); + }); + }); +}); diff --git a/packages/native-date/__tests__/library-comparison.test.ts b/packages/native-date/__tests__/library-comparison.test.ts index 0d278fe..1f4ab3e 100644 --- a/packages/native-date/__tests__/library-comparison.test.ts +++ b/packages/native-date/__tests__/library-comparison.test.ts @@ -54,10 +54,14 @@ import { isSameDay, isSameMonth, isSameYear, + isToday, + isTomorrow, + isYesterday, clamp, min, max, toISOString, + now, } from '../src/index'; import { @@ -106,9 +110,15 @@ import { isSameMonth as dfIsSameMonth, isSameYear as dfIsSameYear, isWeekend as dfIsWeekend, + isToday as dfIsToday, + isTomorrow as dfIsTomorrow, + isYesterday as dfIsYesterday, } from 'date-fns'; import dayjs from 'dayjs'; +import isTodayPlugin from 'dayjs/plugin/isToday'; + +dayjs.extend(isTodayPlugin); describe('Library Comparison Tests', () => { // Test dates covering various edge cases @@ -1231,4 +1241,201 @@ describe('Library Comparison Tests', () => { }); }); }); + + // ============================================================ + // DATE PREDICATES - LOCAL TIME COMPARISON + // ============================================================ + describe('Date Predicates - Local Time Comparison', () => { + describe('isToday vs date-fns', () => { + it('should match date-fns for current timestamp', () => { + const current = now(); + expect(isToday(current)).toBe(dfIsToday(new Date(current))); + }); + + it('should match date-fns for yesterday', () => { + const yesterday = subDays(now(), 1); + expect(isToday(yesterday)).toBe(dfIsToday(new Date(yesterday))); + }); + + it('should match date-fns for tomorrow', () => { + const tomorrow = addDays(now(), 1); + expect(isToday(tomorrow)).toBe(dfIsToday(new Date(tomorrow))); + }); + }); + + describe('isTomorrow vs date-fns', () => { + it('should match date-fns for tomorrow', () => { + const tomorrow = addDays(now(), 1); + expect(isTomorrow(tomorrow)).toBe(dfIsTomorrow(new Date(tomorrow))); + }); + + it('should match date-fns for today', () => { + const current = now(); + expect(isTomorrow(current)).toBe(dfIsTomorrow(new Date(current))); + }); + + it('should match date-fns for day after tomorrow', () => { + const dayAfter = addDays(now(), 2); + expect(isTomorrow(dayAfter)).toBe(dfIsTomorrow(new Date(dayAfter))); + }); + }); + + describe('isYesterday vs date-fns', () => { + it('should match date-fns for yesterday', () => { + const yesterday = subDays(now(), 1); + expect(isYesterday(yesterday)).toBe(dfIsYesterday(new Date(yesterday))); + }); + + it('should match date-fns for today', () => { + const current = now(); + expect(isYesterday(current)).toBe(dfIsYesterday(new Date(current))); + }); + + it('should match date-fns for day before yesterday', () => { + const dayBefore = subDays(now(), 2); + expect(isYesterday(dayBefore)).toBe(dfIsYesterday(new Date(dayBefore))); + }); + }); + + describe('isSameDay vs date-fns with different times', () => { + it('should match date-fns for same day different hours', () => { + const morning = parse('2024-06-15T06:00:00'); + const evening = parse('2024-06-15T22:00:00'); + expect(isSameDay(morning, evening)).toBe( + dfIsSameDay(new Date(morning), new Date(evening)) + ); + }); + + it('should match date-fns for different days', () => { + const day1 = parse('2024-06-15T23:59:59'); + const day2 = parse('2024-06-16T00:00:01'); + expect(isSameDay(day1, day2)).toBe( + dfIsSameDay(new Date(day1), new Date(day2)) + ); + }); + }); + + describe('isSameMonth vs date-fns', () => { + it('should match date-fns for same month different days', () => { + const early = parse('2024-06-01T12:00:00'); + const late = parse('2024-06-30T12:00:00'); + expect(isSameMonth(early, late)).toBe( + dfIsSameMonth(new Date(early), new Date(late)) + ); + }); + + it('should match date-fns for different months', () => { + const june = parse('2024-06-30T23:59:59'); + const july = parse('2024-07-01T00:00:01'); + expect(isSameMonth(june, july)).toBe( + dfIsSameMonth(new Date(june), new Date(july)) + ); + }); + }); + + describe('isSameYear vs date-fns', () => { + it('should match date-fns for same year different months', () => { + const jan = parse('2024-01-01T12:00:00'); + const dec = parse('2024-12-31T12:00:00'); + expect(isSameYear(jan, dec)).toBe( + dfIsSameYear(new Date(jan), new Date(dec)) + ); + }); + + it('should match date-fns for different years', () => { + const dec = parse('2024-12-31T23:59:59'); + const jan = parse('2025-01-01T00:00:01'); + expect(isSameYear(dec, jan)).toBe( + dfIsSameYear(new Date(dec), new Date(jan)) + ); + }); + }); + }); + + // ============================================================ + // DATE PREDICATES VS DAYJS + // ============================================================ + describe('Date Predicates vs dayjs', () => { + describe('isToday vs dayjs', () => { + it('should match dayjs for current timestamp', () => { + const current = now(); + expect(isToday(current)).toBe(dayjs(current).isToday()); + }); + }); + + describe('isSameDay vs dayjs', () => { + it('should match dayjs for same day', () => { + const morning = parse('2024-06-15T08:00:00'); + const evening = parse('2024-06-15T20:00:00'); + expect(isSameDay(morning, evening)).toBe( + dayjs(morning).isSame(dayjs(evening), 'day') + ); + }); + + it('should match dayjs for different days', () => { + const day1 = parse('2024-06-15T12:00:00'); + const day2 = parse('2024-06-16T12:00:00'); + expect(isSameDay(day1, day2)).toBe( + dayjs(day1).isSame(dayjs(day2), 'day') + ); + }); + }); + + describe('isSameMonth vs dayjs', () => { + it('should match dayjs', () => { + const early = parse('2024-06-01T12:00:00'); + const late = parse('2024-06-30T12:00:00'); + expect(isSameMonth(early, late)).toBe( + dayjs(early).isSame(dayjs(late), 'month') + ); + }); + }); + + describe('isSameYear vs dayjs', () => { + it('should match dayjs', () => { + const jan = parse('2024-01-15T12:00:00'); + const dec = parse('2024-12-15T12:00:00'); + expect(isSameYear(jan, dec)).toBe( + dayjs(jan).isSame(dayjs(dec), 'year') + ); + }); + }); + }); + + // ============================================================ + // toISOString COMPARISON + // ============================================================ + describe('toISOString vs Native Date', () => { + const testTimestamps = [ + Date.UTC(2024, 0, 14, 0, 0, 0, 0), // Jan 14, 2024 00:00:00 UTC + Date.UTC(2024, 5, 15, 14, 30, 45, 123), // Jun 15, 2024 14:30:45.123 UTC + Date.UTC(2024, 11, 31, 23, 59, 59, 999), // Dec 31, 2024 23:59:59.999 UTC + 0, // Unix epoch + -86400000, // One day before epoch + ]; + + testTimestamps.forEach((ts) => { + it(`toISOString(${ts}) should match native Date.toISOString()`, () => { + const nativeResult = toISOString(ts); + const jsResult = new Date(ts).toISOString(); + expect(nativeResult).toBe(jsResult); + }); + }); + + it('should produce UTC time, not local time', () => { + // Create a UTC timestamp + const utcTimestamp = Date.UTC(2024, 0, 14, 12, 0, 0, 0); + const result = toISOString(utcTimestamp); + + // Result should always be UTC + expect(result).toBe('2024-01-14T12:00:00.000Z'); + }); + + it('should be parseable back to the same timestamp', () => { + const original = Date.UTC(2024, 5, 15, 14, 30, 45, 123); + const isoString = toISOString(original); + const reparsed = parse(isoString); + expect(reparsed).toBe(original); + }); + }); }); diff --git a/packages/native-date/__tests__/setters.test.ts b/packages/native-date/__tests__/setters.test.ts new file mode 100644 index 0000000..c4797b2 --- /dev/null +++ b/packages/native-date/__tests__/setters.test.ts @@ -0,0 +1,201 @@ +import { + parse, + getComponents, + setYear, + setMonth, + setDate, + setHours, + setMinutes, + setSeconds, + setMilliseconds, + format, +} from '../src/index'; + +describe('Setter Functions', () => { + const baseDate = parse('2024-06-15T14:30:45.123'); + + describe('setYear()', () => { + it('should change the year', () => { + const result = setYear(baseDate, 2025); + const components = getComponents(result); + expect(components.year).toBe(2025); + expect(components.month).toBe(6); + expect(components.day).toBe(15); + }); + + it('should not modify the original timestamp', () => { + const original = parse('2024-06-15T12:00:00'); + const modified = setYear(original, 2025); + expect(getComponents(original).year).toBe(2024); + expect(getComponents(modified).year).toBe(2025); + }); + + it('should handle Feb 29 to non-leap year', () => { + const leapDate = parse('2024-02-29T12:00:00'); // 2024 is leap year + const result = setYear(leapDate, 2023); // 2023 is not leap year + const components = getComponents(result); + expect(components.year).toBe(2023); + expect(components.month).toBe(2); + expect(components.day).toBe(28); // Should clamp to Feb 28 + }); + + it('should preserve Feb 29 for leap year', () => { + const leapDate = parse('2024-02-29T12:00:00'); + const result = setYear(leapDate, 2028); // 2028 is leap year + const components = getComponents(result); + expect(components.year).toBe(2028); + expect(components.month).toBe(2); + expect(components.day).toBe(29); // Should keep Feb 29 + }); + }); + + describe('setMonth()', () => { + it('should change the month', () => { + const result = setMonth(baseDate, 12); + const components = getComponents(result); + expect(components.year).toBe(2024); + expect(components.month).toBe(12); + expect(components.day).toBe(15); + }); + + it('should clamp day when needed', () => { + // Jan 31 -> Feb should become Feb 28/29 + const jan31 = parse('2024-01-31T12:00:00'); + const result = setMonth(jan31, 2); // February + const components = getComponents(result); + expect(components.month).toBe(2); + expect(components.day).toBe(29); // 2024 is leap year + }); + + it('should clamp day for non-leap February', () => { + const jan31 = parse('2023-01-31T12:00:00'); + const result = setMonth(jan31, 2); // February in non-leap year + const components = getComponents(result); + expect(components.month).toBe(2); + expect(components.day).toBe(28); + }); + + it('should handle month with 30 days', () => { + // Jan 31 -> April (30 days) + const jan31 = parse('2024-01-31T12:00:00'); + const result = setMonth(jan31, 4); // April + const components = getComponents(result); + expect(components.month).toBe(4); + expect(components.day).toBe(30); + }); + }); + + describe('setDate()', () => { + it('should change the day', () => { + const result = setDate(baseDate, 25); + const components = getComponents(result); + expect(components.day).toBe(25); + expect(components.month).toBe(6); + }); + + it('should preserve time components', () => { + const result = setDate(baseDate, 1); + const components = getComponents(result); + expect(components.day).toBe(1); + expect(components.hour).toBe(14); + expect(components.minute).toBe(30); + expect(components.second).toBe(45); + }); + }); + + describe('setHours()', () => { + it('should change the hours', () => { + const result = setHours(baseDate, 9); + const components = getComponents(result); + expect(components.hour).toBe(9); + expect(components.minute).toBe(30); + expect(components.second).toBe(45); + }); + + it('should handle midnight', () => { + const result = setHours(baseDate, 0); + const components = getComponents(result); + expect(components.hour).toBe(0); + }); + + it('should handle 23:00', () => { + const result = setHours(baseDate, 23); + const components = getComponents(result); + expect(components.hour).toBe(23); + }); + }); + + describe('setMinutes()', () => { + it('should change the minutes', () => { + const result = setMinutes(baseDate, 45); + const components = getComponents(result); + expect(components.minute).toBe(45); + expect(components.hour).toBe(14); + expect(components.second).toBe(45); + }); + + it('should handle 0 minutes', () => { + const result = setMinutes(baseDate, 0); + const components = getComponents(result); + expect(components.minute).toBe(0); + }); + + it('should handle 59 minutes', () => { + const result = setMinutes(baseDate, 59); + const components = getComponents(result); + expect(components.minute).toBe(59); + }); + }); + + describe('setSeconds()', () => { + it('should change the seconds', () => { + const result = setSeconds(baseDate, 30); + const components = getComponents(result); + expect(components.second).toBe(30); + expect(components.minute).toBe(30); + }); + + it('should handle 0 seconds', () => { + const result = setSeconds(baseDate, 0); + const components = getComponents(result); + expect(components.second).toBe(0); + }); + + it('should handle 59 seconds', () => { + const result = setSeconds(baseDate, 59); + const components = getComponents(result); + expect(components.second).toBe(59); + }); + }); + + describe('setMilliseconds()', () => { + it('should change the milliseconds', () => { + const result = setMilliseconds(baseDate, 500); + const components = getComponents(result); + expect(components.millisecond).toBe(500); + }); + + it('should handle 0 milliseconds', () => { + const result = setMilliseconds(baseDate, 0); + const components = getComponents(result); + expect(components.millisecond).toBe(0); + }); + + it('should handle 999 milliseconds', () => { + const result = setMilliseconds(baseDate, 999); + const components = getComponents(result); + expect(components.millisecond).toBe(999); + }); + }); + + describe('Chaining setters', () => { + it('should work when chained', () => { + const date = parse('2024-01-15T10:30:00'); + const result = setMinutes(setHours(setMonth(date, 6), 14), 45); + const components = getComponents(result); + expect(components.month).toBe(6); + expect(components.hour).toBe(14); + expect(components.minute).toBe(45); + }); + }); +}); diff --git a/packages/native-date/__tests__/standards.test.ts b/packages/native-date/__tests__/standards.test.ts index 81a2d05..f7e4039 100644 --- a/packages/native-date/__tests__/standards.test.ts +++ b/packages/native-date/__tests__/standards.test.ts @@ -554,27 +554,28 @@ describe('Date Standards Compliance', () => { }); describe('isSameDay / isSameMonth / isSameYear', () => { - it('should identify same day', () => { - const date1 = parse('2024-06-15T10:00:00Z'); - const date2 = parse('2024-06-15T20:00:00Z'); + it('should identify same day (local time comparison)', () => { + // Use local time strings - these should be same day in any timezone + const date1 = parse('2024-06-15T10:00:00'); + const date2 = parse('2024-06-15T20:00:00'); expect(isSameDay(date1, date2)).toBe(true); }); - it('should identify different days', () => { - const date1 = parse('2024-06-15T12:00:00Z'); - const date2 = parse('2024-06-16T12:00:00Z'); + it('should identify different days (local time comparison)', () => { + const date1 = parse('2024-06-15T12:00:00'); + const date2 = parse('2024-06-16T12:00:00'); expect(isSameDay(date1, date2)).toBe(false); }); - it('should identify same month', () => { - const date1 = parse('2024-06-01T12:00:00Z'); - const date2 = parse('2024-06-30T12:00:00Z'); + it('should identify same month (local time comparison)', () => { + const date1 = parse('2024-06-01T12:00:00'); + const date2 = parse('2024-06-30T12:00:00'); expect(isSameMonth(date1, date2)).toBe(true); }); - it('should identify same year', () => { - const date1 = parse('2024-01-15T12:00:00Z'); - const date2 = parse('2024-12-15T12:00:00Z'); + it('should identify same year (local time comparison)', () => { + const date1 = parse('2024-01-15T12:00:00'); + const date2 = parse('2024-12-15T12:00:00'); expect(isSameYear(date1, date2)).toBe(true); }); }); diff --git a/packages/native-date/__tests__/timezone.test.ts b/packages/native-date/__tests__/timezone.test.ts index 64fa545..8cc1c4a 100644 --- a/packages/native-date/__tests__/timezone.test.ts +++ b/packages/native-date/__tests__/timezone.test.ts @@ -2,11 +2,23 @@ import { parse, getTimezone, getTimezoneOffset, + getOffsetInTimezone, formatInTimezone, getAvailableTimezones, isValidTimezone, toUTC, formatInUTC, + now, + addDays, + subDays, + isTodayInTz, + isTomorrowInTz, + isYesterdayInTz, + isSameDayInTz, + isSameMonthInTz, + isSameYearInTz, + startOfDayInTz, + endOfDayInTz, } from '../src/index'; describe('Timezone Functions', () => { @@ -91,4 +103,166 @@ describe('Timezone Functions', () => { expect(result).toMatch(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/); }); }); + + describe('getOffsetInTimezone()', () => { + it('should return 0 for UTC', () => { + const offset = getOffsetInTimezone(testDate, 'UTC'); + expect(offset).toBe(0); + }); + + it('should return correct offset for known timezone', () => { + // UTC timestamp for Jan 15, 2024 12:00 UTC + const utcDate = parse('2024-01-15T12:00:00Z'); + const nyOffset = getOffsetInTimezone(utcDate, 'America/New_York'); + // In January, NY is EST (UTC-5), so offset should be -300 minutes + expect(nyOffset).toBe(-300); + }); + + it('should handle DST correctly', () => { + // In summer, NY is EDT (UTC-4) + const summerDate = parse('2024-06-15T12:00:00Z'); + const nyOffset = getOffsetInTimezone(summerDate, 'America/New_York'); + // In June, NY is EDT (UTC-4), so offset should be -240 minutes + expect(nyOffset).toBe(-240); + }); + }); +}); + +describe('Timezone-Aware Predicates (InTz)', () => { + describe('isTodayInTz()', () => { + it('should return true for current time in any timezone', () => { + const current = now(); + expect(isTodayInTz(current, 'America/New_York')).toBe(true); + expect(isTodayInTz(current, 'Asia/Tokyo')).toBe(true); + expect(isTodayInTz(current, 'UTC')).toBe(true); + }); + + it('should return false for yesterday', () => { + const yesterday = subDays(now(), 1); + expect(isTodayInTz(yesterday, 'UTC')).toBe(false); + }); + + it('should return false for tomorrow', () => { + const tomorrow = addDays(now(), 1); + expect(isTodayInTz(tomorrow, 'UTC')).toBe(false); + }); + }); + + describe('isTomorrowInTz()', () => { + it('should return true for tomorrow', () => { + const tomorrow = addDays(now(), 1); + expect(isTomorrowInTz(tomorrow, 'UTC')).toBe(true); + }); + + it('should return false for today', () => { + expect(isTomorrowInTz(now(), 'UTC')).toBe(false); + }); + }); + + describe('isYesterdayInTz()', () => { + it('should return true for yesterday', () => { + const yesterday = subDays(now(), 1); + expect(isYesterdayInTz(yesterday, 'UTC')).toBe(true); + }); + + it('should return false for today', () => { + expect(isYesterdayInTz(now(), 'UTC')).toBe(false); + }); + }); + + describe('isSameDayInTz()', () => { + it('should return true for same day in timezone', () => { + const date1 = parse('2024-06-15T10:00:00Z'); + const date2 = parse('2024-06-15T22:00:00Z'); + expect(isSameDayInTz(date1, date2, 'UTC')).toBe(true); + }); + + it('should return false for different days in timezone', () => { + const date1 = parse('2024-06-15T12:00:00Z'); + const date2 = parse('2024-06-16T12:00:00Z'); + expect(isSameDayInTz(date1, date2, 'UTC')).toBe(false); + }); + + it('should handle timezone boundary correctly', () => { + // 11pm UTC on June 15 = 8am June 16 in Tokyo (UTC+9) + const date1 = parse('2024-06-15T23:00:00Z'); + const date2 = parse('2024-06-16T08:00:00Z'); + // In Tokyo, both are June 16 + expect(isSameDayInTz(date1, date2, 'Asia/Tokyo')).toBe(true); + // In UTC, they're different days + expect(isSameDayInTz(date1, date2, 'UTC')).toBe(false); + }); + }); + + describe('isSameMonthInTz()', () => { + it('should return true for same month in timezone', () => { + const date1 = parse('2024-06-01T12:00:00Z'); + const date2 = parse('2024-06-30T12:00:00Z'); + expect(isSameMonthInTz(date1, date2, 'UTC')).toBe(true); + }); + + it('should return false for different months', () => { + const date1 = parse('2024-06-30T12:00:00Z'); + const date2 = parse('2024-07-01T12:00:00Z'); + expect(isSameMonthInTz(date1, date2, 'UTC')).toBe(false); + }); + }); + + describe('isSameYearInTz()', () => { + it('should return true for same year in timezone', () => { + const date1 = parse('2024-01-15T12:00:00Z'); + const date2 = parse('2024-12-15T12:00:00Z'); + expect(isSameYearInTz(date1, date2, 'UTC')).toBe(true); + }); + + it('should return false for different years', () => { + const date1 = parse('2024-12-31T12:00:00Z'); + const date2 = parse('2025-01-01T12:00:00Z'); + expect(isSameYearInTz(date1, date2, 'UTC')).toBe(false); + }); + }); + + describe('startOfDayInTz()', () => { + it('should return midnight UTC for UTC timezone', () => { + const date = parse('2024-06-15T14:30:00Z'); + const startOfDay = startOfDayInTz(date, 'UTC'); + const formatted = formatInTimezone(startOfDay, 'yyyy-MM-dd HH:mm:ss', 'UTC'); + expect(formatted).toBe('2024-06-15 00:00:00'); + }); + + it('should return midnight in specified timezone', () => { + const date = parse('2024-06-15T14:30:00Z'); + const startOfDay = startOfDayInTz(date, 'America/New_York'); + const formatted = formatInTimezone( + startOfDay, + 'yyyy-MM-dd HH:mm:ss', + 'America/New_York' + ); + expect(formatted).toBe('2024-06-15 00:00:00'); + }); + + it('should return correct UTC timestamp for timezone midnight', () => { + // Midnight in NY (UTC-4 in June) should be 04:00 UTC + const date = parse('2024-06-15T14:30:00Z'); + const startOfDay = startOfDayInTz(date, 'America/New_York'); + const formattedUTC = formatInTimezone(startOfDay, 'HH:mm:ss', 'UTC'); + expect(formattedUTC).toBe('04:00:00'); + }); + }); + + describe('endOfDayInTz()', () => { + it('should return end of day in specified timezone', () => { + const date = parse('2024-06-15T14:30:00Z'); + const endOfDay = endOfDayInTz(date, 'UTC'); + const formatted = formatInTimezone(endOfDay, 'yyyy-MM-dd HH:mm:ss', 'UTC'); + expect(formatted).toBe('2024-06-15 23:59:59'); + }); + + it('should be 1ms before next day start', () => { + const date = parse('2024-06-15T14:30:00Z'); + const endOfDay = endOfDayInTz(date, 'UTC'); + const nextDayStart = startOfDayInTz(addDays(date, 1), 'UTC'); + expect(nextDayStart - endOfDay).toBe(1); + }); + }); }); diff --git a/packages/native-date/cpp/HybridNativeDate.cpp b/packages/native-date/cpp/HybridNativeDate.cpp index 3851dd1..c738526 100644 --- a/packages/native-date/cpp/HybridNativeDate.cpp +++ b/packages/native-date/cpp/HybridNativeDate.cpp @@ -1033,12 +1033,7 @@ int64_t HybridNativeDate::getMillisForUnit(TimeUnit unit) { } double HybridNativeDate::truncateToUnit(double timestamp, TimeUnit unit) { - // Fast path for DAY (UTC) - avoids component conversion - if (unit == TimeUnit::DAY) { - int64_t ms = static_cast(timestamp); - return static_cast(floorDayStartMs(ms)); - } - + // Use local time components for all units (consistent behavior) InternalDateComponents dc = timestampToComponents(timestamp); switch (unit) { @@ -1057,12 +1052,20 @@ double HybridNativeDate::truncateToUnit(double timestamp, TimeUnit unit) { dc.minute = 0; break; case TimeUnit::DAY: - // Handled above + dc.millisecond = 0; + dc.second = 0; + dc.minute = 0; + dc.hour = 0; break; case TimeUnit::WEEK: { - int64_t dayStart = floorDayStartMs(static_cast(timestamp)); - int dayOfWeek = getDayOfWeek(static_cast(dayStart)); // 0 = Sunday - return static_cast(dayStart - (static_cast(dayOfWeek) * MS_PER_DAY)); + // Get start of day in local time, then subtract to Sunday + dc.millisecond = 0; + dc.second = 0; + dc.minute = 0; + dc.hour = 0; + double localDayStart = componentsToTimestamp(dc); + // dayOfWeek is already in local time from timestampToComponents + return localDayStart - (static_cast(dc.dayOfWeek) * MS_PER_DAY); } case TimeUnit::MONTH: dc.millisecond = 0; @@ -1271,6 +1274,17 @@ double HybridNativeDate::getTimezoneOffsetForTimestamp(double timestamp) { return static_cast(TimezoneHelper::getOffsetForTimestamp(systemTz, timestampMs)); } +double HybridNativeDate::getOffsetInTimezone(double timestamp, const std::string& timezone) { + // Get the offset for a specific timezone at a specific timestamp + // Returns offset in minutes (positive = east of UTC, negative = west) + if (timezone == "UTC") { + return 0; + } + std::string normalizedTz = TimezoneHelper::normalizeTimezone(timezone); + int64_t timestampMs = static_cast(timestamp); + return static_cast(TimezoneHelper::getOffsetForTimestamp(normalizedTz, timestampMs)); +} + double HybridNativeDate::toTimezone(double timestamp, const std::string& timezone) { if (timezone == "UTC") { return timestamp; diff --git a/packages/native-date/cpp/HybridNativeDate.hpp b/packages/native-date/cpp/HybridNativeDate.hpp index 62556f6..066c886 100644 --- a/packages/native-date/cpp/HybridNativeDate.hpp +++ b/packages/native-date/cpp/HybridNativeDate.hpp @@ -82,6 +82,7 @@ class HybridNativeDate : public HybridNativeDateSpec { std::string getTimezone() override; double getTimezoneOffset() override; double getTimezoneOffsetForTimestamp(double timestamp) override; + double getOffsetInTimezone(double timestamp, const std::string& timezone) override; double toTimezone(double timestamp, const std::string& timezone) override; std::string formatInTimezone(double timestamp, const std::string& pattern, const std::string& timezone) override; std::vector getAvailableTimezones() override; diff --git a/packages/native-date/src/NativeDate.nitro.ts b/packages/native-date/src/NativeDate.nitro.ts index c3ea5fc..5fa81d0 100644 --- a/packages/native-date/src/NativeDate.nitro.ts +++ b/packages/native-date/src/NativeDate.nitro.ts @@ -115,6 +115,7 @@ export interface NativeDate getTimezone(): string; getTimezoneOffset(): number; getTimezoneOffsetForTimestamp(timestamp: number): number; + getOffsetInTimezone(timestamp: number, timezone: string): number; toTimezone(timestamp: number, timezone: string): number; formatInTimezone( timestamp: number, diff --git a/packages/native-date/src/index.tsx b/packages/native-date/src/index.tsx index 08d0706..b1b0572 100644 --- a/packages/native-date/src/index.tsx +++ b/packages/native-date/src/index.tsx @@ -754,6 +754,10 @@ export function getTimezoneOffsetForTimestamp(date: DateInput): number { return NativeDateModule.getTimezoneOffsetForTimestamp(toTimestamp(date)); } +export function getOffsetInTimezone(date: DateInput, timezone: Timezone): number { + return NativeDateModule.getOffsetInTimezone(toTimestamp(date), timezone); +} + export function toTimezone(date: DateInput, timezone: Timezone): number { return NativeDateModule.toTimezone(toTimestamp(date), timezone); } @@ -1097,7 +1101,7 @@ export function diffInYears(date1: DateInput, date2: DateInput): number { // ISO format helper export function toISOString(date: DateInput): string { - return format(date, "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); + return formatUTC(date, "yyyy-MM-dd'T'HH:mm:ss.SSS") + 'Z'; } export function formatDate(date: DateInput): string { @@ -1132,16 +1136,23 @@ export function formatInUTC(date: DateInput, pattern: string): string { } // Additional date-fns-like predicates +// These use getComponents() for fast local time comparison (native C++ call) export function isToday(date: DateInput): boolean { - return isSame(date, now(), 'day'); + const d = getComponents(date); + const n = getComponents(now()); + return d.year === n.year && d.month === n.month && d.day === n.day; } export function isTomorrow(date: DateInput): boolean { - return isSame(date, addDays(now(), 1), 'day'); + const d = getComponents(date); + const tomorrow = getComponents(addDays(now(), 1)); + return d.year === tomorrow.year && d.month === tomorrow.month && d.day === tomorrow.day; } export function isYesterday(date: DateInput): boolean { - return isSame(date, subDays(now(), 1), 'day'); + const d = getComponents(date); + const yesterday = getComponents(subDays(now(), 1)); + return d.year === yesterday.year && d.month === yesterday.month && d.day === yesterday.day; } export function isPast(date: DateInput): boolean { @@ -1152,16 +1163,96 @@ export function isFuture(date: DateInput): boolean { return isAfter(date, now()); } +// These use getComponents() for fast local time comparison (native C++ call) export function isSameDay(date1: DateInput, date2: DateInput): boolean { - return isSame(date1, date2, 'day'); + const d1 = getComponents(date1); + const d2 = getComponents(date2); + return d1.year === d2.year && d1.month === d2.month && d1.day === d2.day; } export function isSameMonth(date1: DateInput, date2: DateInput): boolean { - return isSame(date1, date2, 'month'); + const d1 = getComponents(date1); + const d2 = getComponents(date2); + return d1.year === d2.year && d1.month === d2.month; } export function isSameYear(date1: DateInput, date2: DateInput): boolean { - return isSame(date1, date2, 'year'); + const d1 = getComponents(date1); + const d2 = getComponents(date2); + return d1.year === d2.year; +} + +// Timezone-aware predicates (InTz) +export function isTodayInTz(date: DateInput, timezone: Timezone): boolean { + const dateStr = formatInTimezone(date, 'yyyy-MM-dd', timezone); + const todayStr = formatInTimezone(now(), 'yyyy-MM-dd', timezone); + return dateStr === todayStr; +} + +export function isTomorrowInTz(date: DateInput, timezone: Timezone): boolean { + const dateStr = formatInTimezone(date, 'yyyy-MM-dd', timezone); + const tomorrowStr = formatInTimezone(addDays(now(), 1), 'yyyy-MM-dd', timezone); + return dateStr === tomorrowStr; +} + +export function isYesterdayInTz(date: DateInput, timezone: Timezone): boolean { + const dateStr = formatInTimezone(date, 'yyyy-MM-dd', timezone); + const yesterdayStr = formatInTimezone(subDays(now(), 1), 'yyyy-MM-dd', timezone); + return dateStr === yesterdayStr; +} + +export function isSameDayInTz( + date1: DateInput, + date2: DateInput, + timezone: Timezone +): boolean { + return ( + formatInTimezone(date1, 'yyyy-MM-dd', timezone) === + formatInTimezone(date2, 'yyyy-MM-dd', timezone) + ); +} + +export function isSameMonthInTz( + date1: DateInput, + date2: DateInput, + timezone: Timezone +): boolean { + return ( + formatInTimezone(date1, 'yyyy-MM', timezone) === + formatInTimezone(date2, 'yyyy-MM', timezone) + ); +} + +export function isSameYearInTz( + date1: DateInput, + date2: DateInput, + timezone: Timezone +): boolean { + return ( + formatInTimezone(date1, 'yyyy', timezone) === + formatInTimezone(date2, 'yyyy', timezone) + ); +} + +export function startOfDayInTz(date: DateInput, timezone: Timezone): number { + // Get the date string in target timezone (e.g., "2024-06-15") + const dateStr = formatInTimezone(date, 'yyyy-MM-dd', timezone); + + // Parse as UTC midnight for that date + const utcMidnight = parse(dateStr + 'T00:00:00Z'); + + // Get offset for target timezone at that time (in minutes) + const offsetMinutes = getOffsetInTimezone(utcMidnight, timezone); + + // Adjust: if timezone is UTC-7 (offset=-420), midnight local = 07:00 UTC + // So we SUBTRACT the offset (negative offset means we ADD hours) + return utcMidnight - offsetMinutes * 60 * 1000; +} + +export function endOfDayInTz(date: DateInput, timezone: Timezone): number { + // End of day = 23:59:59.999 = start of next day - 1ms + const nextDay = addDays(date, 1); + return startOfDayInTz(nextDay, timezone) - 1; } // Week helpers @@ -1222,6 +1313,77 @@ export function diffInSeconds(date1: DateInput, date2: DateInput): number { return diff(date1, date2, 'second'); } +// Helper: create timestamp from local time components (unlike fromComponents which uses UTC) +function fromComponentsLocal(components: { + year: number; + month: number; + day: number; + hour?: number; + minute?: number; + second?: number; + millisecond?: number; +}): number { + const { + year, + month, + day, + hour = 0, + minute = 0, + second = 0, + millisecond = 0, + } = components; + // Use new Date() constructor which interprets as local time (month is 0-indexed) + return new Date(year, month - 1, day, hour, minute, second, millisecond).getTime(); +} + +// Setters (immutable - return new timestamp) +// These use local time: getComponents returns local, setters preserve local time +export function setYear(date: DateInput, year: number): number { + const c = getComponents(date); + // Handle Feb 29 -> non-leap year + let day = c.day; + if (c.month === 2 && c.day === 29) { + const targetYear = fromComponentsLocal({ ...c, year, day: 1 }); + if (!isLeapYear(targetYear)) { + day = 28; + } + } + return fromComponentsLocal({ ...c, year, day }); +} + +export function setMonth(date: DateInput, month: number): number { + const c = getComponents(date); + const tempDate = fromComponentsLocal({ ...c, month, day: 1 }); + const maxDay = getDaysInMonth(tempDate); + const day = Math.min(c.day, maxDay); + return fromComponentsLocal({ ...c, month, day }); +} + +export function setDate(date: DateInput, day: number): number { + const c = getComponents(date); + return fromComponentsLocal({ ...c, day }); +} + +export function setHours(date: DateInput, hours: number): number { + const c = getComponents(date); + return fromComponentsLocal({ ...c, hour: hours }); +} + +export function setMinutes(date: DateInput, minutes: number): number { + const c = getComponents(date); + return fromComponentsLocal({ ...c, minute: minutes }); +} + +export function setSeconds(date: DateInput, seconds: number): number { + const c = getComponents(date); + return fromComponentsLocal({ ...c, second: seconds }); +} + +export function setMilliseconds(date: DateInput, milliseconds: number): number { + const c = getComponents(date); + return fromComponentsLocal({ ...c, millisecond: milliseconds }); +} + // ============================================================================= // CHAINABLE API (re-exported from chain.tsx for backwards compatibility) // ============================================================================= From 86bc9a432c54f14c1ced2da8bffe0c7bbad6d79e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Garc=C3=ADa?= Date: Tue, 13 Jan 2026 20:36:20 -0600 Subject: [PATCH 02/18] added native utils --- .../__mocks__/react-native-nitro-modules.ts | 44 ++ .../native-date/__tests__/setters.test.ts | 1 - packages/native-date/cpp/HybridNativeDate.cpp | 68 ++ packages/native-date/cpp/HybridNativeDate.hpp | 10 + packages/native-date/example/src/App.tsx | 17 +- .../example/src/ComparisonScreen.tsx | 651 ++++++++++++++++++ packages/native-date/src/NativeDate.nitro.ts | 10 + packages/native-date/src/index.tsx | 52 +- 8 files changed, 817 insertions(+), 36 deletions(-) create mode 100644 packages/native-date/example/src/ComparisonScreen.tsx diff --git a/packages/native-date/__tests__/__mocks__/react-native-nitro-modules.ts b/packages/native-date/__tests__/__mocks__/react-native-nitro-modules.ts index ec69149..c0bac5e 100644 --- a/packages/native-date/__tests__/__mocks__/react-native-nitro-modules.ts +++ b/packages/native-date/__tests__/__mocks__/react-native-nitro-modules.ts @@ -895,6 +895,50 @@ const mockNativeDate = { getAvailableTimezones: () => AVAILABLE_TIMEZONES, isValidTimezone: (tz: string) => AVAILABLE_TIMEZONES.includes(tz), + // Timezone-aware predicates (InTz) + isTodayInTz: (ts: number, tz: string) => { + const dateStr = mockNativeDate.formatInTimezone(ts, 'yyyy-MM-dd', tz); + const todayStr = mockNativeDate.formatInTimezone(Date.now(), 'yyyy-MM-dd', tz); + return dateStr === todayStr; + }, + isTomorrowInTz: (ts: number, tz: string) => { + const dateStr = mockNativeDate.formatInTimezone(ts, 'yyyy-MM-dd', tz); + const tomorrowTs = addToDate(Date.now(), 1, 'day'); + const tomorrowStr = mockNativeDate.formatInTimezone(tomorrowTs, 'yyyy-MM-dd', tz); + return dateStr === tomorrowStr; + }, + isYesterdayInTz: (ts: number, tz: string) => { + const dateStr = mockNativeDate.formatInTimezone(ts, 'yyyy-MM-dd', tz); + const yesterdayTs = addToDate(Date.now(), -1, 'day'); + const yesterdayStr = mockNativeDate.formatInTimezone(yesterdayTs, 'yyyy-MM-dd', tz); + return dateStr === yesterdayStr; + }, + isSameDayInTz: (ts1: number, ts2: number, tz: string) => { + return mockNativeDate.formatInTimezone(ts1, 'yyyy-MM-dd', tz) === + mockNativeDate.formatInTimezone(ts2, 'yyyy-MM-dd', tz); + }, + isSameMonthInTz: (ts1: number, ts2: number, tz: string) => { + return mockNativeDate.formatInTimezone(ts1, 'yyyy-MM', tz) === + mockNativeDate.formatInTimezone(ts2, 'yyyy-MM', tz); + }, + isSameYearInTz: (ts1: number, ts2: number, tz: string) => { + return mockNativeDate.formatInTimezone(ts1, 'yyyy', tz) === + mockNativeDate.formatInTimezone(ts2, 'yyyy', tz); + }, + startOfDayInTz: (ts: number, tz: string) => { + const dateStr = mockNativeDate.formatInTimezone(ts, 'yyyy-MM-dd', tz); + const utcMidnight = parseISO8601(dateStr + 'T00:00:00Z'); + const offsetMinutes = getTimezoneOffsetForDate(tz, utcMidnight); + return utcMidnight - (offsetMinutes * 60 * 1000); + }, + endOfDayInTz: (ts: number, tz: string) => { + const nextDay = addToDate(ts, 1, 'day'); + const dateStr = mockNativeDate.formatInTimezone(nextDay, 'yyyy-MM-dd', tz); + const utcMidnight = parseISO8601(dateStr + 'T00:00:00Z'); + const offsetMinutes = getTimezoneOffsetForDate(tz, utcMidnight); + return utcMidnight - (offsetMinutes * 60 * 1000) - 1; + }, + // Async batch operations parseManyAsync: async (dateStrings: string[]) => { return dateStrings.map((s) => { diff --git a/packages/native-date/__tests__/setters.test.ts b/packages/native-date/__tests__/setters.test.ts index c4797b2..6c5a0a5 100644 --- a/packages/native-date/__tests__/setters.test.ts +++ b/packages/native-date/__tests__/setters.test.ts @@ -8,7 +8,6 @@ import { setMinutes, setSeconds, setMilliseconds, - format, } from '../src/index'; describe('Setter Functions', () => { diff --git a/packages/native-date/cpp/HybridNativeDate.cpp b/packages/native-date/cpp/HybridNativeDate.cpp index c738526..3cd19d8 100644 --- a/packages/native-date/cpp/HybridNativeDate.cpp +++ b/packages/native-date/cpp/HybridNativeDate.cpp @@ -1317,6 +1317,74 @@ bool HybridNativeDate::isValidTimezone(const std::string& timezone) { return TimezoneHelper::isValidTimezone(timezone); } +// MARK: - Timezone-aware predicates (InTz) + +bool HybridNativeDate::isTodayInTz(double timestamp, const std::string& timezone) { + // Format both dates as yyyy-MM-dd in the target timezone and compare + std::string dateStr = formatInTimezone(timestamp, "yyyy-MM-dd", timezone); + std::string todayStr = formatInTimezone(now(), "yyyy-MM-dd", timezone); + return dateStr == todayStr; +} + +bool HybridNativeDate::isTomorrowInTz(double timestamp, const std::string& timezone) { + // Get tomorrow's timestamp (add 1 day to now) + double tomorrowTs = add(now(), 1, TimeUnit::DAY); + std::string dateStr = formatInTimezone(timestamp, "yyyy-MM-dd", timezone); + std::string tomorrowStr = formatInTimezone(tomorrowTs, "yyyy-MM-dd", timezone); + return dateStr == tomorrowStr; +} + +bool HybridNativeDate::isYesterdayInTz(double timestamp, const std::string& timezone) { + // Get yesterday's timestamp (subtract 1 day from now) + double yesterdayTs = subtract(now(), 1, TimeUnit::DAY); + std::string dateStr = formatInTimezone(timestamp, "yyyy-MM-dd", timezone); + std::string yesterdayStr = formatInTimezone(yesterdayTs, "yyyy-MM-dd", timezone); + return dateStr == yesterdayStr; +} + +bool HybridNativeDate::isSameDayInTz(double timestamp1, double timestamp2, const std::string& timezone) { + // Format both as yyyy-MM-dd in timezone and compare + std::string date1 = formatInTimezone(timestamp1, "yyyy-MM-dd", timezone); + std::string date2 = formatInTimezone(timestamp2, "yyyy-MM-dd", timezone); + return date1 == date2; +} + +bool HybridNativeDate::isSameMonthInTz(double timestamp1, double timestamp2, const std::string& timezone) { + // Format both as yyyy-MM in timezone and compare + std::string date1 = formatInTimezone(timestamp1, "yyyy-MM", timezone); + std::string date2 = formatInTimezone(timestamp2, "yyyy-MM", timezone); + return date1 == date2; +} + +bool HybridNativeDate::isSameYearInTz(double timestamp1, double timestamp2, const std::string& timezone) { + // Format both as yyyy in timezone and compare + std::string date1 = formatInTimezone(timestamp1, "yyyy", timezone); + std::string date2 = formatInTimezone(timestamp2, "yyyy", timezone); + return date1 == date2; +} + +double HybridNativeDate::startOfDayInTz(double timestamp, const std::string& timezone) { + // Get the date string in target timezone (e.g., "2024-06-15") + std::string dateStr = formatInTimezone(timestamp, "yyyy-MM-dd", timezone); + + // Parse as UTC midnight for that date + std::string utcMidnightStr = dateStr + "T00:00:00.000Z"; + double utcMidnight = parseISO8601(utcMidnightStr); + + // Get offset for target timezone at that time (in minutes) + double offsetMinutes = getOffsetInTimezone(utcMidnight, timezone); + + // Adjust: if timezone is UTC-7 (offset=-420), midnight local = 07:00 UTC + // So we SUBTRACT the offset (negative offset means we ADD hours) + return utcMidnight - (offsetMinutes * 60 * 1000); +} + +double HybridNativeDate::endOfDayInTz(double timestamp, const std::string& timezone) { + // End of day = start of next day - 1ms + double nextDay = add(timestamp, 1, TimeUnit::DAY); + return startOfDayInTz(nextDay, timezone) - 1; +} + // MARK: - Locale std::string HybridNativeDate::getLocale() { diff --git a/packages/native-date/cpp/HybridNativeDate.hpp b/packages/native-date/cpp/HybridNativeDate.hpp index 066c886..bcf29df 100644 --- a/packages/native-date/cpp/HybridNativeDate.hpp +++ b/packages/native-date/cpp/HybridNativeDate.hpp @@ -88,6 +88,16 @@ class HybridNativeDate : public HybridNativeDateSpec { std::vector getAvailableTimezones() override; bool isValidTimezone(const std::string& timezone) override; + // Timezone-aware predicates (InTz) + bool isTodayInTz(double timestamp, const std::string& timezone) override; + bool isTomorrowInTz(double timestamp, const std::string& timezone) override; + bool isYesterdayInTz(double timestamp, const std::string& timezone) override; + bool isSameDayInTz(double timestamp1, double timestamp2, const std::string& timezone) override; + bool isSameMonthInTz(double timestamp1, double timestamp2, const std::string& timezone) override; + bool isSameYearInTz(double timestamp1, double timestamp2, const std::string& timezone) override; + double startOfDayInTz(double timestamp, const std::string& timezone) override; + double endOfDayInTz(double timestamp, const std::string& timezone) override; + // Locale std::string getLocale() override; bool setLocale(const std::string& locale) override; diff --git a/packages/native-date/example/src/App.tsx b/packages/native-date/example/src/App.tsx index 27d4198..f74e2e1 100644 --- a/packages/native-date/example/src/App.tsx +++ b/packages/native-date/example/src/App.tsx @@ -10,6 +10,7 @@ import { import Benchmark from './Benchmark'; import TimezoneScreen from './TimezoneScreen'; import FormattingScreen from './FormattingScreen'; +import ComparisonScreen from './ComparisonScreen'; import { // Core now, @@ -80,7 +81,7 @@ import { // Initialize locale at module load time (before any component renders) setLocale('en'); -type Tab = 'demo' | 'formatting' | 'benchmark' | 'timezone'; +type Tab = 'demo' | 'formatting' | 'benchmark' | 'timezone' | 'compare'; function TabBar({ activeTab, @@ -149,6 +150,19 @@ function TabBar({ TZ + onChangeTab('compare')} + > + + Cmp + + ); } @@ -509,6 +523,7 @@ function App() { {activeTab === 'formatting' && } {activeTab === 'benchmark' && } {activeTab === 'timezone' && } + {activeTab === 'compare' && } ); } diff --git a/packages/native-date/example/src/ComparisonScreen.tsx b/packages/native-date/example/src/ComparisonScreen.tsx new file mode 100644 index 0000000..65de5a4 --- /dev/null +++ b/packages/native-date/example/src/ComparisonScreen.tsx @@ -0,0 +1,651 @@ +import { useState, useMemo } from 'react'; +import { + Text, + View, + StyleSheet, + ScrollView, + TouchableOpacity, +} from 'react-native'; + +// Our library +import { + now, + parse, + format, + getYear, + getMonth, + getDate, + getHours, + getMinutes, + getSeconds, + addDays, + addMonths, + addHours, + subDays, + startOfDay, + endOfDay, + startOfMonth, + endOfMonth, + isToday, + isTomorrow, + isYesterday, + isSameDay, + isSameMonth, + isPast, + isFuture, + isWeekend, + isLeapYear, + getDaysInMonth, + diffInDays, + diffInMonths, + diffInHours, + formatInTimezone, + getTimezone, + toISOString, + // New Phase 1 functions + setYear, + setMonth, + setDate, + setHours, + setMinutes, + isTodayInTz, + isSameDayInTz, + startOfDayInTz, + endOfDayInTz, + getOffsetInTimezone, +} from '@bernagl/react-native-date'; + +// dayjs +import dayjs from 'dayjs'; +import utc from 'dayjs/plugin/utc'; +import timezone from 'dayjs/plugin/timezone'; +import isLeapYearPlugin from 'dayjs/plugin/isLeapYear'; +import isTodayPlugin from 'dayjs/plugin/isToday'; +import isTomorrowPlugin from 'dayjs/plugin/isTomorrow'; +import isYesterdayPlugin from 'dayjs/plugin/isYesterday'; +dayjs.extend(utc); +dayjs.extend(timezone); +dayjs.extend(isLeapYearPlugin); +dayjs.extend(isTodayPlugin); +dayjs.extend(isTomorrowPlugin); +dayjs.extend(isYesterdayPlugin); + +// date-fns +import { + format as dfFormat, + getYear as dfGetYear, + getMonth as dfGetMonth, + getDate as dfGetDate, + getHours as dfGetHours, + getMinutes as dfGetMinutes, + getSeconds as dfGetSeconds, + addDays as dfAddDays, + addMonths as dfAddMonths, + addHours as dfAddHours, + subDays as dfSubDays, + startOfDay as dfStartOfDay, + endOfDay as dfEndOfDay, + startOfMonth as dfStartOfMonth, + endOfMonth as dfEndOfMonth, + isToday as dfIsToday, + isTomorrow as dfIsTomorrow, + isYesterday as dfIsYesterday, + isSameDay as dfIsSameDay, + isSameMonth as dfIsSameMonth, + isPast as dfIsPast, + isFuture as dfIsFuture, + isWeekend as dfIsWeekend, + isLeapYear as dfIsLeapYear, + getDaysInMonth as dfGetDaysInMonth, + differenceInDays as dfDiffInDays, + differenceInMonths as dfDiffInMonths, + differenceInHours as dfDiffInHours, + setYear as dfSetYear, + setMonth as dfSetMonth, + setDate as dfSetDate, + setHours as dfSetHours, + setMinutes as dfSetMinutes, +} from 'date-fns'; +import { TZDate } from '@date-fns/tz'; + +type ComparisonRow = { + name: string; + native: string; + dayjs: string; + dateFns: string; + match?: boolean; +}; + +type ComparisonSection = { + title: string; + rows: ComparisonRow[]; +}; + +function ComparisonScreen() { + const [currentTs, setCurrentTs] = useState(() => now()); + + const comparisons = useMemo(() => { + // Use current timestamp for all comparisons + const currentDate = new Date(currentTs); + const currentDayjs = dayjs(currentTs); + + const tomorrow = addDays(currentTs, 1); + const yesterday = subDays(currentTs, 1); + + const tz = 'America/New_York'; + + const sections: ComparisonSection[] = [ + { + title: 'Parsing & Formatting', + rows: [ + { + name: 'now()', + native: String(currentTs), + dayjs: String(currentDayjs.valueOf()), + dateFns: String(currentDate.getTime()), + }, + { + name: 'format(yyyy-MM-dd)', + native: format(currentTs, 'yyyy-MM-dd'), + dayjs: currentDayjs.format('YYYY-MM-DD'), + dateFns: dfFormat(currentDate, 'yyyy-MM-dd'), + }, + { + name: 'format(HH:mm:ss)', + native: format(currentTs, 'HH:mm:ss'), + dayjs: currentDayjs.format('HH:mm:ss'), + dateFns: dfFormat(currentDate, 'HH:mm:ss'), + }, + { + name: 'toISOString()', + native: toISOString(currentTs), + dayjs: currentDayjs.toISOString(), + dateFns: currentDate.toISOString(), + }, + ], + }, + { + title: 'Component Getters', + rows: [ + { + name: 'getYear()', + native: String(getYear(currentTs)), + dayjs: String(currentDayjs.year()), + dateFns: String(dfGetYear(currentDate)), + }, + { + name: 'getMonth()', + native: String(getMonth(currentTs)), + dayjs: String(currentDayjs.month() + 1), + dateFns: String(dfGetMonth(currentDate) + 1), + }, + { + name: 'getDate()', + native: String(getDate(currentTs)), + dayjs: String(currentDayjs.date()), + dateFns: String(dfGetDate(currentDate)), + }, + { + name: 'getHours()', + native: String(getHours(currentTs)), + dayjs: String(currentDayjs.hour()), + dateFns: String(dfGetHours(currentDate)), + }, + { + name: 'getMinutes()', + native: String(getMinutes(currentTs)), + dayjs: String(currentDayjs.minute()), + dateFns: String(dfGetMinutes(currentDate)), + }, + { + name: 'getSeconds()', + native: String(getSeconds(currentTs)), + dayjs: String(currentDayjs.second()), + dateFns: String(dfGetSeconds(currentDate)), + }, + ], + }, + { + title: 'Date Arithmetic', + rows: [ + { + name: 'addDays(1)', + native: format(addDays(currentTs, 1), 'yyyy-MM-dd'), + dayjs: currentDayjs.add(1, 'day').format('YYYY-MM-DD'), + dateFns: dfFormat(dfAddDays(currentDate, 1), 'yyyy-MM-dd'), + }, + { + name: 'addMonths(1)', + native: format(addMonths(currentTs, 1), 'yyyy-MM-dd'), + dayjs: currentDayjs.add(1, 'month').format('YYYY-MM-DD'), + dateFns: dfFormat(dfAddMonths(currentDate, 1), 'yyyy-MM-dd'), + }, + { + name: 'addHours(5)', + native: format(addHours(currentTs, 5), 'HH:mm'), + dayjs: currentDayjs.add(5, 'hour').format('HH:mm'), + dateFns: dfFormat(dfAddHours(currentDate, 5), 'HH:mm'), + }, + { + name: 'subDays(7)', + native: format(subDays(currentTs, 7), 'yyyy-MM-dd'), + dayjs: currentDayjs.subtract(7, 'day').format('YYYY-MM-DD'), + dateFns: dfFormat(dfSubDays(currentDate, 7), 'yyyy-MM-dd'), + }, + ], + }, + { + title: 'Boundaries', + rows: [ + { + name: 'startOfDay()', + native: format(startOfDay(currentTs), 'HH:mm:ss'), + dayjs: currentDayjs.startOf('day').format('HH:mm:ss'), + dateFns: dfFormat(dfStartOfDay(currentDate), 'HH:mm:ss'), + }, + { + name: 'endOfDay()', + native: format(endOfDay(currentTs), 'HH:mm:ss'), + dayjs: currentDayjs.endOf('day').format('HH:mm:ss'), + dateFns: dfFormat(dfEndOfDay(currentDate), 'HH:mm:ss'), + }, + { + name: 'startOfMonth()', + native: format(startOfMonth(currentTs), 'yyyy-MM-dd'), + dayjs: currentDayjs.startOf('month').format('YYYY-MM-DD'), + dateFns: dfFormat(dfStartOfMonth(currentDate), 'yyyy-MM-dd'), + }, + { + name: 'endOfMonth()', + native: format(endOfMonth(currentTs), 'yyyy-MM-dd'), + dayjs: currentDayjs.endOf('month').format('YYYY-MM-DD'), + dateFns: dfFormat(dfEndOfMonth(currentDate), 'yyyy-MM-dd'), + }, + ], + }, + { + title: 'Predicates (now)', + rows: [ + { + name: 'isToday(now)', + native: String(isToday(currentTs)), + dayjs: String(currentDayjs.isToday()), + dateFns: String(dfIsToday(currentDate)), + }, + { + name: 'isTomorrow(+1d)', + native: String(isTomorrow(tomorrow)), + dayjs: String(dayjs(tomorrow).isTomorrow()), + dateFns: String(dfIsTomorrow(new Date(tomorrow))), + }, + { + name: 'isYesterday(-1d)', + native: String(isYesterday(yesterday)), + dayjs: String(dayjs(yesterday).isYesterday()), + dateFns: String(dfIsYesterday(new Date(yesterday))), + }, + { + name: 'isPast(-1d)', + native: String(isPast(yesterday)), + dayjs: String(dayjs(yesterday).isBefore(dayjs())), + dateFns: String(dfIsPast(new Date(yesterday))), + }, + { + name: 'isFuture(+1d)', + native: String(isFuture(tomorrow)), + dayjs: String(dayjs(tomorrow).isAfter(dayjs())), + dateFns: String(dfIsFuture(new Date(tomorrow))), + }, + ], + }, + { + title: 'Comparisons', + rows: [ + { + name: 'isSameDay(now, now)', + native: String(isSameDay(currentTs, currentTs)), + dayjs: String(currentDayjs.isSame(currentDayjs, 'day')), + dateFns: String(dfIsSameDay(currentDate, currentDate)), + }, + { + name: 'isSameMonth(now, +1m)', + native: String(isSameMonth(currentTs, addMonths(currentTs, 1))), + dayjs: String(currentDayjs.isSame(currentDayjs.add(1, 'month'), 'month')), + dateFns: String(dfIsSameMonth(currentDate, dfAddMonths(currentDate, 1))), + }, + { + name: 'isWeekend(Sat)', + native: String(isWeekend(parse('2024-06-15'))), // Saturday + dayjs: String(dayjs('2024-06-15').day() === 0 || dayjs('2024-06-15').day() === 6), + dateFns: String(dfIsWeekend(new Date('2024-06-15'))), + }, + { + name: 'isLeapYear(2024)', + native: String(isLeapYear(parse('2024-01-01'))), + dayjs: String(dayjs('2024-01-01').isLeapYear()), + dateFns: String(dfIsLeapYear(new Date('2024-01-01'))), + }, + ], + }, + { + title: 'Date Info', + rows: [ + { + name: 'getDaysInMonth(Feb 2024)', + native: String(getDaysInMonth(parse('2024-02-15'))), + dayjs: String(dayjs('2024-02-15').daysInMonth()), + dateFns: String(dfGetDaysInMonth(new Date('2024-02-15'))), + }, + { + name: 'getDaysInMonth(Feb 2023)', + native: String(getDaysInMonth(parse('2023-02-15'))), + dayjs: String(dayjs('2023-02-15').daysInMonth()), + dateFns: String(dfGetDaysInMonth(new Date('2023-02-15'))), + }, + ], + }, + { + title: 'Differences', + rows: [ + { + name: 'diffInDays(now, -7d)', + native: String(diffInDays(currentTs, subDays(currentTs, 7))), + dayjs: String(currentDayjs.diff(currentDayjs.subtract(7, 'day'), 'day')), + dateFns: String(dfDiffInDays(currentDate, dfSubDays(currentDate, 7))), + }, + { + name: 'diffInMonths(now, -3m)', + native: String(diffInMonths(currentTs, addMonths(currentTs, -3))), + dayjs: String(currentDayjs.diff(currentDayjs.subtract(3, 'month'), 'month')), + dateFns: String(dfDiffInMonths(currentDate, dfAddMonths(currentDate, -3))), + }, + { + name: 'diffInHours(now, -24h)', + native: String(diffInHours(currentTs, addHours(currentTs, -24))), + dayjs: String(currentDayjs.diff(currentDayjs.subtract(24, 'hour'), 'hour')), + dateFns: String(dfDiffInHours(currentDate, dfAddHours(currentDate, -24))), + }, + ], + }, + { + title: 'Setters (NEW)', + rows: [ + { + name: 'setYear(2025)', + native: format(setYear(currentTs, 2025), 'yyyy-MM-dd'), + dayjs: currentDayjs.year(2025).format('YYYY-MM-DD'), + dateFns: dfFormat(dfSetYear(currentDate, 2025), 'yyyy-MM-dd'), + }, + { + name: 'setMonth(12)', + native: format(setMonth(currentTs, 12), 'yyyy-MM-dd'), + dayjs: currentDayjs.month(11).format('YYYY-MM-DD'), // 0-indexed + dateFns: dfFormat(dfSetMonth(currentDate, 11), 'yyyy-MM-dd'), // 0-indexed + }, + { + name: 'setDate(1)', + native: format(setDate(currentTs, 1), 'yyyy-MM-dd'), + dayjs: currentDayjs.date(1).format('YYYY-MM-DD'), + dateFns: dfFormat(dfSetDate(currentDate, 1), 'yyyy-MM-dd'), + }, + { + name: 'setHours(9)', + native: format(setHours(currentTs, 9), 'HH:mm'), + dayjs: currentDayjs.hour(9).format('HH:mm'), + dateFns: dfFormat(dfSetHours(currentDate, 9), 'HH:mm'), + }, + { + name: 'setMinutes(0)', + native: format(setMinutes(currentTs, 0), 'HH:mm'), + dayjs: currentDayjs.minute(0).format('HH:mm'), + dateFns: dfFormat(dfSetMinutes(currentDate, 0), 'HH:mm'), + }, + ], + }, + { + title: 'Timezone Functions', + rows: [ + { + name: 'getTimezone()', + native: getTimezone(), + dayjs: dayjs.tz.guess(), + dateFns: Intl.DateTimeFormat().resolvedOptions().timeZone, + }, + { + name: `formatInTz(${tz})`, + native: formatInTimezone(currentTs, 'HH:mm', tz), + dayjs: currentDayjs.tz(tz).format('HH:mm'), + dateFns: dfFormat(new TZDate(currentDate, tz), 'HH:mm'), + }, + { + name: 'getOffsetInTz(NY)', + native: String(getOffsetInTimezone(currentTs, tz)) + ' min', + dayjs: String(currentDayjs.tz(tz).utcOffset()) + ' min', + dateFns: String(new TZDate(currentDate, tz).getTimezoneOffset() * -1) + ' min', + }, + ], + }, + { + title: 'TZ-Aware Predicates (NEW)', + rows: [ + { + name: 'isTodayInTz(UTC)', + native: String(isTodayInTz(currentTs, 'UTC')), + dayjs: 'N/A (plugin issue)', + dateFns: String(dfIsToday(new TZDate(currentDate, 'UTC'))), + }, + { + name: 'isSameDayInTz(UTC)', + native: String(isSameDayInTz(currentTs, currentTs, 'UTC')), + dayjs: 'N/A', + dateFns: String(dfIsSameDay(new TZDate(currentDate, 'UTC'), new TZDate(currentDate, 'UTC'))), + }, + { + name: 'startOfDayInTz(NY)', + native: formatInTimezone(startOfDayInTz(currentTs, tz), 'HH:mm', tz), + dayjs: currentDayjs.tz(tz).startOf('day').format('HH:mm'), + dateFns: dfFormat(dfStartOfDay(new TZDate(currentDate, tz)), 'HH:mm'), + }, + { + name: 'endOfDayInTz(NY)', + native: formatInTimezone(endOfDayInTz(currentTs, tz), 'HH:mm:ss', tz), + dayjs: currentDayjs.tz(tz).endOf('day').format('HH:mm:ss'), + dateFns: dfFormat(dfEndOfDay(new TZDate(currentDate, tz)), 'HH:mm:ss'), + }, + ], + }, + ]; + + // Calculate matches + for (const section of sections) { + for (const row of section.rows) { + row.match = row.native === row.dayjs && row.dayjs === row.dateFns; + } + } + + return sections; + }, [currentTs]); + + return ( + + Library Comparison + + react-native-date vs dayjs vs date-fns + + + setCurrentTs(now())} + > + Refresh + + + Using: {format(currentTs, 'yyyy-MM-dd HH:mm:ss')} + + + {comparisons.map((section) => ( + + {section.title} + + {/* Header */} + + Function + Native + dayjs + date-fns + + + {/* Rows */} + {section.rows.map((row, idx) => ( + + + {row.name} + + + {row.native} + + + {row.dayjs} + + + {row.dateFns} + + + ))} + + ))} + + + Notes: + + - Our library uses 1-indexed months (1-12) + + + - dayjs/date-fns use 0-indexed months (0-11) + + + - TZ-aware predicates are unique to our library + + + - Results shown are at time of render + + + + ); +} + +const styles = StyleSheet.create({ + container: { + flexGrow: 1, + padding: 16, + backgroundColor: '#f5f5f5', + }, + title: { + fontSize: 22, + fontWeight: 'bold', + textAlign: 'center', + marginBottom: 4, + }, + subtitle: { + fontSize: 14, + color: '#666', + textAlign: 'center', + marginBottom: 16, + }, + refreshButton: { + backgroundColor: '#007AFF', + paddingVertical: 8, + paddingHorizontal: 16, + borderRadius: 6, + alignSelf: 'center', + marginBottom: 8, + }, + refreshButtonText: { + color: 'white', + fontWeight: '600', + }, + currentDateLabel: { + fontSize: 13, + color: '#666', + textAlign: 'center', + marginBottom: 16, + fontFamily: 'monospace', + }, + section: { + backgroundColor: 'white', + borderRadius: 8, + padding: 12, + marginBottom: 12, + shadowColor: '#000', + shadowOffset: { width: 0, height: 1 }, + shadowOpacity: 0.1, + shadowRadius: 2, + elevation: 2, + }, + sectionTitle: { + fontSize: 16, + fontWeight: '600', + marginBottom: 8, + color: '#333', + }, + tableHeader: { + flexDirection: 'row', + borderBottomWidth: 1, + borderBottomColor: '#e0e0e0', + paddingBottom: 6, + marginBottom: 4, + }, + headerCell: { + fontWeight: '600', + fontSize: 11, + color: '#666', + }, + tableRow: { + flexDirection: 'row', + paddingVertical: 4, + }, + tableRowAlt: { + backgroundColor: '#fafafa', + }, + cell: { + fontSize: 10, + color: '#333', + }, + funcCell: { + flex: 1.2, + paddingRight: 4, + }, + valueCell: { + flex: 1, + paddingHorizontal: 2, + }, + nativeValue: { + color: '#007AFF', + fontWeight: '500', + }, + legend: { + backgroundColor: '#fff3cd', + borderRadius: 8, + padding: 12, + marginTop: 8, + marginBottom: 20, + }, + legendTitle: { + fontWeight: '600', + marginBottom: 4, + color: '#856404', + }, + legendText: { + fontSize: 12, + color: '#856404', + marginTop: 2, + }, +}); + +export default ComparisonScreen; diff --git a/packages/native-date/src/NativeDate.nitro.ts b/packages/native-date/src/NativeDate.nitro.ts index 5fa81d0..04e6a29 100644 --- a/packages/native-date/src/NativeDate.nitro.ts +++ b/packages/native-date/src/NativeDate.nitro.ts @@ -125,6 +125,16 @@ export interface NativeDate getAvailableTimezones(): string[]; isValidTimezone(timezone: string): boolean; + // Timezone-aware predicates (InTz) + isTodayInTz(timestamp: number, timezone: string): boolean; + isTomorrowInTz(timestamp: number, timezone: string): boolean; + isYesterdayInTz(timestamp: number, timezone: string): boolean; + isSameDayInTz(timestamp1: number, timestamp2: number, timezone: string): boolean; + isSameMonthInTz(timestamp1: number, timestamp2: number, timezone: string): boolean; + isSameYearInTz(timestamp1: number, timestamp2: number, timezone: string): boolean; + startOfDayInTz(timestamp: number, timezone: string): number; + endOfDayInTz(timestamp: number, timezone: string): number; + // Locale getLocale(): string; setLocale(locale: string): boolean; diff --git a/packages/native-date/src/index.tsx b/packages/native-date/src/index.tsx index b1b0572..0a8324e 100644 --- a/packages/native-date/src/index.tsx +++ b/packages/native-date/src/index.tsx @@ -1182,23 +1182,17 @@ export function isSameYear(date1: DateInput, date2: DateInput): boolean { return d1.year === d2.year; } -// Timezone-aware predicates (InTz) +// Timezone-aware predicates (InTz) - Native implementations export function isTodayInTz(date: DateInput, timezone: Timezone): boolean { - const dateStr = formatInTimezone(date, 'yyyy-MM-dd', timezone); - const todayStr = formatInTimezone(now(), 'yyyy-MM-dd', timezone); - return dateStr === todayStr; + return NativeDateModule.isTodayInTz(toTimestamp(date), timezone); } export function isTomorrowInTz(date: DateInput, timezone: Timezone): boolean { - const dateStr = formatInTimezone(date, 'yyyy-MM-dd', timezone); - const tomorrowStr = formatInTimezone(addDays(now(), 1), 'yyyy-MM-dd', timezone); - return dateStr === tomorrowStr; + return NativeDateModule.isTomorrowInTz(toTimestamp(date), timezone); } export function isYesterdayInTz(date: DateInput, timezone: Timezone): boolean { - const dateStr = formatInTimezone(date, 'yyyy-MM-dd', timezone); - const yesterdayStr = formatInTimezone(subDays(now(), 1), 'yyyy-MM-dd', timezone); - return dateStr === yesterdayStr; + return NativeDateModule.isYesterdayInTz(toTimestamp(date), timezone); } export function isSameDayInTz( @@ -1206,9 +1200,10 @@ export function isSameDayInTz( date2: DateInput, timezone: Timezone ): boolean { - return ( - formatInTimezone(date1, 'yyyy-MM-dd', timezone) === - formatInTimezone(date2, 'yyyy-MM-dd', timezone) + return NativeDateModule.isSameDayInTz( + toTimestamp(date1), + toTimestamp(date2), + timezone ); } @@ -1217,9 +1212,10 @@ export function isSameMonthInTz( date2: DateInput, timezone: Timezone ): boolean { - return ( - formatInTimezone(date1, 'yyyy-MM', timezone) === - formatInTimezone(date2, 'yyyy-MM', timezone) + return NativeDateModule.isSameMonthInTz( + toTimestamp(date1), + toTimestamp(date2), + timezone ); } @@ -1228,31 +1224,19 @@ export function isSameYearInTz( date2: DateInput, timezone: Timezone ): boolean { - return ( - formatInTimezone(date1, 'yyyy', timezone) === - formatInTimezone(date2, 'yyyy', timezone) + return NativeDateModule.isSameYearInTz( + toTimestamp(date1), + toTimestamp(date2), + timezone ); } export function startOfDayInTz(date: DateInput, timezone: Timezone): number { - // Get the date string in target timezone (e.g., "2024-06-15") - const dateStr = formatInTimezone(date, 'yyyy-MM-dd', timezone); - - // Parse as UTC midnight for that date - const utcMidnight = parse(dateStr + 'T00:00:00Z'); - - // Get offset for target timezone at that time (in minutes) - const offsetMinutes = getOffsetInTimezone(utcMidnight, timezone); - - // Adjust: if timezone is UTC-7 (offset=-420), midnight local = 07:00 UTC - // So we SUBTRACT the offset (negative offset means we ADD hours) - return utcMidnight - offsetMinutes * 60 * 1000; + return NativeDateModule.startOfDayInTz(toTimestamp(date), timezone); } export function endOfDayInTz(date: DateInput, timezone: Timezone): number { - // End of day = 23:59:59.999 = start of next day - 1ms - const nextDay = addDays(date, 1); - return startOfDayInTz(nextDay, timezone) - 1; + return NativeDateModule.endOfDayInTz(toTimestamp(date), timezone); } // Week helpers From 08b57482e0bf92b14a362b543342c6dc5707520a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Garc=C3=ADa?= Date: Tue, 13 Jan 2026 22:18:38 -0600 Subject: [PATCH 03/18] test suite --- .../__mocks__/react-native-nitro-modules.ts | 18 +- packages/native-date/cpp/HybridNativeDate.cpp | 164 +- packages/native-date/cpp/HybridNativeDate.hpp | 5 +- packages/native-date/example/ios/Podfile.lock | 2 +- packages/native-date/example/src/App.tsx | 17 +- .../example/src/NativeTestScreen.tsx | 2338 +++++++++++++++++ packages/native-date/src/index.tsx | 27 +- 7 files changed, 2491 insertions(+), 80 deletions(-) create mode 100644 packages/native-date/example/src/NativeTestScreen.tsx diff --git a/packages/native-date/__tests__/__mocks__/react-native-nitro-modules.ts b/packages/native-date/__tests__/__mocks__/react-native-nitro-modules.ts index c0bac5e..cf355ce 100644 --- a/packages/native-date/__tests__/__mocks__/react-native-nitro-modules.ts +++ b/packages/native-date/__tests__/__mocks__/react-native-nitro-modules.ts @@ -60,7 +60,23 @@ function getTimezoneOffsetForDate(tz: string, timestamp: number): number { const AVAILABLE_TIMEZONES = Object.keys(TIMEZONE_OFFSETS); function parseISO8601(dateString: string): number { - const date = new Date(dateString); + // Basic format validation - must start with YYYY-MM-DD pattern + if (!/^\d{4}-\d{2}-\d{2}/.test(dateString)) { + throw new Error(`Invalid date string: ${dateString}`); + } + + // Match native C++ behavior: date-only strings are LOCAL time, not UTC + // JS Date treats 'YYYY-MM-DD' as UTC but 'YYYY-MM-DDTHH:mm:ss' as local + let normalizedString = dateString; + + // Date-only format (YYYY-MM-DD) - append time to force local interpretation + if (/^\d{4}-\d{2}-\d{2}$/.test(dateString)) { + normalizedString = dateString + 'T00:00:00'; + } + // DateTime without timezone - already treated as local by JS + // DateTime with Z or offset - already handled correctly by JS + + const date = new Date(normalizedString); if (isNaN(date.getTime())) { throw new Error(`Invalid date string: ${dateString}`); } diff --git a/packages/native-date/cpp/HybridNativeDate.cpp b/packages/native-date/cpp/HybridNativeDate.cpp index 3cd19d8..d935e24 100644 --- a/packages/native-date/cpp/HybridNativeDate.cpp +++ b/packages/native-date/cpp/HybridNativeDate.cpp @@ -310,7 +310,8 @@ double HybridNativeDate::parseWithFormat(const std::string& dateString, const st if (dc.minute < 0 || dc.minute > 59) return std::numeric_limits::quiet_NaN(); if (dc.second < 0 || dc.second > 59) return std::numeric_limits::quiet_NaN(); - return componentsToTimestamp(dc); + // No timezone in format patterns - interpret as local time (like date-fns) + return componentsToTimestampLocal(dc); } std::string HybridNativeDate::format(double timestamp, const std::string& pattern) { @@ -662,7 +663,7 @@ std::string HybridNativeDate::formatInternal(double timestamp, const std::string // MARK: - Getters DateComponents HybridNativeDate::getComponents(double timestamp) { - InternalDateComponents dc = timestampToComponents(timestamp); + InternalDateComponents dc = timestampToComponents(timestamp, false); // local time return DateComponents( static_cast(dc.year), static_cast(dc.month), @@ -676,41 +677,42 @@ DateComponents HybridNativeDate::getComponents(double timestamp) { } double HybridNativeDate::getYear(double timestamp) { - InternalDateComponents dc = timestampToComponents(timestamp); + InternalDateComponents dc = timestampToComponents(timestamp, false); // local time return static_cast(dc.year); } double HybridNativeDate::getMonth(double timestamp) { - InternalDateComponents dc = timestampToComponents(timestamp); + InternalDateComponents dc = timestampToComponents(timestamp, false); // local time return static_cast(dc.month); } double HybridNativeDate::getDate(double timestamp) { - InternalDateComponents dc = timestampToComponents(timestamp); + InternalDateComponents dc = timestampToComponents(timestamp, false); // local time return static_cast(dc.day); } double HybridNativeDate::getDay(double timestamp) { - return static_cast(getDayOfWeek(timestamp)); + InternalDateComponents dc = timestampToComponents(timestamp, false); // local time + return static_cast(dc.dayOfWeek); } double HybridNativeDate::getHours(double timestamp) { - InternalDateComponents dc = timestampToComponents(timestamp); + InternalDateComponents dc = timestampToComponents(timestamp, false); // local time return static_cast(dc.hour); } double HybridNativeDate::getMinutes(double timestamp) { - InternalDateComponents dc = timestampToComponents(timestamp); + InternalDateComponents dc = timestampToComponents(timestamp, false); // local time return static_cast(dc.minute); } double HybridNativeDate::getSeconds(double timestamp) { - InternalDateComponents dc = timestampToComponents(timestamp); + InternalDateComponents dc = timestampToComponents(timestamp, false); // local time return static_cast(dc.second); } double HybridNativeDate::getMilliseconds(double timestamp) { - InternalDateComponents dc = timestampToComponents(timestamp); + InternalDateComponents dc = timestampToComponents(timestamp, false); // local time return static_cast(dc.millisecond); } @@ -755,18 +757,18 @@ double HybridNativeDate::getMillisecondsFromString(const std::string& dateString // MARK: - Date Info double HybridNativeDate::getDaysInMonth(double timestamp) { - InternalDateComponents dc = timestampToComponents(timestamp); + InternalDateComponents dc = timestampToComponents(timestamp, false); // local time return static_cast(daysInMonth(dc.year, dc.month)); } bool HybridNativeDate::isLeapYear(double timestamp) { - InternalDateComponents dc = timestampToComponents(timestamp); + InternalDateComponents dc = timestampToComponents(timestamp, false); // local time return isLeapYearInt(dc.year); } bool HybridNativeDate::isWeekend(double timestamp) { - int dayOfWeek = getDayOfWeek(timestamp); - return dayOfWeek == 0 || dayOfWeek == 6; // Sunday or Saturday + InternalDateComponents dc = timestampToComponents(timestamp, false); // local time + return dc.dayOfWeek == 0 || dc.dayOfWeek == 6; // Sunday or Saturday } bool HybridNativeDate::isValid(double timestamp) { @@ -792,7 +794,7 @@ double HybridNativeDate::add(double timestamp, double amount, TimeUnit unit) { case TimeUnit::WEEK: return timestamp + (amount * MS_PER_WEEK); case TimeUnit::MONTH: { - InternalDateComponents dc = timestampToComponents(timestamp); + InternalDateComponents dc = timestampToComponents(timestamp, false); // local time int totalMonths = dc.month - 1 + static_cast(amountInt); dc.year += totalMonths / 12; dc.month = (totalMonths % 12) + 1; @@ -805,16 +807,16 @@ double HybridNativeDate::add(double timestamp, double amount, TimeUnit unit) { if (dc.day > maxDay) { dc.day = maxDay; } - return componentsToTimestamp(dc); + return componentsToTimestampLocal(dc); } case TimeUnit::YEAR: { - InternalDateComponents dc = timestampToComponents(timestamp); + InternalDateComponents dc = timestampToComponents(timestamp, false); // local time dc.year += amountInt; // Handle Feb 29 -> Feb 28 for non-leap years if (dc.month == 2 && dc.day == 29 && !isLeapYearInt(dc.year)) { dc.day = 28; } - return componentsToTimestamp(dc); + return componentsToTimestampLocal(dc); } } return timestamp; @@ -867,7 +869,7 @@ inline int64_t floorDiv(int64_t numerator, int64_t denominator) { double HybridNativeDate::startOf(double timestamp, TimeUnit unit) { int64_t ms = static_cast(timestamp); - // Fast path for time-based units (no component conversion needed) + // Fast path for sub-day units (timezone-independent) switch (unit) { case TimeUnit::MILLISECOND: return timestamp; @@ -877,10 +879,8 @@ double HybridNativeDate::startOf(double timestamp, TimeUnit unit) { return static_cast((ms / MS_PER_MINUTE) * MS_PER_MINUTE); case TimeUnit::HOUR: return static_cast((ms / MS_PER_HOUR) * MS_PER_HOUR); - case TimeUnit::DAY: - return static_cast(floorDayStartMs(ms)); default: - // DAY, WEEK, MONTH, YEAR need full component conversion + // DAY, WEEK, MONTH, YEAR need local time component conversion return truncateToUnit(timestamp, unit); } } @@ -888,7 +888,7 @@ double HybridNativeDate::startOf(double timestamp, TimeUnit unit) { double HybridNativeDate::endOf(double timestamp, TimeUnit unit) { int64_t ms = static_cast(timestamp); - // Fast path for time-based units + // Fast path for sub-day units (timezone-independent) switch (unit) { case TimeUnit::MILLISECOND: return timestamp; @@ -899,31 +899,42 @@ double HybridNativeDate::endOf(double timestamp, TimeUnit unit) { case TimeUnit::HOUR: return static_cast(((ms / MS_PER_HOUR) * MS_PER_HOUR) + MS_PER_HOUR - 1); case TimeUnit::DAY: { - int64_t dayStartMs = floorDayStartMs(ms); - return static_cast(dayStartMs + MS_PER_DAY - 1); + InternalDateComponents dc = timestampToComponents(timestamp, false); // local time + dc.hour = 23; + dc.minute = 59; + dc.second = 59; + dc.millisecond = 999; + return componentsToTimestampLocal(dc); } case TimeUnit::WEEK: { - double start = truncateToUnit(timestamp, TimeUnit::WEEK); - return start + (7 * MS_PER_DAY) - 1; + InternalDateComponents dc = timestampToComponents(timestamp, false); // local time + // Calculate days until Saturday (6 - current dayOfWeek) + int daysToAdd = 6 - dc.dayOfWeek; + dc.day += daysToAdd; + dc.hour = 23; + dc.minute = 59; + dc.second = 59; + dc.millisecond = 999; + return componentsToTimestampLocal(dc); // mktime will normalize if day overflows } case TimeUnit::MONTH: { - InternalDateComponents dc = timestampToComponents(timestamp); + InternalDateComponents dc = timestampToComponents(timestamp, false); // local time dc.day = daysInMonth(dc.year, dc.month); dc.hour = 23; dc.minute = 59; dc.second = 59; dc.millisecond = 999; - return componentsToTimestamp(dc); + return componentsToTimestampLocal(dc); } case TimeUnit::YEAR: { - InternalDateComponents dc = timestampToComponents(timestamp); + InternalDateComponents dc = timestampToComponents(timestamp, false); // local time dc.month = 12; dc.day = 31; dc.hour = 23; dc.minute = 59; dc.second = 59; dc.millisecond = 999; - return componentsToTimestamp(dc); + return componentsToTimestampLocal(dc); } default: return timestamp; @@ -1033,8 +1044,9 @@ int64_t HybridNativeDate::getMillisForUnit(TimeUnit unit) { } double HybridNativeDate::truncateToUnit(double timestamp, TimeUnit unit) { - // Use local time components for all units (consistent behavior) - InternalDateComponents dc = timestampToComponents(timestamp); + // Use LOCAL time components for all units (consistent behavior) + // This ensures startOfMonth/startOfYear work correctly in the user's timezone + InternalDateComponents dc = timestampToComponents(timestamp, false); // false = local time switch (unit) { case TimeUnit::MILLISECOND: @@ -1063,7 +1075,7 @@ double HybridNativeDate::truncateToUnit(double timestamp, TimeUnit unit) { dc.second = 0; dc.minute = 0; dc.hour = 0; - double localDayStart = componentsToTimestamp(dc); + double localDayStart = componentsToTimestampLocal(dc); // dayOfWeek is already in local time from timestampToComponents return localDayStart - (static_cast(dc.dayOfWeek) * MS_PER_DAY); } @@ -1084,7 +1096,7 @@ double HybridNativeDate::truncateToUnit(double timestamp, TimeUnit unit) { break; } - return componentsToTimestamp(dc); + return componentsToTimestampLocal(dc); } HybridNativeDate::InternalDateComponents HybridNativeDate::timestampToComponents(double timestamp, bool useUTC) { @@ -1140,6 +1152,21 @@ double HybridNativeDate::componentsToTimestamp(const InternalDateComponents& dc) return static_cast(time) * 1000.0 + dc.millisecond; } +double HybridNativeDate::componentsToTimestampLocal(const InternalDateComponents& dc) { + std::tm tm = {}; + tm.tm_year = dc.year - 1900; + tm.tm_mon = dc.month - 1; + tm.tm_mday = dc.day; + tm.tm_hour = dc.hour; + tm.tm_min = dc.minute; + tm.tm_sec = dc.second; + tm.tm_isdst = -1; // Let the system determine DST + + std::time_t time = std::mktime(&tm); + + return static_cast(time) * 1000.0 + dc.millisecond; +} + double HybridNativeDate::parseISO8601(const std::string& dateString) { const char* s = dateString.c_str(); const size_t len = dateString.length(); @@ -1182,42 +1209,51 @@ double HybridNativeDate::parseISO8601(const std::string& dateString) { } } - double result = componentsToTimestamp(dc); - - // Handle timezone: Z or +HH:mm or -HH:mm - // Find timezone indicator from the end - if (len > 0) { - if (s[len - 1] == 'Z') { - // UTC - already correct - } else { - // Look for + or - for timezone offset - for (size_t i = len - 1; i > 10; i--) { - if (s[i] == '+' || s[i] == '-') { - bool negative = (s[i] == '-'); - int tzHours = 0; - int tzMinutes = 0; - - // Parse timezone hours - if (i + 2 < len) { - tzHours = parse2Digits(s + i + 1); - } - // Parse timezone minutes (may have colon or not) - if (i + 4 < len) { - size_t minStart = (s[i + 3] == ':') ? i + 4 : i + 3; - if (minStart + 1 < len) { - tzMinutes = parse2Digits(s + minStart); - } + // Check for timezone indicator: Z or +/- offset + bool hasTimezone = false; + int tzOffsetMs = 0; + + if (len > 0 && s[len - 1] == 'Z') { + hasTimezone = true; + // UTC - no offset needed + } else if (len > 10) { + // Look for + or - for timezone offset + for (size_t i = len - 1; i > 10; i--) { + if (s[i] == '+' || s[i] == '-') { + hasTimezone = true; + bool negative = (s[i] == '-'); + int tzHours = 0; + int tzMinutes = 0; + + // Parse timezone hours + if (i + 2 < len) { + tzHours = parse2Digits(s + i + 1); + } + // Parse timezone minutes (may have colon or not) + if (i + 4 < len) { + size_t minStart = (s[i + 3] == ':') ? i + 4 : i + 3; + if (minStart + 1 < len) { + tzMinutes = parse2Digits(s + minStart); } + } - int offsetMs = (tzHours * 60 + tzMinutes) * 60 * 1000; - result += negative ? offsetMs : -offsetMs; - break; + tzOffsetMs = (tzHours * 60 + tzMinutes) * 60 * 1000; + if (!negative) { + tzOffsetMs = -tzOffsetMs; // Positive offset means subtract from UTC } + break; } } } - return result; + // If no timezone indicator, interpret as LOCAL time (like date-fns) + // If has timezone, interpret as UTC and apply offset + if (hasTimezone) { + double result = componentsToTimestamp(dc); // UTC + return result + tzOffsetMs; + } else { + return componentsToTimestampLocal(dc); // Local time + } } std::string HybridNativeDate::padZero(int value, int width) { diff --git a/packages/native-date/cpp/HybridNativeDate.hpp b/packages/native-date/cpp/HybridNativeDate.hpp index bcf29df..a560661 100644 --- a/packages/native-date/cpp/HybridNativeDate.hpp +++ b/packages/native-date/cpp/HybridNativeDate.hpp @@ -136,9 +136,12 @@ class HybridNativeDate : public HybridNativeDateSpec { // Internal format helper static std::string formatInternal(double timestamp, const std::string& pattern, bool useUTC); - // Convert components to timestamp + // Convert components to timestamp (UTC) static double componentsToTimestamp(const InternalDateComponents& components); + // Convert components to timestamp (local time) + static double componentsToTimestampLocal(const InternalDateComponents& components); + // Parse ISO8601 date string static double parseISO8601(const std::string& dateString); diff --git a/packages/native-date/example/ios/Podfile.lock b/packages/native-date/example/ios/Podfile.lock index 2920b3f..ffaa768 100644 --- a/packages/native-date/example/ios/Podfile.lock +++ b/packages/native-date/example/ios/Podfile.lock @@ -2553,7 +2553,7 @@ SPEC CHECKSUMS: fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd glog: 5683914934d5b6e4240e497e0f4a3b42d1854183 hermes-engine: 4f8246b1f6d79f625e0d99472d1f3a71da4d28ca - NativeDate: 2ee4d6c7688e69f47036bc0f12681c5dbbd9df04 + NativeDate: 1750ff7f7c77731145e1ef0e166e1c3c363df987 NitroModules: 5bc319d441f4983894ea66b1d392c519536e6d23 RCT-Folly: 846fda9475e61ec7bcbf8a3fe81edfcaeb090669 RCTDeprecation: c4b9e2fd0ab200e3af72b013ed6113187c607077 diff --git a/packages/native-date/example/src/App.tsx b/packages/native-date/example/src/App.tsx index f74e2e1..3cd4843 100644 --- a/packages/native-date/example/src/App.tsx +++ b/packages/native-date/example/src/App.tsx @@ -11,6 +11,7 @@ import Benchmark from './Benchmark'; import TimezoneScreen from './TimezoneScreen'; import FormattingScreen from './FormattingScreen'; import ComparisonScreen from './ComparisonScreen'; +import { NativeTestScreen } from './NativeTestScreen'; import { // Core now, @@ -81,7 +82,7 @@ import { // Initialize locale at module load time (before any component renders) setLocale('en'); -type Tab = 'demo' | 'formatting' | 'benchmark' | 'timezone' | 'compare'; +type Tab = 'demo' | 'formatting' | 'benchmark' | 'timezone' | 'compare' | 'test'; function TabBar({ activeTab, @@ -163,6 +164,19 @@ function TabBar({ Cmp + onChangeTab('test')} + > + + Test + + ); } @@ -524,6 +538,7 @@ function App() { {activeTab === 'benchmark' && } {activeTab === 'timezone' && } {activeTab === 'compare' && } + {activeTab === 'test' && } ); } diff --git a/packages/native-date/example/src/NativeTestScreen.tsx b/packages/native-date/example/src/NativeTestScreen.tsx new file mode 100644 index 0000000..8e007cb --- /dev/null +++ b/packages/native-date/example/src/NativeTestScreen.tsx @@ -0,0 +1,2338 @@ +import { useState, useCallback } from 'react'; +import { + View, + Text, + ScrollView, + TouchableOpacity, + StyleSheet, + SafeAreaView, +} from 'react-native'; +import { + // Core + now, + parse, + tryParse, + parseFormat, + tryParseFormat, + fromComponents, + format, + formatUTC, + // Getters + getComponents, + getYear, + getMonth, + getDate, + getDay, + getHours, + getMinutes, + getSeconds, + getMilliseconds, + // Date Info + getDaysInMonth, + isLeapYear, + isWeekend, + isValid, + // Arithmetic + add, + subtract, + addDays, + addMonths, + addYears, + addWeeks, + addHours, + addMinutes, + addSeconds, + subDays, + subMonths, + subYears, + subWeeks, + subHours, + subMinutes, + subSeconds, + // Comparisons + isBefore, + isAfter, + isSame, + // Predicates + isToday, + isTomorrow, + isYesterday, + isPast, + isFuture, + isSameDay, + isSameMonth, + isSameYear, + // Helpers + startOf, + endOf, + diff, + clamp, + min, + max, + startOfDay, + endOfDay, + startOfMonth, + endOfMonth, + startOfYear, + endOfYear, + startOfWeek, + endOfWeek, + // Diffs + diffInDays, + diffInMonths, + diffInYears, + diffInWeeks, + diffInHours, + // Timezone + getTimezone, + getTimezoneOffset, + getTimezoneOffsetForTimestamp, + getOffsetInTimezone, + formatInTimezone, + getAvailableTimezones, + isValidTimezone, + // Timezone-aware predicates + isTodayInTz, + isTomorrowInTz, + isYesterdayInTz, + isSameDayInTz, + isSameMonthInTz, + isSameYearInTz, + startOfDayInTz, + endOfDayInTz, + // Locale + getLocale, + getAvailableLocales, + getLocaleDisplayName, + getLocaleInfo, + // Setters + setYear, + setMonth, + setDate, + setHours, + setMinutes, + setSeconds, + setMilliseconds, + // Formatting + toISOString, + formatDate, + formatDateTime, + formatDateInTimezone, + formatDateTimeInTimezone, + // Relative + formatDistance, + formatDuration, + // Async + parseManyAsync, + formatManyAsync, + getComponentsManyAsync, +} from '@bernagl/react-native-date'; + +type TestResult = { + name: string; + passed: boolean | null; + expected: string; + actual: string; + error?: string; +}; + +type TestCase = { + name: string; + test: () => boolean | Promise; + expected: string; + getActual: () => string | Promise; +}; + +type TestCategory = { + name: string; + tests: TestCase[]; +}; + +const TABS = [ + 'Core', + 'Getters', + 'Info', + 'Arithmetic', + 'Compare', + 'Predicates', + 'Helpers', + 'Timezone', + 'Setters', + 'Async', +] as const; + +type TabName = (typeof TABS)[number]; + +// Test data +const TEST_DATE = '2024-06-15T14:30:45.123Z'; +const TEST_TS = parse(TEST_DATE); +const EARLIER_DATE = '2024-06-10T10:00:00.000Z'; +const EARLIER_TS = parse(EARLIER_DATE); +const LATER_DATE = '2024-06-20T18:00:00.000Z'; +const LATER_TS = parse(LATER_DATE); + +function createTestCategories(): Record { + return { + Core: { + name: 'Core Functions', + tests: [ + // now() + { + name: 'now() returns number', + test: () => typeof now() === 'number', + expected: 'number', + getActual: () => typeof now(), + }, + { + name: 'now() returns recent timestamp', + test: () => Math.abs(now() - Date.now()) < 1000, + expected: 'within 1s of Date.now()', + getActual: () => `diff: ${Math.abs(now() - Date.now())}ms`, + }, + // parse() + { + name: 'parse() ISO string', + test: () => parse('2024-06-15T12:00:00Z') === 1718452800000, + expected: '1718452800000', + getActual: () => String(parse('2024-06-15T12:00:00Z')), + }, + { + name: 'parse() date only', + test: () => typeof parse('2024-06-15') === 'number', + expected: 'number', + getActual: () => typeof parse('2024-06-15'), + }, + { + name: 'parse() with timezone offset', + test: () => parse('2024-06-15T12:00:00+05:30') === 1718433000000, + expected: '1718433000000', + getActual: () => String(parse('2024-06-15T12:00:00+05:30')), + }, + // tryParse() + { + name: 'tryParse() valid string', + test: () => tryParse('2024-06-15T12:00:00Z') === 1718452800000, + expected: '1718452800000', + getActual: () => String(tryParse('2024-06-15T12:00:00Z')), + }, + { + name: 'tryParse() invalid returns null', + test: () => tryParse('invalid-date') === null, + expected: 'null', + getActual: () => String(tryParse('invalid-date')), + }, + // parseFormat() + { + name: 'parseFormat() MM/dd/yyyy', + test: () => { + const result = parseFormat('06/15/2024', 'MM/dd/yyyy'); + return getMonth(result) === 6 && getDate(result) === 15; + }, + expected: 'month=6, day=15', + getActual: () => { + const r = parseFormat('06/15/2024', 'MM/dd/yyyy'); + return `month=${getMonth(r)}, day=${getDate(r)}`; + }, + }, + { + name: 'parseFormat() dd-MM-yyyy HH:mm', + test: () => { + const result = parseFormat('15-06-2024 14:30', 'dd-MM-yyyy HH:mm'); + return getHours(result) === 14 && getMinutes(result) === 30; + }, + expected: 'hours=14, minutes=30', + getActual: () => { + const r = parseFormat('15-06-2024 14:30', 'dd-MM-yyyy HH:mm'); + return `hours=${getHours(r)}, minutes=${getMinutes(r)}`; + }, + }, + // tryParseFormat() + { + name: 'tryParseFormat() valid', + test: () => tryParseFormat('06/15/2024', 'MM/dd/yyyy') !== null, + expected: 'not null', + getActual: () => + tryParseFormat('06/15/2024', 'MM/dd/yyyy') !== null + ? 'not null' + : 'null', + }, + { + name: 'tryParseFormat() invalid returns null', + test: () => tryParseFormat('invalid', 'MM/dd/yyyy') === null, + expected: 'null', + getActual: () => String(tryParseFormat('invalid', 'MM/dd/yyyy')), + }, + // fromComponents() + { + name: 'fromComponents() basic', + test: () => { + const ts = fromComponents({ + year: 2024, + month: 6, + day: 15, + hour: 12, + minute: 0, + second: 0, + millisecond: 0, + }); + return getYear(ts) === 2024 && getMonth(ts) === 6; + }, + expected: 'year=2024, month=6', + getActual: () => { + const ts = fromComponents({ + year: 2024, + month: 6, + day: 15, + hour: 12, + minute: 0, + second: 0, + millisecond: 0, + }); + return `year=${getYear(ts)}, month=${getMonth(ts)}`; + }, + }, + // format() + { + name: 'format() yyyy-MM-dd', + test: () => format(TEST_TS, 'yyyy-MM-dd') === '2024-06-15', + expected: '2024-06-15', + getActual: () => format(TEST_TS, 'yyyy-MM-dd'), + }, + { + name: 'format() HH:mm:ss', + test: () => { + const result = format(TEST_TS, 'HH:mm:ss'); + return result.includes(':'); + }, + expected: 'contains ":"', + getActual: () => format(TEST_TS, 'HH:mm:ss'), + }, + { + name: 'format() full pattern', + test: () => { + const result = format(TEST_TS, 'yyyy-MM-dd HH:mm:ss.SSS'); + return result.length > 20; + }, + expected: 'full datetime string', + getActual: () => format(TEST_TS, 'yyyy-MM-dd HH:mm:ss.SSS'), + }, + // formatUTC() + { + name: 'formatUTC() yyyy-MM-dd', + test: () => formatUTC(TEST_TS, 'yyyy-MM-dd') === '2024-06-15', + expected: '2024-06-15', + getActual: () => formatUTC(TEST_TS, 'yyyy-MM-dd'), + }, + { + name: 'formatUTC() HH:mm:ss', + test: () => formatUTC(TEST_TS, 'HH:mm:ss') === '14:30:45', + expected: '14:30:45', + getActual: () => formatUTC(TEST_TS, 'HH:mm:ss'), + }, + ], + }, + Getters: { + name: 'Getter Functions', + tests: [ + // getComponents() + { + name: 'getComponents() returns object', + test: () => { + const c = getComponents(TEST_TS); + return typeof c === 'object' && 'year' in c && 'month' in c; + }, + expected: 'object with year, month', + getActual: () => { + const c = getComponents(TEST_TS); + return `{year: ${c.year}, month: ${c.month}, ...}`; + }, + }, + { + name: 'getComponents() year correct', + test: () => getComponents(TEST_TS).year === 2024, + expected: '2024', + getActual: () => String(getComponents(TEST_TS).year), + }, + { + name: 'getComponents() month correct (1-indexed)', + test: () => getComponents(TEST_TS).month === 6, + expected: '6', + getActual: () => String(getComponents(TEST_TS).month), + }, + { + name: 'getComponents() dayOfWeek correct', + test: () => getComponents(TEST_TS).dayOfWeek === 6, // Saturday + expected: '6 (Saturday)', + getActual: () => String(getComponents(TEST_TS).dayOfWeek), + }, + // getYear() + { + name: 'getYear() returns 2024', + test: () => getYear(TEST_TS) === 2024, + expected: '2024', + getActual: () => String(getYear(TEST_TS)), + }, + { + name: 'getYear() different year', + test: () => { + const ts = parse('2023-01-01'); + const yr = getYear(ts); + console.log(`DEBUG parse('2023-01-01'): ts=${ts}, year=${yr}, jsDate=${new Date(ts).toISOString()}`); + return yr === 2023; + }, + expected: '2023', + getActual: () => `ts=${parse('2023-01-01')}, year=${getYear(parse('2023-01-01'))}`, + }, + // getMonth() + { + name: 'getMonth() returns 6 (June)', + test: () => getMonth(TEST_TS) === 6, + expected: '6', + getActual: () => String(getMonth(TEST_TS)), + }, + { + name: 'getMonth() January = 1', + test: () => getMonth(parse('2024-01-15')) === 1, + expected: '1', + getActual: () => String(getMonth(parse('2024-01-15'))), + }, + { + name: 'getMonth() December = 12', + test: () => getMonth(parse('2024-12-15')) === 12, + expected: '12', + getActual: () => String(getMonth(parse('2024-12-15'))), + }, + // getDate() + { + name: 'getDate() returns 15', + test: () => getDate(TEST_TS) === 15, + expected: '15', + getActual: () => String(getDate(TEST_TS)), + }, + { + name: 'getDate() first of month', + test: () => getDate(parse('2024-06-01')) === 1, + expected: '1', + getActual: () => String(getDate(parse('2024-06-01'))), + }, + { + name: 'getDate() last of month', + test: () => getDate(parse('2024-06-30')) === 30, + expected: '30', + getActual: () => String(getDate(parse('2024-06-30'))), + }, + // getDay() + { + name: 'getDay() Saturday = 6', + test: () => getDay(TEST_TS) === 6, + expected: '6', + getActual: () => String(getDay(TEST_TS)), + }, + { + name: 'getDay() Sunday = 0', + test: () => getDay(parse('2024-06-16')) === 0, + expected: '0', + getActual: () => String(getDay(parse('2024-06-16'))), + }, + // getHours() + { + name: 'getHours() from UTC timestamp', + test: () => typeof getHours(TEST_TS) === 'number', + expected: 'number', + getActual: () => String(getHours(TEST_TS)), + }, + // getMinutes() + { + name: 'getMinutes() returns number', + test: () => typeof getMinutes(TEST_TS) === 'number', + expected: 'number', + getActual: () => String(getMinutes(TEST_TS)), + }, + // getSeconds() + { + name: 'getSeconds() returns number', + test: () => typeof getSeconds(TEST_TS) === 'number', + expected: 'number', + getActual: () => String(getSeconds(TEST_TS)), + }, + // getMilliseconds() + { + name: 'getMilliseconds() returns number', + test: () => typeof getMilliseconds(TEST_TS) === 'number', + expected: 'number', + getActual: () => String(getMilliseconds(TEST_TS)), + }, + ], + }, + Info: { + name: 'Date Info Functions', + tests: [ + // getDaysInMonth() + { + name: 'getDaysInMonth() June = 30', + test: () => getDaysInMonth(TEST_TS) === 30, + expected: '30', + getActual: () => String(getDaysInMonth(TEST_TS)), + }, + { + name: 'getDaysInMonth() January = 31', + test: () => getDaysInMonth(parse('2024-01-15')) === 31, + expected: '31', + getActual: () => String(getDaysInMonth(parse('2024-01-15'))), + }, + { + name: 'getDaysInMonth() Feb leap year = 29', + test: () => getDaysInMonth(parse('2024-02-15')) === 29, + expected: '29', + getActual: () => String(getDaysInMonth(parse('2024-02-15'))), + }, + { + name: 'getDaysInMonth() Feb non-leap = 28', + test: () => getDaysInMonth(parse('2023-02-15')) === 28, + expected: '28', + getActual: () => String(getDaysInMonth(parse('2023-02-15'))), + }, + // isLeapYear() + { + name: 'isLeapYear() 2024 = true', + test: () => isLeapYear(parse('2024-01-01')) === true, + expected: 'true', + getActual: () => String(isLeapYear(parse('2024-01-01'))), + }, + { + name: 'isLeapYear() 2023 = false', + test: () => isLeapYear(parse('2023-01-01')) === false, + expected: 'false', + getActual: () => String(isLeapYear(parse('2023-01-01'))), + }, + { + name: 'isLeapYear() 2000 = true', + test: () => isLeapYear(parse('2000-01-01')) === true, + expected: 'true', + getActual: () => String(isLeapYear(parse('2000-01-01'))), + }, + { + name: 'isLeapYear() 1900 = false', + test: () => isLeapYear(parse('1900-01-01')) === false, + expected: 'false', + getActual: () => String(isLeapYear(parse('1900-01-01'))), + }, + // isWeekend() + { + name: 'isWeekend() Saturday = true', + test: () => isWeekend(TEST_TS) === true, // June 15, 2024 is Saturday + expected: 'true', + getActual: () => String(isWeekend(TEST_TS)), + }, + { + name: 'isWeekend() Sunday = true', + test: () => isWeekend(parse('2024-06-16')) === true, + expected: 'true', + getActual: () => String(isWeekend(parse('2024-06-16'))), + }, + { + name: 'isWeekend() Monday = false', + test: () => isWeekend(parse('2024-06-17')) === false, + expected: 'false', + getActual: () => String(isWeekend(parse('2024-06-17'))), + }, + { + name: 'isWeekend() Friday = false', + test: () => isWeekend(parse('2024-06-14')) === false, + expected: 'false', + getActual: () => String(isWeekend(parse('2024-06-14'))), + }, + // isValid() + { + name: 'isValid() valid timestamp = true', + test: () => isValid(TEST_TS) === true, + expected: 'true', + getActual: () => String(isValid(TEST_TS)), + }, + { + name: 'isValid() NaN = false', + test: () => isValid(NaN) === false, + expected: 'false', + getActual: () => String(isValid(NaN)), + }, + { + name: 'isValid() Infinity = false', + test: () => isValid(Infinity) === false, + expected: 'false', + getActual: () => String(isValid(Infinity)), + }, + ], + }, + Arithmetic: { + name: 'Arithmetic Functions', + tests: [ + // add() + { + name: 'add() 1 day', + test: () => { + const result = add(TEST_TS, 1, 'day'); + return getDate(result) === 16; + }, + expected: 'day = 16', + getActual: () => String(getDate(add(TEST_TS, 1, 'day'))), + }, + { + name: 'add() 1 month', + test: () => { + const result = add(TEST_TS, 1, 'month'); + return getMonth(result) === 7; + }, + expected: 'month = 7', + getActual: () => String(getMonth(add(TEST_TS, 1, 'month'))), + }, + { + name: 'add() 1 year', + test: () => { + const result = add(TEST_TS, 1, 'year'); + return getYear(result) === 2025; + }, + expected: 'year = 2025', + getActual: () => String(getYear(add(TEST_TS, 1, 'year'))), + }, + { + name: 'add() 1 hour', + test: () => { + const result = add(TEST_TS, 1, 'hour'); + return result - TEST_TS === 3600000; + }, + expected: 'diff = 3600000ms', + getActual: () => String(add(TEST_TS, 1, 'hour') - TEST_TS), + }, + // subtract() + { + name: 'subtract() 1 day', + test: () => { + const result = subtract(TEST_TS, 1, 'day'); + return getDate(result) === 14; + }, + expected: 'day = 14', + getActual: () => String(getDate(subtract(TEST_TS, 1, 'day'))), + }, + { + name: 'subtract() 1 month', + test: () => { + const result = subtract(TEST_TS, 1, 'month'); + return getMonth(result) === 5; + }, + expected: 'month = 5', + getActual: () => String(getMonth(subtract(TEST_TS, 1, 'month'))), + }, + // addDays/subDays + { + name: 'addDays() 5 days', + test: () => getDate(addDays(TEST_TS, 5)) === 20, + expected: 'day = 20', + getActual: () => String(getDate(addDays(TEST_TS, 5))), + }, + { + name: 'subDays() 5 days', + test: () => getDate(subDays(TEST_TS, 5)) === 10, + expected: 'day = 10', + getActual: () => String(getDate(subDays(TEST_TS, 5))), + }, + // addMonths/subMonths + { + name: 'addMonths() 3 months', + test: () => getMonth(addMonths(TEST_TS, 3)) === 9, + expected: 'month = 9', + getActual: () => String(getMonth(addMonths(TEST_TS, 3))), + }, + { + name: 'subMonths() 3 months', + test: () => getMonth(subMonths(TEST_TS, 3)) === 3, + expected: 'month = 3', + getActual: () => String(getMonth(subMonths(TEST_TS, 3))), + }, + // addYears/subYears + { + name: 'addYears() 2 years', + test: () => getYear(addYears(TEST_TS, 2)) === 2026, + expected: 'year = 2026', + getActual: () => String(getYear(addYears(TEST_TS, 2))), + }, + { + name: 'subYears() 2 years', + test: () => getYear(subYears(TEST_TS, 2)) === 2022, + expected: 'year = 2022', + getActual: () => String(getYear(subYears(TEST_TS, 2))), + }, + // addWeeks/subWeeks + { + name: 'addWeeks() 1 week', + test: () => getDate(addWeeks(TEST_TS, 1)) === 22, + expected: 'day = 22', + getActual: () => String(getDate(addWeeks(TEST_TS, 1))), + }, + { + name: 'subWeeks() 1 week', + test: () => getDate(subWeeks(TEST_TS, 1)) === 8, + expected: 'day = 8', + getActual: () => String(getDate(subWeeks(TEST_TS, 1))), + }, + // addHours/subHours + { + name: 'addHours() 2 hours', + test: () => add(TEST_TS, 2, 'hour') - TEST_TS === 7200000, + expected: 'diff = 7200000ms', + getActual: () => String(addHours(TEST_TS, 2) - TEST_TS), + }, + { + name: 'subHours() 2 hours', + test: () => TEST_TS - subHours(TEST_TS, 2) === 7200000, + expected: 'diff = 7200000ms', + getActual: () => String(TEST_TS - subHours(TEST_TS, 2)), + }, + // addMinutes/subMinutes + { + name: 'addMinutes() 30 minutes', + test: () => addMinutes(TEST_TS, 30) - TEST_TS === 1800000, + expected: 'diff = 1800000ms', + getActual: () => String(addMinutes(TEST_TS, 30) - TEST_TS), + }, + { + name: 'subMinutes() 30 minutes', + test: () => TEST_TS - subMinutes(TEST_TS, 30) === 1800000, + expected: 'diff = 1800000ms', + getActual: () => String(TEST_TS - subMinutes(TEST_TS, 30)), + }, + // addSeconds/subSeconds + { + name: 'addSeconds() 45 seconds', + test: () => addSeconds(TEST_TS, 45) - TEST_TS === 45000, + expected: 'diff = 45000ms', + getActual: () => String(addSeconds(TEST_TS, 45) - TEST_TS), + }, + { + name: 'subSeconds() 45 seconds', + test: () => TEST_TS - subSeconds(TEST_TS, 45) === 45000, + expected: 'diff = 45000ms', + getActual: () => String(TEST_TS - subSeconds(TEST_TS, 45)), + }, + ], + }, + Compare: { + name: 'Comparison Functions', + tests: [ + // isBefore() + { + name: 'isBefore() earlier < later = true', + test: () => isBefore(EARLIER_TS, LATER_TS) === true, + expected: 'true', + getActual: () => String(isBefore(EARLIER_TS, LATER_TS)), + }, + { + name: 'isBefore() later < earlier = false', + test: () => isBefore(LATER_TS, EARLIER_TS) === false, + expected: 'false', + getActual: () => String(isBefore(LATER_TS, EARLIER_TS)), + }, + { + name: 'isBefore() same = false', + test: () => isBefore(TEST_TS, TEST_TS) === false, + expected: 'false', + getActual: () => String(isBefore(TEST_TS, TEST_TS)), + }, + // isAfter() + { + name: 'isAfter() later > earlier = true', + test: () => isAfter(LATER_TS, EARLIER_TS) === true, + expected: 'true', + getActual: () => String(isAfter(LATER_TS, EARLIER_TS)), + }, + { + name: 'isAfter() earlier > later = false', + test: () => isAfter(EARLIER_TS, LATER_TS) === false, + expected: 'false', + getActual: () => String(isAfter(EARLIER_TS, LATER_TS)), + }, + { + name: 'isAfter() same = false', + test: () => isAfter(TEST_TS, TEST_TS) === false, + expected: 'false', + getActual: () => String(isAfter(TEST_TS, TEST_TS)), + }, + // isSame() + { + name: 'isSame() same timestamp day = true', + test: () => isSame(TEST_TS, TEST_TS, 'day') === true, + expected: 'true', + getActual: () => String(isSame(TEST_TS, TEST_TS, 'day')), + }, + { + name: 'isSame() same day different time = true', + test: () => { + const d1 = parse('2024-06-15T10:00:00Z'); + const d2 = parse('2024-06-15T22:00:00Z'); + return isSame(d1, d2, 'day') === true; + }, + expected: 'true', + getActual: () => { + const d1 = parse('2024-06-15T10:00:00Z'); + const d2 = parse('2024-06-15T22:00:00Z'); + return String(isSame(d1, d2, 'day')); + }, + }, + { + name: 'isSame() different days = false', + test: () => isSame(EARLIER_TS, LATER_TS, 'day') === false, + expected: 'false', + getActual: () => String(isSame(EARLIER_TS, LATER_TS, 'day')), + }, + { + name: 'isSame() same month = true', + test: () => isSame(EARLIER_TS, TEST_TS, 'month') === true, + expected: 'true', + getActual: () => String(isSame(EARLIER_TS, TEST_TS, 'month')), + }, + { + name: 'isSame() same year = true', + test: () => isSame(EARLIER_TS, LATER_TS, 'year') === true, + expected: 'true', + getActual: () => String(isSame(EARLIER_TS, LATER_TS, 'year')), + }, + { + name: 'isSame() different years = false', + test: () => { + const d1 = parse('2024-06-15'); + const d2 = parse('2025-06-15'); + return isSame(d1, d2, 'year') === false; + }, + expected: 'false', + getActual: () => { + const d1 = parse('2024-06-15'); + const d2 = parse('2025-06-15'); + return String(isSame(d1, d2, 'year')); + }, + }, + ], + }, + Predicates: { + name: 'Predicate Functions', + tests: [ + // isToday() + { + name: 'isToday() now = true', + test: () => isToday(now()) === true, + expected: 'true', + getActual: () => String(isToday(now())), + }, + { + name: 'isToday() yesterday = false', + test: () => isToday(subDays(now(), 1)) === false, + expected: 'false', + getActual: () => String(isToday(subDays(now(), 1))), + }, + { + name: 'isToday() tomorrow = false', + test: () => isToday(addDays(now(), 1)) === false, + expected: 'false', + getActual: () => String(isToday(addDays(now(), 1))), + }, + // isTomorrow() + { + name: 'isTomorrow() tomorrow = true', + test: () => isTomorrow(addDays(now(), 1)) === true, + expected: 'true', + getActual: () => String(isTomorrow(addDays(now(), 1))), + }, + { + name: 'isTomorrow() today = false', + test: () => isTomorrow(now()) === false, + expected: 'false', + getActual: () => String(isTomorrow(now())), + }, + // isYesterday() + { + name: 'isYesterday() yesterday = true', + test: () => isYesterday(subDays(now(), 1)) === true, + expected: 'true', + getActual: () => String(isYesterday(subDays(now(), 1))), + }, + { + name: 'isYesterday() today = false', + test: () => isYesterday(now()) === false, + expected: 'false', + getActual: () => String(isYesterday(now())), + }, + // isPast() + { + name: 'isPast() old date = true', + test: () => isPast(TEST_TS) === true, + expected: 'true', + getActual: () => String(isPast(TEST_TS)), + }, + { + name: 'isPast() future date = false', + test: () => isPast(addYears(now(), 1)) === false, + expected: 'false', + getActual: () => String(isPast(addYears(now(), 1))), + }, + // isFuture() + { + name: 'isFuture() future date = true', + test: () => isFuture(addYears(now(), 1)) === true, + expected: 'true', + getActual: () => String(isFuture(addYears(now(), 1))), + }, + { + name: 'isFuture() old date = false', + test: () => isFuture(TEST_TS) === false, + expected: 'false', + getActual: () => String(isFuture(TEST_TS)), + }, + // isSameDay() + { + name: 'isSameDay() same day = true', + test: () => { + const d1 = parse('2024-06-15T10:00:00Z'); + const d2 = parse('2024-06-15T22:00:00Z'); + return isSameDay(d1, d2) === true; + }, + expected: 'true', + getActual: () => { + const d1 = parse('2024-06-15T10:00:00Z'); + const d2 = parse('2024-06-15T22:00:00Z'); + return String(isSameDay(d1, d2)); + }, + }, + { + name: 'isSameDay() different days = false', + test: () => isSameDay(EARLIER_TS, LATER_TS) === false, + expected: 'false', + getActual: () => String(isSameDay(EARLIER_TS, LATER_TS)), + }, + // isSameMonth() + { + name: 'isSameMonth() same month = true', + test: () => isSameMonth(EARLIER_TS, LATER_TS) === true, + expected: 'true', + getActual: () => String(isSameMonth(EARLIER_TS, LATER_TS)), + }, + { + name: 'isSameMonth() different months = false', + test: () => { + const d1 = parse('2024-06-15'); + const d2 = parse('2024-07-15'); + return isSameMonth(d1, d2) === false; + }, + expected: 'false', + getActual: () => { + const d1 = parse('2024-06-15'); + const d2 = parse('2024-07-15'); + return String(isSameMonth(d1, d2)); + }, + }, + // isSameYear() + { + name: 'isSameYear() same year = true', + test: () => isSameYear(EARLIER_TS, LATER_TS) === true, + expected: 'true', + getActual: () => String(isSameYear(EARLIER_TS, LATER_TS)), + }, + { + name: 'isSameYear() different years = false', + test: () => { + const d1 = parse('2024-06-15'); + const d2 = parse('2025-06-15'); + return isSameYear(d1, d2) === false; + }, + expected: 'false', + getActual: () => { + const d1 = parse('2024-06-15'); + const d2 = parse('2025-06-15'); + return String(isSameYear(d1, d2)); + }, + }, + ], + }, + Helpers: { + name: 'Helper Functions', + tests: [ + // startOf() + { + name: 'startOf() day', + test: () => { + const result = startOf(TEST_TS, 'day'); + const c = getComponents(result); + return c.hour === 0 && c.minute === 0 && c.second === 0; + }, + expected: '00:00:00', + getActual: () => { + const c = getComponents(startOf(TEST_TS, 'day')); + return `${c.hour}:${c.minute}:${c.second}`; + }, + }, + { + name: 'startOf() month', + test: () => getDate(startOf(TEST_TS, 'month')) === 1, + expected: 'day = 1', + getActual: () => String(getDate(startOf(TEST_TS, 'month'))), + }, + { + name: 'startOf() year', + test: () => { + const result = startOf(TEST_TS, 'year'); + return getMonth(result) === 1 && getDate(result) === 1; + }, + expected: 'month=1, day=1', + getActual: () => { + const r = startOf(TEST_TS, 'year'); + return `month=${getMonth(r)}, day=${getDate(r)}`; + }, + }, + // endOf() + { + name: 'endOf() day', + test: () => { + const result = endOf(TEST_TS, 'day'); + const c = getComponents(result); + return c.hour === 23 && c.minute === 59 && c.second === 59; + }, + expected: '23:59:59', + getActual: () => { + const c = getComponents(endOf(TEST_TS, 'day')); + return `${c.hour}:${c.minute}:${c.second}`; + }, + }, + { + name: 'endOf() month June = 30', + test: () => getDate(endOf(TEST_TS, 'month')) === 30, + expected: 'day = 30', + getActual: () => String(getDate(endOf(TEST_TS, 'month'))), + }, + { + name: 'endOf() year', + test: () => { + const result = endOf(TEST_TS, 'year'); + return getMonth(result) === 12 && getDate(result) === 31; + }, + expected: 'month=12, day=31', + getActual: () => { + const r = endOf(TEST_TS, 'year'); + return `month=${getMonth(r)}, day=${getDate(r)}`; + }, + }, + // startOfDay/endOfDay + { + name: 'startOfDay()', + test: () => { + const c = getComponents(startOfDay(TEST_TS)); + return c.hour === 0 && c.minute === 0; + }, + expected: '00:00', + getActual: () => { + const c = getComponents(startOfDay(TEST_TS)); + return `${c.hour}:${c.minute}`; + }, + }, + { + name: 'endOfDay()', + test: () => { + const c = getComponents(endOfDay(TEST_TS)); + return c.hour === 23 && c.minute === 59; + }, + expected: '23:59', + getActual: () => { + const c = getComponents(endOfDay(TEST_TS)); + return `${c.hour}:${c.minute}`; + }, + }, + // startOfMonth/endOfMonth + { + name: 'startOfMonth() June', + test: () => getDate(startOfMonth(TEST_TS)) === 1, + expected: 'day = 1', + getActual: () => String(getDate(startOfMonth(TEST_TS))), + }, + { + name: 'startOfMonth() preserves month', + test: () => getMonth(startOfMonth(TEST_TS)) === 6, + expected: 'month = 6', + getActual: () => String(getMonth(startOfMonth(TEST_TS))), + }, + { + name: 'startOfMonth() January (edge case)', + test: () => { + const jan15 = parse('2026-01-15T12:00:00'); + const start = startOfMonth(jan15); + return getMonth(start) === 1 && getDate(start) === 1 && getYear(start) === 2026; + }, + expected: 'Jan 1, 2026', + getActual: () => { + const jan15 = parse('2026-01-15T12:00:00'); + const s = startOfMonth(jan15); + return `${getMonth(s)}/${getDate(s)}, ${getYear(s)}`; + }, + }, + { + name: 'startOfMonth() December', + test: () => { + const dec15 = parse('2025-12-15T12:00:00'); + const start = startOfMonth(dec15); + return getMonth(start) === 12 && getDate(start) === 1; + }, + expected: 'Dec 1', + getActual: () => { + const dec15 = parse('2025-12-15T12:00:00'); + const s = startOfMonth(dec15); + return `${getMonth(s)}/${getDate(s)}`; + }, + }, + { + name: 'endOfMonth() June', + test: () => getDate(endOfMonth(TEST_TS)) === 30, + expected: 'day = 30', + getActual: () => String(getDate(endOfMonth(TEST_TS))), + }, + { + name: 'endOfMonth() January = 31', + test: () => { + const jan15 = parse('2026-01-15T12:00:00'); + return getDate(endOfMonth(jan15)) === 31; + }, + expected: 'day = 31', + getActual: () => { + const jan15 = parse('2026-01-15T12:00:00'); + return String(getDate(endOfMonth(jan15))); + }, + }, + { + name: 'endOfMonth() February leap year = 29', + test: () => { + const feb15 = parse('2024-02-15T12:00:00'); + return getDate(endOfMonth(feb15)) === 29; + }, + expected: 'day = 29', + getActual: () => { + const feb15 = parse('2024-02-15T12:00:00'); + return String(getDate(endOfMonth(feb15))); + }, + }, + { + name: 'endOfMonth() February non-leap = 28', + test: () => { + const feb15 = parse('2023-02-15T12:00:00'); + return getDate(endOfMonth(feb15)) === 28; + }, + expected: 'day = 28', + getActual: () => { + const feb15 = parse('2023-02-15T12:00:00'); + return String(getDate(endOfMonth(feb15))); + }, + }, + // startOfYear/endOfYear + { + name: 'startOfYear()', + test: () => { + const r = startOfYear(TEST_TS); + return getMonth(r) === 1 && getDate(r) === 1; + }, + expected: 'Jan 1', + getActual: () => { + const r = startOfYear(TEST_TS); + return `${getMonth(r)}/${getDate(r)}`; + }, + }, + { + name: 'startOfYear() preserves year', + test: () => getYear(startOfYear(TEST_TS)) === 2024, + expected: 'year = 2024', + getActual: () => String(getYear(startOfYear(TEST_TS))), + }, + { + name: 'startOfYear() 2026 January (edge case)', + test: () => { + const jan15 = parse('2026-01-15T12:00:00'); + const start = startOfYear(jan15); + return getYear(start) === 2026 && getMonth(start) === 1 && getDate(start) === 1; + }, + expected: 'Jan 1, 2026', + getActual: () => { + const jan15 = parse('2026-01-15T12:00:00'); + const s = startOfYear(jan15); + return `${getMonth(s)}/${getDate(s)}, ${getYear(s)}`; + }, + }, + { + name: 'endOfYear()', + test: () => { + const r = endOfYear(TEST_TS); + return getMonth(r) === 12 && getDate(r) === 31; + }, + expected: 'Dec 31', + getActual: () => { + const r = endOfYear(TEST_TS); + return `${getMonth(r)}/${getDate(r)}`; + }, + }, + { + name: 'endOfYear() preserves year', + test: () => getYear(endOfYear(TEST_TS)) === 2024, + expected: 'year = 2024', + getActual: () => String(getYear(endOfYear(TEST_TS))), + }, + { + name: 'endOfYear() time = 23:59:59', + test: () => { + const c = getComponents(endOfYear(TEST_TS)); + return c.hour === 23 && c.minute === 59 && c.second === 59; + }, + expected: '23:59:59', + getActual: () => { + const c = getComponents(endOfYear(TEST_TS)); + return `${c.hour}:${c.minute}:${c.second}`; + }, + }, + // startOfWeek/endOfWeek + { + name: 'startOfWeek() returns Sunday', + test: () => getDay(startOfWeek(TEST_TS)) === 0, + expected: 'day = 0 (Sunday)', + getActual: () => String(getDay(startOfWeek(TEST_TS))), + }, + { + name: 'endOfWeek() returns Saturday', + test: () => getDay(endOfWeek(TEST_TS)) === 6, + expected: 'day = 6 (Saturday)', + getActual: () => String(getDay(endOfWeek(TEST_TS))), + }, + // diff() + { + name: 'diff() 10 days', + test: () => { + const d = diff(LATER_TS, EARLIER_TS, 'day'); + return d === 10; + }, + expected: '10', + getActual: () => String(diff(LATER_TS, EARLIER_TS, 'day')), + }, + // diffInDays/diffInMonths/etc + { + name: 'diffInDays()', + test: () => diffInDays(LATER_TS, EARLIER_TS) === 10, + expected: '10', + getActual: () => String(diffInDays(LATER_TS, EARLIER_TS)), + }, + { + name: 'diffInMonths() same month', + test: () => diffInMonths(LATER_TS, EARLIER_TS) === 0, + expected: '0', + getActual: () => String(diffInMonths(LATER_TS, EARLIER_TS)), + }, + { + name: 'diffInYears() same year', + test: () => diffInYears(LATER_TS, EARLIER_TS) === 0, + expected: '0', + getActual: () => String(diffInYears(LATER_TS, EARLIER_TS)), + }, + { + name: 'diffInWeeks()', + test: () => diffInWeeks(LATER_TS, EARLIER_TS) === 1, + expected: '1', + getActual: () => String(diffInWeeks(LATER_TS, EARLIER_TS)), + }, + { + name: 'diffInHours() 240 hours', + test: () => diffInHours(LATER_TS, EARLIER_TS) === 248, + expected: '248', + getActual: () => String(diffInHours(LATER_TS, EARLIER_TS)), + }, + // clamp() + { + name: 'clamp() within range', + test: () => clamp(TEST_TS, EARLIER_TS, LATER_TS) === TEST_TS, + expected: 'unchanged', + getActual: () => + clamp(TEST_TS, EARLIER_TS, LATER_TS) === TEST_TS + ? 'unchanged' + : 'changed', + }, + { + name: 'clamp() below min', + test: () => clamp(EARLIER_TS, TEST_TS, LATER_TS) === TEST_TS, + expected: 'clamped to min', + getActual: () => + clamp(EARLIER_TS, TEST_TS, LATER_TS) === TEST_TS + ? 'clamped to min' + : 'not clamped', + }, + { + name: 'clamp() above max', + test: () => clamp(LATER_TS, EARLIER_TS, TEST_TS) === TEST_TS, + expected: 'clamped to max', + getActual: () => + clamp(LATER_TS, EARLIER_TS, TEST_TS) === TEST_TS + ? 'clamped to max' + : 'not clamped', + }, + // min/max + { + name: 'min() returns earliest', + test: () => min([TEST_TS, LATER_TS, EARLIER_TS]) === EARLIER_TS, + expected: 'earliest date', + getActual: () => + min([TEST_TS, LATER_TS, EARLIER_TS]) === EARLIER_TS + ? 'earliest date' + : 'wrong', + }, + { + name: 'max() returns latest', + test: () => max([TEST_TS, LATER_TS, EARLIER_TS]) === LATER_TS, + expected: 'latest date', + getActual: () => + max([TEST_TS, LATER_TS, EARLIER_TS]) === LATER_TS + ? 'latest date' + : 'wrong', + }, + // formatDistance + { + name: 'formatDistance() past', + test: () => { + const result = formatDistance(EARLIER_TS, LATER_TS, true); + // Accept various past formats: "ago", "last week", "yesterday", etc. + return result.includes('ago') || result.includes('last') || result.includes('yesterday'); + }, + expected: 'relative past string', + getActual: () => formatDistance(EARLIER_TS, LATER_TS, true), + }, + { + name: 'formatDistance() future', + test: () => { + const result = formatDistance(LATER_TS, EARLIER_TS, true); + // Accept various future formats: "in X", "next week", "tomorrow", etc. + return result.includes('in') || result.includes('next') || result.includes('tomorrow'); + }, + expected: 'relative future string', + getActual: () => formatDistance(LATER_TS, EARLIER_TS, true), + }, + // formatDuration + { + name: 'formatDuration() 1 hour', + test: () => formatDuration(3600000).includes('1h'), + expected: 'contains "1h"', + getActual: () => formatDuration(3600000), + }, + { + name: 'formatDuration() 1 day', + test: () => formatDuration(86400000).includes('1d'), + expected: 'contains "1d"', + getActual: () => formatDuration(86400000), + }, + // toISOString + { + name: 'toISOString() format', + test: () => toISOString(TEST_TS).includes('2024-06-15'), + expected: 'contains "2024-06-15"', + getActual: () => toISOString(TEST_TS), + }, + // formatDate/formatDateTime + { + name: 'formatDate()', + test: () => formatDate(TEST_TS) === '2024-06-15', + expected: '2024-06-15', + getActual: () => formatDate(TEST_TS), + }, + { + name: 'formatDateTime()', + test: () => formatDateTime(TEST_TS).includes('2024-06-15'), + expected: 'contains "2024-06-15"', + getActual: () => formatDateTime(TEST_TS), + }, + ], + }, + Timezone: { + name: 'Timezone Functions', + tests: [ + // getTimezone() + { + name: 'getTimezone() returns string', + test: () => typeof getTimezone() === 'string', + expected: 'string', + getActual: () => getTimezone(), + }, + // getTimezoneOffset() + { + name: 'getTimezoneOffset() returns number', + test: () => typeof getTimezoneOffset() === 'number', + expected: 'number', + getActual: () => String(getTimezoneOffset()), + }, + // getTimezoneOffsetForTimestamp() + { + name: 'getTimezoneOffsetForTimestamp()', + test: () => typeof getTimezoneOffsetForTimestamp(TEST_TS) === 'number', + expected: 'number', + getActual: () => String(getTimezoneOffsetForTimestamp(TEST_TS)), + }, + // getOffsetInTimezone() + { + name: 'getOffsetInTimezone() UTC = 0', + test: () => getOffsetInTimezone(TEST_TS, 'UTC') === 0, + expected: '0', + getActual: () => String(getOffsetInTimezone(TEST_TS, 'UTC')), + }, + { + name: 'getOffsetInTimezone() Tokyo = 540', + test: () => getOffsetInTimezone(TEST_TS, 'Asia/Tokyo') === 540, + expected: '540', + getActual: () => String(getOffsetInTimezone(TEST_TS, 'Asia/Tokyo')), + }, + // isValidTimezone() + { + name: 'isValidTimezone() UTC = true', + test: () => isValidTimezone('UTC') === true, + expected: 'true', + getActual: () => String(isValidTimezone('UTC')), + }, + { + name: 'isValidTimezone() America/New_York = true', + test: () => isValidTimezone('America/New_York') === true, + expected: 'true', + getActual: () => String(isValidTimezone('America/New_York')), + }, + { + name: 'isValidTimezone() Invalid/Zone = false', + test: () => isValidTimezone('Invalid/Zone') === false, + expected: 'false', + getActual: () => String(isValidTimezone('Invalid/Zone')), + }, + // getAvailableTimezones() + { + name: 'getAvailableTimezones() returns array', + test: () => Array.isArray(getAvailableTimezones()), + expected: 'array', + getActual: () => `array of ${getAvailableTimezones().length} items`, + }, + // formatInTimezone() + { + name: 'formatInTimezone() UTC', + test: () => + formatInTimezone(TEST_TS, 'yyyy-MM-dd HH:mm', 'UTC') === + '2024-06-15 14:30', + expected: '2024-06-15 14:30', + getActual: () => formatInTimezone(TEST_TS, 'yyyy-MM-dd HH:mm', 'UTC'), + }, + { + name: 'formatInTimezone() Tokyo (+9)', + test: () => + formatInTimezone(TEST_TS, 'yyyy-MM-dd HH:mm', 'Asia/Tokyo') === + '2024-06-15 23:30', + expected: '2024-06-15 23:30', + getActual: () => + formatInTimezone(TEST_TS, 'yyyy-MM-dd HH:mm', 'Asia/Tokyo'), + }, + // formatDateInTimezone/formatDateTimeInTimezone + { + name: 'formatDateInTimezone() UTC', + test: () => formatDateInTimezone(TEST_TS, 'UTC') === '2024-06-15', + expected: '2024-06-15', + getActual: () => formatDateInTimezone(TEST_TS, 'UTC'), + }, + { + name: 'formatDateTimeInTimezone() UTC', + test: () => + formatDateTimeInTimezone(TEST_TS, 'UTC') === '2024-06-15 14:30:45', + expected: '2024-06-15 14:30:45', + getActual: () => formatDateTimeInTimezone(TEST_TS, 'UTC'), + }, + // isTodayInTz() + { + name: 'isTodayInTz() now = true', + test: () => isTodayInTz(now(), 'UTC') === true, + expected: 'true', + getActual: () => String(isTodayInTz(now(), 'UTC')), + }, + { + name: 'isTodayInTz() yesterday = false', + test: () => isTodayInTz(subDays(now(), 1), 'UTC') === false, + expected: 'false', + getActual: () => String(isTodayInTz(subDays(now(), 1), 'UTC')), + }, + // isTomorrowInTz() + { + name: 'isTomorrowInTz() tomorrow = true', + test: () => isTomorrowInTz(addDays(now(), 1), 'UTC') === true, + expected: 'true', + getActual: () => String(isTomorrowInTz(addDays(now(), 1), 'UTC')), + }, + { + name: 'isTomorrowInTz() today = false', + test: () => isTomorrowInTz(now(), 'UTC') === false, + expected: 'false', + getActual: () => String(isTomorrowInTz(now(), 'UTC')), + }, + // isYesterdayInTz() + { + name: 'isYesterdayInTz() yesterday = true', + test: () => isYesterdayInTz(subDays(now(), 1), 'UTC') === true, + expected: 'true', + getActual: () => String(isYesterdayInTz(subDays(now(), 1), 'UTC')), + }, + { + name: 'isYesterdayInTz() today = false', + test: () => isYesterdayInTz(now(), 'UTC') === false, + expected: 'false', + getActual: () => String(isYesterdayInTz(now(), 'UTC')), + }, + // isSameDayInTz() + { + name: 'isSameDayInTz() same day UTC = true', + test: () => { + const d1 = parse('2024-06-15T10:00:00Z'); + const d2 = parse('2024-06-15T22:00:00Z'); + return isSameDayInTz(d1, d2, 'UTC') === true; + }, + expected: 'true', + getActual: () => { + const d1 = parse('2024-06-15T10:00:00Z'); + const d2 = parse('2024-06-15T22:00:00Z'); + return String(isSameDayInTz(d1, d2, 'UTC')); + }, + }, + { + name: 'isSameDayInTz() cross-timezone boundary', + test: () => { + // 11pm UTC June 15 = 8am June 16 in Tokyo + const d1 = parse('2024-06-15T23:00:00Z'); + const d2 = parse('2024-06-16T08:00:00Z'); + // In Tokyo both are June 16 + return isSameDayInTz(d1, d2, 'Asia/Tokyo') === true; + }, + expected: 'true (both June 16 in Tokyo)', + getActual: () => { + const d1 = parse('2024-06-15T23:00:00Z'); + const d2 = parse('2024-06-16T08:00:00Z'); + return String(isSameDayInTz(d1, d2, 'Asia/Tokyo')); + }, + }, + { + name: 'isSameDayInTz() different in UTC', + test: () => { + const d1 = parse('2024-06-15T23:00:00Z'); + const d2 = parse('2024-06-16T08:00:00Z'); + return isSameDayInTz(d1, d2, 'UTC') === false; + }, + expected: 'false (different days in UTC)', + getActual: () => { + const d1 = parse('2024-06-15T23:00:00Z'); + const d2 = parse('2024-06-16T08:00:00Z'); + return String(isSameDayInTz(d1, d2, 'UTC')); + }, + }, + // isSameMonthInTz() + { + name: 'isSameMonthInTz() same month = true', + test: () => { + const d1 = parse('2024-06-01T12:00:00Z'); + const d2 = parse('2024-06-30T12:00:00Z'); + return isSameMonthInTz(d1, d2, 'UTC') === true; + }, + expected: 'true', + getActual: () => { + const d1 = parse('2024-06-01T12:00:00Z'); + const d2 = parse('2024-06-30T12:00:00Z'); + return String(isSameMonthInTz(d1, d2, 'UTC')); + }, + }, + // isSameYearInTz() + { + name: 'isSameYearInTz() same year = true', + test: () => { + const d1 = parse('2024-01-15T12:00:00Z'); + const d2 = parse('2024-12-15T12:00:00Z'); + return isSameYearInTz(d1, d2, 'UTC') === true; + }, + expected: 'true', + getActual: () => { + const d1 = parse('2024-01-15T12:00:00Z'); + const d2 = parse('2024-12-15T12:00:00Z'); + return String(isSameYearInTz(d1, d2, 'UTC')); + }, + }, + // startOfDayInTz() + { + name: 'startOfDayInTz() UTC midnight', + test: () => { + const start = startOfDayInTz(TEST_TS, 'UTC'); + const formatted = formatInTimezone(start, 'HH:mm:ss', 'UTC'); + return formatted === '00:00:00'; + }, + expected: '00:00:00', + getActual: () => { + const start = startOfDayInTz(TEST_TS, 'UTC'); + return formatInTimezone(start, 'HH:mm:ss', 'UTC'); + }, + }, + { + name: 'startOfDayInTz() NY midnight = 04:00 UTC', + test: () => { + const start = startOfDayInTz(TEST_TS, 'America/New_York'); + const utcTime = formatInTimezone(start, 'HH:mm:ss', 'UTC'); + return utcTime === '04:00:00'; + }, + expected: '04:00:00 UTC', + getActual: () => { + const start = startOfDayInTz(TEST_TS, 'America/New_York'); + return formatInTimezone(start, 'HH:mm:ss', 'UTC'); + }, + }, + // endOfDayInTz() + { + name: 'endOfDayInTz() UTC', + test: () => { + const end = endOfDayInTz(TEST_TS, 'UTC'); + const formatted = formatInTimezone(end, 'HH:mm:ss', 'UTC'); + return formatted === '23:59:59'; + }, + expected: '23:59:59', + getActual: () => { + const end = endOfDayInTz(TEST_TS, 'UTC'); + return formatInTimezone(end, 'HH:mm:ss', 'UTC'); + }, + }, + { + name: 'endOfDayInTz() 1ms before next start', + test: () => { + const end = endOfDayInTz(TEST_TS, 'UTC'); + const nextStart = startOfDayInTz(addDays(TEST_TS, 1), 'UTC'); + return nextStart - end === 1; + }, + expected: 'diff = 1ms', + getActual: () => { + const end = endOfDayInTz(TEST_TS, 'UTC'); + const nextStart = startOfDayInTz(addDays(TEST_TS, 1), 'UTC'); + return `diff = ${nextStart - end}ms`; + }, + }, + // Locale + { + name: 'getLocale() returns string', + test: () => typeof getLocale() === 'string', + expected: 'string', + getActual: () => getLocale(), + }, + { + name: 'getAvailableLocales() returns object', + test: () => typeof getAvailableLocales() === 'object', + expected: 'object', + getActual: () => `${Object.keys(getAvailableLocales()).length} locales`, + }, + { + name: 'getLocaleDisplayName() en', + test: () => getLocaleDisplayName('en').toLowerCase().includes('english'), + expected: 'contains "english"', + getActual: () => getLocaleDisplayName('en'), + }, + { + name: 'getLocaleInfo() returns object', + test: () => { + const info = getLocaleInfo('en'); + return 'code' in info && 'displayName' in info; + }, + expected: 'object with code, displayName', + getActual: () => { + const info = getLocaleInfo('en'); + return `{code: ${info.code}, displayName: ${info.displayName}}`; + }, + }, + ], + }, + Setters: { + name: 'Setter Functions', + tests: [ + // setYear() + { + name: 'setYear() 2025', + test: () => getYear(setYear(TEST_TS, 2025)) === 2025, + expected: '2025', + getActual: () => String(getYear(setYear(TEST_TS, 2025))), + }, + { + name: 'setYear() preserves month/day', + test: () => { + const result = setYear(TEST_TS, 2025); + return getMonth(result) === 6 && getDate(result) === 15; + }, + expected: 'month=6, day=15', + getActual: () => { + const r = setYear(TEST_TS, 2025); + return `month=${getMonth(r)}, day=${getDate(r)}`; + }, + }, + { + name: 'setYear() Feb 29 to non-leap clamps to 28', + test: () => { + const feb29 = parse('2024-02-29T12:00:00Z'); + const result = setYear(feb29, 2023); + return getDate(result) === 28; + }, + expected: 'day = 28', + getActual: () => { + const feb29 = parse('2024-02-29T12:00:00Z'); + const result = setYear(feb29, 2023); + return String(getDate(result)); + }, + }, + // setMonth() + { + name: 'setMonth() to December', + test: () => getMonth(setMonth(TEST_TS, 12)) === 12, + expected: '12', + getActual: () => String(getMonth(setMonth(TEST_TS, 12))), + }, + { + name: 'setMonth() clamps day (Jan 31 -> Feb)', + test: () => { + const jan31 = parse('2024-01-31T12:00:00Z'); + const result = setMonth(jan31, 2); + return getMonth(result) === 2 && getDate(result) === 29; // 2024 leap + }, + expected: 'Feb 29', + getActual: () => { + const jan31 = parse('2024-01-31T12:00:00Z'); + const r = setMonth(jan31, 2); + return `${getMonth(r)}/${getDate(r)}`; + }, + }, + // setDate() + { + name: 'setDate() to 25', + test: () => getDate(setDate(TEST_TS, 25)) === 25, + expected: '25', + getActual: () => String(getDate(setDate(TEST_TS, 25))), + }, + { + name: 'setDate() to 1', + test: () => getDate(setDate(TEST_TS, 1)) === 1, + expected: '1', + getActual: () => String(getDate(setDate(TEST_TS, 1))), + }, + // setHours() + { + name: 'setHours() to 9', + test: () => getHours(setHours(TEST_TS, 9)) === 9, + expected: '9', + getActual: () => String(getHours(setHours(TEST_TS, 9))), + }, + { + name: 'setHours() to 0 (midnight)', + test: () => getHours(setHours(TEST_TS, 0)) === 0, + expected: '0', + getActual: () => String(getHours(setHours(TEST_TS, 0))), + }, + { + name: 'setHours() to 23', + test: () => getHours(setHours(TEST_TS, 23)) === 23, + expected: '23', + getActual: () => String(getHours(setHours(TEST_TS, 23))), + }, + // setMinutes() + { + name: 'setMinutes() to 45', + test: () => getMinutes(setMinutes(TEST_TS, 45)) === 45, + expected: '45', + getActual: () => String(getMinutes(setMinutes(TEST_TS, 45))), + }, + { + name: 'setMinutes() to 0', + test: () => getMinutes(setMinutes(TEST_TS, 0)) === 0, + expected: '0', + getActual: () => String(getMinutes(setMinutes(TEST_TS, 0))), + }, + // setSeconds() + { + name: 'setSeconds() to 30', + test: () => getSeconds(setSeconds(TEST_TS, 30)) === 30, + expected: '30', + getActual: () => String(getSeconds(setSeconds(TEST_TS, 30))), + }, + { + name: 'setSeconds() to 0', + test: () => getSeconds(setSeconds(TEST_TS, 0)) === 0, + expected: '0', + getActual: () => String(getSeconds(setSeconds(TEST_TS, 0))), + }, + // setMilliseconds() + { + name: 'setMilliseconds() to 500', + test: () => getMilliseconds(setMilliseconds(TEST_TS, 500)) === 500, + expected: '500', + getActual: () => String(getMilliseconds(setMilliseconds(TEST_TS, 500))), + }, + { + name: 'setMilliseconds() to 0', + test: () => getMilliseconds(setMilliseconds(TEST_TS, 0)) === 0, + expected: '0', + getActual: () => String(getMilliseconds(setMilliseconds(TEST_TS, 0))), + }, + { + name: 'setMilliseconds() to 999', + test: () => getMilliseconds(setMilliseconds(TEST_TS, 999)) === 999, + expected: '999', + getActual: () => String(getMilliseconds(setMilliseconds(TEST_TS, 999))), + }, + // Chaining + { + name: 'Chaining setters', + test: () => { + const result = setMinutes(setHours(setMonth(TEST_TS, 12), 9), 30); + const c = getComponents(result); + return c.month === 12 && c.hour === 9 && c.minute === 30; + }, + expected: 'month=12, hour=9, min=30', + getActual: () => { + const r = setMinutes(setHours(setMonth(TEST_TS, 12), 9), 30); + const c = getComponents(r); + return `month=${c.month}, hour=${c.hour}, min=${c.minute}`; + }, + }, + ], + }, + Async: { + name: 'Async Functions', + tests: [ + // parseManyAsync + { + name: 'parseManyAsync() parses array', + test: async () => { + const results = await parseManyAsync([ + '2024-06-15', + '2024-06-16', + '2024-06-17', + ]); + return results.length === 3 && results.every((r) => !isNaN(r)); + }, + expected: '3 valid timestamps', + getActual: async () => { + const results = await parseManyAsync([ + '2024-06-15', + '2024-06-16', + '2024-06-17', + ]); + return `${results.length} results`; + }, + }, + // formatManyAsync + { + name: 'formatManyAsync() formats array', + test: async () => { + const results = await formatManyAsync( + [TEST_TS, EARLIER_TS, LATER_TS], + 'yyyy-MM-dd' + ); + return results.length === 3 && results[0] === '2024-06-15'; + }, + expected: '3 formatted strings', + getActual: async () => { + const results = await formatManyAsync( + [TEST_TS, EARLIER_TS, LATER_TS], + 'yyyy-MM-dd' + ); + return results.join(', '); + }, + }, + // getComponentsManyAsync + { + name: 'getComponentsManyAsync() returns components', + test: async () => { + const results = await getComponentsManyAsync([TEST_TS, EARLIER_TS]); + return results.length === 2 && 'year' in results[0]!; + }, + expected: '2 component objects', + getActual: async () => { + const results = await getComponentsManyAsync([TEST_TS, EARLIER_TS]); + return `${results.length} objects`; + }, + }, + ], + }, + }; +} + +export function NativeTestScreen() { + const [activeTab, setActiveTab] = useState('Core'); + const [results, setResults] = useState>({ + Core: [], + Getters: [], + Info: [], + Arithmetic: [], + Compare: [], + Predicates: [], + Helpers: [], + Timezone: [], + Setters: [], + Async: [], + }); + const [isRunning, setIsRunning] = useState(false); + + const categories = createTestCategories(); + + const runTests = useCallback(async (tab: TabName) => { + setIsRunning(true); + const category = createTestCategories()[tab]; + const testResults: TestResult[] = []; + + for (const testCase of category.tests) { + try { + const testFn = testCase.test as () => boolean | Promise; + const getActualFn = testCase.getActual as () => string | Promise; + + const passed = await testFn(); + const actual = await getActualFn(); + + testResults.push({ + name: testCase.name, + passed, + expected: testCase.expected, + actual, + }); + } catch (error) { + testResults.push({ + name: testCase.name, + passed: false, + expected: testCase.expected, + actual: 'ERROR', + error: error instanceof Error ? error.message : String(error), + }); + } + } + + setResults((prev) => ({ ...prev, [tab]: testResults })); + setIsRunning(false); + }, []); + + const runAllTests = useCallback(async () => { + setIsRunning(true); + for (const tab of TABS) { + await runTests(tab); + } + setIsRunning(false); + }, [runTests]); + + const logResults = useCallback(() => { + const timestamp = new Date().toISOString(); + const lines: string[] = []; + + lines.push(''); + lines.push('═══════════════════════════════════════════════════════════════'); + lines.push(' NATIVE DATE TEST RESULTS'); + lines.push(` ${timestamp}`); + lines.push('═══════════════════════════════════════════════════════════════'); + lines.push(''); + + let totalPassed = 0; + let totalFailed = 0; + + for (const tab of TABS) { + const tabResults = results[tab]; + if (tabResults.length === 0) continue; + + const passed = tabResults.filter((r) => r.passed === true).length; + const failed = tabResults.filter((r) => r.passed === false).length; + totalPassed += passed; + totalFailed += failed; + + lines.push(`┌─ ${tab.toUpperCase()} (${passed}/${tabResults.length} passed)`); + lines.push('│'); + + for (const result of tabResults) { + const icon = result.passed ? '\u2705' : '\u274C'; + lines.push(`│ ${icon} ${result.name}`); + if (!result.passed) { + lines.push(`│ Expected: ${result.expected}`); + lines.push(`│ Actual: ${result.actual}`); + if (result.error) { + lines.push(`│ Error: ${result.error}`); + } + } + } + lines.push('│'); + lines.push('└───────────────────────────────────────────────────────────'); + lines.push(''); + } + + lines.push('═══════════════════════════════════════════════════════════════'); + lines.push(` SUMMARY: ${totalPassed} passed, ${totalFailed} failed`); + lines.push(` TOTAL: ${totalPassed + totalFailed} tests`); + lines.push(` STATUS: ${totalFailed === 0 ? '\u2705 ALL TESTS PASSED' : '\u274C SOME TESTS FAILED'}`); + lines.push('═══════════════════════════════════════════════════════════════'); + lines.push(''); + + // Add failed tests summary at the end for easy copy/paste + if (totalFailed > 0) { + lines.push(''); + lines.push('═══════════════════════════════════════════════════════════════'); + lines.push(' FAILED TESTS (copy-friendly):'); + lines.push('═══════════════════════════════════════════════════════════════'); + lines.push(''); + for (const tab of TABS) { + const tabResults = results[tab]; + const failedTests = tabResults.filter((r) => r.passed === false); + if (failedTests.length > 0) { + lines.push(`[${tab}]`); + for (const result of failedTests) { + lines.push(`- ${result.name}`); + lines.push(` Expected: ${result.expected}`); + lines.push(` Actual: ${result.actual}`); + if (result.error) { + lines.push(` Error: ${result.error}`); + } + } + lines.push(''); + } + } + } + + console.log(lines.join('\n')); + }, [results]); + + const currentResults = results[activeTab]; + const passedCount = currentResults.filter((r) => r.passed === true).length; + const failedCount = currentResults.filter((r) => r.passed === false).length; + const totalTests = categories[activeTab].tests.length; + + const allResults = TABS.flatMap((tab) => results[tab]); + const allPassed = allResults.filter((r) => r.passed === true).length; + const allFailed = allResults.filter((r) => r.passed === false).length; + const allTotal = TABS.reduce( + (sum, tab) => sum + categories[tab].tests.length, + 0 + ); + + return ( + + {/* Header */} + + Native Tests + + + Total: {allPassed}/{allTotal} passed + {allFailed > 0 && ( + ({allFailed} failed) + )} + + + + + {/* Run Buttons */} + + runTests(activeTab)} + disabled={isRunning} + > + + {isRunning ? 'Running...' : `Run ${activeTab}`} + + + + + {isRunning ? 'Running...' : 'Run All'} + + + + Log + + + + {/* Tabs */} + + {TABS.map((tab) => { + const tabResults = results[tab]; + const tabPassed = tabResults.filter((r) => r.passed === true).length; + const tabFailed = tabResults.filter((r) => r.passed === false).length; + const hasResults = tabResults.length > 0; + + return ( + setActiveTab(tab)} + > + + {tab} + + {hasResults && ( + 0 ? styles.tabBadgeFailed : styles.tabBadgePassed, + ]} + > + + {tabFailed > 0 ? tabFailed : tabPassed} + + + )} + + ); + })} + + + {/* Category Header */} + + {categories[activeTab].name} + {currentResults.length > 0 && ( + + {passedCount}/{totalTests} passed + {failedCount > 0 && ( + ({failedCount} failed) + )} + + )} + + + {/* Test Results */} + + {currentResults.length === 0 ? ( + + + Press "Run {activeTab}" to execute tests + + + ) : ( + currentResults.map((result, index) => ( + + + + {result.passed ? '\u2705' : '\u274C'} + + + {result.name} + + + + Expected: + {result.expected} + + + Actual: + + {result.actual} + + + {result.error && ( + + Error: + {result.error} + + )} + + )) + )} + + + ); +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#1a1a2e', + }, + header: { + padding: 16, + borderBottomWidth: 1, + borderBottomColor: '#333', + }, + title: { + fontSize: 24, + fontWeight: 'bold', + color: '#fff', + }, + summary: { + marginTop: 4, + }, + summaryText: { + fontSize: 14, + color: '#aaa', + }, + failedText: { + color: '#ff6b6b', + }, + buttonRow: { + flexDirection: 'row', + padding: 12, + gap: 12, + }, + runButton: { + flex: 1, + backgroundColor: '#4ecdc4', + paddingVertical: 12, + borderRadius: 8, + alignItems: 'center', + }, + runAllButton: { + flex: 1, + backgroundColor: '#667eea', + paddingVertical: 12, + borderRadius: 8, + alignItems: 'center', + }, + logButton: { + paddingHorizontal: 20, + backgroundColor: '#f39c12', + paddingVertical: 12, + borderRadius: 8, + alignItems: 'center', + }, + runButtonDisabled: { + opacity: 0.5, + }, + runButtonText: { + color: '#fff', + fontWeight: '600', + fontSize: 14, + }, + tabsContainer: { + maxHeight: 50, + borderBottomWidth: 1, + borderBottomColor: '#333', + }, + tab: { + paddingHorizontal: 16, + paddingVertical: 12, + flexDirection: 'row', + alignItems: 'center', + gap: 6, + }, + tabActive: { + borderBottomWidth: 2, + borderBottomColor: '#4ecdc4', + }, + tabText: { + color: '#888', + fontSize: 14, + }, + tabTextActive: { + color: '#4ecdc4', + fontWeight: '600', + }, + tabBadge: { + paddingHorizontal: 6, + paddingVertical: 2, + borderRadius: 10, + minWidth: 20, + alignItems: 'center', + }, + tabBadgePassed: { + backgroundColor: '#2ecc71', + }, + tabBadgeFailed: { + backgroundColor: '#e74c3c', + }, + tabBadgeText: { + color: '#fff', + fontSize: 10, + fontWeight: 'bold', + }, + categoryHeader: { + padding: 12, + backgroundColor: '#252542', + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + }, + categoryTitle: { + fontSize: 16, + fontWeight: '600', + color: '#fff', + }, + categoryStats: { + fontSize: 14, + color: '#aaa', + }, + resultsContainer: { + flex: 1, + padding: 12, + }, + emptyState: { + padding: 40, + alignItems: 'center', + }, + emptyText: { + color: '#666', + fontSize: 16, + }, + resultItem: { + backgroundColor: '#252542', + borderRadius: 8, + padding: 12, + marginBottom: 8, + borderLeftWidth: 4, + }, + resultPassed: { + borderLeftColor: '#2ecc71', + }, + resultFailed: { + borderLeftColor: '#e74c3c', + }, + resultHeader: { + flexDirection: 'row', + alignItems: 'flex-start', + gap: 8, + marginBottom: 8, + }, + resultIcon: { + fontSize: 16, + }, + resultName: { + flex: 1, + fontSize: 14, + fontWeight: '600', + color: '#fff', + }, + resultDetails: { + flexDirection: 'row', + marginLeft: 24, + marginTop: 2, + }, + resultLabel: { + fontSize: 12, + color: '#888', + width: 70, + }, + resultValue: { + flex: 1, + fontSize: 12, + color: '#aaa', + }, + resultValueFailed: { + color: '#ff6b6b', + }, + resultError: { + flex: 1, + fontSize: 12, + color: '#ff6b6b', + }, +}); diff --git a/packages/native-date/src/index.tsx b/packages/native-date/src/index.tsx index 0a8324e..16194ea 100644 --- a/packages/native-date/src/index.tsx +++ b/packages/native-date/src/index.tsx @@ -418,26 +418,29 @@ export function now(): number { * @throws Error if the date string is invalid */ export function parse(dateString: string): number { - const result = Date.parse(dateString); - if (isNaN(result)) { - throw new Error(`Unable to parse date string: ${dateString}`); - } - return result; + // Use native C++ parse for consistent local time handling + // (JS Date.parse treats date-only strings as UTC, native treats them as local) + return NativeDateModule.parse(dateString); } /** * Safely parse a date string, returning null if invalid * - * Uses JS Date.parse() instead of native C++ because: - * - Avoids bridge crossing overhead for simple ISO 8601 parsing - * - JS engine's built-in parser is highly optimized for standard formats + * Uses native C++ parse for consistent local time handling + * (JS Date.parse treats date-only strings as UTC, native treats them as local) * - * @see NativeDateModule.parse - Native C++ alternative (use directly if needed) - * @see tryParseFormat - For custom format patterns (uses native C++) + * @see parseFormat - For custom format patterns (uses native C++) */ export function tryParse(dateString: string): number | null { - const result = Date.parse(dateString); - return isNaN(result) ? null : result; + // Basic format validation - must start with YYYY-MM-DD pattern + if (!/^\d{4}-\d{2}-\d{2}/.test(dateString)) { + return null; + } + try { + return NativeDateModule.parse(dateString); + } catch { + return null; + } } /** From 5bc8bfd1df9a807efafd4cc5382552b125000f42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Garc=C3=ADa?= Date: Wed, 14 Jan 2026 01:14:10 -0600 Subject: [PATCH 04/18] expo example --- package-lock.json | 17863 ++++++++++++++++ packages/native-date/expo-example/.gitignore | 41 + packages/native-date/expo-example/App.tsx | 369 + packages/native-date/expo-example/app.json | 32 + .../expo-example/assets/adaptive-icon.png | Bin 0 -> 17547 bytes .../expo-example/assets/favicon.png | Bin 0 -> 1466 bytes .../native-date/expo-example/assets/icon.png | Bin 0 -> 22380 bytes .../expo-example/assets/splash-icon.png | Bin 0 -> 17547 bytes packages/native-date/expo-example/index.ts | 8 + .../expo-example/package-lock.json | 7730 +++++++ .../native-date/expo-example/package.json | 25 + .../native-date/expo-example/tsconfig.json | 6 + packages/native-date/expo-example/yarn.lock | 0 yarn.lock | 1896 +- 14 files changed, 27047 insertions(+), 923 deletions(-) create mode 100644 package-lock.json create mode 100644 packages/native-date/expo-example/.gitignore create mode 100644 packages/native-date/expo-example/App.tsx create mode 100644 packages/native-date/expo-example/app.json create mode 100644 packages/native-date/expo-example/assets/adaptive-icon.png create mode 100644 packages/native-date/expo-example/assets/favicon.png create mode 100644 packages/native-date/expo-example/assets/icon.png create mode 100644 packages/native-date/expo-example/assets/splash-icon.png create mode 100644 packages/native-date/expo-example/index.ts create mode 100644 packages/native-date/expo-example/package-lock.json create mode 100644 packages/native-date/expo-example/package.json create mode 100644 packages/native-date/expo-example/tsconfig.json create mode 100644 packages/native-date/expo-example/yarn.lock diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..2148321 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,17863 @@ +{ + "name": "react-native-packages", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "react-native-packages", + "workspaces": [ + "packages/*", + "packages/*/example" + ], + "devDependencies": { + "@types/jest": "^30.0.0", + "date-fns": "^4.1.0", + "dayjs": "^1.11.19", + "jest": "^30.2.0", + "ts-jest": "^29.4.5", + "turbo": "^2.0.0", + "vitepress": "^1.6.4", + "vue": "^3.5.25" + } + }, + "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" + }, + "peerDependenciesMeta": { + "graphql": { + "optional": true + } + } + }, + "node_modules/@algolia/abtesting": { + "version": "1.11.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.45.0", + "@algolia/requester-browser-xhr": "5.45.0", + "@algolia/requester-fetch": "5.45.0", + "@algolia/requester-node-http": "5.45.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.17.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.17.7", + "@algolia/autocomplete-shared": "1.17.7" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.17.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-shared": "1.17.7" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.17.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-shared": "1.17.7" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.17.7", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/client-abtesting": { + "version": "5.45.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.45.0", + "@algolia/requester-browser-xhr": "5.45.0", + "@algolia/requester-fetch": "5.45.0", + "@algolia/requester-node-http": "5.45.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "5.45.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.45.0", + "@algolia/requester-browser-xhr": "5.45.0", + "@algolia/requester-fetch": "5.45.0", + "@algolia/requester-node-http": "5.45.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "5.45.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.45.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.45.0", + "@algolia/requester-browser-xhr": "5.45.0", + "@algolia/requester-fetch": "5.45.0", + "@algolia/requester-node-http": "5.45.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "5.45.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.45.0", + "@algolia/requester-browser-xhr": "5.45.0", + "@algolia/requester-fetch": "5.45.0", + "@algolia/requester-node-http": "5.45.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.45.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.45.0", + "@algolia/requester-browser-xhr": "5.45.0", + "@algolia/requester-fetch": "5.45.0", + "@algolia/requester-node-http": "5.45.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "5.45.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.45.0", + "@algolia/requester-browser-xhr": "5.45.0", + "@algolia/requester-fetch": "5.45.0", + "@algolia/requester-node-http": "5.45.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/ingestion": { + "version": "1.45.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.45.0", + "@algolia/requester-browser-xhr": "5.45.0", + "@algolia/requester-fetch": "5.45.0", + "@algolia/requester-node-http": "5.45.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/monitoring": { + "version": "1.45.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.45.0", + "@algolia/requester-browser-xhr": "5.45.0", + "@algolia/requester-fetch": "5.45.0", + "@algolia/requester-node-http": "5.45.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "5.45.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.45.0", + "@algolia/requester-browser-xhr": "5.45.0", + "@algolia/requester-fetch": "5.45.0", + "@algolia/requester-node-http": "5.45.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.45.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.45.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.45.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.45.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-node-http": { + "version": "5.45.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.45.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@ark/schema": { + "version": "0.55.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@ark/util": "0.55.0" + } + }, + "node_modules/@ark/util": { + "version": "0.55.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/code-frame": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.28.6.tgz", + "integrity": "sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.5", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.5", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.28.5", + "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/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.6.tgz", + "integrity": "sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6", + "@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-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz", + "integrity": "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.28.5", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "regexpu-core": "^6.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "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-globals": { + "version": "7.28.0", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.28.5", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" + }, + "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.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "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.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz", + "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==", + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.28.6" + }, + "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.28.5", + "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.4", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "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", + "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", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "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", + "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", + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.6.tgz", + "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.6" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.28.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "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-decorators": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.6.tgz", + "integrity": "sha512-RVdFPPyY9fCRAX68haPmOk2iyKW8PKJFthmm8NeSI3paNxKWGZIn99+VbIf0FrtCpFnPgnpF/L48tadi617ULg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-syntax-decorators": "^7.28.6" + }, + "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-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.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.28.6.tgz", + "integrity": "sha512-71EYI0ONURHJBL4rSFXnITXqXrrY8q4P0q006DPfN+Rk+ASM+++IBXem/ruokgBZR8YNEWZ8R6B+rCb8VcUTqA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "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.5", + "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", + "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.4", + "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.4" + }, + "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.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "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.28.5", + "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.28.5", + "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.28.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.5" + }, + "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.4", + "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.4" + }, + "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.28.5", + "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.4", + "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.5", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "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-strict-mode": { + "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-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.5", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.5", + "@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.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.5", + "@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.28.5", + "@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.5", + "@babel/plugin-transform-class-properties": "^7.27.1", + "@babel/plugin-transform-class-static-block": "^7.28.3", + "@babel/plugin-transform-classes": "^7.28.4", + "@babel/plugin-transform-computed-properties": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@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.28.5", + "@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.28.5", + "@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.28.5", + "@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.4", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.28.5", + "@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.4", + "@babel/plugin-transform-regexp-modifiers": "^7.27.1", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.27.1", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.27.1", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "core-js-compat": "^3.43.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "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.28.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-transform-react-display-name": "^7.28.0", + "@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.28.5", + "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.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.4", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.6.tgz", + "integrity": "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/generator": "^7.28.6", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.6", + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse--for-generate-function-map": { + "name": "@babel/traverse", + "version": "7.28.5", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.5", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.6.tgz", + "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@bernagl/react-native-date": { + "resolved": "packages/native-date", + "link": true + }, + "node_modules/@commitlint/cli": { + "version": "19.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/format": "^19.8.1", + "@commitlint/lint": "^19.8.1", + "@commitlint/load": "^19.8.1", + "@commitlint/read": "^19.8.1", + "@commitlint/types": "^19.8.1", + "tinyexec": "^1.0.0", + "yargs": "^17.0.0" + }, + "bin": { + "commitlint": "cli.js" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/config-conventional": { + "version": "19.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^19.8.1", + "conventional-changelog-conventionalcommits": "^7.0.2" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/config-validator": { + "version": "19.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^19.8.1", + "ajv": "^8.11.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/config-validator/node_modules/ajv": { + "version": "8.17.1", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@commitlint/config-validator/node_modules/json-schema-traverse": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@commitlint/ensure": { + "version": "19.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^19.8.1", + "lodash.camelcase": "^4.3.0", + "lodash.kebabcase": "^4.1.1", + "lodash.snakecase": "^4.1.1", + "lodash.startcase": "^4.4.0", + "lodash.upperfirst": "^4.3.1" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/execute-rule": { + "version": "19.8.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/format": { + "version": "19.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^19.8.1", + "chalk": "^5.3.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/format/node_modules/chalk": { + "version": "5.6.2", + "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/@commitlint/is-ignored": { + "version": "19.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^19.8.1", + "semver": "^7.6.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/lint": { + "version": "19.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/is-ignored": "^19.8.1", + "@commitlint/parse": "^19.8.1", + "@commitlint/rules": "^19.8.1", + "@commitlint/types": "^19.8.1" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/load": { + "version": "19.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/config-validator": "^19.8.1", + "@commitlint/execute-rule": "^19.8.1", + "@commitlint/resolve-extends": "^19.8.1", + "@commitlint/types": "^19.8.1", + "chalk": "^5.3.0", + "cosmiconfig": "^9.0.0", + "cosmiconfig-typescript-loader": "^6.1.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/load/node_modules/chalk": { + "version": "5.6.2", + "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/@commitlint/message": { + "version": "19.8.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/parse": { + "version": "19.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^19.8.1", + "conventional-changelog-angular": "^7.0.0", + "conventional-commits-parser": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/read": { + "version": "19.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/top-level": "^19.8.1", + "@commitlint/types": "^19.8.1", + "git-raw-commits": "^4.0.0", + "minimist": "^1.2.8", + "tinyexec": "^1.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/resolve-extends": { + "version": "19.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/config-validator": "^19.8.1", + "@commitlint/types": "^19.8.1", + "global-directory": "^4.0.1", + "import-meta-resolve": "^4.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/rules": { + "version": "19.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/ensure": "^19.8.1", + "@commitlint/message": "^19.8.1", + "@commitlint/to-lines": "^19.8.1", + "@commitlint/types": "^19.8.1" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/to-lines": { + "version": "19.8.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/top-level": { + "version": "19.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^7.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/top-level/node_modules/find-up": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^7.2.0", + "path-exists": "^5.0.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/top-level/node_modules/locate-path": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/top-level/node_modules/p-limit": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/top-level/node_modules/p-locate": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/top-level/node_modules/path-exists": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/@commitlint/top-level/node_modules/yocto-queue": { + "version": "1.2.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/types": { + "version": "19.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/conventional-commits-parser": "^5.0.0", + "chalk": "^5.3.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/types/node_modules/chalk": { + "version": "5.6.2", + "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/@date-fns/tz": { + "version": "1.4.1", + "license": "MIT" + }, + "node_modules/@docsearch/css": { + "version": "3.8.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@docsearch/js": { + "version": "3.8.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@docsearch/react": "3.8.2", + "preact": "^10.0.0" + } + }, + "node_modules/@docsearch/react": { + "version": "3.8.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-core": "1.17.7", + "@algolia/autocomplete-preset-algolia": "1.17.7", + "@docsearch/css": "3.8.2", + "algoliasearch": "^5.14.2" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.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/regexpp": { + "version": "4.12.2", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/compat": { + "version": "1.4.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": "^8.40 || 9" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.1", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@expo/cli": { + "version": "54.0.21", + "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-54.0.21.tgz", + "integrity": "sha512-L/FdpyZDsg/Nq6xW6kfiyF9DUzKfLZCKFXEVZcDqCNar6bXxQVotQyvgexRvtUF5nLinuT/UafLOdC3FUALUmA==", + "license": "MIT", + "dependencies": { + "@0no-co/graphql.web": "^1.0.8", + "@expo/code-signing-certificates": "^0.0.6", + "@expo/config": "~12.0.13", + "@expo/config-plugins": "~54.0.4", + "@expo/devcert": "^1.2.1", + "@expo/env": "~2.0.8", + "@expo/image-utils": "^0.8.8", + "@expo/json-file": "^10.0.8", + "@expo/metro": "~54.2.0", + "@expo/metro-config": "~54.0.13", + "@expo/osascript": "^2.3.8", + "@expo/package-manager": "^1.9.9", + "@expo/plist": "^0.4.8", + "@expo/prebuild-config": "^54.0.8", + "@expo/schema-utils": "^0.1.8", + "@expo/spawn-async": "^1.7.2", + "@expo/ws-tunnel": "^1.0.1", + "@expo/xcpretty": "^4.3.0", + "@react-native/dev-middleware": "0.81.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", + "expo-server": "^1.0.5", + "freeport-async": "^2.0.0", + "getenv": "^2.0.0", + "glob": "^13.0.0", + "lan-network": "^0.1.6", + "minimatch": "^9.0.0", + "node-forge": "^1.3.3", + "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.5.2", + "terminal-link": "^2.1.1", + "undici": "^6.18.2", + "wrap-ansi": "^7.0.0", + "ws": "^8.12.1" + }, + "bin": { + "expo-internal": "build/bin/cli" + }, + "peerDependencies": { + "expo": "*", + "expo-router": "*", + "react-native": "*" + }, + "peerDependenciesMeta": { + "expo-router": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/@expo/cli/node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@expo/cli/node_modules/@react-native/debugger-frontend": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.81.5.tgz", + "integrity": "sha512-bnd9FSdWKx2ncklOetCgrlwqSGhMHP2zOxObJbOWXoj7GHEmih4MKarBo5/a8gX8EfA1EwRATdfNBQ81DY+h+w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@expo/cli/node_modules/@react-native/dev-middleware": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.81.5.tgz", + "integrity": "sha512-WfPfZzboYgo/TUtysuD5xyANzzfka8Ebni6RIb2wDxhb56ERi7qDrE4xGhtPsjCL4pQBXSVxyIlCy0d8I6EgGA==", + "license": "MIT", + "dependencies": { + "@isaacs/ttlcache": "^1.4.1", + "@react-native/debugger-frontend": "0.81.5", + "chrome-launcher": "^0.15.2", + "chromium-edge-launcher": "^0.2.0", + "connect": "^3.6.5", + "debug": "^4.4.0", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "open": "^7.0.3", + "serve-static": "^1.16.2", + "ws": "^6.2.3" + }, + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@expo/cli/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" + } + }, + "node_modules/@expo/cli/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/@expo/cli/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" + } + }, + "node_modules/@expo/cli/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" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@expo/cli/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@expo/cli/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@expo/cli/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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/cli/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" + } + }, + "node_modules/@expo/cli/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/@expo/cli/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@expo/cli/node_modules/glob": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", + "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.1.1", + "minipass": "^7.1.2", + "path-scurry": "^2.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/cli/node_modules/glob/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/cli/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" + } + }, + "node_modules/@expo/cli/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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/cli/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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/cli/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", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/cli/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" + } + }, + "node_modules/@expo/cli/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/cli/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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/cli/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", + "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/@expo/cli/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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/cli/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", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/cli/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" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@expo/cli/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", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@expo/cli/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", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/cli/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/@expo/cli/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" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@expo/cli/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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/cli/node_modules/ws": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", + "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@expo/code-signing-certificates": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@expo/code-signing-certificates/-/code-signing-certificates-0.0.6.tgz", + "integrity": "sha512-iNe0puxwBNEcuua9gmTGzq+SuMDa0iATai1FlFTMHJ/vUmKvN/V//drXoLJkVb5i5H3iE/n/qIJxyoBnXouD0w==", + "license": "MIT", + "dependencies": { + "node-forge": "^1.3.3" + } + }, + "node_modules/@expo/config": { + "version": "12.0.13", + "resolved": "https://registry.npmjs.org/@expo/config/-/config-12.0.13.tgz", + "integrity": "sha512-Cu52arBa4vSaupIWsF0h7F/Cg//N374nYb7HAxV0I4KceKA7x2UXpYaHOL7EEYYvp7tZdThBjvGpVmr8ScIvaQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "~7.10.4", + "@expo/config-plugins": "~54.0.4", + "@expo/config-types": "^54.0.10", + "@expo/json-file": "^10.0.8", + "deepmerge": "^4.3.1", + "getenv": "^2.0.0", + "glob": "^13.0.0", + "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.1" + } + }, + "node_modules/@expo/config-plugins": { + "version": "54.0.4", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-54.0.4.tgz", + "integrity": "sha512-g2yXGICdoOw5i3LkQSDxl2Q5AlQCrG7oniu0pCPPO+UxGb7He4AFqSvPSy8HpRUj55io17hT62FTjYRD+d6j3Q==", + "license": "MIT", + "dependencies": { + "@expo/config-types": "^54.0.10", + "@expo/json-file": "~10.0.8", + "@expo/plist": "^0.4.8", + "@expo/sdk-runtime-versions": "^1.0.0", + "chalk": "^4.1.2", + "debug": "^4.3.5", + "getenv": "^2.0.0", + "glob": "^13.0.0", + "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/glob": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", + "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.1.1", + "minipass": "^7.1.2", + "path-scurry": "^2.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/config-plugins/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/config-types": { + "version": "54.0.10", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-54.0.10.tgz", + "integrity": "sha512-/J16SC2an1LdtCZ67xhSkGXpALYUVUNyZws7v+PVsFZxClYehDSoKLqyRaGkpHlYrCc08bS0RF5E0JV6g50psA==", + "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" + } + }, + "node_modules/@expo/config/node_modules/glob": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", + "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.1.1", + "minipass": "^7.1.2", + "path-scurry": "^2.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/config/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/devcert": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@expo/devcert/-/devcert-1.2.1.tgz", + "integrity": "sha512-qC4eaxmKMTmJC2ahwyui6ud8f3W60Ss7pMkpBq40Hu3zyiAaugPXnZ24145U7K36qO9UHdZUVxsCvIpz2RYYCA==", + "license": "MIT", + "dependencies": { + "@expo/sudo-prompt": "^9.3.1", + "debug": "^3.1.0" + } + }, + "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" + } + }, + "node_modules/@expo/devtools": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@expo/devtools/-/devtools-0.1.8.tgz", + "integrity": "sha512-SVLxbuanDjJPgc0sy3EfXUMLb/tXzp6XIHkhtPVmTWJAp+FOr6+5SeiCfJrCzZFet0Ifyke2vX3sFcKwEvCXwQ==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/@expo/env": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@expo/env/-/env-2.0.8.tgz", + "integrity": "sha512-5VQD6GT8HIMRaSaB5JFtOXuvfDVU80YtZIuUT/GDhUF782usIXY13Tn3IdDz1Tm/lqA9qnRZQ1BF4t7LlvdJPA==", + "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.15.4", + "resolved": "https://registry.npmjs.org/@expo/fingerprint/-/fingerprint-0.15.4.tgz", + "integrity": "sha512-eYlxcrGdR2/j2M6pEDXo9zU9KXXF1vhP+V+Tl+lyY+bU8lnzrN6c637mz6Ye3em2ANy8hhUR03Raf8VsT9Ogng==", + "license": "MIT", + "dependencies": { + "@expo/spawn-async": "^1.7.2", + "arg": "^5.0.2", + "chalk": "^4.1.2", + "debug": "^4.3.4", + "getenv": "^2.0.0", + "glob": "^13.0.0", + "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", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@expo/fingerprint/node_modules/glob": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", + "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.1.1", + "minipass": "^7.1.2", + "path-scurry": "^2.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/fingerprint/node_modules/glob/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/fingerprint/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/image-utils": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.8.8.tgz", + "integrity": "sha512-HHHaG4J4nKjTtVa1GG9PCh763xlETScfEyNxxOvfTRr8IKPJckjTyqSLEtdJoFNJ1vqiABEjW7tqGhqGibZLeA==", + "license": "MIT", + "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", + "resolve-global": "^1.0.0", + "semver": "^7.6.0", + "temp-dir": "~2.0.0", + "unique-string": "~2.0.0" + } + }, + "node_modules/@expo/json-file": { + "version": "10.0.8", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-10.0.8.tgz", + "integrity": "sha512-9LOTh1PgKizD1VXfGQ88LtDH0lRwq9lsTb4aichWTWSWqy3Ugfkhfm3BhzBIkJJfQQ5iJu3m/BoRlEIjoCGcnQ==", + "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", + "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" + } + }, + "node_modules/@expo/metro": { + "version": "54.2.0", + "resolved": "https://registry.npmjs.org/@expo/metro/-/metro-54.2.0.tgz", + "integrity": "sha512-h68TNZPGsk6swMmLm9nRSnE2UXm48rWwgcbtAHVMikXvbxdS41NDHHeqg1rcQ9AbznDRp6SQVC2MVpDnsRKU1w==", + "license": "MIT", + "dependencies": { + "metro": "0.83.3", + "metro-babel-transformer": "0.83.3", + "metro-cache": "0.83.3", + "metro-cache-key": "0.83.3", + "metro-config": "0.83.3", + "metro-core": "0.83.3", + "metro-file-map": "0.83.3", + "metro-minify-terser": "0.83.3", + "metro-resolver": "0.83.3", + "metro-runtime": "0.83.3", + "metro-source-map": "0.83.3", + "metro-symbolicate": "0.83.3", + "metro-transform-plugins": "0.83.3", + "metro-transform-worker": "0.83.3" + } + }, + "node_modules/@expo/metro-config": { + "version": "54.0.13", + "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-54.0.13.tgz", + "integrity": "sha512-RRufMCgLR2Za1WGsh02OatIJo5qZFt31yCnIOSfoubNc3Qqe92Z41pVsbrFnmw5CIaisv1NgdBy05DHe7pEyuw==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.20.0", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.5", + "@expo/config": "~12.0.13", + "@expo/env": "~2.0.8", + "@expo/json-file": "~10.0.8", + "@expo/metro": "~54.2.0", + "@expo/spawn-async": "^1.7.2", + "browserslist": "^4.25.0", + "chalk": "^4.1.0", + "debug": "^4.3.2", + "dotenv": "~16.4.5", + "dotenv-expand": "~11.0.6", + "getenv": "^2.0.0", + "glob": "^13.0.0", + "hermes-parser": "^0.29.1", + "jsc-safe-url": "^0.2.4", + "lightningcss": "^1.30.1", + "minimatch": "^9.0.0", + "postcss": "~8.4.32", + "resolve-from": "^5.0.0" + }, + "peerDependencies": { + "expo": "*" + }, + "peerDependenciesMeta": { + "expo": { + "optional": true + } + } + }, + "node_modules/@expo/metro-config/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@expo/metro-config/node_modules/glob": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", + "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.1.1", + "minipass": "^7.1.2", + "path-scurry": "^2.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/metro-config/node_modules/glob/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/metro-config/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/metro-config/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", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/@expo/osascript": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.3.8.tgz", + "integrity": "sha512-/TuOZvSG7Nn0I8c+FcEaoHeBO07yu6vwDgk7rZVvAXoeAK5rkA09jRyjYsZo+0tMEFaToBeywA6pj50Mb3ny9w==", + "license": "MIT", + "dependencies": { + "@expo/spawn-async": "^1.7.2", + "exec-async": "^2.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@expo/package-manager": { + "version": "1.9.9", + "resolved": "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.9.9.tgz", + "integrity": "sha512-Nv5THOwXzPprMJwbnXU01iXSrCp3vJqly9M4EJ2GkKko9Ifer2ucpg7x6OUsE09/lw+npaoUnHMXwkw7gcKxlg==", + "license": "MIT", + "dependencies": { + "@expo/json-file": "^10.0.8", + "@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/package-manager/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" + } + }, + "node_modules/@expo/package-manager/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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/package-manager/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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/package-manager/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" + } + }, + "node_modules/@expo/package-manager/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/@expo/package-manager/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@expo/package-manager/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" + } + }, + "node_modules/@expo/package-manager/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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/package-manager/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", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/package-manager/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" + } + }, + "node_modules/@expo/package-manager/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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/package-manager/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", + "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/@expo/package-manager/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", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/package-manager/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", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/package-manager/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" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@expo/package-manager/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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/plist": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.4.8.tgz", + "integrity": "sha512-pfNtErGGzzRwHP+5+RqswzPDKkZrx+Cli0mzjQaus1ZWFsog5ibL+nVT3NcporW51o8ggnt7x813vtRbPiyOrQ==", + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "^0.8.8", + "base64-js": "^1.2.3", + "xmlbuilder": "^15.1.1" + } + }, + "node_modules/@expo/prebuild-config": { + "version": "54.0.8", + "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-54.0.8.tgz", + "integrity": "sha512-EA7N4dloty2t5Rde+HP0IEE+nkAQiu4A/+QGZGT9mFnZ5KKjPPkqSyYcRvP5bhQE10D+tvz6X0ngZpulbMdbsg==", + "license": "MIT", + "dependencies": { + "@expo/config": "~12.0.13", + "@expo/config-plugins": "~54.0.4", + "@expo/config-types": "^54.0.10", + "@expo/image-utils": "^0.8.8", + "@expo/json-file": "^10.0.8", + "@react-native/normalize-colors": "0.81.5", + "debug": "^4.3.1", + "resolve-from": "^5.0.0", + "semver": "^7.6.0", + "xml2js": "0.6.0" + }, + "peerDependencies": { + "expo": "*" + } + }, + "node_modules/@expo/prebuild-config/node_modules/@react-native/normalize-colors": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.81.5.tgz", + "integrity": "sha512-0HuJ8YtqlTVRXGZuGeBejLE04wSQsibpTI+RGOyVqxZvgtlLLC/Ssw0UmbHhT4lYMp2fhdtvKZSs5emWB1zR/g==", + "license": "MIT" + }, + "node_modules/@expo/schema-utils": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@expo/schema-utils/-/schema-utils-0.1.8.tgz", + "integrity": "sha512-9I6ZqvnAvKKDiO+ZF8BpQQFYWXOJvTAL5L/227RUbWG1OVZDInFifzCBiqAZ3b67NRfeAgpgvbA7rejsqhY62A==", + "license": "MIT" + }, + "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" + }, + "engines": { + "node": ">=12" + } + }, + "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": "15.0.3", + "resolved": "https://registry.npmjs.org/@expo/vector-icons/-/vector-icons-15.0.3.tgz", + "integrity": "sha512-SBUyYKphmlfUBqxSfDdJ3jAdEVSALS2VUPOUyqn48oZmb2TL/O7t7/PQm5v4NQujYEPLPMTLn9KVw6H7twwbTA==", + "license": "MIT", + "peerDependencies": { + "expo-font": ">=14.0.4", + "react": "*", + "react-native": "*" + } + }, + "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", + "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", + "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" + } + }, + "node_modules/@expo/xcpretty/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@expo/xcpretty/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@expo/xcpretty/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "devOptional": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "devOptional": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.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/retry": { + "version": "0.4.3", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@iconify-json/simple-icons": { + "version": "1.2.60", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "@iconify/types": "*" + } + }, + "node_modules/@iconify/types": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "dev": true, + "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.2", + "dev": true, + "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.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "dev": true, + "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/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.2", + "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/@isaacs/cliui/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/@isaacs/fs-minipass": { + "version": "4.0.1", + "license": "ISC", + "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/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.2", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.2.0", + "@types/node": "*", + "chalk": "^4.1.2", + "jest-message-util": "30.2.0", + "jest-util": "30.2.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/core": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "30.2.0", + "@jest/pattern": "30.0.1", + "@jest/reporters": "30.2.0", + "@jest/test-result": "30.2.0", + "@jest/transform": "30.2.0", + "@jest/types": "30.2.0", + "@types/node": "*", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "exit-x": "^0.2.2", + "graceful-fs": "^4.2.11", + "jest-changed-files": "30.2.0", + "jest-config": "30.2.0", + "jest-haste-map": "30.2.0", + "jest-message-util": "30.2.0", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.2.0", + "jest-resolve-dependencies": "30.2.0", + "jest-runner": "30.2.0", + "jest-runtime": "30.2.0", + "jest-snapshot": "30.2.0", + "jest-util": "30.2.0", + "jest-validate": "30.2.0", + "jest-watcher": "30.2.0", + "micromatch": "^4.0.8", + "pretty-format": "30.2.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "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/create-cache-key-function/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/create-cache-key-function/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/@jest/create-cache-key-function/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "license": "MIT" + }, + "node_modules/@jest/diff-sequences": { + "version": "30.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/environment": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "30.2.0", + "@jest/types": "30.2.0", + "@types/node": "*", + "jest-mock": "30.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "30.2.0", + "jest-snapshot": "30.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.2.0", + "@sinonjs/fake-timers": "^13.0.0", + "@types/node": "*", + "jest-message-util": "30.2.0", + "jest-mock": "30.2.0", + "jest-util": "30.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/get-type": { + "version": "30.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.2.0", + "@jest/expect": "30.2.0", + "@jest/types": "30.2.0", + "jest-mock": "30.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/pattern": { + "version": "30.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-regex-util": "30.0.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "30.2.0", + "@jest/test-result": "30.2.0", + "@jest/transform": "30.2.0", + "@jest/types": "30.2.0", + "@jridgewell/trace-mapping": "^0.3.25", + "@types/node": "*", + "chalk": "^4.1.2", + "collect-v8-coverage": "^1.0.2", + "exit-x": "^0.2.2", + "glob": "^10.3.10", + "graceful-fs": "^4.2.11", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^5.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "30.2.0", + "jest-util": "30.2.0", + "jest-worker": "30.2.0", + "slash": "^3.0.0", + "string-length": "^4.0.2", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.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/brace-expansion": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/glob": { + "version": "10.5.0", + "dev": true, + "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/@jest/reporters/node_modules/lru-cache": { + "version": "10.4.3", + "dev": true, + "license": "ISC" + }, + "node_modules/@jest/reporters/node_modules/minimatch": { + "version": "9.0.5", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@jest/reporters/node_modules/path-scurry": { + "version": "1.11.1", + "dev": true, + "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/@jest/schemas": { + "version": "30.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.34.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/snapshot-utils": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.2.0", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "natural-compare": "^1.4.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "30.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "callsites": "^3.1.0", + "graceful-fs": "^4.2.11" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "30.2.0", + "@jest/types": "30.2.0", + "@types/istanbul-lib-coverage": "^2.0.6", + "collect-v8-coverage": "^1.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "30.2.0", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.2.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.27.4", + "@jest/types": "30.2.0", + "@jridgewell/trace-mapping": "^0.3.25", + "babel-plugin-istanbul": "^7.0.1", + "chalk": "^4.1.2", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.2.0", + "jest-regex-util": "30.0.1", + "jest-util": "30.2.0", + "micromatch": "^4.0.8", + "pirates": "^4.0.7", + "slash": "^3.0.0", + "write-file-atomic": "^5.0.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/types": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.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/remapping": { + "version": "2.3.5", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@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.31", + "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", + "devOptional": 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", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/core": { + "version": "0.2.9", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/pkgr" + } + }, + "node_modules/@react-native-community/cli": { + "version": "20.0.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@react-native-community/cli-clean": "20.0.0", + "@react-native-community/cli-config": "20.0.0", + "@react-native-community/cli-doctor": "20.0.0", + "@react-native-community/cli-server-api": "20.0.0", + "@react-native-community/cli-tools": "20.0.0", + "@react-native-community/cli-types": "20.0.0", + "chalk": "^4.1.2", + "commander": "^9.4.1", + "deepmerge": "^4.3.0", + "execa": "^5.0.0", + "find-up": "^5.0.0", + "fs-extra": "^8.1.0", + "graceful-fs": "^4.1.3", + "prompts": "^2.4.2", + "semver": "^7.5.2" + }, + "bin": { + "rnc-cli": "build/bin.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native-community/cli-clean": { + "version": "20.0.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@react-native-community/cli-tools": "20.0.0", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "fast-glob": "^3.3.2" + } + }, + "node_modules/@react-native-community/cli-config": { + "version": "20.0.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@react-native-community/cli-tools": "20.0.0", + "chalk": "^4.1.2", + "cosmiconfig": "^9.0.0", + "deepmerge": "^4.3.0", + "fast-glob": "^3.3.2", + "joi": "^17.2.1" + } + }, + "node_modules/@react-native-community/cli-config-android": { + "version": "20.0.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@react-native-community/cli-tools": "20.0.0", + "chalk": "^4.1.2", + "fast-glob": "^3.3.2", + "fast-xml-parser": "^4.4.1" + } + }, + "node_modules/@react-native-community/cli-config-apple": { + "version": "20.0.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@react-native-community/cli-tools": "20.0.0", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "fast-glob": "^3.3.2" + } + }, + "node_modules/@react-native-community/cli-doctor": { + "version": "20.0.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@react-native-community/cli-config": "20.0.0", + "@react-native-community/cli-platform-android": "20.0.0", + "@react-native-community/cli-platform-apple": "20.0.0", + "@react-native-community/cli-platform-ios": "20.0.0", + "@react-native-community/cli-tools": "20.0.0", + "chalk": "^4.1.2", + "command-exists": "^1.2.8", + "deepmerge": "^4.3.0", + "envinfo": "^7.13.0", + "execa": "^5.0.0", + "node-stream-zip": "^1.9.1", + "ora": "^5.4.1", + "semver": "^7.5.2", + "wcwidth": "^1.0.1", + "yaml": "^2.2.1" + } + }, + "node_modules/@react-native-community/cli-platform-android": { + "version": "20.0.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@react-native-community/cli-config-android": "20.0.0", + "@react-native-community/cli-tools": "20.0.0", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "logkitty": "^0.7.1" + } + }, + "node_modules/@react-native-community/cli-platform-apple": { + "version": "20.0.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@react-native-community/cli-config-apple": "20.0.0", + "@react-native-community/cli-tools": "20.0.0", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "fast-xml-parser": "^4.4.1" + } + }, + "node_modules/@react-native-community/cli-platform-ios": { + "version": "20.0.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@react-native-community/cli-platform-apple": "20.0.0" + } + }, + "node_modules/@react-native-community/cli-server-api": { + "version": "20.0.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@react-native-community/cli-tools": "20.0.0", + "body-parser": "^1.20.3", + "compression": "^1.7.1", + "connect": "^3.6.5", + "errorhandler": "^1.5.1", + "nocache": "^3.0.1", + "open": "^6.2.0", + "pretty-format": "^29.7.0", + "serve-static": "^1.13.1", + "ws": "^6.2.3" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/@jest/schemas": { + "version": "29.6.3", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@react-native-community/cli-server-api/node_modules/ansi-styles": { + "version": "5.2.0", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/is-wsl": { + "version": "1.1.0", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/open": { + "version": "6.4.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/pretty-format": { + "version": "29.7.0", + "devOptional": true, + "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/@react-native-community/cli-tools": { + "version": "20.0.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@vscode/sudo-prompt": "^9.0.0", + "appdirsjs": "^1.2.4", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "find-up": "^5.0.0", + "launch-editor": "^2.9.1", + "mime": "^2.4.1", + "ora": "^5.4.1", + "prompts": "^2.4.2", + "semver": "^7.5.2" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/find-up": { + "version": "5.0.0", + "devOptional": 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/@react-native-community/cli-tools/node_modules/locate-path": { + "version": "6.0.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/mime": { + "version": "2.6.0", + "devOptional": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/p-locate": { + "version": "5.0.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-types": { + "version": "20.0.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "joi": "^17.2.1" + } + }, + "node_modules/@react-native-community/cli/node_modules/commander": { + "version": "9.5.0", + "devOptional": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/@react-native-community/cli/node_modules/find-up": { + "version": "5.0.0", + "devOptional": 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/@react-native-community/cli/node_modules/fs-extra": { + "version": "8.1.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@react-native-community/cli/node_modules/jsonfile": { + "version": "4.0.0", + "devOptional": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@react-native-community/cli/node_modules/locate-path": { + "version": "6.0.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli/node_modules/p-locate": { + "version": "5.0.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli/node_modules/universalify": { + "version": "0.1.2", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@react-native/assets-registry": { + "version": "0.81.1", + "license": "MIT", + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/babel-plugin-codegen": { + "version": "0.81.1", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.3", + "@react-native/codegen": "0.81.1" + }, + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/babel-preset": { + "version": "0.81.1", + "devOptional": true, + "license": "MIT", + "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.81.1", + "babel-plugin-syntax-hermes-parser": "0.29.1", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": ">= 20.19.4" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/@react-native/codegen": { + "version": "0.81.1", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.2", + "@babel/parser": "^7.25.3", + "glob": "^7.1.1", + "hermes-parser": "0.29.1", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "yargs": "^17.6.2" + }, + "engines": { + "node": ">= 20.19.4" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/@react-native/community-cli-plugin": { + "version": "0.81.1", + "license": "MIT", + "dependencies": { + "@react-native/dev-middleware": "0.81.1", + "debug": "^4.4.0", + "invariant": "^2.2.4", + "metro": "^0.83.1", + "metro-config": "^0.83.1", + "metro-core": "^0.83.1", + "semver": "^7.1.3" + }, + "engines": { + "node": ">= 20.19.4" + }, + "peerDependencies": { + "@react-native-community/cli": "*", + "@react-native/metro-config": "*" + }, + "peerDependenciesMeta": { + "@react-native-community/cli": { + "optional": true + }, + "@react-native/metro-config": { + "optional": true + } + } + }, + "node_modules/@react-native/debugger-frontend": { + "version": "0.81.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/dev-middleware": { + "version": "0.81.1", + "license": "MIT", + "dependencies": { + "@isaacs/ttlcache": "^1.4.1", + "@react-native/debugger-frontend": "0.81.1", + "chrome-launcher": "^0.15.2", + "chromium-edge-launcher": "^0.2.0", + "connect": "^3.6.5", + "debug": "^4.4.0", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "open": "^7.0.3", + "serve-static": "^1.16.2", + "ws": "^6.2.3" + }, + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/eslint-config": { + "version": "0.81.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.2", + "@babel/eslint-parser": "^7.25.1", + "@react-native/eslint-plugin": "0.81.5", + "@typescript-eslint/eslint-plugin": "^7.1.1", + "@typescript-eslint/parser": "^7.1.1", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-ft-flow": "^2.0.1", + "eslint-plugin-jest": "^27.9.0", + "eslint-plugin-react": "^7.30.1", + "eslint-plugin-react-hooks": "^5.2.0", + "eslint-plugin-react-native": "^4.0.0" + }, + "engines": { + "node": ">= 20.19.4" + }, + "peerDependencies": { + "eslint": ">=8", + "prettier": ">=2" + } + }, + "node_modules/@react-native/eslint-config/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/@react-native/eslint-plugin": { + "version": "0.81.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/gradle-plugin": { + "version": "0.81.1", + "license": "MIT", + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/js-polyfills": { + "version": "0.81.1", + "license": "MIT", + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/metro-babel-transformer": { + "version": "0.81.1", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.2", + "@react-native/babel-preset": "0.81.1", + "hermes-parser": "0.29.1", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 20.19.4" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/@react-native/metro-config": { + "version": "0.81.1", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@react-native/js-polyfills": "0.81.1", + "@react-native/metro-babel-transformer": "0.81.1", + "metro-config": "^0.83.1", + "metro-runtime": "^0.83.1" + }, + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/normalize-colors": { + "version": "0.81.1", + "license": "MIT" + }, + "node_modules/@react-native/typescript-config": { + "version": "0.81.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@react-native/virtualized-lists": { + "version": "0.81.1", + "license": "MIT", + "dependencies": { + "invariant": "^2.2.4", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 20.19.4" + }, + "peerDependencies": { + "@types/react": "^19.1.0", + "react": "*", + "react-native": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@rn-packages/native-date-example": { + "resolved": "packages/native-date/example", + "link": true + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.53.3", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@shikijs/core": { + "version": "2.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/engine-javascript": "2.5.0", + "@shikijs/engine-oniguruma": "2.5.0", + "@shikijs/types": "2.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.4" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "2.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "2.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^3.1.0" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "2.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "2.5.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@shikijs/langs": { + "version": "2.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "2.5.0" + } + }, + "node_modules/@shikijs/themes": { + "version": "2.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "2.5.0" + } + }, + "node_modules/@shikijs/transformers": { + "version": "2.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/core": "2.5.0", + "@shikijs/types": "2.5.0" + } + }, + "node_modules/@shikijs/types": { + "version": "2.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@sideway/address": { + "version": "4.1.5", + "devOptional": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "devOptional": true, + "license": "BSD-3-Clause" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "devOptional": true, + "license": "BSD-3-Clause" + }, + "node_modules/@sinclair/typebox": { + "version": "0.34.41", + "dev": true, + "license": "MIT" + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "13.0.5", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.1" + } + }, + "node_modules/@ts-morph/common": { + "version": "0.28.1", + "dev": true, + "license": "MIT", + "dependencies": { + "minimatch": "^10.0.1", + "path-browserify": "^1.0.1", + "tinyglobby": "^0.2.14" + } + }, + "node_modules/@ts-morph/common/node_modules/minimatch": { + "version": "10.1.1", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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/conventional-commits-parser": { + "version": "5.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "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": "30.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "^30.0.0", + "pretty-format": "^30.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/linkify-it": { + "version": "5.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/luxon": { + "version": "3.7.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/markdown-it": { + "version": "14.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/linkify-it": "^5", + "@types/mdurl": "^2" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.10.1", + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.7", + "devOptional": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/semver": { + "version": "7.7.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "license": "MIT" + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.21", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/yargs": { + "version": "17.0.35", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.18.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/type-utils": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "7.18.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.18.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "7.18.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.18.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.18.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "7.18.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.18.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "license": "ISC" + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "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", + "wonka": "^6.3.2" + } + }, + "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", + "wonka": "^6.3.2" + }, + "peerDependencies": { + "@urql/core": "^5.0.0" + } + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.2.4", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vscode/sudo-prompt": { + "version": "9.3.1", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.25", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@vue/shared": "3.5.25", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.25", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.25", + "@vue/shared": "3.5.25" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.25", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@vue/compiler-core": "3.5.25", + "@vue/compiler-dom": "3.5.25", + "@vue/compiler-ssr": "3.5.25", + "@vue/shared": "3.5.25", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.25", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.25", + "@vue/shared": "3.5.25" + } + }, + "node_modules/@vue/devtools-api": { + "version": "7.7.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.9" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.7.9", + "birpc": "^2.3.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.9", + "dev": true, + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.25", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.25" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.25", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.25", + "@vue/shared": "3.5.25" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.25", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.25", + "@vue/runtime-core": "3.5.25", + "@vue/shared": "3.5.25", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.25", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.25", + "@vue/shared": "3.5.25" + }, + "peerDependencies": { + "vue": "3.5.25" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.25", + "dev": true, + "license": "MIT" + }, + "node_modules/@vueuse/core": { + "version": "12.8.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "12.8.2", + "@vueuse/shared": "12.8.2", + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/integrations": { + "version": "12.8.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@vueuse/core": "12.8.2", + "@vueuse/shared": "12.8.2", + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "async-validator": "^4", + "axios": "^1", + "change-case": "^5", + "drauu": "^0.4", + "focus-trap": "^7", + "fuse.js": "^7", + "idb-keyval": "^6", + "jwt-decode": "^4", + "nprogress": "^0.2", + "qrcode": "^1.5", + "sortablejs": "^1", + "universal-cookie": "^7" + }, + "peerDependenciesMeta": { + "async-validator": { + "optional": true + }, + "axios": { + "optional": true + }, + "change-case": { + "optional": true + }, + "drauu": { + "optional": true + }, + "focus-trap": { + "optional": true + }, + "fuse.js": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "jwt-decode": { + "optional": true + }, + "nprogress": { + "optional": true + }, + "qrcode": { + "optional": true + }, + "sortablejs": { + "optional": true + }, + "universal-cookie": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "12.8.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "12.8.2", + "dev": true, + "license": "MIT", + "dependencies": { + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "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" + } + }, + "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/accepts/node_modules/negotiator": { + "version": "0.6.3", + "license": "MIT", + "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/agent-base": { + "version": "7.1.4", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "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/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/algoliasearch": { + "version": "5.45.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/abtesting": "1.11.0", + "@algolia/client-abtesting": "5.45.0", + "@algolia/client-analytics": "5.45.0", + "@algolia/client-common": "5.45.0", + "@algolia/client-insights": "5.45.0", + "@algolia/client-personalization": "5.45.0", + "@algolia/client-query-suggestions": "5.45.0", + "@algolia/client-search": "5.45.0", + "@algolia/ingestion": "1.45.0", + "@algolia/monitoring": "1.45.0", + "@algolia/recommend": "5.45.0", + "@algolia/requester-browser-xhr": "5.45.0", + "@algolia/requester-fetch": "5.45.0", + "@algolia/requester-node-http": "5.45.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/anser": { + "version": "1.4.10", + "license": "MIT" + }, + "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-fragments": { + "version": "0.2.1", + "devOptional": true, + "license": "MIT", + "dependencies": { + "colorette": "^1.0.7", + "slice-ansi": "^2.0.0", + "strip-ansi": "^5.0.0" + } + }, + "node_modules/ansi-fragments/node_modules/ansi-regex": { + "version": "4.1.1", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-fragments/node_modules/strip-ansi": { + "version": "5.2.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "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", + "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", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/appdirsjs": { + "version": "1.2.7", + "devOptional": true, + "license": "MIT" + }, + "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": "1.0.10", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arkregex": { + "version": "0.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@ark/util": "0.55.0" + } + }, + "node_modules/arktype": { + "version": "2.1.27", + "dev": true, + "license": "MIT", + "dependencies": { + "@ark/schema": "0.55.0", + "@ark/util": "0.55.0", + "arkregex": "0.0.3" + } + }, + "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.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/asap": { + "version": "2.0.6", + "license": "MIT" + }, + "node_modules/astral-regex": { + "version": "1.0.0", + "devOptional": true, + "license": "MIT", + "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/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": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/transform": "30.2.0", + "@types/babel__core": "^7.20.5", + "babel-plugin-istanbul": "^7.0.1", + "babel-preset-jest": "30.2.0", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0 || ^8.0.0-0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "7.0.1", + "dev": true, + "license": "BSD-3-Clause", + "workspaces": [ + "test/babel-8" + ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-instrument": "^6.0.2", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/babel__core": "^7.20.5" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.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-corejs2/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "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-compiler": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-react-compiler/-/babel-plugin-react-compiler-1.0.0.tgz", + "integrity": "sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.0" + } + }, + "node_modules/babel-plugin-react-native-web": { + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.21.2.tgz", + "integrity": "sha512-SPD0J6qjJn8231i0HZhlAGH6NORe+QvRSQM2mwQEzJ2Fb3E4ruWTiiicPlHjmeWShDXLcvoorOCXjeR7k/lyWA==", + "license": "MIT" + }, + "node_modules/babel-plugin-syntax-hermes-parser": { + "version": "0.29.1", + "license": "MIT", + "dependencies": { + "hermes-parser": "0.29.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": "54.0.9", + "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-54.0.9.tgz", + "integrity": "sha512-8J6hRdgEC2eJobjoft6mKJ294cLxmi3khCUy2JJQp4htOYYkllSLUq6vudWJkTJiIuGdVR4bR6xuz2EvJLWHNg==", + "license": "MIT", + "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-class-static-block": "^7.27.1", + "@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.81.5", + "babel-plugin-react-compiler": "^1.0.0", + "babel-plugin-react-native-web": "~0.21.0", + "babel-plugin-syntax-hermes-parser": "^0.29.1", + "babel-plugin-transform-flow-enums": "^0.0.2", + "debug": "^4.3.4", + "resolve-from": "^5.0.0" + }, + "peerDependencies": { + "@babel/runtime": "^7.20.0", + "expo": "*", + "react-refresh": ">=0.14.0 <1.0.0" + }, + "peerDependenciesMeta": { + "@babel/runtime": { + "optional": true + }, + "expo": { + "optional": true + } + } + }, + "node_modules/babel-preset-expo/node_modules/@react-native/babel-plugin-codegen": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.81.5.tgz", + "integrity": "sha512-oF71cIH6je3fSLi6VPjjC3Sgyyn57JLHXs+mHWc9MoCiJJcM4nqsS5J38zv1XQ8d3zOW2JtHro+LF0tagj2bfQ==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.3", + "@react-native/codegen": "0.81.5" + }, + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/babel-preset-expo/node_modules/@react-native/babel-preset": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.81.5.tgz", + "integrity": "sha512-UoI/x/5tCmi+pZ3c1+Ypr1DaRMDLI3y+Q70pVLLVgrnC3DHsHRIbHcCHIeG/IJvoeFqFM2sTdhSOLJrf8lOPrA==", + "license": "MIT", + "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.81.5", + "babel-plugin-syntax-hermes-parser": "0.29.1", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": ">= 20.19.4" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/babel-preset-expo/node_modules/@react-native/codegen": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.81.5.tgz", + "integrity": "sha512-a2TDA03Up8lpSa9sh5VRGCQDXgCTOyDOFH+aqyinxp1HChG8uk89/G+nkJ9FPd0rqgi25eCTR16TWdS3b+fA6g==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.2", + "@babel/parser": "^7.25.3", + "glob": "^7.1.1", + "hermes-parser": "0.29.1", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "yargs": "^17.6.2" + }, + "engines": { + "node": ">= 20.19.4" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/babel-preset-jest": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "30.2.0", + "babel-preset-current-node-syntax": "^1.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0 || ^8.0.0-beta.1" + } + }, + "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/baseline-browser-mapping": { + "version": "2.8.31", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "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" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "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", + "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", + "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/birpc": { + "version": "2.8.0", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "1.20.3", + "devOptional": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "devOptional": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "devOptional": true, + "license": "MIT" + }, + "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" + } + }, + "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" + }, + "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.28.0", + "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": { + "baseline-browser-mapping": "^2.8.25", + "caniuse-lite": "^1.0.30001754", + "electron-to-chromium": "^1.5.249", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.1.4" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "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/bytes": { + "version": "3.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "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", + "devOptional": 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", + "devOptional": 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/callsites": { + "version": "3.1.0", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001757", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/ccount": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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/character-entities-html4": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chownr": { + "version": "3.0.0", + "license": "BlueOak-1.0.0", + "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": "4.3.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "2.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/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/code-block-writer": { + "version": "13.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.3", + "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/colorette": { + "version": "1.4.0", + "devOptional": true, + "license": "MIT" + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/command-exists": { + "version": "1.2.9", + "devOptional": true, + "license": "MIT" + }, + "node_modules/commander": { + "version": "2.20.3", + "license": "MIT" + }, + "node_modules/commitlint": { + "version": "19.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/cli": "^19.8.1", + "@commitlint/types": "^19.8.1" + }, + "bin": { + "commitlint": "cli.js" + }, + "engines": { + "node": ">=v18" + } + }, + "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", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compressible/node_modules/mime-db": { + "version": "1.54.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.8.1", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/compression/node_modules/negotiator": { + "version": "0.6.4", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "license": "MIT" + }, + "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/content-type": { + "version": "1.0.5", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/conventional-changelog-angular": { + "version": "7.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/conventional-changelog-conventionalcommits": { + "version": "7.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/conventional-commits-parser": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "is-text-path": "^2.0.0", + "JSONStream": "^1.3.5", + "meow": "^12.0.1", + "split2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.mjs" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/copy-anything": { + "version": "4.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "is-what": "^5.2.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/core-js-compat": { + "version": "3.47.0", + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cosmiconfig": { + "version": "9.0.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cosmiconfig-typescript-loader": { + "version": "6.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "jiti": "^2.6.1" + }, + "engines": { + "node": ">=v18" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=9", + "typescript": ">=5" + } + }, + "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", + "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/csstype": { + "version": "3.2.3", + "devOptional": true, + "license": "MIT" + }, + "node_modules/dargs": { + "version": "8.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/date-fns": { + "version": "4.1.0", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, + "node_modules/dayjs": { + "version": "1.11.19", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dedent": { + "version": "1.7.0", + "dev": true, + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/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/defaults": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "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/del": { + "version": "8.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "globby": "^14.0.2", + "is-glob": "^4.0.3", + "is-path-cwd": "^3.0.0", + "is-path-inside": "^4.0.0", + "p-map": "^7.0.2", + "presentable-error": "^0.0.1", + "slash": "^5.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del-cli": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "del": "^8.0.0", + "meow": "^13.2.0" + }, + "bin": { + "del": "cli.js", + "del-cli": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del-cli/node_modules/meow": { + "version": "13.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del/node_modules/globby": { + "version": "14.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del/node_modules/ignore": { + "version": "7.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/del/node_modules/path-type": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del/node_modules/slash": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del/node_modules/unicorn-magic": { + "version": "0.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/devlop": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.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", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "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" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "devOptional": 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", + "dev": true, + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.261", + "license": "ISC" + }, + "node_modules/emittery": { + "version": "0.13.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "license": "MIT" + }, + "node_modules/emoji-regex-xs": { + "version": "1.0.0", + "dev": true, + "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/entities": { + "version": "4.5.0", + "dev": true, + "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" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/envinfo": { + "version": "7.21.0", + "devOptional": true, + "license": "MIT", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "devOptional": true, + "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/errorhandler": { + "version": "1.5.1", + "devOptional": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.7", + "escape-html": "~1.0.3" + }, + "engines": { + "node": ">= 0.8" + } + }, + "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-define-property": { + "version": "1.0.1", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "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", + "devOptional": 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/esbuild": { + "version": "0.21.5", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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/eslint": { + "version": "9.39.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.1", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-prettier": { + "version": "10.1.8", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "funding": { + "url": "https://opencollective.com/eslint-config-prettier" + }, + "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": "27.9.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^5.10.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0 || ^7.0.0", + "eslint": "^7.0.0 || ^8.0.0", + "jest": "*" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jest/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/eslint-plugin-jest/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/eslint-plugin-jest/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/eslint-plugin-jest/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/eslint-plugin-jest/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/eslint-plugin-prettier": { + "version": "5.5.4", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.11.7" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "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": "5.2.0", + "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 || ^9.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/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-plugin-react/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "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": "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/eslint-scope": { + "version": "8.4.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.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/glob-parent": { + "version": "6.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "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": "10.4.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.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/estree-walker": { + "version": "2.0.2", + "dev": true, + "license": "MIT" + }, + "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", + "resolved": "https://registry.npmjs.org/exec-async/-/exec-async-2.2.0.tgz", + "integrity": "sha512-87OpwcEiMia/DeiKFzaQNBNFeN3XkkpYIh9FyOqq5mS2oKv3CBE67PXoEKcr6nodWdXNogTiQ0jE2NGuoffXPw==", + "license": "MIT" + }, + "node_modules/execa": { + "version": "5.1.1", + "devOptional": 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/exit-x": { + "version": "0.2.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/expect-utils": "30.2.0", + "@jest/get-type": "30.1.0", + "jest-matcher-utils": "30.2.0", + "jest-message-util": "30.2.0", + "jest-mock": "30.2.0", + "jest-util": "30.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/expo": { + "version": "54.0.31", + "resolved": "https://registry.npmjs.org/expo/-/expo-54.0.31.tgz", + "integrity": "sha512-kQ3RDqA/a59I7y+oqQGyrPbbYlgPMUdKBOgvFLpoHbD2bCM+F75i4N0mUijy7dG5F/CUCu2qHmGGUCXBbMDkCg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.0", + "@expo/cli": "54.0.21", + "@expo/config": "~12.0.13", + "@expo/config-plugins": "~54.0.4", + "@expo/devtools": "0.1.8", + "@expo/fingerprint": "0.15.4", + "@expo/metro": "~54.2.0", + "@expo/metro-config": "54.0.13", + "@expo/vector-icons": "^15.0.3", + "@ungap/structured-clone": "^1.3.0", + "babel-preset-expo": "~54.0.9", + "expo-asset": "~12.0.12", + "expo-constants": "~18.0.13", + "expo-file-system": "~19.0.21", + "expo-font": "~14.0.10", + "expo-keep-awake": "~15.0.8", + "expo-modules-autolinking": "3.0.24", + "expo-modules-core": "3.0.29", + "pretty-format": "^29.7.0", + "react-refresh": "^0.14.2", + "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": "12.0.12", + "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-12.0.12.tgz", + "integrity": "sha512-CsXFCQbx2fElSMn0lyTdRIyKlSXOal6ilLJd+yeZ6xaC7I9AICQgscY5nj0QcwgA+KYYCCEQEBndMsmj7drOWQ==", + "license": "MIT", + "dependencies": { + "@expo/image-utils": "^0.8.8", + "expo-constants": "~18.0.12" + }, + "peerDependencies": { + "expo": "*", + "react": "*", + "react-native": "*" + } + }, + "node_modules/expo-constants": { + "version": "18.0.13", + "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-18.0.13.tgz", + "integrity": "sha512-FnZn12E1dRYKDHlAdIyNFhBurKTS3F9CrfrBDJI5m3D7U17KBHMQ6JEfYlSj7LG7t+Ulr+IKaj58L1k5gBwTcQ==", + "license": "MIT", + "dependencies": { + "@expo/config": "~12.0.13", + "@expo/env": "~2.0.8" + }, + "peerDependencies": { + "expo": "*", + "react-native": "*" + } + }, + "node_modules/expo-example": { + "resolved": "packages/expo-example", + "link": true + }, + "node_modules/expo-file-system": { + "version": "19.0.21", + "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-19.0.21.tgz", + "integrity": "sha512-s3DlrDdiscBHtab/6W1osrjGL+C2bvoInPJD7sOwmxfJ5Woynv2oc+Fz1/xVXaE/V7HE/+xrHC/H45tu6lZzzg==", + "license": "MIT", + "peerDependencies": { + "expo": "*", + "react-native": "*" + } + }, + "node_modules/expo-font": { + "version": "14.0.10", + "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-14.0.10.tgz", + "integrity": "sha512-UqyNaaLKRpj4pKAP4HZSLnuDQqueaO5tB1c/NWu5vh1/LF9ulItyyg2kF/IpeOp0DeOLk0GY0HrIXaKUMrwB+Q==", + "license": "MIT", + "dependencies": { + "fontfaceobserver": "^2.1.0" + }, + "peerDependencies": { + "expo": "*", + "react": "*", + "react-native": "*" + } + }, + "node_modules/expo-keep-awake": { + "version": "15.0.8", + "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-15.0.8.tgz", + "integrity": "sha512-YK9M1VrnoH1vLJiQzChZgzDvVimVoriibiDIFLbQMpjYBnvyfUeHJcin/Gx1a+XgupNXy92EQJLgI/9ZuXajYQ==", + "license": "MIT", + "peerDependencies": { + "expo": "*", + "react": "*" + } + }, + "node_modules/expo-modules-autolinking": { + "version": "3.0.24", + "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-3.0.24.tgz", + "integrity": "sha512-TP+6HTwhL7orDvsz2VzauyQlXJcAWyU3ANsZ7JGL4DQu8XaZv/A41ZchbtAYLfozNA2Ya1Hzmhx65hXryBMjaQ==", + "license": "MIT", + "dependencies": { + "@expo/spawn-async": "^1.7.2", + "chalk": "^4.1.0", + "commander": "^7.2.0", + "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/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/expo-modules-core": { + "version": "3.0.29", + "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-3.0.29.tgz", + "integrity": "sha512-LzipcjGqk8gvkrOUf7O2mejNWugPkf3lmd9GkqL9WuNyeN2fRwU0Dn77e3ZUKI3k6sI+DNwjkq4Nu9fNN9WS7Q==", + "license": "MIT", + "dependencies": { + "invariant": "^2.2.4" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/expo-server": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/expo-server/-/expo-server-1.0.5.tgz", + "integrity": "sha512-IGR++flYH70rhLyeXF0Phle56/k4cee87WeQ4mamS+MkVAVP+dDlOHf2nN06Z9Y2KhU0Gp1k+y61KkghF7HdhA==", + "license": "MIT", + "engines": { + "node": ">=20.16.0" + } + }, + "node_modules/expo-status-bar": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/expo-status-bar/-/expo-status-bar-3.0.9.tgz", + "integrity": "sha512-xyYyVg6V1/SSOZWh4Ni3U129XHCnFHBTcUo0dhWtFDrZbNp/duw5AGsQfb2sVeU0gxWHXSY1+5F0jnKYC7WuOw==", + "license": "MIT", + "dependencies": { + "react-native-is-edge-to-edge": "^1.2.1" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/expo/node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/expo/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/expo/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" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/expo/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", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/exponential-backoff": { + "version": "3.1.3", + "license": "Apache-2.0" + }, + "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", + "devOptional": 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-json-stable-stringify": { + "version": "2.1.0", + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fast-xml-parser": { + "version": "4.5.3", + "devOptional": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "dependencies": { + "strnum": "^1.1.1" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/fastq": { + "version": "1.19.1", + "devOptional": 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/file-entry-cache": { + "version": "8.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.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/finalhandler/node_modules/on-finished": { + "version": "2.3.0", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/statuses": { + "version": "1.5.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "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": "4.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "dev": true, + "license": "ISC" + }, + "node_modules/flow-enums-runtime": { + "version": "0.0.6", + "license": "MIT" + }, + "node_modules/focus-trap": { + "version": "7.6.6", + "dev": true, + "license": "MIT", + "dependencies": { + "tabbable": "^6.3.0" + } + }, + "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/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", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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" + } + }, + "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/generator-function": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "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-east-asian-width": { + "version": "1.4.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "devOptional": 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-proto": { + "version": "1.0.1", + "devOptional": 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", + "devOptional": 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/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" + } + }, + "node_modules/git-raw-commits": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "dargs": "^8.0.0", + "meow": "^12.0.1", + "split2": "^4.0.0" + }, + "bin": { + "git-raw-commits": "cli.mjs" + }, + "engines": { + "node": ">=16" + } + }, + "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/glob-parent": { + "version": "5.1.2", + "devOptional": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global-directory": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "4.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/global-dirs/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/globals": { + "version": "14.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "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", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/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", + "devOptional": 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/hasown": { + "version": "2.0.2", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hermes-estree": { + "version": "0.29.1", + "license": "MIT" + }, + "node_modules/hermes-parser": { + "version": "0.29.1", + "license": "MIT", + "dependencies": { + "hermes-estree": "0.29.1" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "dev": true, + "license": "MIT" + }, + "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" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "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/html-escaper": { + "version": "2.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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/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", + "devOptional": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "devOptional": 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", + "devOptional": 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", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "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/import-meta-resolve": { + "version": "4.2.0", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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": "4.1.1", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "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/invariant": { + "version": "2.2.4", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "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-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", + "devOptional": true, + "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-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-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", + "devOptional": 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.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "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-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-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-glob": { + "version": "4.0.3", + "devOptional": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "devOptional": 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-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-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-stream": { + "version": "2.0.1", + "devOptional": 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": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "text-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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-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": "0.1.0", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "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-what": { + "version": "5.5.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "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/isarray": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "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": "5.0.6", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.2.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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", + "dev": true, + "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": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "30.2.0", + "@jest/types": "30.2.0", + "import-local": "^3.2.0", + "jest-cli": "30.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.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": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^5.1.1", + "jest-util": "30.2.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-circus": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.2.0", + "@jest/expect": "30.2.0", + "@jest/test-result": "30.2.0", + "@jest/types": "30.2.0", + "@types/node": "*", + "chalk": "^4.1.2", + "co": "^4.6.0", + "dedent": "^1.6.0", + "is-generator-fn": "^2.1.0", + "jest-each": "30.2.0", + "jest-matcher-utils": "30.2.0", + "jest-message-util": "30.2.0", + "jest-runtime": "30.2.0", + "jest-snapshot": "30.2.0", + "jest-util": "30.2.0", + "p-limit": "^3.1.0", + "pretty-format": "30.2.0", + "pure-rand": "^7.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-cli": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "30.2.0", + "@jest/test-result": "30.2.0", + "@jest/types": "30.2.0", + "chalk": "^4.1.2", + "exit-x": "^0.2.2", + "import-local": "^3.2.0", + "jest-config": "30.2.0", + "jest-util": "30.2.0", + "jest-validate": "30.2.0", + "yargs": "^17.7.2" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.27.4", + "@jest/get-type": "30.1.0", + "@jest/pattern": "30.0.1", + "@jest/test-sequencer": "30.2.0", + "@jest/types": "30.2.0", + "babel-jest": "30.2.0", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "deepmerge": "^4.3.1", + "glob": "^10.3.10", + "graceful-fs": "^4.2.11", + "jest-circus": "30.2.0", + "jest-docblock": "30.2.0", + "jest-environment-node": "30.2.0", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.2.0", + "jest-runner": "30.2.0", + "jest-util": "30.2.0", + "jest-validate": "30.2.0", + "micromatch": "^4.0.8", + "parse-json": "^5.2.0", + "pretty-format": "30.2.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "esbuild-register": ">=3.4.0", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "esbuild-register": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/brace-expansion": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/jest-config/node_modules/glob": { + "version": "10.5.0", + "dev": true, + "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/jest-config/node_modules/lru-cache": { + "version": "10.4.3", + "dev": true, + "license": "ISC" + }, + "node_modules/jest-config/node_modules/minimatch": { + "version": "9.0.5", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-config/node_modules/path-scurry": { + "version": "1.11.1", + "dev": true, + "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/jest-diff": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/diff-sequences": "30.0.1", + "@jest/get-type": "30.1.0", + "chalk": "^4.1.2", + "pretty-format": "30.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-newline": "^3.1.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-each": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0", + "@jest/types": "30.2.0", + "chalk": "^4.1.2", + "jest-util": "30.2.0", + "pretty-format": "30.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.2.0", + "@jest/fake-timers": "30.2.0", + "@jest/types": "30.2.0", + "@types/node": "*", + "jest-mock": "30.2.0", + "jest-util": "30.2.0", + "jest-validate": "30.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.2.0", + "@types/node": "*", + "anymatch": "^3.1.3", + "fb-watchman": "^2.0.2", + "graceful-fs": "^4.2.11", + "jest-regex-util": "30.0.1", + "jest-util": "30.2.0", + "jest-worker": "30.2.0", + "micromatch": "^4.0.8", + "walker": "^1.0.8" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.3" + } + }, + "node_modules/jest-leak-detector": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0", + "pretty-format": "30.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0", + "chalk": "^4.1.2", + "jest-diff": "30.2.0", + "pretty-format": "30.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.2.0", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "micromatch": "^4.0.8", + "pretty-format": "30.2.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-mock": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.2.0", + "@types/node": "*", + "jest-util": "30.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "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": "30.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.2.0", + "jest-pnp-resolver": "^1.2.3", + "jest-util": "30.2.0", + "jest-validate": "30.2.0", + "slash": "^3.0.0", + "unrs-resolver": "^1.7.11" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-regex-util": "30.0.1", + "jest-snapshot": "30.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-runner": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "30.2.0", + "@jest/environment": "30.2.0", + "@jest/test-result": "30.2.0", + "@jest/transform": "30.2.0", + "@jest/types": "30.2.0", + "@types/node": "*", + "chalk": "^4.1.2", + "emittery": "^0.13.1", + "exit-x": "^0.2.2", + "graceful-fs": "^4.2.11", + "jest-docblock": "30.2.0", + "jest-environment-node": "30.2.0", + "jest-haste-map": "30.2.0", + "jest-leak-detector": "30.2.0", + "jest-message-util": "30.2.0", + "jest-resolve": "30.2.0", + "jest-runtime": "30.2.0", + "jest-util": "30.2.0", + "jest-watcher": "30.2.0", + "jest-worker": "30.2.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.2.0", + "@jest/fake-timers": "30.2.0", + "@jest/globals": "30.2.0", + "@jest/source-map": "30.0.1", + "@jest/test-result": "30.2.0", + "@jest/transform": "30.2.0", + "@jest/types": "30.2.0", + "@types/node": "*", + "chalk": "^4.1.2", + "cjs-module-lexer": "^2.1.0", + "collect-v8-coverage": "^1.0.2", + "glob": "^10.3.10", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.2.0", + "jest-message-util": "30.2.0", + "jest-mock": "30.2.0", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.2.0", + "jest-snapshot": "30.2.0", + "jest-util": "30.2.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-runtime/node_modules/brace-expansion": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/jest-runtime/node_modules/glob": { + "version": "10.5.0", + "dev": true, + "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/jest-runtime/node_modules/lru-cache": { + "version": "10.4.3", + "dev": true, + "license": "ISC" + }, + "node_modules/jest-runtime/node_modules/minimatch": { + "version": "9.0.5", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-runtime/node_modules/path-scurry": { + "version": "1.11.1", + "dev": true, + "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/jest-snapshot": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.27.4", + "@babel/generator": "^7.27.5", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1", + "@babel/types": "^7.27.3", + "@jest/expect-utils": "30.2.0", + "@jest/get-type": "30.1.0", + "@jest/snapshot-utils": "30.2.0", + "@jest/transform": "30.2.0", + "@jest/types": "30.2.0", + "babel-preset-current-node-syntax": "^1.2.0", + "chalk": "^4.1.2", + "expect": "30.2.0", + "graceful-fs": "^4.2.11", + "jest-diff": "30.2.0", + "jest-matcher-utils": "30.2.0", + "jest-message-util": "30.2.0", + "jest-util": "30.2.0", + "pretty-format": "30.2.0", + "semver": "^7.7.2", + "synckit": "^0.11.8" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-util": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.2.0", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-util/node_modules/picomatch": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/jest-validate": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0", + "@jest/types": "30.2.0", + "camelcase": "^6.3.0", + "chalk": "^4.1.2", + "leven": "^3.1.0", + "pretty-format": "30.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "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-watcher": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "30.2.0", + "@jest/types": "30.2.0", + "@types/node": "*", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "emittery": "^0.13.1", + "jest-util": "30.2.0", + "string-length": "^4.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-worker": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@ungap/structured-clone": "^1.3.0", + "jest-util": "30.2.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.1.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.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/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/jiti": { + "version": "2.6.1", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/joi": { + "version": "17.13.3", + "devOptional": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/js-yaml/node_modules/argparse": { + "version": "2.0.1", + "license": "Python-2.0" + }, + "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-even-better-errors": { + "version": "2.3.1", + "devOptional": 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/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/kleur": { + "version": "4.1.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=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" + } + }, + "node_modules/launch-editor": { + "version": "2.12.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "picocolors": "^1.1.1", + "shell-quote": "^1.8.3" + } + }, + "node_modules/lefthook": { + "version": "2.0.4", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "lefthook": "bin/index.js" + }, + "optionalDependencies": { + "lefthook-darwin-arm64": "2.0.4", + "lefthook-darwin-x64": "2.0.4", + "lefthook-freebsd-arm64": "2.0.4", + "lefthook-freebsd-x64": "2.0.4", + "lefthook-linux-arm64": "2.0.4", + "lefthook-linux-x64": "2.0.4", + "lefthook-openbsd-arm64": "2.0.4", + "lefthook-openbsd-x64": "2.0.4", + "lefthook-windows-arm64": "2.0.4", + "lefthook-windows-x64": "2.0.4" + } + }, + "node_modules/lefthook-darwin-arm64": { + "version": "2.0.4", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "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.30.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", + "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.30.2", + "lightningcss-darwin-arm64": "1.30.2", + "lightningcss-darwin-x64": "1.30.2", + "lightningcss-freebsd-x64": "1.30.2", + "lightningcss-linux-arm-gnueabihf": "1.30.2", + "lightningcss-linux-arm64-gnu": "1.30.2", + "lightningcss-linux-arm64-musl": "1.30.2", + "lightningcss-linux-x64-gnu": "1.30.2", + "lightningcss-linux-x64-musl": "1.30.2", + "lightningcss-win32-arm64-msvc": "1.30.2", + "lightningcss-win32-x64-msvc": "1.30.2" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", + "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", + "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", + "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", + "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.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", + "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", + "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.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", + "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", + "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.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", + "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", + "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.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", + "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", + "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.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", + "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", + "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.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", + "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", + "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.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", + "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", + "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.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", + "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", + "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", + "license": "MIT" + }, + "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.camelcase": { + "version": "4.3.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.upperfirst": { + "version": "4.3.1", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "devOptional": 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/logkitty": { + "version": "0.7.1", + "devOptional": true, + "license": "MIT", + "dependencies": { + "ansi-fragments": "^0.2.1", + "dayjs": "^1.8.15", + "yargs": "^15.1.0" + }, + "bin": { + "logkitty": "bin/logkitty.js" + } + }, + "node_modules/logkitty/node_modules/cliui": { + "version": "6.0.0", + "devOptional": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/logkitty/node_modules/wrap-ansi": { + "version": "6.2.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/y18n": { + "version": "4.0.3", + "devOptional": true, + "license": "ISC" + }, + "node_modules/logkitty/node_modules/yargs": { + "version": "15.4.1", + "devOptional": true, + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/yargs-parser": { + "version": "18.1.3", + "devOptional": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "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/lru-cache": { + "version": "11.2.2", + "license": "ISC", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/luxon": { + "version": "3.7.2", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "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-error": { + "version": "1.3.6", + "dev": true, + "license": "ISC" + }, + "node_modules/makeerror": { + "version": "1.0.12", + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/mark.js": { + "version": "8.11.1", + "dev": true, + "license": "MIT" + }, + "node_modules/marky": { + "version": "1.3.0", + "license": "Apache-2.0" + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memoize-one": { + "version": "5.2.1", + "license": "MIT" + }, + "node_modules/meow": { + "version": "12.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.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", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/metro": { + "version": "0.83.3", + "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.32.0", + "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.83.3", + "metro-cache": "0.83.3", + "metro-cache-key": "0.83.3", + "metro-config": "0.83.3", + "metro-core": "0.83.3", + "metro-file-map": "0.83.3", + "metro-resolver": "0.83.3", + "metro-runtime": "0.83.3", + "metro-source-map": "0.83.3", + "metro-symbolicate": "0.83.3", + "metro-transform-plugins": "0.83.3", + "metro-transform-worker": "0.83.3", + "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": ">=20.19.4" + } + }, + "node_modules/metro-babel-transformer": { + "version": "0.83.3", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.2", + "flow-enums-runtime": "^0.0.6", + "hermes-parser": "0.32.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-babel-transformer/node_modules/hermes-estree": { + "version": "0.32.0", + "license": "MIT" + }, + "node_modules/metro-babel-transformer/node_modules/hermes-parser": { + "version": "0.32.0", + "license": "MIT", + "dependencies": { + "hermes-estree": "0.32.0" + } + }, + "node_modules/metro-cache": { + "version": "0.83.3", + "license": "MIT", + "dependencies": { + "exponential-backoff": "^3.1.1", + "flow-enums-runtime": "^0.0.6", + "https-proxy-agent": "^7.0.5", + "metro-core": "0.83.3" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-cache-key": { + "version": "0.83.3", + "license": "MIT", + "dependencies": { + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-config": { + "version": "0.83.3", + "license": "MIT", + "dependencies": { + "connect": "^3.6.5", + "flow-enums-runtime": "^0.0.6", + "jest-validate": "^29.7.0", + "metro": "0.83.3", + "metro-cache": "0.83.3", + "metro-core": "0.83.3", + "metro-runtime": "0.83.3", + "yaml": "^2.6.1" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-config/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/metro-config/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/metro-config/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "license": "MIT" + }, + "node_modules/metro-config/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/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-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-config/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/metro-core": { + "version": "0.83.3", + "license": "MIT", + "dependencies": { + "flow-enums-runtime": "^0.0.6", + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.83.3" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-file-map": { + "version": "0.83.3", + "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": ">=20.19.4" + } + }, + "node_modules/metro-file-map/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/metro-file-map/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/metro-file-map/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "license": "MIT" + }, + "node_modules/metro-file-map/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/metro-file-map/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/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.83.3", + "license": "MIT", + "dependencies": { + "flow-enums-runtime": "^0.0.6", + "terser": "^5.15.0" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-resolver": { + "version": "0.83.3", + "license": "MIT", + "dependencies": { + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-runtime": { + "version": "0.83.3", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.0", + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-source-map": { + "version": "0.83.3", + "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.83.3", + "nullthrows": "^1.1.1", + "ob1": "0.83.3", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "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.83.3", + "license": "MIT", + "dependencies": { + "flow-enums-runtime": "^0.0.6", + "invariant": "^2.2.4", + "metro-source-map": "0.83.3", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, + "bin": { + "metro-symbolicate": "src/index.js" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "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.83.3", + "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": ">=20.19.4" + } + }, + "node_modules/metro-transform-worker": { + "version": "0.83.3", + "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.83.3", + "metro-babel-transformer": "0.83.3", + "metro-cache": "0.83.3", + "metro-cache-key": "0.83.3", + "metro-minify-terser": "0.83.3", + "metro-source-map": "0.83.3", + "metro-transform-plugins": "0.83.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro/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/metro/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/metro/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "license": "MIT" + }, + "node_modules/metro/node_modules/ci-info": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/metro/node_modules/hermes-estree": { + "version": "0.32.0", + "license": "MIT" + }, + "node_modules/metro/node_modules/hermes-parser": { + "version": "0.32.0", + "license": "MIT", + "dependencies": { + "hermes-estree": "0.32.0" + } + }, + "node_modules/metro/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/metro/node_modules/jest-util/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/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/micromark-util-character": { + "version": "2.1.1", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "license": "MIT", + "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/mimic-fn": { + "version": "2.1.0", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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/minipass": { + "version": "7.1.2", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minisearch": { + "version": "7.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/minizlib": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "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", + "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", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-postinstall": { + "version": "0.3.4", + "dev": true, + "license": "MIT", + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/neo-async": { + "version": "2.6.2", + "dev": true, + "license": "MIT" + }, + "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/nitrogen": { + "version": "0.31.10", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "react-native-nitro-modules": "^0.31.10", + "ts-morph": "^27.0.0", + "yargs": "^18.0.0", + "zod": "^4.0.5" + }, + "bin": { + "nitrogen": "lib/index.js" + } + }, + "node_modules/nitrogen/node_modules/ansi-regex": { + "version": "6.2.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/nitrogen/node_modules/ansi-styles": { + "version": "6.2.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/nitrogen/node_modules/chalk": { + "version": "5.6.2", + "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/nitrogen/node_modules/cliui": { + "version": "9.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/nitrogen/node_modules/emoji-regex": { + "version": "10.6.0", + "dev": true, + "license": "MIT" + }, + "node_modules/nitrogen/node_modules/string-width": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nitrogen/node_modules/strip-ansi": { + "version": "7.1.2", + "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/nitrogen/node_modules/wrap-ansi": { + "version": "9.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/nitrogen/node_modules/yargs": { + "version": "18.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^9.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "string-width": "^7.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^22.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/nitrogen/node_modules/yargs-parser": { + "version": "22.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/nocache": { + "version": "3.0.4", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/node-forge": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz", + "integrity": "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==", + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.27", + "license": "MIT" + }, + "node_modules/node-stream-zip": { + "version": "1.15.0", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/antelle" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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", + "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/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" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "devOptional": 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.83.3", + "license": "MIT", + "dependencies": { + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "devOptional": 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.4.1", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.1.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "devOptional": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/oniguruma-to-es": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex-xs": "^1.0.0", + "regex": "^6.0.1", + "regex-recursion": "^6.0.2" + } + }, + "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": "5.4.1", + "devOptional": 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/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-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": "7.0.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "devOptional": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "devOptional": 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-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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "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": "2.0.1", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "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", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", + "integrity": "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==", + "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", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/preact": { + "version": "10.27.2", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/presentable-error": { + "version": "0.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-format": { + "version": "30.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/pretty-format/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/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" + } + }, + "node_modules/promise": { + "version": "8.3.0", + "license": "MIT", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "license": "MIT", + "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/property-information": { + "version": "7.1.0", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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/pure-rand": { + "version": "7.0.1", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" + }, + "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/qs": { + "version": "6.13.0", + "devOptional": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue": { + "version": "6.0.2", + "license": "MIT", + "dependencies": { + "inherits": "~2.0.3" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "devOptional": 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/range-parser": { + "version": "1.2.1", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "devOptional": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/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/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "19.1.0", + "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.81.1", + "license": "MIT", + "dependencies": { + "@jest/create-cache-key-function": "^29.7.0", + "@react-native/assets-registry": "0.81.1", + "@react-native/codegen": "0.81.1", + "@react-native/community-cli-plugin": "0.81.1", + "@react-native/gradle-plugin": "0.81.1", + "@react-native/js-polyfills": "0.81.1", + "@react-native/normalize-colors": "0.81.1", + "@react-native/virtualized-lists": "0.81.1", + "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.29.1", + "base64-js": "^1.5.1", + "commander": "^12.0.0", + "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.83.1", + "metro-source-map": "^0.83.1", + "nullthrows": "^1.1.1", + "pretty-format": "^29.7.0", + "promise": "^8.3.0", + "react-devtools-core": "^6.1.5", + "react-refresh": "^0.14.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "0.26.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": ">= 20.19.4" + }, + "peerDependencies": { + "@types/react": "^19.1.0", + "react": "^19.1.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-native-builder-bob": { + "version": "0.40.16", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.2", + "@babel/plugin-transform-flow-strip-types": "^7.26.5", + "@babel/plugin-transform-strict-mode": "^7.24.7", + "@babel/preset-env": "^7.25.2", + "@babel/preset-react": "^7.24.7", + "@babel/preset-typescript": "^7.24.7", + "arktype": "^2.1.15", + "babel-plugin-syntax-hermes-parser": "^0.28.0", + "browserslist": "^4.20.4", + "cross-spawn": "^7.0.3", + "dedent": "^0.7.0", + "del": "^6.1.1", + "escape-string-regexp": "^4.0.0", + "fs-extra": "^10.1.0", + "glob": "^10.5.0", + "is-git-dirty": "^2.0.1", + "json5": "^2.2.1", + "kleur": "^4.1.4", + "prompts": "^2.4.2", + "react-native-monorepo-config": "^0.1.8", + "which": "^2.0.2", + "yargs": "^17.5.1" + }, + "bin": { + "bob": "bin/bob" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >= 23.4.0" + } + }, + "node_modules/react-native-builder-bob/node_modules/babel-plugin-syntax-hermes-parser": { + "version": "0.28.1", + "dev": true, + "license": "MIT", + "dependencies": { + "hermes-parser": "0.28.1" + } + }, + "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/dedent": { + "version": "0.7.0", + "dev": true, + "license": "MIT" + }, + "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": "10.5.0", + "dev": true, + "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/react-native-builder-bob/node_modules/hermes-estree": { + "version": "0.28.1", + "dev": true, + "license": "MIT" + }, + "node_modules/react-native-builder-bob/node_modules/hermes-parser": { + "version": "0.28.1", + "dev": true, + "license": "MIT", + "dependencies": { + "hermes-estree": "0.28.1" + } + }, + "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/lru-cache": { + "version": "10.4.3", + "dev": true, + "license": "ISC" + }, + "node_modules/react-native-builder-bob/node_modules/minimatch": { + "version": "9.0.5", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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-builder-bob/node_modules/path-scurry": { + "version": "1.11.1", + "dev": true, + "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/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-monorepo-config": { + "version": "0.1.10", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^5.0.0", + "fast-glob": "^3.3.3" + } + }, + "node_modules/react-native-monorepo-config/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/react-native-nitro-modules": { + "version": "0.31.10", + "hasInstallScript": true, + "license": "MIT", + "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/@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/react-native/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/react-native/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/react-native/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "license": "MIT" + }, + "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/ansi-styles": { + "version": "5.2.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/react-native/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/react-native/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/react-native/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/react-native/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/react-native/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/react-native/node_modules/commander": { + "version": "12.1.0", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/react-native/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/react-native/node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "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-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/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/jest-regex-util": { + "version": "29.6.3", + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/react-native/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/react-native/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/react-native/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/react-native/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/react-native/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/react-refresh": { + "version": "0.14.2", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "devOptional": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "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.2", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "license": "MIT" + }, + "node_modules/regex": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "dev": true, + "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.4.0", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.2", + "regjsgen": "^0.8.0", + "regjsparser": "^0.13.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.2.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.13.0", + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.1.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "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/require-main-filename": { + "version": "2.0.0", + "devOptional": true, + "license": "ISC" + }, + "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", + "resolve": "~1.7.1" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "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" + } + }, + "node_modules/resolve": { + "version": "1.22.11", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "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-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-global": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "license": "MIT", + "dependencies": { + "global-dirs": "^0.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-workspace-root": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/resolve-workspace-root/-/resolve-workspace-root-2.0.1.tgz", + "integrity": "sha512-nR23LHAvaI6aHtMg6RWoaHpdR4D881Nydkzi2CixINyg9T00KgaJdJI6Vwty+Ps8WLxZHuxsS0BseWjxSA4C+w==", + "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" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "devOptional": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "dev": true, + "license": "MIT" + }, + "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/rollup": { + "version": "4.53.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.53.3", + "@rollup/rollup-android-arm64": "4.53.3", + "@rollup/rollup-darwin-arm64": "4.53.3", + "@rollup/rollup-darwin-x64": "4.53.3", + "@rollup/rollup-freebsd-arm64": "4.53.3", + "@rollup/rollup-freebsd-x64": "4.53.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", + "@rollup/rollup-linux-arm-musleabihf": "4.53.3", + "@rollup/rollup-linux-arm64-gnu": "4.53.3", + "@rollup/rollup-linux-arm64-musl": "4.53.3", + "@rollup/rollup-linux-loong64-gnu": "4.53.3", + "@rollup/rollup-linux-ppc64-gnu": "4.53.3", + "@rollup/rollup-linux-riscv64-gnu": "4.53.3", + "@rollup/rollup-linux-riscv64-musl": "4.53.3", + "@rollup/rollup-linux-s390x-gnu": "4.53.3", + "@rollup/rollup-linux-x64-gnu": "4.53.3", + "@rollup/rollup-linux-x64-musl": "4.53.3", + "@rollup/rollup-openharmony-arm64": "4.53.3", + "@rollup/rollup-win32-arm64-msvc": "4.53.3", + "@rollup/rollup-win32-ia32-msvc": "4.53.3", + "@rollup/rollup-win32-x64-gnu": "4.53.3", + "@rollup/rollup-win32-x64-msvc": "4.53.3", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "devOptional": 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/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", + "devOptional": true, + "license": "MIT" + }, + "node_modules/sax": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz", + "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/scheduler": { + "version": "0.26.0", + "license": "MIT" + }, + "node_modules/search-insights": { + "version": "2.17.3", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz", + "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/semver": { + "version": "7.7.3", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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/send/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "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/encodeurl": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "devOptional": true, + "license": "ISC" + }, + "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/shiki": { + "version": "2.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/core": "2.5.0", + "@shikijs/engine-javascript": "2.5.0", + "@shikijs/engine-oniguruma": "2.5.0", + "@shikijs/langs": "2.5.0", + "@shikijs/themes": "2.5.0", + "@shikijs/types": "2.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "devOptional": 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", + "devOptional": 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", + "devOptional": 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", + "devOptional": 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": "3.0.7", + "license": "ISC" + }, + "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", + "bplist-parser": "0.3.1", + "plist": "^3.0.5" + } + }, + "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" + }, + "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/slice-ansi": { + "version": "2.1.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "3.2.1", + "devOptional": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "1.9.3", + "devOptional": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.3", + "devOptional": true, + "license": "MIT" + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/slugify": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", + "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/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", + "engines": { + "node": ">=0.10.0" + } + }, + "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/space-separated-tokens": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, + "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": "2.0.1", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "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", + "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" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "devOptional": 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": "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": { + "name": "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/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/stringify-entities": { + "version": "4.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/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", + "dev": true, + "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", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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/strnum": { + "version": "1.1.2", + "devOptional": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, + "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.1", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", + "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "tinyglobby": "^0.2.11", + "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", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/superjson": { + "version": "2.2.6", + "dev": true, + "license": "MIT", + "dependencies": { + "copy-anything": "^4" + }, + "engines": { + "node": ">=16" + } + }, + "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", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "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/synckit": { + "version": "0.11.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@pkgr/core": "^0.2.9" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/synckit" + } + }, + "node_modules/tabbable": { + "version": "6.3.0", + "dev": true, + "license": "MIT" + }, + "node_modules/tar": { + "version": "7.5.2", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "5.0.0", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "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" + } + }, + "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", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.44.1", + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "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/text-extensions": { + "version": "2.4.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/throat": { + "version": "5.0.0", + "license": "MIT" + }, + "node_modules/through": { + "version": "2.3.8", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "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/trim-lines": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-api-utils": { + "version": "1.4.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "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/ts-jest": { + "version": "29.4.5", + "dev": true, + "license": "MIT", + "dependencies": { + "bs-logger": "^0.2.6", + "fast-json-stable-stringify": "^2.1.0", + "handlebars": "^4.7.8", + "json5": "^2.2.3", + "lodash.memoize": "^4.1.2", + "make-error": "^1.3.6", + "semver": "^7.7.3", + "type-fest": "^4.41.0", + "yargs-parser": "^21.1.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/transform": "^29.0.0 || ^30.0.0", + "@jest/types": "^29.0.0 || ^30.0.0", + "babel-jest": "^29.0.0 || ^30.0.0", + "jest": "^29.0.0 || ^30.0.0", + "jest-util": "^29.0.0 || ^30.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/transform": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jest-util": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/type-fest": { + "version": "4.41.0", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ts-morph": { + "version": "27.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@ts-morph/common": "~0.28.1", + "code-block-writer": "^13.0.3" + } + }, + "node_modules/tslib": { + "version": "1.14.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/turbo": { + "version": "2.6.1", + "dev": true, + "license": "MIT", + "bin": { + "turbo": "bin/turbo" + }, + "optionalDependencies": { + "turbo-darwin-64": "2.6.1", + "turbo-darwin-arm64": "2.6.1", + "turbo-linux-64": "2.6.1", + "turbo-linux-arm64": "2.6.1", + "turbo-windows-64": "2.6.1", + "turbo-windows-arm64": "2.6.1" + } + }, + "node_modules/turbo-darwin-arm64": { + "version": "2.6.1", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "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.21.3", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "devOptional": true, + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "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/typescript": { + "version": "5.9.3", + "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.23.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.23.0.tgz", + "integrity": "sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==", + "license": "MIT", + "engines": { + "node": ">=18.17" + } + }, + "node_modules/undici-types": { + "version": "7.16.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.1", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.2.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unrs-resolver": { + "version": "1.11.1", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.0" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.4", + "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/uri-js": { + "version": "4.4.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "devOptional": true, + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "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" + } + }, + "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-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" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "5.4.21", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vitepress": { + "version": "1.6.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@docsearch/css": "3.8.2", + "@docsearch/js": "3.8.2", + "@iconify-json/simple-icons": "^1.2.21", + "@shikijs/core": "^2.1.0", + "@shikijs/transformers": "^2.1.0", + "@shikijs/types": "^2.1.0", + "@types/markdown-it": "^14.1.2", + "@vitejs/plugin-vue": "^5.2.1", + "@vue/devtools-api": "^7.7.0", + "@vue/shared": "^3.5.13", + "@vueuse/core": "^12.4.0", + "@vueuse/integrations": "^12.4.0", + "focus-trap": "^7.6.4", + "mark.js": "8.11.1", + "minisearch": "^7.1.1", + "shiki": "^2.1.0", + "vite": "^5.4.14", + "vue": "^3.5.13" + }, + "bin": { + "vitepress": "bin/vitepress.js" + }, + "peerDependencies": { + "markdown-it-mathjax3": "^4", + "postcss": "^8" + }, + "peerDependenciesMeta": { + "markdown-it-mathjax3": { + "optional": true + }, + "postcss": { + "optional": true + } + } + }, + "node_modules/vlq": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/vue": { + "version": "3.5.25", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.25", + "@vue/compiler-sfc": "3.5.25", + "@vue/runtime-dom": "3.5.25", + "@vue/server-renderer": "3.5.25", + "@vue/shared": "3.5.25" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "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/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" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.6.20", + "license": "MIT" + }, + "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", + "punycode": "^2.1.1", + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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-module": { + "version": "2.0.1", + "devOptional": true, + "license": "ISC" + }, + "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/which/node_modules/isexe": { + "version": "2.0.0", + "license": "ISC" + }, + "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/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", + "dev": true, + "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/wrappy": { + "version": "1.0.2", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "4.1.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ws": { + "version": "6.2.3", + "license": "MIT", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "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", + "uuid": "^7.0.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "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", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "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" + } + }, + "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" + } + }, + "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": "2.8.1", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.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": "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/zod": { + "version": "4.1.13", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "packages/expo-example": { + "version": "1.0.0", + "dependencies": { + "expo": "~54.0.31", + "expo-status-bar": "~3.0.9", + "react": "19.1.0", + "react-native": "0.81.5" + }, + "devDependencies": { + "@types/react": "~19.1.0", + "typescript": "~5.9.2" + } + }, + "packages/expo-example/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", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/expo-example/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", + "@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" + } + }, + "packages/expo-example/node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/expo-example/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", + "@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" + } + }, + "packages/expo-example/node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/expo-example/node_modules/@react-native/assets-registry": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.81.5.tgz", + "integrity": "sha512-705B6x/5Kxm1RKRvSv0ADYWm5JOnoiQ1ufW7h8uu2E6G9Of/eE6hP/Ivw3U5jI16ERqZxiKQwk34VJbB0niX9w==", + "license": "MIT", + "engines": { + "node": ">= 20.19.4" + } + }, + "packages/expo-example/node_modules/@react-native/codegen": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.81.5.tgz", + "integrity": "sha512-a2TDA03Up8lpSa9sh5VRGCQDXgCTOyDOFH+aqyinxp1HChG8uk89/G+nkJ9FPd0rqgi25eCTR16TWdS3b+fA6g==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.2", + "@babel/parser": "^7.25.3", + "glob": "^7.1.1", + "hermes-parser": "0.29.1", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "yargs": "^17.6.2" + }, + "engines": { + "node": ">= 20.19.4" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "packages/expo-example/node_modules/@react-native/community-cli-plugin": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.81.5.tgz", + "integrity": "sha512-yWRlmEOtcyvSZ4+OvqPabt+NS36vg0K/WADTQLhrYrm9qdZSuXmq8PmdJWz/68wAqKQ+4KTILiq2kjRQwnyhQw==", + "license": "MIT", + "dependencies": { + "@react-native/dev-middleware": "0.81.5", + "debug": "^4.4.0", + "invariant": "^2.2.4", + "metro": "^0.83.1", + "metro-config": "^0.83.1", + "metro-core": "^0.83.1", + "semver": "^7.1.3" + }, + "engines": { + "node": ">= 20.19.4" + }, + "peerDependencies": { + "@react-native-community/cli": "*", + "@react-native/metro-config": "*" + }, + "peerDependenciesMeta": { + "@react-native-community/cli": { + "optional": true + }, + "@react-native/metro-config": { + "optional": true + } + } + }, + "packages/expo-example/node_modules/@react-native/debugger-frontend": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.81.5.tgz", + "integrity": "sha512-bnd9FSdWKx2ncklOetCgrlwqSGhMHP2zOxObJbOWXoj7GHEmih4MKarBo5/a8gX8EfA1EwRATdfNBQ81DY+h+w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 20.19.4" + } + }, + "packages/expo-example/node_modules/@react-native/dev-middleware": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.81.5.tgz", + "integrity": "sha512-WfPfZzboYgo/TUtysuD5xyANzzfka8Ebni6RIb2wDxhb56ERi7qDrE4xGhtPsjCL4pQBXSVxyIlCy0d8I6EgGA==", + "license": "MIT", + "dependencies": { + "@isaacs/ttlcache": "^1.4.1", + "@react-native/debugger-frontend": "0.81.5", + "chrome-launcher": "^0.15.2", + "chromium-edge-launcher": "^0.2.0", + "connect": "^3.6.5", + "debug": "^4.4.0", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "open": "^7.0.3", + "serve-static": "^1.16.2", + "ws": "^6.2.3" + }, + "engines": { + "node": ">= 20.19.4" + } + }, + "packages/expo-example/node_modules/@react-native/gradle-plugin": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.81.5.tgz", + "integrity": "sha512-hORRlNBj+ReNMLo9jme3yQ6JQf4GZpVEBLxmTXGGlIL78MAezDZr5/uq9dwElSbcGmLEgeiax6e174Fie6qPLg==", + "license": "MIT", + "engines": { + "node": ">= 20.19.4" + } + }, + "packages/expo-example/node_modules/@react-native/js-polyfills": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.81.5.tgz", + "integrity": "sha512-fB7M1CMOCIUudTRuj7kzxIBTVw2KXnsgbQ6+4cbqSxo8NmRRhA0Ul4ZUzZj3rFd3VznTL4Brmocv1oiN0bWZ8w==", + "license": "MIT", + "engines": { + "node": ">= 20.19.4" + } + }, + "packages/expo-example/node_modules/@react-native/normalize-colors": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.81.5.tgz", + "integrity": "sha512-0HuJ8YtqlTVRXGZuGeBejLE04wSQsibpTI+RGOyVqxZvgtlLLC/Ssw0UmbHhT4lYMp2fhdtvKZSs5emWB1zR/g==", + "license": "MIT" + }, + "packages/expo-example/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" + }, + "packages/expo-example/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" + } + }, + "packages/expo-example/node_modules/@types/react": { + "version": "19.1.17", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.17.tgz", + "integrity": "sha512-Qec1E3mhALmaspIrhWt9jkQMNdw6bReVu64mjvhbhq2NFPftLPVr+l1SZgmw/66WwBNpDh7ao5AT6gF5v41PFA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.0.2" + } + }, + "packages/expo-example/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" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/expo-example/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", + "@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" + } + }, + "packages/expo-example/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", + "@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" + } + }, + "packages/expo-example/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", + "@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" + } + }, + "packages/expo-example/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", + "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" + } + }, + "packages/expo-example/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/expo-example/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" + } + }, + "packages/expo-example/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", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/expo-example/node_modules/istanbul-lib-instrument/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" + } + }, + "packages/expo-example/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", + "@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" + } + }, + "packages/expo-example/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", + "@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" + } + }, + "packages/expo-example/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", + "@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" + } + }, + "packages/expo-example/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", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/expo-example/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" + } + }, + "packages/expo-example/node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/expo-example/node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/expo-example/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", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/expo-example/node_modules/react-native": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.81.5.tgz", + "integrity": "sha512-1w+/oSjEXZjMqsIvmkCRsOc8UBYv163bTWKTI8+1mxztvQPhCRYGTvZ/PL1w16xXHneIj/SLGfxWg2GWN2uexw==", + "license": "MIT", + "dependencies": { + "@jest/create-cache-key-function": "^29.7.0", + "@react-native/assets-registry": "0.81.5", + "@react-native/codegen": "0.81.5", + "@react-native/community-cli-plugin": "0.81.5", + "@react-native/gradle-plugin": "0.81.5", + "@react-native/js-polyfills": "0.81.5", + "@react-native/normalize-colors": "0.81.5", + "@react-native/virtualized-lists": "0.81.5", + "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.29.1", + "base64-js": "^1.5.1", + "commander": "^12.0.0", + "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.83.1", + "metro-source-map": "^0.83.1", + "nullthrows": "^1.1.1", + "pretty-format": "^29.7.0", + "promise": "^8.3.0", + "react-devtools-core": "^6.1.5", + "react-refresh": "^0.14.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "0.26.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": ">= 20.19.4" + }, + "peerDependencies": { + "@types/react": "^19.1.0", + "react": "^19.1.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "packages/expo-example/node_modules/react-native/node_modules/@react-native/virtualized-lists": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.81.5.tgz", + "integrity": "sha512-UVXgV/db25OPIvwZySeToXD/9sKKhOdkcWmmf4Jh8iBZuyfML+/5CasaZ1E7Lqg6g3uqVQq75NqIwkYmORJMPw==", + "license": "MIT", + "dependencies": { + "invariant": "^2.2.4", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 20.19.4" + }, + "peerDependencies": { + "@types/react": "^19.1.0", + "react": "*", + "react-native": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "packages/expo-example/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "packages/expo-example/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", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "packages/native-date": { + "name": "@bernagl/react-native-date", + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "@commitlint/config-conventional": "^19.8.1", + "@eslint/compat": "^1.3.2", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "^9.35.0", + "@react-native/babel-preset": "0.81.1", + "@react-native/eslint-config": "^0.81.1", + "@types/react": "^19.1.0", + "commitlint": "^19.8.1", + "del-cli": "^6.0.0", + "eslint": "^9.35.0", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-prettier": "^5.5.4", + "lefthook": "^2.0.3", + "nitrogen": "^0.31.10", + "prettier": "^2.8.8", + "react": "19.1.0", + "react-native": "0.81.1", + "react-native-builder-bob": "^0.40.16", + "react-native-nitro-modules": "^0.31.10", + "turbo": "^2.5.6", + "typescript": "^5.9.2" + }, + "peerDependencies": { + "react": "*", + "react-native": "*", + "react-native-nitro-modules": "^0.31.10" + } + }, + "packages/native-date/example": { + "name": "@rn-packages/native-date-example", + "version": "0.0.2", + "dependencies": { + "@date-fns/tz": "^1.4.1", + "date-fns": "^4.1.0", + "dayjs": "^1.11.19", + "luxon": "^3.5.0", + "react": "19.1.0", + "react-native": "0.81.1", + "react-native-nitro-modules": "^0.31.10" + }, + "devDependencies": { + "@babel/core": "^7.25.2", + "@babel/preset-env": "^7.25.3", + "@babel/runtime": "^7.25.0", + "@react-native-community/cli": "20.0.0", + "@react-native-community/cli-platform-android": "20.0.0", + "@react-native-community/cli-platform-ios": "20.0.0", + "@react-native/babel-preset": "0.81.1", + "@react-native/metro-config": "0.81.1", + "@react-native/typescript-config": "0.81.1", + "@types/luxon": "^3.7.1", + "@types/react": "^19.1.0", + "react-native-builder-bob": "^0.40.16", + "react-native-monorepo-config": "^0.1.9" + }, + "engines": { + "node": ">=20" + } + } + } +} diff --git a/packages/native-date/expo-example/.gitignore b/packages/native-date/expo-example/.gitignore new file mode 100644 index 0000000..d914c32 --- /dev/null +++ b/packages/native-date/expo-example/.gitignore @@ -0,0 +1,41 @@ +# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files + +# dependencies +node_modules/ + +# Expo +.expo/ +dist/ +web-build/ +expo-env.d.ts + +# Native +.kotlin/ +*.orig.* +*.jks +*.p8 +*.p12 +*.key +*.mobileprovision + +# Metro +.metro-health-check* + +# debug +npm-debug.* +yarn-debug.* +yarn-error.* + +# macOS +.DS_Store +*.pem + +# local env files +.env*.local + +# typescript +*.tsbuildinfo + +# generated native folders +/ios +/android diff --git a/packages/native-date/expo-example/App.tsx b/packages/native-date/expo-example/App.tsx new file mode 100644 index 0000000..0f6bd51 --- /dev/null +++ b/packages/native-date/expo-example/App.tsx @@ -0,0 +1,369 @@ +import { useState } from 'react'; +import { StatusBar } from 'expo-status-bar'; +import { + StyleSheet, + Text, + View, + ScrollView, + TouchableOpacity, + SafeAreaView, +} from 'react-native'; +import { + now, + parse, + format, + getYear, + getMonth, + getDate, + addDays, + startOfMonth, + endOfMonth, + isToday, + formatDistance, + getTimezone, +} from '@bernagl/react-native-date'; + +type TestResult = { + name: string; + passed: boolean; + expected: string; + actual: string; +}; + +export default function App() { + const [results, setResults] = useState([]); + const [loading, setLoading] = useState(false); + + const runTests = () => { + setLoading(true); + const testResults: TestResult[] = []; + + // Test: now() + try { + const timestamp = now(); + const isValid = typeof timestamp === 'number' && timestamp > 0; + testResults.push({ + name: 'now() returns valid timestamp', + passed: isValid, + expected: 'number > 0', + actual: String(timestamp), + }); + } catch (e) { + testResults.push({ + name: 'now() returns valid timestamp', + passed: false, + expected: 'number > 0', + actual: `Error: ${e}`, + }); + } + + // Test: parse() + try { + const ts = parse('2024-06-15'); + const year = getYear(ts); + testResults.push({ + name: 'parse() + getYear()', + passed: year === 2024, + expected: '2024', + actual: String(year), + }); + } catch (e) { + testResults.push({ + name: 'parse() + getYear()', + passed: false, + expected: '2024', + actual: `Error: ${e}`, + }); + } + + // Test: format() + try { + const ts = parse('2024-06-15'); + const formatted = format(ts, 'yyyy-MM-dd'); + testResults.push({ + name: 'format() yyyy-MM-dd', + passed: formatted === '2024-06-15', + expected: '2024-06-15', + actual: formatted, + }); + } catch (e) { + testResults.push({ + name: 'format() yyyy-MM-dd', + passed: false, + expected: '2024-06-15', + actual: `Error: ${e}`, + }); + } + + // Test: getMonth() + try { + const ts = parse('2024-06-15'); + const month = getMonth(ts); + testResults.push({ + name: 'getMonth() returns 6 (June)', + passed: month === 6, + expected: '6', + actual: String(month), + }); + } catch (e) { + testResults.push({ + name: 'getMonth() returns 6 (June)', + passed: false, + expected: '6', + actual: `Error: ${e}`, + }); + } + + // Test: getDate() + try { + const ts = parse('2024-06-15'); + const day = getDate(ts); + testResults.push({ + name: 'getDate() returns 15', + passed: day === 15, + expected: '15', + actual: String(day), + }); + } catch (e) { + testResults.push({ + name: 'getDate() returns 15', + passed: false, + expected: '15', + actual: `Error: ${e}`, + }); + } + + // Test: addDays() + try { + const ts = parse('2024-06-15'); + const newTs = addDays(ts, 5); + const day = getDate(newTs); + testResults.push({ + name: 'addDays(5) → day 20', + passed: day === 20, + expected: '20', + actual: String(day), + }); + } catch (e) { + testResults.push({ + name: 'addDays(5) → day 20', + passed: false, + expected: '20', + actual: `Error: ${e}`, + }); + } + + // Test: startOfMonth() + try { + const ts = parse('2024-06-15'); + const start = startOfMonth(ts); + const day = getDate(start); + testResults.push({ + name: 'startOfMonth() → day 1', + passed: day === 1, + expected: '1', + actual: String(day), + }); + } catch (e) { + testResults.push({ + name: 'startOfMonth() → day 1', + passed: false, + expected: '1', + actual: `Error: ${e}`, + }); + } + + // Test: endOfMonth() + try { + const ts = parse('2024-06-15'); + const end = endOfMonth(ts); + const day = getDate(end); + testResults.push({ + name: 'endOfMonth() June → day 30', + passed: day === 30, + expected: '30', + actual: String(day), + }); + } catch (e) { + testResults.push({ + name: 'endOfMonth() June → day 30', + passed: false, + expected: '30', + actual: `Error: ${e}`, + }); + } + + // Test: isToday() + try { + const todayTs = now(); + const result = isToday(todayTs); + testResults.push({ + name: 'isToday(now()) = true', + passed: result === true, + expected: 'true', + actual: String(result), + }); + } catch (e) { + testResults.push({ + name: 'isToday(now()) = true', + passed: false, + expected: 'true', + actual: `Error: ${e}`, + }); + } + + // Test: formatDistance() + try { + const past = parse('2024-01-01'); + const future = parse('2024-01-10'); + const distance = formatDistance(past, future, true); + const hasText = typeof distance === 'string' && distance.length > 0; + testResults.push({ + name: 'formatDistance() returns string', + passed: hasText, + expected: 'non-empty string', + actual: distance, + }); + } catch (e) { + testResults.push({ + name: 'formatDistance() returns string', + passed: false, + expected: 'non-empty string', + actual: `Error: ${e}`, + }); + } + + // Test: getTimezone() + try { + const tz = getTimezone(); + const isValid = typeof tz === 'string' && tz.length > 0; + testResults.push({ + name: 'getTimezone() returns string', + passed: isValid, + expected: 'non-empty string', + actual: tz, + }); + } catch (e) { + testResults.push({ + name: 'getTimezone() returns string', + passed: false, + expected: 'non-empty string', + actual: `Error: ${e}`, + }); + } + + setResults(testResults); + setLoading(false); + }; + + const passedCount = results.filter((r) => r.passed).length; + const failedCount = results.filter((r) => !r.passed).length; + + return ( + + + Expo + react-native-date + Testing Nitro Modules compatibility + + + + {loading ? 'Running...' : 'Run Tests'} + + + + {results.length > 0 && ( + + + ✅ {passedCount} passed | ❌ {failedCount} failed + + + )} + + + {results.map((result, index) => ( + + + {result.passed ? '✅' : '❌'} {result.name} + + {!result.passed && ( + + Expected: {result.expected} | Actual: {result.actual} + + )} + + ))} + + + ); +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#f5f5f5', + paddingTop: 20, + }, + title: { + fontSize: 24, + fontWeight: 'bold', + textAlign: 'center', + marginBottom: 4, + }, + subtitle: { + fontSize: 14, + color: '#666', + textAlign: 'center', + marginBottom: 20, + }, + button: { + backgroundColor: '#007AFF', + paddingVertical: 12, + paddingHorizontal: 24, + borderRadius: 8, + marginHorizontal: 20, + alignItems: 'center', + }, + buttonText: { + color: '#fff', + fontSize: 16, + fontWeight: '600', + }, + summary: { + padding: 16, + alignItems: 'center', + }, + summaryText: { + fontSize: 16, + fontWeight: '600', + }, + results: { + flex: 1, + paddingHorizontal: 16, + }, + resultItem: { + padding: 12, + borderRadius: 8, + marginBottom: 8, + }, + passed: { + backgroundColor: '#d4edda', + }, + failed: { + backgroundColor: '#f8d7da', + }, + resultName: { + fontSize: 14, + fontWeight: '500', + }, + resultDetails: { + fontSize: 12, + color: '#666', + marginTop: 4, + }, +}); diff --git a/packages/native-date/expo-example/app.json b/packages/native-date/expo-example/app.json new file mode 100644 index 0000000..6ad43fa --- /dev/null +++ b/packages/native-date/expo-example/app.json @@ -0,0 +1,32 @@ +{ + "expo": { + "name": "expo-example", + "slug": "expo-example", + "version": "1.0.0", + "orientation": "portrait", + "icon": "./assets/icon.png", + "userInterfaceStyle": "light", + "newArchEnabled": true, + "splash": { + "image": "./assets/splash-icon.png", + "resizeMode": "contain", + "backgroundColor": "#ffffff" + }, + "ios": { + "supportsTablet": true, + "bundleIdentifier": "com.bernagl.nativedate.expoexample" + }, + "android": { + "adaptiveIcon": { + "foregroundImage": "./assets/adaptive-icon.png", + "backgroundColor": "#ffffff" + }, + "edgeToEdgeEnabled": true, + "predictiveBackGestureEnabled": false, + "package": "com.bernagl.nativedate.expoexample" + }, + "web": { + "favicon": "./assets/favicon.png" + } + } +} diff --git a/packages/native-date/expo-example/assets/adaptive-icon.png b/packages/native-date/expo-example/assets/adaptive-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..03d6f6b6c6727954aec1d8206222769afd178d8d GIT binary patch literal 17547 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 literal 0 HcmV?d00001 diff --git a/packages/native-date/expo-example/assets/icon.png b/packages/native-date/expo-example/assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a0b1526fc7b78680fd8d733dbc6113e1af695487 GIT binary patch literal 22380 zcma&NXFwBA)Gs`ngeqM?rCU%8AShC#M(H35F#)9rii(013!tDx|bcg~9p;sv(x$FOVKfIsreLf|7>hGMHJu^FJH{SV>t+=RyC;&j*-p&dS z00#Ms0m5kH$L?*gw<9Ww*BeXm9UqYx~jJ+1t_4 zJ1{Wx<45o0sR{IH8 zpmC-EeHbTu>$QEi`V0Qoq}8`?({Rz68cT=&7S_Iul9ZEM5bRQwBQDxnr>(iToF)+n z|JO^V$Ny90|8HRG;s3_y|EE!}{=bF6^uYgbVbpK_-xw{eD%t$*;YA)DTk&JD*qleJ z3TBmRf4+a|j^2&HXyGR4BQKdWw|n?BtvJ!KqCQ={aAW0QO*2B496##!#j&gBie2#! zJqxyG2zbFyOA35iJ|1mKYsk?1s;L@_PFX7rKfhZiQdNiEao^8KiD5~5!EgHUD82iG z2XpL^%96Md=;9x?U3$~srSaj;7MG>wT)P_wCb&+1hO4~8uflnL7sq6JejFX4?J(MR z(VPq?4ewa9^aaSgWBhg7Ud4T;BZ7{82adX7MF%W0zZ_mYu+wLYAP^lOQLYY@cUjE4 zBeFNA4tH1neDX`Q|J)mZ`?;#~XzBag&Di1NCjfbREm)XTezLrDtUcF|>r`6d+9;Z2K=0gYw6{= zO`r(C`LX~v_q!oQTzP=V(dpBYRX_m=XTYed%&nR+E%|WO3PI)^4uPRJk7kq+L(WmAOy(ux(#<@^3fSK25b1mHZ&DAw`q0&a5 zXU$pWf=NbJ*j}V$*`Y zMAz4Zi@A4?iMs{U8hRx*ihsZYHPTpP)TpG}jw4o_5!ny)yKkJoo=Bir+@d$gzUtPf z76rl^DOsUwy9uARy%q+*hrZZzh_{hGBXepC05GjPV+X0aCfbk@fQWuf;3wQF@_yMe zt5AXhdB6CNa}=s;{GA3bi9jK8Kx#cdW9+*ie&)lhyA|*h09Nk?0_r>m95{nVXO$6+ z$R>+ZL^ryBs*)RkM6AqpNS?#{nnq$qo^Vt5G+ytRnl4dc&s0sMr1WG4?WRPcp+ zP;4wHTl?f)^!Gj@FV%`g0(eGv;HbO<_}J0}FndK2L|Kcxs9q1mJ&rMg$cKcFmX!S! z0vJ1OH3owS*d>`!`*;8rrX8t`(L`=H!AifKdlcO~&e#f~Gz*D+&)!2#ud^j$6ZANS!q}@cvw*7N5+0Q4R zvKIiqx03&fsKF9NtB8=DY2R$GBF zFO>1hO8{sMa4qRW4rz_ZeDmKOIy>H_iVr#{5#Sj@pJ!sj&rhsFLFP!^^K&|Dr6uLtPu&2WmLoOp+72f`> zM88yjBZc@DHb&cF31E_s3Lc>O?h=~(jh!O*kcTy{W=1>28}m0z!NXv!+39S{1Oo=094 zX=(h?=(7}XGb1D8Le$|=j;d-;;crtG&kl~$1R;+jNJ~%pbCYscUVDFEU78K}k--e# za(QZW#pp2ud*;SAz*bwBzqqTRikI2Y#5?gmB4!gw{q?IKxBJ$Ekk*C1u@L4^va%|d zg`199czf=a{W_rZV(o9cO3-ss^nlj#!JCtP7Us%{K*#UAfC_J8t8O95*4X1neL!uT z7q+4#870U_4@PTELQHYcP!d#&(5s=1xX@nu4~{P ziXP#%91t7KLLnvdo!MHcGH5gCyUtMXC>j$4q!W8-qKL+{QA?W|P_g@&o};Qr{V>;Uw00_+`9LV$n}g$1Wz-iO^%O9@tw3qx-3ufU%wo0W1X6 zd5hj=!1>$2#x-W=@#r)rb>i#BX;&5+G{ip^1}TzYa#zzvid~=DT3juEZzPd*Ptx5PlmOekc^%T@qfGKnX zVLtTc?`|*HLs@&g^HLc-XM;hT*okFVoGV>Rk7|YR#rP|>d%?%Ac6a6tD?jV(PEM2| z)!GQ%0<#4uaBClL!}ieEL#lNYchYI!%yOx-k)Hrt@v}`10WkK6dpyGbIn3J}K<9>6 z&Qr3w#HH4O-)FlVQbmE0IsYU?*2#U}c**@5bJg+B;Z3a{C!Wn z%}5?fNU7QX-m!{(5YE8DV9$RRbxu+^pZ&ZnAiN>7Ej;=f|mchq~oo_duHA zm}UoOBhc=BYSg6-FC`~!vzKFuZxq)d%0s_mkb=8gcX@+)g%YXM+P;snBBP?OLzICI z^nONGyOXmz_6V@ewl4VaqES4q;1}i2cE%ze0*luwQ@4j=-woV5=th~qD7<$}vxHqH zki`K3_K?tAp3?w8qw7CdG)(7lggoq>PPlkt@rNqVm`Ycg!CT9)9T8abyZIZA;Y;5m z%X*dax+I%)X7Yjc(a(`}0da228T?%A)(62CEkfr13$PzqKi>>_-(@aRUSr2JRNn||G!L%}1dKJ|E9+0HUy|x0-9#8- z__=}bb&@;)o<6PQ+SsWesX{>caBlo2%~rhkUU6n+Pfy5N$X8vK18kZm*^~XJsG(og zBO`Kur%3CE5}R|r$by?(@1|{;bLg+dG6WvJ5JO>#SNDdi)Mq0e&KQ?o%pyICN1`}n zIPG++itoD%6Zjho*jBp)LaVIDkPL41VQx_s+y{K#ZZMFUJN!!59D>C?pv3!jpgav( zrWmF`%6QG9&{*|Y2TOEg;yXX+f+FH}@zJ?z;cQ;60`OsF+Pun!-_^Oh_aQkQeRK|! z@R;}3_d5Uqj>@W;{SAaq0{e2oR($}c?m}x>mw3U&EK8p zbDNT;)(io|2H)fID;xYi(7M`Pl2^igo1pxecivhQoZrDJYYqKXg7)kPm6M}H&wk?1 z|CR)0PYBK27ml4L*mD4!ulgjD!q2H)&b>^b(Z}^4enh{P^oa<(*DW{p)=!K!Cf2yxArAy8esW_t$!wO}OC;g>-Y;p?(8K5Lqzo zVOhL8FZn_oA~?Q9?Wp}%Z1Q|bKd}2%!+#WJCx^^$C*0K6QZ2#Lm}2_VciwAguz0^a zyw?EN>H_b-HZ}3A`6@(yG~8IYa)emU9NjV=esnMsEpL5I0ZtmYfC8%y6>s_lxxw#E zG^q&>1%X%Rq$(&YCp2v6OnGR-mI-$;?ekV}$>8saMk6~@idK;{+s(Zq?`iUsro#Rn zzK=vUonDa1DE+ob8@-xJ^13dF>)CrThqq%v97t^q4e`&PYde{8V33VaZdX`=oBAPu4=@9clN{P5AM&b z`|?IsKKKQs>6f)XqgFHWEv{GF=(s$!WorDO7lh60_n?q_z;I`mZq z*dn<86V%zQ*m>k6jwwD*+Tvl&G&c*s)!Qmq5P(FqOG?8SR457Mh3XI}o* zNHJnfNc3rddr4S%F5TL`3ttEi2p&B*92mBV{y_fFcD~9Cc1oH&eyi!@W)XDmr!-Lc}2ziivlJ7K)m%-)5hd*#%qjqpv-I0wp)Ww;Zmhe}i%+uMaYSzlf15j7cS4Lcg zSw_~_f!|o?!98lFa72N~m5HV*@680?k@kjT&o_ld&VK=i#LoRgmXTJI{t}u-HdRZ?xP84*Y8~` zqFW_yBG2VbRtq|$md@m7E{$t7b^3%Cqa|@prg-_BqkTptrIu-ROancLO)(0 z`=1nJO?$p%(=%NhuS`x@r3G||Oy!YPtYHd3F8}Gpd5? zgBlTI*{@j)(&e2)r%evo5bP~_(UYOO{MQk^fQqpvQIEd=s`Y7!rEyHF6#dd&lqXBj z{|hLWB%YCqcVlq&AE8P_$lodI-p~4@dR;nHMQ2FmIOOL`<)D1t5VfCd_YzcanOlBt zsL8m#o5134a;vzx!oLHR`N~~sP@WwvT?bz)a<^pV!b6r$f9^=S!iu>(V~l$UF_QW@ z!jio9i1}8uto)xGyTH-HFBncUqGi4lrD{Q`&u+;dL z7?|h3?1oggBM*H{DI5sULUT1H*YkzV_qLG^sc%iIgZTIw;OSOeyh1tMAY zSE>_9do_gknQA?7{grd7)rmnvoMHyAhTAnruXGW5CH(TqWX~?>l+3`Z`IZ{MAO_}t z>z0mi4wXAv4ZRp4DOLP=OH9o7w>!9tx#eDG2oy4Ma3!FI|DH(Z`MZqlPjidSN?!+$ zxAP0oI8On(1j=wbLHW9&CxWKM7y*dfaz2%0e>3Bk9$HH+poGt8IM4O2Zp!L+{o>)TGM-lB`>PR8Dne1b=v{V}GsGFDR6 zL?jl3X>eP9=IXDRx^qg$yDfIGM{KhS@4j*WHp6TdG>Mie2RHg82( z!YwvpPJtaPNlyo|V5-ByJ~FNdS3jtrR5LFZZFjc~l%lkvldKPru(A4oET?;Mo0KeZZgt?p`a4@) z)CnT%?S_k4DegHCHilm~^F_lg&w*-=5wnY--|%|j;2c`kM4F~{#!A9F)TLy9i5Om! zGf^3|Fd`_!fUwfTJ2E~!Q?Nf4IKX|HVM;0LSu(H^|202t;=Pkd%$wl(mvzH4!mEbw zygM6z8hzkanzrS;p+34V;Ahu&2H1nB;i!W~D1yw={CxUbmC`pccY_aa!KB#G3x?Ji zjkKo#t+c@lLa%4C|1#`FT!RHCmzUmffD-n|KTh5?_aJ_j@Nf4G@ZKA5hRyL~KE=D;$L6#A z+anClym(vFCUa6`mh2H+eCQ}j7N2II_7beG;%^FrtEsL|yur#E`@#U~)2`~Y^efsA z&Upac9Y>`9d312?bE^)0sxhayO07&;g z#&4bUh`Z(-7Y*$M_{0jbRs9@D@;s;4AI~j|qj`T1G9)vhRn0lBf&; zDThp@IKRj>^IItes}_6lK!YanIoN&LGLU&fXeWbwO$Lw+3`D`~?+tZ)+C3D*F4VD! z!YA~jLKQc(iUKMbQ${@@%PvI=Cvet*TcTe`3Tm9?Jw8D`#1kU0%T!+yTD58D#$S?< z08SIHoPJ5$Fu7)8-82N`9ssG(k|}5@(`$kkOa^DI=sjZ>mJDIzT@2*l#~G!|Y;P30 zEuj{><|Y7e0`>g8mDh}S)d-(egD^KCCcoEcx=L42Y*7{IQPA_2Gj63jC*yH7VYxse z^WgiuLu--n2w?CMkhX~&mpdQ?WAV5g_oGDJALfosHq;QF2`+9#-&$?d77|K|-T`aV z+KtI?WJ6w|m{mH^#phJS02_?+l7+Op8`d)%&%CXKh)>}rVP{1RNQ;v^0vU&c_mg}) z=~Xr1v*?=v8`h%Z(4W5)bGiKujAq3i}g-nmv90otzcnAI&?}v10NoRzG$vHYtyd4DyePWNt^4l%sO^^H!E(f~f8VWd6 zaJO8ZJ&I;+fTqUsn|B1gu%75Zzq_eGBQ(ZuR)Zt@d4&PdgiG-=F~!N8!zgM0#=p=> z+GPqp`i^As;$u*G^A&%^ML+kf0E*Dj;~-lx&ovlnsXlm+u4shDPz!rV$sP&RKi|8G z|6ruV{hm;FVq8i|l0F6a1wYu8{yckALq*+Y>?Xe)`jeFxXP#11gM(6xUBeSk{Uk!krUo5_7H>e;Dv&W$_2jrFH?#*z2jY zI#JyAOQ@r-f0EX@5RWJ8!L|#5xZB3zS2t_qd=bafdoDfGk8lF3pL8KAZ!a4!!pgf83>i5Pu zYMyimE!m+Pmb_Cldje-6xU_|0Y~>W12^QzJUQ%KCfn-h(j9E~e3Rza5+0iCjw=GkR zllb*}Z;86cW~@;2#H$^c?SJjen|Sl%_P;(afLk#HkXSF6^#|7u~~%Oy-b&-M3mB zF)Nw4XIen0`tv16 zUQginofO=-m#!+HAyx5_)7k><*g@oL(=yTyqlA8~)>yHvh1y^rUuUl|# zX@i}tPv7iUsqQXZG$9MxrNW8?H{CBD{?0gIv|}eNLWrI3|6z_KZp)J8kIAx3`nI`v zt!LS*vFdaj6)Dg7@H4xJox2zl%!i(imn*s>~@mV%AwKd#8KUFwB& zsSP3wcW}%>|F!f^RigSket-v+*WKx%61S80a{Wkv_#Epof`lZKNR<`w^~r~xkgQ$3|sxDc|{U&nVydhl3 z5zEN}oJ`pV{udB9#Pgu;WrF(!CAP~yte|3PJ3KnMU4zxuhn{w+$U_6zeNK0}-V(8T zgBs86T&@CVG+5dDki6y_0YK$NCZ?s>68}OCmdv1jjBwgApk%Vl5O&WmNnmUbPR9p= z8=TL5VlG1b?Z8?9uY5Fb#-(Ca&__o^EzC02_O!n$pmUEcluV)@_mE8G_r7g{ z_dMXFp3`5VcBcz&2MP)FotYrnziA%ADhbT`;&Ak?>a(iE$j4wQ3*>1=%u=6@W^d-C z%A0mJAG1qSL9I{~*5uT(0rwc&$7OB58ZO&-S@Fq*eJO+;gL|V0+B|VwE|{mlwy&vl zgIqxW`{S9=(Z_^TBe@wDxibSgU!NH4kui-Vtf02zv`cDBj-yuqg+sEjCj|C`%bCEz zd=kBf@b^zG#QC+Y^taq&f>5r6Jz;_Y0JF+M#7-rxfdn~+_XuFj7@zDz7Y!k6LSo$4 z$wm>j>f*QauR^_q@}2~WpSig8*rvl1v^_a%eD5pXhgbDkB`mompqC=tJ=rz?(E=S*zcha14B;fw`=0=Vl# zgMX@BccXu%)OHr^5;@K=bbFX5Nwh7X0Gt`DcnnM4LDq?(HMn}+Yi>c!UV>MgD~62( zz*Zgf$8KU|VoDT#%^svR|3%G4!?Vu%0#YboHfZpIV5L%~V?g6=gDp91Zq2Vt2(x1M z77X|ci>WCA|J04*{}gkXhJ5ILR$)pUeJ3mhMt&Xtgx`FX(a=dzs9rdk8u90I*_@`_ zth12y2|+N)Lf?KMI)~=XJBIe%q~Mol^c#HbRX7E4PlS>4x)3$T;RmP;F(BMKK*SE5 z{)0t5YoK5m;t(td&e9&^*&9*FyHA05x1VDD!sk8c5ktSwKpC`#vG$jPAetb*=iBy$ z>&Mp?mGMJs`6l^9tOa09&^^SVUc7i}h&4SyPuUxD)YFkzn1md*nE@dxAxDv_bBOk# zXqA9%{Ai@0-zGeif6w7I41QxK3U;xSpq=7%(x1Iq)vdNoU}xemV0yJ zp7HDQfyym#9qDVe6<{;O0bJ|9IPfYkoIxYRY=XToDSunStmuT3fFT64FNWDKgmGvD z+f6=CH$a|_tey)ajUTUAI=(O7+LKn>f5AQEF3Bh7e8pbYAwz~5egE7&ptm+z-r ztWoekP40Rl7K4-YzWjX{be8rm34X7}$`P2iORL~tixDmlq;Z(fG2o+6@qWrhOStVH zbFcjxChq=9_whhS;w4xF7=1W?>Tc(uzAY@zJVX0>TUFAI4CAZ({12O=K;08G;HA}m zTle>T!oaprs}9KTCixt#IrR`=L^qo~CFr$2!*6|hf=&oCk!lpxnBpJVeO(9`3TWUz zZDza?g3o_-DtI#na}{pxV%bgz{6@2-t|V?A&nt_S1jF1s{BopN-!rP?!q3KJq+J4X zTV>T0fuo^!)nIXJJRwXu#an<$St-rAHVvxLg<$z_;7-Ff&?=hkh+PKb3LYhn3(357 zDnQd1arx>TLs}B3|G?tC_R!SP-r zw?k?T@6*IVnPNzb5UjxT#9LtWdM#V~D+v|Cun;5jN}Nb=>u(MG@@Zs%8>2HGlbMu= z`%Pbj7}DG~>bwy~&0C>?Y z=Ebap803V9nrSLWlB0m#wf^lDz8jeR{RNkf3n(pvhmRn~{$~@9B*CW6Lj1A~xEO;^ z=ahG9j{u)sV1->1D{F1bm&T)d}DZNCGRjEBpw}K1i|b z#T=G>O^6Zw1^7m}Pk2$Y>SfknQS)zt2RC1|i)j${u&nn!|=9;ZYe-{Wb@? zRyg;gyZDsCD0rCvVZ-dYSgc(1$yY?0eT+#-*^ln+xfo+$?4hj+6b{e`mEB*rvx2qX z9?~=^hk9F~>6E?ocXN-Dq-h~r8RbqKX;HY|qIb9lTy|SyZ-7#NpBFz*TM_5lQf9M) z);F*BGk}$qK~up`>nKwFp)PWhrXcOSCYx=j@i-CFkcVdP^uHo)A%YWvm0DE2@HETU zHjUOU(KtnAaHMlwCX7(*v>3IOVPEjZz+L0v-eQCA(6r8gK#Kn9L7Wid&nszI!9PyL ziTfR#&;G2Z3Zix}9E2Ea>R=iYV2mF=G#icUe)U+t1`aNHMD&N(-zKfu5JKNrNWA;; zD(VPWTDdrNo)%%s&&My{$^xWo@;@X(z~dLj8Os#?z~^thrTkOw1PN9%E_P5O4h!NO zBy@|K!p=CRg$#G8$@PhaK*yFm_P-3?xkYFr>*QZc%4{)AGZ8l~^-N}&7=a{dk3!~)!n3yks4(~nhE0wleQu)VTDwl*>Uk^-2Gj4kQ*l>vLAU^j$%7@IaFaE8@0 z3+dWFd@ab3WmUHBX`ruH0!@0wF-_tc5a;j6>m8^&Or>Ib!PR}jU`GZs@`(21VCOIA z1ghU0)IsLDEE=pCSw!gou?-)uI-XmTlYlMum7H#9be#y@S9Yzkk7BU1QZ-%oZLqu2 zECe!NhNpcOm#t+zq#vxuop!(byd(5p^ORt-5ZJlP1>6k*rca9CEfu}`N%b_KCXTuN z_29!yXf20wQyU?cgyCEp%v3?v;9+k1&6qSv(3%$MwtE7O0!w`&QQ*PpCwIn>7ZS7# zqrh~jK--svvT)WJUVaF=}_FZ?L%^AOmN)&-7wBK+d>6 z)}kj_AS$2c9{zGy7*e%GJ_O?{zo2PRrvuWC>0Ol<1q1TH*1chmD!BE<9YRz`@BHBS zC<7RUL#|q%;MW1K$EC-?^h5=Afdb$jVoc9$sw3x@;iCh7avo={xt8I<^m+8XJ3Rpc z|D)s#sNWp|b2q9miZm(EN)T9H-0LLVVLF)G?2qf2mgP5 zk-yAxE#$J{9`irn&WLLP7>oYxSiDE=r<*xqd{b<*Fac1#h^}mZLF8?uaH737@S)5? z>|mi?h-%CRaDIZJFNLvadCv0#^=JqF&qvu4;^Jl*1aV~Jo<(d+q__;9qV=NkHIeB?H;{gu+oLz=pX zF;2vEjY=KRwZD8^Xl(r~SzZKg;hQ$cIk@4V5FJ&&zppbTVfzX9W#IGh;0|*zK6*!T zpVtA%`BBB#-4E*KKz^cZ@Q>y?V0rq7`|W^xl7JRr_8JNy#b168_X^}&7`uVG7m!-X zdqs0_z<-QbrW>Sh4pgq;$FeqW%R@7GuT2Eyv{V>ix=B6Fo&UDQ?G)10{SqOk<@&ww zX6~c2M}^&27F2e${pMltA2fUS84aKHJ6b;o;l3fQfxDO}0!`y{;y|`@ zMTJNy5u`k)Jyip@30b2^MBYS?0Q!P}Bzzmo)_12HaLg}2QauF+2MAk;99YN{Y*83D zZahhIpNPMe5iAJ*A^%!QcNS!$eawnb>8GD$z475a`<4D(qVqsAhyq`Jm7GSi2e+gP zoZZev?JNDqcq!I818$!c$n3&bY-&{xy#T=$>z@r@MpxX}15`o8%Q|ypRnc)yFg`zb zWW9EwA~ib=3R(hopPP_E}og1_mqyHwHqH`>JPK(jK3U+6qr%&EDiuevSEe=wQ=GH}5$N zo5U^;$A2(Hjg;Ki>2wE64xb{|(=K}k8qidag5Dlwhd&hyXk}1ytqnh8&9D)IgPgLM zZHrDnH3OjQm6zS3?Zh0@@93aZ@)S0>Wig43rR{-;;{qcu8eeNA*Pr0F3cT5#IZnE+T~Z>)gy+e_Q$xsj*}TIUz5Bd`7LREo`%zq zT9a88Gs%pwD{P1JIx3n|(r#^f$4|RK_8Ja7pofd^UT5hx9?4Lcgqv^T1$bM=^(We+mGxRi6*8Ipg z;PPw#RQki84bK<0I4w3#gH}D9pW|>1Y>?KhgQ5}|dTv?B9?TlQ^z{75CZFW=<_Yvs zGzfXrCXku~zp?>6_-L`L7Z<{vOv|UCkkYAr0b!rE;4MoA*gG^lK92~tQjF1&*Oq}) z5O0s2K8c4+EkT9>vbF9wwN4eh)z|SKM6=1!$Q^MvGy4c_-0VYPY8~lndlVQk$)e#u z?PQF3bx!BCZ4XWU21kp&^m1HC91tf@k#0SOtg-t9I-lXi-_<;~kJgJixU?RcU;8{7 z@)M2QFejGga0u$h0H0T1rng*P(&Y3{_=a5$ObI8(ZBCE`vD|cn`e&;Jht7I*#T7|V zr$|2v6jZ_1FXA7C81?46k^SBW&w|+^m}^XK;1l1dnS;HitpLUEC5yk7|D#1rm?Z) zg&P;AwTWL*f&ga;qusIEptBAyKKyDj)tEeHpILiMNAGN~6M%P(ZqiPZ2TEH&*-F!f z6~&;}Uz=BW9o6<(jv3^1t+b8E#)LeuErSpReL2(q{cq`vD+;`nG0LaBK*5{QAOcH7 zUKNFR$i479)BYRD_P7*|@&*MrBmhP*pNl6+GX^A1J$kv%>K_n~mjpa$ofX^|jMZ-x zhR+JM$3>Lp3}V1pVdP;Va@ykoNZwLOZg<<7ySZ~ zVrYV0HZ*9ithjz<&v}cP%0$YlV{98R;>_9Cy*(vQ+gCL;J14v1to%<+flFbW0%vbr zo_5p^37EI{dMt4zhH^la(|_;q+!WozZ17sauRU;7a943PDIaP@9w4n&uzcHB$~xZKw$x)E5L>JU$XZtC-K6W9ZQDGil8&(C<^w!V^)6 zNC_}mvjVLH9Ej=bB?$Izl%q`^GT~`|;*Ev9ne1t|>bP;Q`32zS)~`B*DaAd}^>p=r zROYm=E;Q+1XXAUOsrQpBX5Bdcgt3vE5&ZF}asB)Am#G@)dB6Onv9Ob)O@Q-!^zy19 zXa&8d*mDufmCoK zQy(&#k4XGEc*e3Ap5veCHM{#fs}c={uAEz<>Xt!6JVNRrI_sm?-_};^HMAzv6he zzJ7i;H0!YLc4>+P0rtQQE>!bWxL0|w* zjxBAUBj&B>tGyH@JR$r^n(7VekMfOhLK|84th-9kf1JC`pRBJ&vco>0PeDG!zJz`u z4g++no(Q2fpf`%q&7jW%54KY{k>Dut(#ugdbN|U5xZRe70mzQorRg=HWk=iP6OC2qnOWDytmOau8PU9a$_gVr!b=s}mk=^LHAN zhF;wBXZf99rLWu{1tLWK$^{Ew0%_h$OlF}r5pW*?0=>w5=W92XjG73Bx}Be3oxeg} zRkV&?DhK1y_5}Js8x}cRmtea@uSF8NA;9!K&?+9b;T|F2CvT+4zo+z06rq8?KEZbQ zddUG7i`dQ5F_|wO(+GzARU`@HENgRmDL>A3f%H>CqT=hTS}Lzn-y1p4DH8?G_2|n! zpyv`|xDlg^BDgt-#MQfDS^3@q)5L{wFvaoEgIBJUkdiqAA;GdN?`xxt4~$)CyLcOB zi4}vO>Sy34#@Y*Sz6#40mRhLg%XSVt`cNQ>e2GI3hb6?=QN5+4K zpC%y`n~>&je;bM?WJtOA#1L5lFI&=Khe{AEABsK~@kXuHA=Lh1?k3tU=o&mvuTjm9 zmWMOfLn>OF(#pFlN*D2DRB z$7c_YE;}Qfn)l!J)Sp}{oohJ8q%C9~j|7^m-6v$I1rfU{#h2C-EY=eCpqSfEG=0h| z5%I1`VOP1+(tk(ACyD!%`X*7_&=2{&-%RPrK#rp=_TH4T5_1u{p?FcOYIX| zbam;>yyqKFzaTY@vvKH7%3fMd5>K7Hf1!``V7EA{ z1wfp4Pd!A;Kstvm^z=AAQ1*5zEXWGy2d^#@?rfFeY!((vGw` zDdT0qa^$BC;Gifg9Q@PvUrwx3;fP1DOkGH%a>_$x80qX}tQ$WJ zqe865Jb3J)%JpLfw}t%onQ4aI-(#IaXaw4%-Wj zXg>WbwKSV@FpBojDzRtfkBig2*_t*vo=bXyIR~e^$P103Eb$Pt+CW70YAj z2_gq57u5l3KlPY-`|l|}%PI9MSgD17lw4kCb?wW*&EhW0PM;6Dra9|#Q?C66l>%!g0MA-f46xZaAU@`@OSeBho_TBL&2DXRGdheZ~P(Z)}XJq2Q8k=q8N$` zL;S>jYc@wOBwOe}X9xwDqor4g`L{f4FEpuYgH?i0pUe6+hH{yNRtR=G1QX0kgH)dn z-gA@VWM%~2QX#znU+mL*T@=@v&B{d8La-YDWGrFV{t}w*l#8 z-8?eqS=B}mIRCXGtM~Uh!7C6jhqjwxd3qg;jmUmql_zVIzej$q|KOQuKS>LH_iO>! z0=pZ|T^wbx>dF+n`hh?MX4H4-%n6Zd9&9?WSBt>!g`QqQ> z+xI;;rbR0~ZERT1-|?FBAjj(P10exmQ)oM>6!UAl{(@=qiKoHbC&7ivr-yQmUkmmq z%*fv%Z@LqtC7oz^dYMobXqf)7$XW+1xInOVZtBl#^8-~= z&Y|KAqijRzdGE0*3-K*(A{E+KDC1$wAXVdylLr{zT1oub<7J-e1dW{R*oeDV#2M96 z&Iu%*@Z@Tm1%nTu&fH&(7Hl&(jI-qP51t$R}hJ{Z~{i+tbob)(Tr zZUAZs`y{LrcqY&RJoxQPTcft01g4pIz>Hn=OMxH&BKtqJsb<0&ZX&FPl<>jE7jDQ` zpwnujjafn{#H)fL!|FiApOcyY0DC+;zXOrekddL+Z~89FHeTykiP?athQ^tIZ3HoJ z2ULxy4orq4KEHK>-fM_YX*k~^%3nJbL2GECl6s7~5y(Q5ZK?wOnaIe^2~P*qtV6(V z1&;i}eS%2vHI@k<53C8*k%dEYdE^TZif;Jdy&Wb`4-~M5ix!&n4z6IDcJ zvt)%^3k3MK4AmT7z0dE|qTaldwnj6~l3bq-X|iAr?+Gu)^;NSbN0cIUg}S)0*AMg2 zYHjzT)5WyI1XJkYZR)zqDw8UAz4cu9Xg6dU*%CZ~>20c>Y~yD?^oI6%+u?H0VQKwA zy70#FuKY0~`-2uy2}&cD%wE4^Nj_-p zRhJ9BP%vMZUr*6p(T!7A}v3+URVm6+e?B9Q7i3|P)NaorWDmpz;PX(cJ> zs_kx9aqq|7+_0P{a^$`{LjE+~%>$i7SV^j45KN^Oxx&G&d5Tqp3mdp8MIUUmPa#(x59Rm$?~Jh*N`sHcsBBY~3YF4KF(k=0&)Ao=sG$!j6loq>WMrvGo4pt_ zV+)DWC?5$$VGxOIX;8w5!OZXR{eJ)bet&<>eeQXm<(@P5dA;s)&pB~b@8zq=k*{~c zo+b+Tevv7!NP6JD%7%AOs(V&|IPxsbt&!1pqdFp^TlK813HicpPm>MQ1F2%`LqB1r zzNi_M+VX?0=`=z^S*pU!&kUPN*naNY3BNQddunqPbsf1*bSt5Ur49S@8~<@K;caS! zHf8q++8mVo(EDf>o7!x-Y=sqzJiJt?>}v5#mla&JBMMYaHoB~asR6bYlOuN|h_R?? z&O~~^GZtRqs-nh?^O)Svt-~4TMhQ)eH04F?>z{1MB*r~YAlrxgsR139W;MNnuJAJ} zco#7P;jt*eaxQ)MQRs6ewODwL61f4@{Sh;Pg$_0)K>T@%p{wYHhgV&3IPNn>*Agog zd>k^bhS)T5mawZ}@B?Vuf=ntXvUs-&^Q8F2z7?DyEG9!rF5v(<8raq`BRp9wtK}

_m_Cz!aI|OA~=>rPyDZB}LviY`DTRyq;E+O1bb*mtHP+eDp`ie;@gD)I~c+6GFbPa%hM z`8Vex*~}cS+digqY0sJMuZM`)j&b;BN&8Bf8ycw7yWTmLRzF2`&mV!i;_!0GY1hGp zb*$&h%G&BIe^cNQG&UZZL;uTN8%^xvNkkx~^#*AkS2X%ziIv8gqo$-Nk*@_^rPWH^ z*L)RAHm5TNw>h1~z)`GS!g!lHyu<>rZ>9iOrAIRH!X2`(0Nu~%Lxif$TC5$#DE+cE z{ijLX5#>7=*o}4n?U~M}J*BAU9vkM+h)#@@4!X98>sImyC=SSCNgT*sNI%C2T>i<-!9=`VB~MoE;PLJfXms7b`3UkFsopktZsUu2`1dq zLkKAkxB;K`WB#D)vXr>P;vI^hlReihTzq^o^ujke-_P4>d&|7Z>G0neSdVpD=_A{p zzaXC1y}rJtmP2<8MZ2q_YZJL9G7Oh;K{yL5V|e}*m1NTIb3GA>WrghgOgWuW{3aYU zC!vPfD%{X@ANAJ&0p;vM@vCuDDUKM~vORWNZI%l6eB+aw;A5p(Le52ja>c7Dso?Z& zwJa(*Ju3oD?8P4uRoM4M$N_2sO2~Y$I{|HGih=XE!=%b(>#B&zHELo519p)LB}gf- zIcriktD7O1*bNvLRB?xUzAHNJL=zjS55!G$oTK{=ZsKKXWsUA>L407$9?hfeuNv~+ zV(7Nu1QQsdH@enfB8Y2~QO~5;=if?cz*gq9X|3Oj_Vr;ouRHdF_LpwG7$hWA?kw3I z7lNtHprmKTT;3k$nlzOWd^!OqefbPJs~VbLtR(+^r?&D;fs8LVlbz?b9l`FSq~E(Q z91@`=0oM3ougBzcJV0l?;+o3fAH7d^yD$I5@`-MzfvacD@$=fV=KQoICRXSms6$j*@>%B4$Zu&2iJZcpZYc6IalE1 zvefh96Nz{OLsVyVDL-r{ysURGx|WF#U5f9I>~y(I5`<}kCXXnY+n?H0FP$I_-U7NC zxGwSeTidqo))zxLP)@I5(L~*=60Ol$Z|zvxKIIeB@$eRugHua)KcSQG)z^+&6VTUW zGtS?*TVEaJklp@53!^@M0ri?zw*fJk58rQwXay8SlYr?8f8V)T5>yKz;CSB*aYb_tKPX(}k z<-Nmh>UaB*isssB>l(Sc?2X_1yb(&R{dv+c%5t+gBCN;0xu5V?nJWM1H61Xu#Q*ew zJ3g<6)$zcaK4}DZ6IW4tG;oOLZ6<<;6p{b;!^tC7(Ks^) z7)I|ml)Sf?8KO4675nLqP{t$9E@ObSbK$D%tRu=_g_8-a-qXAKb8gT2ENXawopM}4 z0`lHRiIa78$mX9-^xSbw7iByhx3cEk`BBmpZkY%zy)f+zaG@Bq(IQtnzo z%PE_dB+x4QTfAxUhdM?2aBnQt7!^jLP z6p1kMLr{zdHvBSSTdkwCAXC?&5(J9{m-Ddn%kR(4`PhTobU%IrLb8Xe#eG)?%W0Dz zCiC}6s*q#m0+iHJhxXXVNrcM6jX(nHy~;=~xk4PSZ&~V2j?k zG|`DtuOZxpw-AY`^ORuoHM0{}8K&Q|>4z}_GxXGN26MhH(*yL)Wh#Wq)~aU7Y+-t> z2Gi$X&&c{>T-F`5Id&^R_U(!2wJTKOCLLzNOV-BSUQ;j8Q_q&Bo)TCfrbifrN`A(C zsH8<9&qKAN7yoI|fj4+LZmmiVQ< zr)G;VNGNJ!3WxTKPt)_?T-;#uwgw5u2GX}-upj0;v5T$T^D>^-KKl#8xUn$h*i zDKNN+<#-{d5?`yhYH`5sJC$>we$z~cVgB&3Jlr7Xs@bI=O}lU<@hcjBqsqiK(ddWR zYH?T;6}Jl8x@9lZ+iv&Fx08o7jo19{-!6WPLCH=sPP5mqNwP(Pe7Qa@-c*=m-8&6YljhO=0g=sdnhY>(3u~b(HH7@hHN! zX_EN{NMW6@`eU4I(!C1BI za8t+(oEN(5)x_I2Q%qwX2%Ga>6go|O}1S`eIgR_1yGQ?Hs-gyHadT(a8-+F!f z*)M+!Jx-xzC>i(}?yZ@6l485#m1y7R-Cf2u5bj1IZk^rTLEjINCq>OKTR9g$^`6)* zr9)BhS$FoZ(+d&QTZ~+`h&Q(?vO6>Il=h8HlDRsrr0>_6OD&&gzv9_NO);lzCZ8Y; zlZw$=iRH{7R#O9Q@WEj$xOA^PfS3a>_!E8cF;wGL;mDCQ%|Kc%DHEo5d}1cD zd9eexRBf?fEF`B65$6Z>3Q1koOhDvF+{lM&T=_X1q^7>_Ff1P>l?AE0dR;LShNmC~ z_@Lr)p+XNXZDGu8g})2-Jq7hry0Tg?gDg&N^$nqJ7WBcLE6LH~-@}7>Bc25)q;?>m zMU(z~brJ_7V&6_d4=G+9NFt`doaw#pgaxaojM?Vx*@f62rL3DlsW{2CULK+K7og#3 z1tLqeluZc3rCJ1e?U}8P`xKTNeNolv3Z6F}{ zWeYeL>MG~?E&R4;0^cr$Wc|YG3@A#FrgaMsbmdV3bC}}Q$P@fl-zo{zxaBwS_AGkq zh5l*L+f{%=A@|J)p&zkGt#s9UIpjVFDi)!dk;Gv~FMr2WL}E7gO}COZB2n_I*t8Vj zl~Mg2vDV1*ulDL2MLtTP;{;dY(}*G>GCZIrt_Zmyhg|i$2r3A~uuAfsFH-hIvE{d} zc&&Z<1O~v)g+GgFvnx*d-7o$FX$$q;LtkiWyAcAxOL(F+0K0mr3qK5xu1vhe6A`Oh zD&31jfrychVu37ZscaUNdFcD86P-1XR;NfIWx=OV`q2?e8sy4sa ziLnwCyu#GvqAVK?w-V@l#EA~_=;_r!jb%*J<7SdkL`W(*(1!n*aYYNEX`-zxnAW;g zhsNcRs*9+1v@LRq1^c$V_{VPNgOIc8l@vbTdXU{|a9}xQ z1j!X9x2p_NmI=RgC}3bMC1@tid=-wnJef4(FMPWecsB5oaJ{RH9t&D)2u;^xYC4c! zOu*McDTa5XGpeG+iAFZEzz~t|lmcC1?pc^bM7XP#}O^uD@>2uHf zvY@iHgUC7+G!Du~M)<3e(0 zz6vYN92GBHwcKV=9C*E+{BCQE!>Re>8P6m`yiMT;GrqX;4=+9h6yc zcumctv&^SaUv@5ZWTN5r5yLX|cceP_gdt@WSE43Q*656Q>d?GpFTo^s~$(q0a!#*Y0^2DTl?R*d#Ly|?u@6<(g3mi!=$zFfeZ zv$uR~_T9qh?LQfRk0swkGBA@x#u}lsAu@vCyW-uelR1ZORH@y28R591A;ewXIxt!- z_FpjlQ$LCN$&0}W;@x1HmiZlhx=-}H6*1C2chKjlM95CX;y){Eyu&5Z>s*@AdtFn} zMCi$NlTn?0W0GAd;urGp;xO|Wuc2pVNKR;WDXOE<9|bSvf7CX(sp4EETTrb1oEpmc zOBM`^2Jlm_*`+>i5_+U#G2wpt&gMBQ%x5<8GlS+u`vrGAU*YlzaodXC-kWq0>q@_f zn5zMiqn8{>*#AD@W0DC>26`cvj{oli-hCX6>?l5MjfMU*;QyH$gE0WW`&~tyL1z_C z#zZrwk#?@a+?*z)mFq$h9WQcp93kMDOGtxP5rgsMKfnJI^lzee!T$^Tfk^zHAfD*o eYX2uFQ^E?}>e@W{JrCL6z=m|hvgm+s%>M!WQ(8m- literal 0 HcmV?d00001 diff --git a/packages/native-date/expo-example/assets/splash-icon.png b/packages/native-date/expo-example/assets/splash-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..03d6f6b6c6727954aec1d8206222769afd178d8d GIT binary patch literal 17547 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 App); +// It also ensures that whether you load the app in Expo Go or in a native build, +// the environment is set up appropriately +registerRootComponent(App); diff --git a/packages/native-date/expo-example/package-lock.json b/packages/native-date/expo-example/package-lock.json new file mode 100644 index 0000000..cfee491 --- /dev/null +++ b/packages/native-date/expo-example/package-lock.json @@ -0,0 +1,7730 @@ +{ + "name": "@rn-packages/expo-example", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@rn-packages/expo-example", + "version": "1.0.0", + "dependencies": { + "@bernagl/react-native-date": "*", + "expo": "~54.0.31", + "expo-status-bar": "~3.0.9", + "react": "19.1.0", + "react-native": "0.81.5", + "react-native-nitro-modules": "^0.31.10" + }, + "devDependencies": { + "@types/react": "~19.1.0", + "typescript": "~5.9.2" + } + }, + "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" + }, + "peerDependenciesMeta": { + "graphql": { + "optional": true + } + } + }, + "node_modules/@babel/code-frame": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.28.6.tgz", + "integrity": "sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.6.tgz", + "integrity": "sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.6.tgz", + "integrity": "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/generator": "^7.28.6", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.6.tgz", + "integrity": "sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@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.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz", + "integrity": "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.6", + "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.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", + "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "regexpu-core": "^6.3.1", + "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", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", + "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "debug": "^4.4.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.22.10" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz", + "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==", + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.6.tgz", + "integrity": "sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "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", + "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", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "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", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "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" + } + }, + "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" + } + }, + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.6.tgz", + "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.6" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.6.tgz", + "integrity": "sha512-RVdFPPyY9fCRAX68haPmOk2iyKW8PKJFthmm8NeSI3paNxKWGZIn99+VbIf0FrtCpFnPgnpF/L48tadi617ULg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-syntax-decorators": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.28.6.tgz", + "integrity": "sha512-71EYI0ONURHJBL4rSFXnITXqXrrY8q4P0q006DPfN+Rk+ASM+++IBXem/ruokgBZR8YNEWZ8R6B+rCb8VcUTqA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-default-from": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.28.6.tgz", + "integrity": "sha512-Svlx1fjJFnNz0LZeUaybRukSxZI3KkpApUmIRzEdXC5k8ErTOz0OD0kNrICi5Vc3GlpP5ZCeRyRO+mfWTSz+iQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.28.6.tgz", + "integrity": "sha512-D+OrJumc9McXNEBI/JmFnc/0uCM2/Y3PEBG3gfV3QIYkKv5pvnpzFrl1kYCrcHJP8nOeFB/SHi1IHz29pNGuew==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", + "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", + "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz", + "integrity": "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.6.tgz", + "integrity": "sha512-9knsChgsMzBV5Yh3kkhrZNxH3oCYAfMBkNNaVN4cP2RVlFPe8wYdwwcnOsAbkdDoV9UjFtOXWrWB52M8W4jNeA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.28.6.tgz", + "integrity": "sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@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-scoping": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.6.tgz", + "integrity": "sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.28.6.tgz", + "integrity": "sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.6.tgz", + "integrity": "sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.6.tgz", + "integrity": "sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-globals": "^7.28.0", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.28.6.tgz", + "integrity": "sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/template": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz", + "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-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", + "@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", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.6.tgz", + "integrity": "sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz", + "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.28.6.tgz", + "integrity": "sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.28.6.tgz", + "integrity": "sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.6.tgz", + "integrity": "sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.28.6.tgz", + "integrity": "sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.6.tgz", + "integrity": "sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.28.6.tgz", + "integrity": "sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.28.6.tgz", + "integrity": "sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz", + "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.28.6.tgz", + "integrity": "sha512-61bxqhiRfAACulXSLd/GxqmAedUSrRZIu/cbaT18T1CetkTmtDN15it7i80ru4DVqRK1WMxQhXs+Lf9kajm5Ow==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-syntax-jsx": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", + "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "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", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", + "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.6.tgz", + "integrity": "sha512-eZhoEZHYQLL5uc1gS5e9/oTknS0sSSAtd5TkKMUp3J+S/CaUjagc0kOUPsEbDmMeva0nC3WWl4SxVY6+OBuxfw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.5.tgz", + "integrity": "sha512-20NUVgOrinudkIBzQ2bNxP08YpKprUkRTiRSd2/Z5GOdPImJGkoN4Z7IQe1T5AdyKI1i5L6RBmluqdSzvaq9/w==", + "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", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.28.6.tgz", + "integrity": "sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.6.tgz", + "integrity": "sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.28.5.tgz", + "integrity": "sha512-Z3J8vhRq7CeLjdC58jLv4lnZ5RKFUJWqH5emvxmv9Hv3BD1T9R/Im713R4MTKwvFaV74ejZ3sM01LyEKk4ugNQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-transform-react-display-name": "^7.28.0", + "@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.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz", + "integrity": "sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==", + "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.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", + "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.6.tgz", + "integrity": "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/generator": "^7.28.6", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.6", + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse--for-generate-function-map": { + "name": "@babel/traverse", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.6.tgz", + "integrity": "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/generator": "^7.28.6", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.6", + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.6.tgz", + "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bernagl/react-native-date": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@bernagl/react-native-date/-/react-native-date-1.0.0.tgz", + "integrity": "sha512-fIPvFWqztqga9A5UzlF4HXoMrXQLOeBiWIjIYlr0P7qZMXAGCvuCkd2Zd8XIabGeMlQYH9K+vXFKaNX8zlG82w==", + "license": "MIT", + "peerDependencies": { + "react": "*", + "react-native": "*", + "react-native-nitro-modules": "^0.31.10" + } + }, + "node_modules/@expo/code-signing-certificates": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@expo/code-signing-certificates/-/code-signing-certificates-0.0.6.tgz", + "integrity": "sha512-iNe0puxwBNEcuua9gmTGzq+SuMDa0iATai1FlFTMHJ/vUmKvN/V//drXoLJkVb5i5H3iE/n/qIJxyoBnXouD0w==", + "license": "MIT", + "dependencies": { + "node-forge": "^1.3.3" + } + }, + "node_modules/@expo/config": { + "version": "12.0.13", + "resolved": "https://registry.npmjs.org/@expo/config/-/config-12.0.13.tgz", + "integrity": "sha512-Cu52arBa4vSaupIWsF0h7F/Cg//N374nYb7HAxV0I4KceKA7x2UXpYaHOL7EEYYvp7tZdThBjvGpVmr8ScIvaQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "~7.10.4", + "@expo/config-plugins": "~54.0.4", + "@expo/config-types": "^54.0.10", + "@expo/json-file": "^10.0.8", + "deepmerge": "^4.3.1", + "getenv": "^2.0.0", + "glob": "^13.0.0", + "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.1" + } + }, + "node_modules/@expo/config-plugins": { + "version": "54.0.4", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-54.0.4.tgz", + "integrity": "sha512-g2yXGICdoOw5i3LkQSDxl2Q5AlQCrG7oniu0pCPPO+UxGb7He4AFqSvPSy8HpRUj55io17hT62FTjYRD+d6j3Q==", + "license": "MIT", + "dependencies": { + "@expo/config-types": "^54.0.10", + "@expo/json-file": "~10.0.8", + "@expo/plist": "^0.4.8", + "@expo/sdk-runtime-versions": "^1.0.0", + "chalk": "^4.1.2", + "debug": "^4.3.5", + "getenv": "^2.0.0", + "glob": "^13.0.0", + "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/glob": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", + "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.1.1", + "minipass": "^7.1.2", + "path-scurry": "^2.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/config-plugins/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/config-plugins/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@expo/config-types": { + "version": "54.0.10", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-54.0.10.tgz", + "integrity": "sha512-/J16SC2an1LdtCZ67xhSkGXpALYUVUNyZws7v+PVsFZxClYehDSoKLqyRaGkpHlYrCc08bS0RF5E0JV6g50psA==", + "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" + } + }, + "node_modules/@expo/config/node_modules/glob": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", + "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.1.1", + "minipass": "^7.1.2", + "path-scurry": "^2.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/config/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/config/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@expo/devcert": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@expo/devcert/-/devcert-1.2.1.tgz", + "integrity": "sha512-qC4eaxmKMTmJC2ahwyui6ud8f3W60Ss7pMkpBq40Hu3zyiAaugPXnZ24145U7K36qO9UHdZUVxsCvIpz2RYYCA==", + "license": "MIT", + "dependencies": { + "@expo/sudo-prompt": "^9.3.1", + "debug": "^3.1.0" + } + }, + "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" + } + }, + "node_modules/@expo/devtools": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@expo/devtools/-/devtools-0.1.8.tgz", + "integrity": "sha512-SVLxbuanDjJPgc0sy3EfXUMLb/tXzp6XIHkhtPVmTWJAp+FOr6+5SeiCfJrCzZFet0Ifyke2vX3sFcKwEvCXwQ==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/@expo/env": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@expo/env/-/env-2.0.8.tgz", + "integrity": "sha512-5VQD6GT8HIMRaSaB5JFtOXuvfDVU80YtZIuUT/GDhUF782usIXY13Tn3IdDz1Tm/lqA9qnRZQ1BF4t7LlvdJPA==", + "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.15.4", + "resolved": "https://registry.npmjs.org/@expo/fingerprint/-/fingerprint-0.15.4.tgz", + "integrity": "sha512-eYlxcrGdR2/j2M6pEDXo9zU9KXXF1vhP+V+Tl+lyY+bU8lnzrN6c637mz6Ye3em2ANy8hhUR03Raf8VsT9Ogng==", + "license": "MIT", + "dependencies": { + "@expo/spawn-async": "^1.7.2", + "arg": "^5.0.2", + "chalk": "^4.1.2", + "debug": "^4.3.4", + "getenv": "^2.0.0", + "glob": "^13.0.0", + "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/glob": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", + "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.1.1", + "minipass": "^7.1.2", + "path-scurry": "^2.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/fingerprint/node_modules/glob/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/fingerprint/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@expo/image-utils": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.8.8.tgz", + "integrity": "sha512-HHHaG4J4nKjTtVa1GG9PCh763xlETScfEyNxxOvfTRr8IKPJckjTyqSLEtdJoFNJ1vqiABEjW7tqGhqGibZLeA==", + "license": "MIT", + "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", + "resolve-global": "^1.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.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@expo/json-file": { + "version": "10.0.8", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-10.0.8.tgz", + "integrity": "sha512-9LOTh1PgKizD1VXfGQ88LtDH0lRwq9lsTb4aichWTWSWqy3Ugfkhfm3BhzBIkJJfQQ5iJu3m/BoRlEIjoCGcnQ==", + "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", + "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" + } + }, + "node_modules/@expo/metro": { + "version": "54.2.0", + "resolved": "https://registry.npmjs.org/@expo/metro/-/metro-54.2.0.tgz", + "integrity": "sha512-h68TNZPGsk6swMmLm9nRSnE2UXm48rWwgcbtAHVMikXvbxdS41NDHHeqg1rcQ9AbznDRp6SQVC2MVpDnsRKU1w==", + "license": "MIT", + "dependencies": { + "metro": "0.83.3", + "metro-babel-transformer": "0.83.3", + "metro-cache": "0.83.3", + "metro-cache-key": "0.83.3", + "metro-config": "0.83.3", + "metro-core": "0.83.3", + "metro-file-map": "0.83.3", + "metro-minify-terser": "0.83.3", + "metro-resolver": "0.83.3", + "metro-runtime": "0.83.3", + "metro-source-map": "0.83.3", + "metro-symbolicate": "0.83.3", + "metro-transform-plugins": "0.83.3", + "metro-transform-worker": "0.83.3" + } + }, + "node_modules/@expo/osascript": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.3.8.tgz", + "integrity": "sha512-/TuOZvSG7Nn0I8c+FcEaoHeBO07yu6vwDgk7rZVvAXoeAK5rkA09jRyjYsZo+0tMEFaToBeywA6pj50Mb3ny9w==", + "license": "MIT", + "dependencies": { + "@expo/spawn-async": "^1.7.2", + "exec-async": "^2.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@expo/package-manager": { + "version": "1.9.9", + "resolved": "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.9.9.tgz", + "integrity": "sha512-Nv5THOwXzPprMJwbnXU01iXSrCp3vJqly9M4EJ2GkKko9Ifer2ucpg7x6OUsE09/lw+npaoUnHMXwkw7gcKxlg==", + "license": "MIT", + "dependencies": { + "@expo/json-file": "^10.0.8", + "@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.4.8", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.4.8.tgz", + "integrity": "sha512-pfNtErGGzzRwHP+5+RqswzPDKkZrx+Cli0mzjQaus1ZWFsog5ibL+nVT3NcporW51o8ggnt7x813vtRbPiyOrQ==", + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "^0.8.8", + "base64-js": "^1.2.3", + "xmlbuilder": "^15.1.1" + } + }, + "node_modules/@expo/schema-utils": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@expo/schema-utils/-/schema-utils-0.1.8.tgz", + "integrity": "sha512-9I6ZqvnAvKKDiO+ZF8BpQQFYWXOJvTAL5L/227RUbWG1OVZDInFifzCBiqAZ3b67NRfeAgpgvbA7rejsqhY62A==", + "license": "MIT" + }, + "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" + }, + "engines": { + "node": ">=12" + } + }, + "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/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", + "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", + "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" + } + }, + "node_modules/@expo/xcpretty/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/@expo/xcpretty/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@expo/xcpretty/node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@expo/xcpretty/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@expo/xcpretty/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" + } + }, + "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" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "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" + } + }, + "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", + "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", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "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/@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/@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/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", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@react-native/assets-registry": { + "version": "0.81.5", + "license": "MIT", + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/babel-plugin-codegen": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.81.5.tgz", + "integrity": "sha512-oF71cIH6je3fSLi6VPjjC3Sgyyn57JLHXs+mHWc9MoCiJJcM4nqsS5J38zv1XQ8d3zOW2JtHro+LF0tagj2bfQ==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.3", + "@react-native/codegen": "0.81.5" + }, + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/babel-preset": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.81.5.tgz", + "integrity": "sha512-UoI/x/5tCmi+pZ3c1+Ypr1DaRMDLI3y+Q70pVLLVgrnC3DHsHRIbHcCHIeG/IJvoeFqFM2sTdhSOLJrf8lOPrA==", + "license": "MIT", + "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.81.5", + "babel-plugin-syntax-hermes-parser": "0.29.1", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": ">= 20.19.4" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/@react-native/codegen": { + "version": "0.81.5", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.2", + "@babel/parser": "^7.25.3", + "glob": "^7.1.1", + "hermes-parser": "0.29.1", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "yargs": "^17.6.2" + }, + "engines": { + "node": ">= 20.19.4" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/@react-native/community-cli-plugin": { + "version": "0.81.5", + "license": "MIT", + "dependencies": { + "@react-native/dev-middleware": "0.81.5", + "debug": "^4.4.0", + "invariant": "^2.2.4", + "metro": "^0.83.1", + "metro-config": "^0.83.1", + "metro-core": "^0.83.1", + "semver": "^7.1.3" + }, + "engines": { + "node": ">= 20.19.4" + }, + "peerDependencies": { + "@react-native-community/cli": "*", + "@react-native/metro-config": "*" + }, + "peerDependenciesMeta": { + "@react-native-community/cli": { + "optional": true + }, + "@react-native/metro-config": { + "optional": true + } + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-native/debugger-frontend": { + "version": "0.81.5", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/dev-middleware": { + "version": "0.81.5", + "license": "MIT", + "dependencies": { + "@isaacs/ttlcache": "^1.4.1", + "@react-native/debugger-frontend": "0.81.5", + "chrome-launcher": "^0.15.2", + "chromium-edge-launcher": "^0.2.0", + "connect": "^3.6.5", + "debug": "^4.4.0", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "open": "^7.0.3", + "serve-static": "^1.16.2", + "ws": "^6.2.3" + }, + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/gradle-plugin": { + "version": "0.81.5", + "license": "MIT", + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/js-polyfills": { + "version": "0.81.5", + "license": "MIT", + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/normalize-colors": { + "version": "0.81.5", + "license": "MIT" + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "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" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "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", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "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" + } + }, + "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": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/node": { + "version": "25.0.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.8.tgz", + "integrity": "sha512-powIePYMmC3ibL0UJ2i2s0WIbq6cg6UyVFQxSCpaPxxzAaziRfimGivjdF943sSGV6RADVbk0Nvlm5P/FB44Zg==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/react": { + "version": "19.1.17", + "devOptional": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.0.2" + } + }, + "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.35", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", + "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" + }, + "node_modules/@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", + "wonka": "^6.3.2" + } + }, + "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", + "wonka": "^6.3.2" + }, + "peerDependencies": { + "@urql/core": "^5.0.0" + } + }, + "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" + } + }, + "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" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/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" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "5.2.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/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", + "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", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", + "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.7", + "@babel/helper-define-polyfill-provider": "^0.6.5", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", + "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-react-compiler": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-react-compiler/-/babel-plugin-react-compiler-1.0.0.tgz", + "integrity": "sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.0" + } + }, + "node_modules/babel-plugin-react-native-web": { + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.21.2.tgz", + "integrity": "sha512-SPD0J6qjJn8231i0HZhlAGH6NORe+QvRSQM2mwQEzJ2Fb3E4ruWTiiicPlHjmeWShDXLcvoorOCXjeR7k/lyWA==", + "license": "MIT" + }, + "node_modules/babel-plugin-syntax-hermes-parser": { + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.29.1.tgz", + "integrity": "sha512-2WFYnoWGdmih1I1J5eIqxATOeycOqRwYxAQBu3cUu/rhwInwHUg7k60AFNbuGjSDL8tje5GDrAnxzRLcu2pYcA==", + "license": "MIT", + "dependencies": { + "hermes-parser": "0.29.1" + } + }, + "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" + } + }, + "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", + "@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-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", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.14", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.14.tgz", + "integrity": "sha512-B0xUquLkiGLgHhpPBqvl7GWegWBUNuujQ6kXd/r1U38ElPT6Ok8KZ8e+FpUGEc2ZoRQUzq/aUnaKFc/svWUGSg==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "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" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "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", + "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", + "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/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" + } + }, + "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" + }, + "engines": { + "node": ">= 5.10.0" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "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": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "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" + } + }, + "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", + "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", + "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" + } + }, + "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" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001764", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001764.tgz", + "integrity": "sha512-9JGuzl2M+vPL+pz70gtMF9sHdMFbY9FJaQBi186cHKH3pSzDvzoUJUPV6fqiKIMyXbud9ZLg4F3Yza1vJ1+93g==", + "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", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/chalk/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/chalk/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/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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" + } + }, + "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": "*", + "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", + "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": "*", + "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/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" + }, + "engines": { + "node": ">=4" + } + }, + "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" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/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" + } + }, + "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" + } + }, + "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/commander": { + "version": "12.1.0", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/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" + } + }, + "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", + "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", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/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.47.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.47.0.tgz", + "integrity": "sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-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/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "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" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "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" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "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.267", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", + "license": "ISC" + }, + "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/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/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" + } + }, + "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" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/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" + } + }, + "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": "54.0.31", + "resolved": "https://registry.npmjs.org/expo/-/expo-54.0.31.tgz", + "integrity": "sha512-kQ3RDqA/a59I7y+oqQGyrPbbYlgPMUdKBOgvFLpoHbD2bCM+F75i4N0mUijy7dG5F/CUCu2qHmGGUCXBbMDkCg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.0", + "@expo/cli": "54.0.21", + "@expo/config": "~12.0.13", + "@expo/config-plugins": "~54.0.4", + "@expo/devtools": "0.1.8", + "@expo/fingerprint": "0.15.4", + "@expo/metro": "~54.2.0", + "@expo/metro-config": "54.0.13", + "@expo/vector-icons": "^15.0.3", + "@ungap/structured-clone": "^1.3.0", + "babel-preset-expo": "~54.0.9", + "expo-asset": "~12.0.12", + "expo-constants": "~18.0.13", + "expo-file-system": "~19.0.21", + "expo-font": "~14.0.10", + "expo-keep-awake": "~15.0.8", + "expo-modules-autolinking": "3.0.24", + "expo-modules-core": "3.0.29", + "pretty-format": "^29.7.0", + "react-refresh": "^0.14.2", + "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-modules-autolinking": { + "version": "3.0.24", + "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-3.0.24.tgz", + "integrity": "sha512-TP+6HTwhL7orDvsz2VzauyQlXJcAWyU3ANsZ7JGL4DQu8XaZv/A41ZchbtAYLfozNA2Ya1Hzmhx65hXryBMjaQ==", + "license": "MIT", + "dependencies": { + "@expo/spawn-async": "^1.7.2", + "chalk": "^4.1.0", + "commander": "^7.2.0", + "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/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/expo-modules-core": { + "version": "3.0.29", + "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-3.0.29.tgz", + "integrity": "sha512-LzipcjGqk8gvkrOUf7O2mejNWugPkf3lmd9GkqL9WuNyeN2fRwU0Dn77e3ZUKI3k6sI+DNwjkq4Nu9fNN9WS7Q==", + "license": "MIT", + "dependencies": { + "invariant": "^2.2.4" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/expo-server": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/expo-server/-/expo-server-1.0.5.tgz", + "integrity": "sha512-IGR++flYH70rhLyeXF0Phle56/k4cee87WeQ4mamS+MkVAVP+dDlOHf2nN06Z9Y2KhU0Gp1k+y61KkghF7HdhA==", + "license": "MIT", + "engines": { + "node": ">=20.16.0" + } + }, + "node_modules/expo-status-bar": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/expo-status-bar/-/expo-status-bar-3.0.9.tgz", + "integrity": "sha512-xyYyVg6V1/SSOZWh4Ni3U129XHCnFHBTcUo0dhWtFDrZbNp/duw5AGsQfb2sVeU0gxWHXSY1+5F0jnKYC7WuOw==", + "license": "MIT", + "dependencies": { + "react-native-is-edge-to-edge": "^1.2.1" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/expo/node_modules/@expo/cli": { + "version": "54.0.21", + "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-54.0.21.tgz", + "integrity": "sha512-L/FdpyZDsg/Nq6xW6kfiyF9DUzKfLZCKFXEVZcDqCNar6bXxQVotQyvgexRvtUF5nLinuT/UafLOdC3FUALUmA==", + "license": "MIT", + "dependencies": { + "@0no-co/graphql.web": "^1.0.8", + "@expo/code-signing-certificates": "^0.0.6", + "@expo/config": "~12.0.13", + "@expo/config-plugins": "~54.0.4", + "@expo/devcert": "^1.2.1", + "@expo/env": "~2.0.8", + "@expo/image-utils": "^0.8.8", + "@expo/json-file": "^10.0.8", + "@expo/metro": "~54.2.0", + "@expo/metro-config": "~54.0.13", + "@expo/osascript": "^2.3.8", + "@expo/package-manager": "^1.9.9", + "@expo/plist": "^0.4.8", + "@expo/prebuild-config": "^54.0.8", + "@expo/schema-utils": "^0.1.8", + "@expo/spawn-async": "^1.7.2", + "@expo/ws-tunnel": "^1.0.1", + "@expo/xcpretty": "^4.3.0", + "@react-native/dev-middleware": "0.81.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", + "expo-server": "^1.0.5", + "freeport-async": "^2.0.0", + "getenv": "^2.0.0", + "glob": "^13.0.0", + "lan-network": "^0.1.6", + "minimatch": "^9.0.0", + "node-forge": "^1.3.3", + "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.5.2", + "terminal-link": "^2.1.1", + "undici": "^6.18.2", + "wrap-ansi": "^7.0.0", + "ws": "^8.12.1" + }, + "bin": { + "expo-internal": "build/bin/cli" + }, + "peerDependencies": { + "expo": "*", + "expo-router": "*", + "react-native": "*" + }, + "peerDependenciesMeta": { + "expo-router": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/expo/node_modules/@expo/cli/node_modules/@expo/prebuild-config": { + "version": "54.0.8", + "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-54.0.8.tgz", + "integrity": "sha512-EA7N4dloty2t5Rde+HP0IEE+nkAQiu4A/+QGZGT9mFnZ5KKjPPkqSyYcRvP5bhQE10D+tvz6X0ngZpulbMdbsg==", + "license": "MIT", + "dependencies": { + "@expo/config": "~12.0.13", + "@expo/config-plugins": "~54.0.4", + "@expo/config-types": "^54.0.10", + "@expo/image-utils": "^0.8.8", + "@expo/json-file": "^10.0.8", + "@react-native/normalize-colors": "0.81.5", + "debug": "^4.3.1", + "resolve-from": "^5.0.0", + "semver": "^7.6.0", + "xml2js": "0.6.0" + }, + "peerDependencies": { + "expo": "*" + } + }, + "node_modules/expo/node_modules/@expo/metro-config": { + "version": "54.0.13", + "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-54.0.13.tgz", + "integrity": "sha512-RRufMCgLR2Za1WGsh02OatIJo5qZFt31yCnIOSfoubNc3Qqe92Z41pVsbrFnmw5CIaisv1NgdBy05DHe7pEyuw==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.20.0", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.5", + "@expo/config": "~12.0.13", + "@expo/env": "~2.0.8", + "@expo/json-file": "~10.0.8", + "@expo/metro": "~54.2.0", + "@expo/spawn-async": "^1.7.2", + "browserslist": "^4.25.0", + "chalk": "^4.1.0", + "debug": "^4.3.2", + "dotenv": "~16.4.5", + "dotenv-expand": "~11.0.6", + "getenv": "^2.0.0", + "glob": "^13.0.0", + "hermes-parser": "^0.29.1", + "jsc-safe-url": "^0.2.4", + "lightningcss": "^1.30.1", + "minimatch": "^9.0.0", + "postcss": "~8.4.32", + "resolve-from": "^5.0.0" + }, + "peerDependencies": { + "expo": "*" + }, + "peerDependenciesMeta": { + "expo": { + "optional": true + } + } + }, + "node_modules/expo/node_modules/@expo/vector-icons": { + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/@expo/vector-icons/-/vector-icons-15.0.3.tgz", + "integrity": "sha512-SBUyYKphmlfUBqxSfDdJ3jAdEVSALS2VUPOUyqn48oZmb2TL/O7t7/PQm5v4NQujYEPLPMTLn9KVw6H7twwbTA==", + "license": "MIT", + "peerDependencies": { + "expo-font": ">=14.0.4", + "react": "*", + "react-native": "*" + } + }, + "node_modules/expo/node_modules/babel-preset-expo": { + "version": "54.0.9", + "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-54.0.9.tgz", + "integrity": "sha512-8J6hRdgEC2eJobjoft6mKJ294cLxmi3khCUy2JJQp4htOYYkllSLUq6vudWJkTJiIuGdVR4bR6xuz2EvJLWHNg==", + "license": "MIT", + "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-class-static-block": "^7.27.1", + "@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.81.5", + "babel-plugin-react-compiler": "^1.0.0", + "babel-plugin-react-native-web": "~0.21.0", + "babel-plugin-syntax-hermes-parser": "^0.29.1", + "babel-plugin-transform-flow-enums": "^0.0.2", + "debug": "^4.3.4", + "resolve-from": "^5.0.0" + }, + "peerDependencies": { + "@babel/runtime": "^7.20.0", + "expo": "*", + "react-refresh": ">=0.14.0 <1.0.0" + }, + "peerDependenciesMeta": { + "@babel/runtime": { + "optional": true + }, + "expo": { + "optional": true + } + } + }, + "node_modules/expo/node_modules/expo-asset": { + "version": "12.0.12", + "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-12.0.12.tgz", + "integrity": "sha512-CsXFCQbx2fElSMn0lyTdRIyKlSXOal6ilLJd+yeZ6xaC7I9AICQgscY5nj0QcwgA+KYYCCEQEBndMsmj7drOWQ==", + "license": "MIT", + "dependencies": { + "@expo/image-utils": "^0.8.8", + "expo-constants": "~18.0.12" + }, + "peerDependencies": { + "expo": "*", + "react": "*", + "react-native": "*" + } + }, + "node_modules/expo/node_modules/expo-constants": { + "version": "18.0.13", + "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-18.0.13.tgz", + "integrity": "sha512-FnZn12E1dRYKDHlAdIyNFhBurKTS3F9CrfrBDJI5m3D7U17KBHMQ6JEfYlSj7LG7t+Ulr+IKaj58L1k5gBwTcQ==", + "license": "MIT", + "dependencies": { + "@expo/config": "~12.0.13", + "@expo/env": "~2.0.8" + }, + "peerDependencies": { + "expo": "*", + "react-native": "*" + } + }, + "node_modules/expo/node_modules/expo-file-system": { + "version": "19.0.21", + "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-19.0.21.tgz", + "integrity": "sha512-s3DlrDdiscBHtab/6W1osrjGL+C2bvoInPJD7sOwmxfJ5Woynv2oc+Fz1/xVXaE/V7HE/+xrHC/H45tu6lZzzg==", + "license": "MIT", + "peerDependencies": { + "expo": "*", + "react-native": "*" + } + }, + "node_modules/expo/node_modules/expo-font": { + "version": "14.0.10", + "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-14.0.10.tgz", + "integrity": "sha512-UqyNaaLKRpj4pKAP4HZSLnuDQqueaO5tB1c/NWu5vh1/LF9ulItyyg2kF/IpeOp0DeOLk0GY0HrIXaKUMrwB+Q==", + "license": "MIT", + "dependencies": { + "fontfaceobserver": "^2.1.0" + }, + "peerDependencies": { + "expo": "*", + "react": "*", + "react-native": "*" + } + }, + "node_modules/expo/node_modules/expo-keep-awake": { + "version": "15.0.8", + "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-15.0.8.tgz", + "integrity": "sha512-YK9M1VrnoH1vLJiQzChZgzDvVimVoriibiDIFLbQMpjYBnvyfUeHJcin/Gx1a+XgupNXy92EQJLgI/9ZuXajYQ==", + "license": "MIT", + "peerDependencies": { + "expo": "*", + "react": "*" + } + }, + "node_modules/expo/node_modules/glob": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", + "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.1.1", + "minipass": "^7.1.2", + "path-scurry": "^2.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/expo/node_modules/glob/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/expo/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" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/expo/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/expo/node_modules/ws": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", + "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/exponential-backoff": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", + "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", + "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" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "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", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/find-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", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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/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" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-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" + } + }, + "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" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } + }, + "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" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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/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" + } + }, + "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" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "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.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.2.1.tgz", + "integrity": "sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==", + "license": "MIT", + "dependencies": { + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=16.x" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "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" + } + }, + "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/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/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" + } + }, + "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-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/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/jest-regex-util": { + "version": "29.6.3", + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "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-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", + "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/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" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/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": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", + "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", + "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" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/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" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/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", + "marky": "^1.2.2" + } + }, + "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" + } + }, + "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.30.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", + "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.30.2", + "lightningcss-darwin-arm64": "1.30.2", + "lightningcss-darwin-x64": "1.30.2", + "lightningcss-freebsd-x64": "1.30.2", + "lightningcss-linux-arm-gnueabihf": "1.30.2", + "lightningcss-linux-arm64-gnu": "1.30.2", + "lightningcss-linux-arm64-musl": "1.30.2", + "lightningcss-linux-x64-gnu": "1.30.2", + "lightningcss-linux-x64-musl": "1.30.2", + "lightningcss-win32-arm64-msvc": "1.30.2", + "lightningcss-win32-x64-msvc": "1.30.2" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", + "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", + "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", + "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", + "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.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", + "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", + "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.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", + "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", + "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.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", + "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", + "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.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", + "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", + "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.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", + "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", + "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.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", + "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", + "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.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", + "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", + "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.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", + "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", + "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": "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" + }, + "engines": { + "node": ">=8" + } + }, + "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" + }, + "engines": { + "node": ">=4" + } + }, + "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" + }, + "engines": { + "node": ">=4" + } + }, + "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", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "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" + } + }, + "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" + } + }, + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/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" + } + }, + "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/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.83.3", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.83.3.tgz", + "integrity": "sha512-+rP+/GieOzkt97hSJ0MrPOuAH/jpaS21ZDvL9DJ35QYRDlQcwzcvUlGUf79AnQxq/2NPiS/AULhhM4TKutIt8Q==", + "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.32.0", + "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.83.3", + "metro-cache": "0.83.3", + "metro-cache-key": "0.83.3", + "metro-config": "0.83.3", + "metro-core": "0.83.3", + "metro-file-map": "0.83.3", + "metro-resolver": "0.83.3", + "metro-runtime": "0.83.3", + "metro-source-map": "0.83.3", + "metro-symbolicate": "0.83.3", + "metro-transform-plugins": "0.83.3", + "metro-transform-worker": "0.83.3", + "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": ">=20.19.4" + } + }, + "node_modules/metro-babel-transformer": { + "version": "0.83.3", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.83.3.tgz", + "integrity": "sha512-1vxlvj2yY24ES1O5RsSIvg4a4WeL7PFXgKOHvXTXiW0deLvQr28ExXj6LjwCCDZ4YZLhq6HddLpZnX4dEdSq5g==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.2", + "flow-enums-runtime": "^0.0.6", + "hermes-parser": "0.32.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-babel-transformer/node_modules/hermes-estree": { + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.32.0.tgz", + "integrity": "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ==", + "license": "MIT" + }, + "node_modules/metro-babel-transformer/node_modules/hermes-parser": { + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.32.0.tgz", + "integrity": "sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw==", + "license": "MIT", + "dependencies": { + "hermes-estree": "0.32.0" + } + }, + "node_modules/metro-cache": { + "version": "0.83.3", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.83.3.tgz", + "integrity": "sha512-3jo65X515mQJvKqK3vWRblxDEcgY55Sk3w4xa6LlfEXgQ9g1WgMh9m4qVZVwgcHoLy0a2HENTPCCX4Pk6s8c8Q==", + "license": "MIT", + "dependencies": { + "exponential-backoff": "^3.1.1", + "flow-enums-runtime": "^0.0.6", + "https-proxy-agent": "^7.0.5", + "metro-core": "0.83.3" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-cache-key": { + "version": "0.83.3", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.83.3.tgz", + "integrity": "sha512-59ZO049jKzSmvBmG/B5bZ6/dztP0ilp0o988nc6dpaDsU05Cl1c/lRf+yx8m9WW/JVgbmfO5MziBU559XjI5Zw==", + "license": "MIT", + "dependencies": { + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-config": { + "version": "0.83.3", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.83.3.tgz", + "integrity": "sha512-mTel7ipT0yNjKILIan04bkJkuCzUUkm2SeEaTads8VfEecCh+ltXchdq6DovXJqzQAXuR2P9cxZB47Lg4klriA==", + "license": "MIT", + "dependencies": { + "connect": "^3.6.5", + "flow-enums-runtime": "^0.0.6", + "jest-validate": "^29.7.0", + "metro": "0.83.3", + "metro-cache": "0.83.3", + "metro-core": "0.83.3", + "metro-runtime": "0.83.3", + "yaml": "^2.6.1" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-core": { + "version": "0.83.3", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.83.3.tgz", + "integrity": "sha512-M+X59lm7oBmJZamc96usuF1kusd5YimqG/q97g4Ac7slnJ3YiGglW5CsOlicTR5EWf8MQFxxjDoB6ytTqRe8Hw==", + "license": "MIT", + "dependencies": { + "flow-enums-runtime": "^0.0.6", + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.83.3" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-file-map": { + "version": "0.83.3", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.83.3.tgz", + "integrity": "sha512-jg5AcyE0Q9Xbbu/4NAwwZkmQn7doJCKGW0SLeSJmzNB9Z24jBe0AL2PHNMy4eu0JiKtNWHz9IiONGZWq7hjVTA==", + "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": ">=20.19.4" + } + }, + "node_modules/metro-minify-terser": { + "version": "0.83.3", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.83.3.tgz", + "integrity": "sha512-O2BmfWj6FSfzBLrNCXt/rr2VYZdX5i6444QJU0fFoc7Ljg+Q+iqebwE3K0eTvkI6TRjELsXk1cjU+fXwAR4OjQ==", + "license": "MIT", + "dependencies": { + "flow-enums-runtime": "^0.0.6", + "terser": "^5.15.0" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-resolver": { + "version": "0.83.3", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.83.3.tgz", + "integrity": "sha512-0js+zwI5flFxb1ktmR///bxHYg7OLpRpWZlBBruYG8OKYxeMP7SV0xQ/o/hUelrEMdK4LJzqVtHAhBm25LVfAQ==", + "license": "MIT", + "dependencies": { + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-runtime": { + "version": "0.83.3", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.83.3.tgz", + "integrity": "sha512-JHCJb9ebr9rfJ+LcssFYA2x1qPYuSD/bbePupIGhpMrsla7RCwC/VL3yJ9cSU+nUhU4c9Ixxy8tBta+JbDeZWw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.0", + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-source-map": { + "version": "0.83.3", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.83.3.tgz", + "integrity": "sha512-xkC3qwUBh2psVZgVavo8+r2C9Igkk3DibiOXSAht1aYRRcztEZNFtAMtfSB7sdO2iFMx2Mlyu++cBxz/fhdzQg==", + "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.83.3", + "nullthrows": "^1.1.1", + "ob1": "0.83.3", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-symbolicate": { + "version": "0.83.3", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.83.3.tgz", + "integrity": "sha512-F/YChgKd6KbFK3eUR5HdUsfBqVsanf5lNTwFd4Ca7uuxnHgBC3kR/Hba/RGkenR3pZaGNp5Bu9ZqqP52Wyhomw==", + "license": "MIT", + "dependencies": { + "flow-enums-runtime": "^0.0.6", + "invariant": "^2.2.4", + "metro-source-map": "0.83.3", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, + "bin": { + "metro-symbolicate": "src/index.js" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-transform-plugins": { + "version": "0.83.3", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.83.3.tgz", + "integrity": "sha512-eRGoKJU6jmqOakBMH5kUB7VitEWiNrDzBHpYbkBXW7C5fUGeOd2CyqrosEzbMK5VMiZYyOcNFEphvxk3OXey2A==", + "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": ">=20.19.4" + } + }, + "node_modules/metro-transform-worker": { + "version": "0.83.3", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.83.3.tgz", + "integrity": "sha512-Ztekew9t/gOIMZX1tvJOgX7KlSLL5kWykl0Iwu2cL2vKMKVALRl1hysyhUw0vjpAvLFx+Kfq9VLjnHIkW32fPA==", + "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.83.3", + "metro-babel-transformer": "0.83.3", + "metro-cache": "0.83.3", + "metro-cache-key": "0.83.3", + "metro-minify-terser": "0.83.3", + "metro-source-map": "0.83.3", + "metro-transform-plugins": "0.83.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "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.32.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.32.0.tgz", + "integrity": "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ==", + "license": "MIT" + }, + "node_modules/metro/node_modules/hermes-parser": { + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.32.0.tgz", + "integrity": "sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw==", + "license": "MIT", + "dependencies": { + "hermes-estree": "0.32.0" + } + }, + "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" + }, + "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", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/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" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/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-forge": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz", + "integrity": "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==", + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "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.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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", + "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/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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.83.3", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.83.3.tgz", + "integrity": "sha512-egUxXCDwoWG06NGCS5s5AdcpnumHKJlfd3HH06P3m9TEMwwScfcY35wpQxbm9oHof+dM/lVH9Rfyu1elTVelSA==", + "license": "MIT", + "dependencies": { + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "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" + }, + "engines": { + "node": ">=4" + } + }, + "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", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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", + "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", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "license": "MIT", + "engines": { + "node": ">=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" + }, + "engines": { + "node": ">=4" + } + }, + "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", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "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" + } + }, + "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" + } + }, + "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" + }, + "engines": { + "node": ">=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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", + "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "11.2.4", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", + "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/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", + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=10.4.0" + } + }, + "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" + } + }, + "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", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "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" + }, + "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/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" + } + }, + "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" + } + }, + "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" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/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" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/react": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", + "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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", + "ws": "^7" + } + }, + "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" + }, + "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", + "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.81.5", + "license": "MIT", + "dependencies": { + "@jest/create-cache-key-function": "^29.7.0", + "@react-native/assets-registry": "0.81.5", + "@react-native/codegen": "0.81.5", + "@react-native/community-cli-plugin": "0.81.5", + "@react-native/gradle-plugin": "0.81.5", + "@react-native/js-polyfills": "0.81.5", + "@react-native/normalize-colors": "0.81.5", + "@react-native/virtualized-lists": "0.81.5", + "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.29.1", + "base64-js": "^1.5.1", + "commander": "^12.0.0", + "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.83.1", + "metro-source-map": "^0.83.1", + "nullthrows": "^1.1.1", + "pretty-format": "^29.7.0", + "promise": "^8.3.0", + "react-devtools-core": "^6.1.5", + "react-refresh": "^0.14.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "0.26.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": ">= 20.19.4" + }, + "peerDependencies": { + "@types/react": "^19.1.0", + "react": "^19.1.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "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-nitro-modules": { + "version": "0.31.10", + "resolved": "https://registry.npmjs.org/react-native-nitro-modules/-/react-native-nitro-modules-0.31.10.tgz", + "integrity": "sha512-hcvjTu9YJE9fMmnAUvhG8CxvYLpOuMQ/2eyi/S6GyrecezF6Rmk/uRQEL6v09BRFWA/xRVZNQVulQPS+2HS3mQ==", + "hasInstallScript": true, + "license": "MIT", + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/react-native/node_modules/@react-native/virtualized-lists": { + "version": "0.81.5", + "license": "MIT", + "dependencies": { + "invariant": "^2.2.4", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 20.19.4" + }, + "peerDependencies": { + "@types/react": "^19.1.0", + "react": "*", + "react-native": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-native/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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" + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", + "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "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.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", + "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.2", + "regjsgen": "^0.8.0", + "regjsparser": "^0.13.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.2.1" + }, + "engines": { + "node": ">=4" + } + }, + "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.13.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz", + "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==", + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.1.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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", + "resolve": "~1.7.1" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "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" + } + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "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-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" + } + }, + "node_modules/resolve-global": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "license": "MIT", + "dependencies": { + "global-dirs": "^0.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-workspace-root": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/resolve-workspace-root/-/resolve-workspace-root-2.0.1.tgz", + "integrity": "sha512-nR23LHAvaI6aHtMg6RWoaHpdR4D881Nydkzi2CixINyg9T00KgaJdJI6Vwty+Ps8WLxZHuxsS0BseWjxSA4C+w==", + "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" + } + }, + "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", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/sax": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz", + "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/scheduler": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", + "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", + "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" + } + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "license": "MIT", + "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.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/send/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "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" + } + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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" + } + }, + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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/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", + "bplist-parser": "0.3.1", + "plist": "^3.0.5" + } + }, + "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" + } + }, + "node_modules/slugify": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", + "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/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" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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" + }, + "engines": { + "node": ">=10" + } + }, + "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" + } + }, + "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" + }, + "engines": { + "node": ">=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" + } + }, + "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" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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.1", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", + "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "tinyglobby": "^0.2.11", + "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", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "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/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", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tar": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.2.tgz", + "integrity": "sha512-7NyxrTE4Anh8km8iEy7o0QYPs+0JKBTj5ZaqHg6B39erLg0qYXN3BijtShwbsNSvQ+LN75+KV+C4QR/f6Gwnpg==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "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" + } + }, + "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" + } + }, + "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", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.44.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.1.tgz", + "integrity": "sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==", + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.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", + "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", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "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", + "concat-map": "0.0.1" + } + }, + "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" + }, + "engines": { + "node": "*" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/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/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "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" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/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" + } + }, + "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" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.23.0.tgz", + "integrity": "sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==", + "license": "MIT", + "engines": { + "node": ">=18.17" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", + "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", + "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "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/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "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" + } + }, + "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" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/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/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" + } + }, + "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" + } + }, + "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-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", + "punycode": "^2.1.1", + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/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", + "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/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/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/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", + "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/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" + } + }, + "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", + "uuid": "^7.0.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "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", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "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" + } + }, + "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" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/packages/native-date/expo-example/package.json b/packages/native-date/expo-example/package.json new file mode 100644 index 0000000..80cef59 --- /dev/null +++ b/packages/native-date/expo-example/package.json @@ -0,0 +1,25 @@ +{ + "name": "@rn-packages/expo-example", + "version": "1.0.0", + "main": "index.ts", + "scripts": { + "start": "expo start --dev-client", + "android": "expo run:android", + "ios": "expo run:ios", + "prebuild": "expo prebuild", + "prebuild:clean": "expo prebuild --clean" + }, + "dependencies": { + "@bernagl/react-native-date": "*", + "expo": "~54.0.31", + "expo-status-bar": "~3.0.9", + "react": "19.1.0", + "react-native": "0.81.5", + "react-native-nitro-modules": "^0.31.10" + }, + "devDependencies": { + "@types/react": "~19.1.0", + "typescript": "~5.9.2" + }, + "private": true +} diff --git a/packages/native-date/expo-example/tsconfig.json b/packages/native-date/expo-example/tsconfig.json new file mode 100644 index 0000000..b9567f6 --- /dev/null +++ b/packages/native-date/expo-example/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "expo/tsconfig.base", + "compilerOptions": { + "strict": true + } +} diff --git a/packages/native-date/expo-example/yarn.lock b/packages/native-date/expo-example/yarn.lock new file mode 100644 index 0000000..e69de29 diff --git a/yarn.lock b/yarn.lock index 71752ce..810babf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,15 +5,15 @@ __metadata: version: 8 cacheKey: 10c0 -"@algolia/abtesting@npm:1.11.0": - version: 1.11.0 - resolution: "@algolia/abtesting@npm:1.11.0" +"@algolia/abtesting@npm:1.12.3": + version: 1.12.3 + resolution: "@algolia/abtesting@npm:1.12.3" dependencies: - "@algolia/client-common": "npm:5.45.0" - "@algolia/requester-browser-xhr": "npm:5.45.0" - "@algolia/requester-fetch": "npm:5.45.0" - "@algolia/requester-node-http": "npm:5.45.0" - checksum: 10c0/a7aded9bc89ffddd02cb2fc33a9bc29bce1b8de6f4a615205f9fdd2493d139137ea1cd40d2f34c6e1cfb28c58f7c2cc420e2d26ff8d6534527463363e9619c00 + "@algolia/client-common": "npm:5.46.3" + "@algolia/requester-browser-xhr": "npm:5.46.3" + "@algolia/requester-fetch": "npm:5.46.3" + "@algolia/requester-node-http": "npm:5.46.3" + checksum: 10c0/814ae038884fff753ceb97238b4d4bc340f6f0e5e277f53c0e36e5d0f48583fe7d814884fea8897f8cffd5645fff20858067f71fb48e7327ef76d677eeed0ef4 languageName: node linkType: hard @@ -60,208 +60,208 @@ __metadata: languageName: node linkType: hard -"@algolia/client-abtesting@npm:5.45.0": - version: 5.45.0 - resolution: "@algolia/client-abtesting@npm:5.45.0" +"@algolia/client-abtesting@npm:5.46.3": + version: 5.46.3 + resolution: "@algolia/client-abtesting@npm:5.46.3" dependencies: - "@algolia/client-common": "npm:5.45.0" - "@algolia/requester-browser-xhr": "npm:5.45.0" - "@algolia/requester-fetch": "npm:5.45.0" - "@algolia/requester-node-http": "npm:5.45.0" - checksum: 10c0/f87eee8888fec4cb3668ab212066c9295416a70e9a152517efd4b52495dc71f17dbe0e1882688cb5821cfdc60e007a92803d3181a084338fd8396bdd395d3b16 + "@algolia/client-common": "npm:5.46.3" + "@algolia/requester-browser-xhr": "npm:5.46.3" + "@algolia/requester-fetch": "npm:5.46.3" + "@algolia/requester-node-http": "npm:5.46.3" + checksum: 10c0/a6ba2abe0302ffedfabe934925de9ac0d81e3f5a3f7e09bdc839b02a8625deb85d17cbd6b80971057cf08c6a02333e5139d41218aa56f09d5cd9778ad9c76ea8 languageName: node linkType: hard -"@algolia/client-analytics@npm:5.45.0": - version: 5.45.0 - resolution: "@algolia/client-analytics@npm:5.45.0" +"@algolia/client-analytics@npm:5.46.3": + version: 5.46.3 + resolution: "@algolia/client-analytics@npm:5.46.3" dependencies: - "@algolia/client-common": "npm:5.45.0" - "@algolia/requester-browser-xhr": "npm:5.45.0" - "@algolia/requester-fetch": "npm:5.45.0" - "@algolia/requester-node-http": "npm:5.45.0" - checksum: 10c0/6ec5dae2f21e6e1524de444e7a14027dc7250d8de5aa566cfa3f58fc84d63245f69f17563cf36895243ea7ad7897272e1d14a4d106c2242689062dd991a48f1f + "@algolia/client-common": "npm:5.46.3" + "@algolia/requester-browser-xhr": "npm:5.46.3" + "@algolia/requester-fetch": "npm:5.46.3" + "@algolia/requester-node-http": "npm:5.46.3" + checksum: 10c0/66d6bd9f0de981e4b6548ec36c40553aa27c3126417ead0a82305eb1b798eaada75feaa109688ee0af6b42d1175a802c952d49dea28bfead5237c00a071ffe30 languageName: node linkType: hard -"@algolia/client-common@npm:5.45.0": - version: 5.45.0 - resolution: "@algolia/client-common@npm:5.45.0" - checksum: 10c0/cce88a7bc460edef592711ac0e626ed3d31d69d07e879d3f6ce56545e37c4053c6a377993e99c62c8cad95a126bf03970e08bc1535a37fb1fceb01d4034a712a +"@algolia/client-common@npm:5.46.3": + version: 5.46.3 + resolution: "@algolia/client-common@npm:5.46.3" + checksum: 10c0/45886dc7c0d14728667fcd9ea2517c59d033dfab690fe091c4ffcc673f5b454c02b43c6955e12cd840c4fb5edea743812b4514fa5cf69dd2d724ab3a435cd31d languageName: node linkType: hard -"@algolia/client-insights@npm:5.45.0": - version: 5.45.0 - resolution: "@algolia/client-insights@npm:5.45.0" +"@algolia/client-insights@npm:5.46.3": + version: 5.46.3 + resolution: "@algolia/client-insights@npm:5.46.3" dependencies: - "@algolia/client-common": "npm:5.45.0" - "@algolia/requester-browser-xhr": "npm:5.45.0" - "@algolia/requester-fetch": "npm:5.45.0" - "@algolia/requester-node-http": "npm:5.45.0" - checksum: 10c0/ba33675e9f3589d29fe2205f08fb3da3795136e863c830cc5b5db2bd040d69020f7a82df89b2c2c1def6b443bfc87e5aa8ece986a07df2d63fb946eac4cf86e1 + "@algolia/client-common": "npm:5.46.3" + "@algolia/requester-browser-xhr": "npm:5.46.3" + "@algolia/requester-fetch": "npm:5.46.3" + "@algolia/requester-node-http": "npm:5.46.3" + checksum: 10c0/b9a53195514f5a104f707d4350f61c5a523c7c602de04134103d40636d419fd4d8e2b57a4de6db72c0a20283dcefcd46bbb0003c731ba20047d024a96367d77f languageName: node linkType: hard -"@algolia/client-personalization@npm:5.45.0": - version: 5.45.0 - resolution: "@algolia/client-personalization@npm:5.45.0" +"@algolia/client-personalization@npm:5.46.3": + version: 5.46.3 + resolution: "@algolia/client-personalization@npm:5.46.3" dependencies: - "@algolia/client-common": "npm:5.45.0" - "@algolia/requester-browser-xhr": "npm:5.45.0" - "@algolia/requester-fetch": "npm:5.45.0" - "@algolia/requester-node-http": "npm:5.45.0" - checksum: 10c0/72cfee2ebdd6244e8736c7b6800026ae0df3ba48b3cb4ff19e75adc70520da5f6f04b5304a10f4cc0f388cbf4d3a562bad166b5f03135b40cfbe216a6528145e + "@algolia/client-common": "npm:5.46.3" + "@algolia/requester-browser-xhr": "npm:5.46.3" + "@algolia/requester-fetch": "npm:5.46.3" + "@algolia/requester-node-http": "npm:5.46.3" + checksum: 10c0/02254a80b0464cc46d6c6edbcb993c7ab5c3e764d51168c950435a36e2dc592e507b119d109fcb190037dad67eeb3b4f011eff3380dc308d996c9364b3a60400 languageName: node linkType: hard -"@algolia/client-query-suggestions@npm:5.45.0": - version: 5.45.0 - resolution: "@algolia/client-query-suggestions@npm:5.45.0" +"@algolia/client-query-suggestions@npm:5.46.3": + version: 5.46.3 + resolution: "@algolia/client-query-suggestions@npm:5.46.3" dependencies: - "@algolia/client-common": "npm:5.45.0" - "@algolia/requester-browser-xhr": "npm:5.45.0" - "@algolia/requester-fetch": "npm:5.45.0" - "@algolia/requester-node-http": "npm:5.45.0" - checksum: 10c0/3bedbfb812674dd3ff577490c7e709d30ed2e08fc5b1a95abdc28b384d156314d85b758f8c9b6ee2631f9883fddca291c59ea5369e92a89d2dea28be40e8b1ec + "@algolia/client-common": "npm:5.46.3" + "@algolia/requester-browser-xhr": "npm:5.46.3" + "@algolia/requester-fetch": "npm:5.46.3" + "@algolia/requester-node-http": "npm:5.46.3" + checksum: 10c0/309b35972357532ac574ebd741840600ef4ba12ea405efa678b8f9e56d9936ec919d3046bcef281383d171455ad208df47cfd8207e7aad819896631eb95d6251 languageName: node linkType: hard -"@algolia/client-search@npm:5.45.0": - version: 5.45.0 - resolution: "@algolia/client-search@npm:5.45.0" +"@algolia/client-search@npm:5.46.3": + version: 5.46.3 + resolution: "@algolia/client-search@npm:5.46.3" dependencies: - "@algolia/client-common": "npm:5.45.0" - "@algolia/requester-browser-xhr": "npm:5.45.0" - "@algolia/requester-fetch": "npm:5.45.0" - "@algolia/requester-node-http": "npm:5.45.0" - checksum: 10c0/46992dc8902bc72de86397c73ac8fa6e57cfe39030e09ffae6e46226c814dc79a6de85dcfe0d1949b3077c0847f547f3a66bef1d970b3c7a079fb369f9e5d3f5 + "@algolia/client-common": "npm:5.46.3" + "@algolia/requester-browser-xhr": "npm:5.46.3" + "@algolia/requester-fetch": "npm:5.46.3" + "@algolia/requester-node-http": "npm:5.46.3" + checksum: 10c0/3fddb302ed543c9aecc6e0fcd3e720b449805765baa8661e643e04b1aca73bd6e0ca502e01f5b317ea5cb75802d547c4475cf41dfdd298535b765492084104ff languageName: node linkType: hard -"@algolia/ingestion@npm:1.45.0": - version: 1.45.0 - resolution: "@algolia/ingestion@npm:1.45.0" +"@algolia/ingestion@npm:1.46.3": + version: 1.46.3 + resolution: "@algolia/ingestion@npm:1.46.3" dependencies: - "@algolia/client-common": "npm:5.45.0" - "@algolia/requester-browser-xhr": "npm:5.45.0" - "@algolia/requester-fetch": "npm:5.45.0" - "@algolia/requester-node-http": "npm:5.45.0" - checksum: 10c0/5b79147217222817b86bf6135a41df61ae718e16baca686b99bcb6bc1ae9e1d8eb943e84704afe81b933f276be36197cf2a7382d4783166651a7ffc1bbbb9974 + "@algolia/client-common": "npm:5.46.3" + "@algolia/requester-browser-xhr": "npm:5.46.3" + "@algolia/requester-fetch": "npm:5.46.3" + "@algolia/requester-node-http": "npm:5.46.3" + checksum: 10c0/e58fcff85d5f3e212f2996cc78afee353e28aebac5257d0e16f637af4a1e1f3fb62c456ced0e20663d0d28e694d3ee7493ebd358bbde5c742b5a461a7fe277a4 languageName: node linkType: hard -"@algolia/monitoring@npm:1.45.0": - version: 1.45.0 - resolution: "@algolia/monitoring@npm:1.45.0" +"@algolia/monitoring@npm:1.46.3": + version: 1.46.3 + resolution: "@algolia/monitoring@npm:1.46.3" dependencies: - "@algolia/client-common": "npm:5.45.0" - "@algolia/requester-browser-xhr": "npm:5.45.0" - "@algolia/requester-fetch": "npm:5.45.0" - "@algolia/requester-node-http": "npm:5.45.0" - checksum: 10c0/e3400af560d37cb6246fea70995b63e114882636e22d54711a2fc09eb2ecb75adf93346da12ca641c830e387c8d350b0934a2e032b801dc0a4ebe90241139dfc + "@algolia/client-common": "npm:5.46.3" + "@algolia/requester-browser-xhr": "npm:5.46.3" + "@algolia/requester-fetch": "npm:5.46.3" + "@algolia/requester-node-http": "npm:5.46.3" + checksum: 10c0/24fd3e9cf1fcd9b0b6da4540f528f24ad7b5f2b11c84ed666fd8bb0d63e3d6e88112772151cceb5239aea63d100ba3c84c7498a339f0210bc61a86a8217780a5 languageName: node linkType: hard -"@algolia/recommend@npm:5.45.0": - version: 5.45.0 - resolution: "@algolia/recommend@npm:5.45.0" +"@algolia/recommend@npm:5.46.3": + version: 5.46.3 + resolution: "@algolia/recommend@npm:5.46.3" dependencies: - "@algolia/client-common": "npm:5.45.0" - "@algolia/requester-browser-xhr": "npm:5.45.0" - "@algolia/requester-fetch": "npm:5.45.0" - "@algolia/requester-node-http": "npm:5.45.0" - checksum: 10c0/05a7b156c5e1434d015304cd1fedde01f0505208e342af902b2d186463489060b510cb9d4f388682a12f3870e72970dc2072e8301feb631822fd48da24ba3588 + "@algolia/client-common": "npm:5.46.3" + "@algolia/requester-browser-xhr": "npm:5.46.3" + "@algolia/requester-fetch": "npm:5.46.3" + "@algolia/requester-node-http": "npm:5.46.3" + checksum: 10c0/c78f0b3c77241d21e2614bdd72640bd49d091389840372b5932c43d11fca74aec71be856525a1e842336afc467951e2c7e6f7f5831407aa4954d90302d3bb8e1 languageName: node linkType: hard -"@algolia/requester-browser-xhr@npm:5.45.0": - version: 5.45.0 - resolution: "@algolia/requester-browser-xhr@npm:5.45.0" +"@algolia/requester-browser-xhr@npm:5.46.3": + version: 5.46.3 + resolution: "@algolia/requester-browser-xhr@npm:5.46.3" dependencies: - "@algolia/client-common": "npm:5.45.0" - checksum: 10c0/57a49fc888ca1a29aeaa2ba14a554bea78bf611b8484d1140067f06396a76ea4c03d685b5f709c6859dc3733a2dd6a71ac8b6791e7c7e42b31821002155d52d7 + "@algolia/client-common": "npm:5.46.3" + checksum: 10c0/e39f1a3d48eb4607df697bb157dbb2bc0475150718db5a5a4c4d34d9c90d373e75048d67597cd0cd542b74a8ee5b3f93ea945c0542ff06708e588455524fe8d7 languageName: node linkType: hard -"@algolia/requester-fetch@npm:5.45.0": - version: 5.45.0 - resolution: "@algolia/requester-fetch@npm:5.45.0" +"@algolia/requester-fetch@npm:5.46.3": + version: 5.46.3 + resolution: "@algolia/requester-fetch@npm:5.46.3" dependencies: - "@algolia/client-common": "npm:5.45.0" - checksum: 10c0/7acc15fa8d585b124bdec9c4c673401d5752a42069223166c49a0f97e35e5d81e7285e0b6518982d3f113af39179db4f524a02dc9ee6c5b4bed57edd2f8b0242 + "@algolia/client-common": "npm:5.46.3" + checksum: 10c0/bf7f5e4ee9a51a3c0be368f48d561abeb2ae1b6dc4513a94098bc8d0d85016a78f8f352d31f8e74b82849ca4213dabc74371e26203b1349855462561ebc45f55 languageName: node linkType: hard -"@algolia/requester-node-http@npm:5.45.0": - version: 5.45.0 - resolution: "@algolia/requester-node-http@npm:5.45.0" +"@algolia/requester-node-http@npm:5.46.3": + version: 5.46.3 + resolution: "@algolia/requester-node-http@npm:5.46.3" dependencies: - "@algolia/client-common": "npm:5.45.0" - checksum: 10c0/d85e383cab66c23f4ba00f36d15766492540cc419e8dfbfda6c62fb6741d1d1df7eacc5448353ac0d7fb177908e2e8033f8afa4ef5fade821a1905a2a3e73c4e + "@algolia/client-common": "npm:5.46.3" + checksum: 10c0/0123e42a96cd359b6168f5a8826746d135e0cb35116b688d184b96ac37a890d4c6b46c9b3ab52dfbc0a00ed6bd7bd6fb55960a0fd7c0153bb019e17e813cb4e2 languageName: node linkType: hard -"@ark/schema@npm:0.55.0": - version: 0.55.0 - resolution: "@ark/schema@npm:0.55.0" +"@ark/schema@npm:0.56.0": + version: 0.56.0 + resolution: "@ark/schema@npm:0.56.0" dependencies: - "@ark/util": "npm:0.55.0" - checksum: 10c0/4f431f2c4e7b0a04521b739e817c2244a04d4b54a27b6d67b79b1161b7114e2e6c11093726c435d191a6661424c4f6c1108dce43fffd8a1f0eadc0b0a567644c + "@ark/util": "npm:0.56.0" + checksum: 10c0/89fb7e4e1304ea9b34c834a8cb34bc05201b4e3a1b26277f7d74b9505a2d7ed398bb55a77e491e7a14a7f0807424a5467e1d32ee725ee2f7b9d158ae30d8121a languageName: node linkType: hard -"@ark/util@npm:0.55.0": - version: 0.55.0 - resolution: "@ark/util@npm:0.55.0" - checksum: 10c0/bde305461432be11860995101120ce73fc7a49d0180dc34807555903450b8d7ecf5fccde3ac6ce2ada3381b54f1a4c9016a4b70598d85746610bd122348ede51 +"@ark/util@npm:0.56.0": + version: 0.56.0 + resolution: "@ark/util@npm:0.56.0" + checksum: 10c0/dfef779c90f9f814ba97069c63bf91fa67569b87c5cd925d0e2d96b91aa677c019ed1dd5ff95332d9bb0598f785057439074b8cbfcaa2578770616e260fc5761 languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/code-frame@npm:7.27.1" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.27.1, @babel/code-frame@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/code-frame@npm:7.28.6" dependencies: - "@babel/helper-validator-identifier": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.28.5" js-tokens: "npm:^4.0.0" picocolors: "npm:^1.1.1" - checksum: 10c0/5dd9a18baa5fce4741ba729acc3a3272c49c25cb8736c4b18e113099520e7ef7b545a4096a26d600e4416157e63e87d66db46aa3fbf0a5f2286da2705c12da00 + checksum: 10c0/ed5d57f99455e3b1c23e75ebb8430c6b9800b4ecd0121b4348b97cecb65406a47778d6db61f0d538a4958bb01b4b277e90348a68d39bd3beff1d7c940ed6dd66 languageName: node linkType: hard -"@babel/compat-data@npm:^7.27.2, @babel/compat-data@npm:^7.27.7, @babel/compat-data@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/compat-data@npm:7.28.5" - checksum: 10c0/702a25de73087b0eba325c1d10979eed7c9b6662677386ba7b5aa6eace0fc0676f78343bae080a0176ae26f58bd5535d73b9d0fbb547fef377692e8b249353a7 +"@babel/compat-data@npm:^7.27.7, @babel/compat-data@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/compat-data@npm:7.28.6" + checksum: 10c0/2d047431041281eaf33e9943d1a269d3374dbc9b498cafe6a18f5ee9aee7bb96f7f6cac0304eab4d13c41fc4db00fe4ca16c7aa44469ca6a211b8b6343b78fc4 languageName: node linkType: hard "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.9, @babel/core@npm:^7.25.2, @babel/core@npm:^7.27.4": - version: 7.28.5 - resolution: "@babel/core@npm:7.28.5" - dependencies: - "@babel/code-frame": "npm:^7.27.1" - "@babel/generator": "npm:^7.28.5" - "@babel/helper-compilation-targets": "npm:^7.27.2" - "@babel/helper-module-transforms": "npm:^7.28.3" - "@babel/helpers": "npm:^7.28.4" - "@babel/parser": "npm:^7.28.5" - "@babel/template": "npm:^7.27.2" - "@babel/traverse": "npm:^7.28.5" - "@babel/types": "npm:^7.28.5" + version: 7.28.6 + resolution: "@babel/core@npm:7.28.6" + dependencies: + "@babel/code-frame": "npm:^7.28.6" + "@babel/generator": "npm:^7.28.6" + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-module-transforms": "npm:^7.28.6" + "@babel/helpers": "npm:^7.28.6" + "@babel/parser": "npm:^7.28.6" + "@babel/template": "npm:^7.28.6" + "@babel/traverse": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" "@jridgewell/remapping": "npm:^2.3.5" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10c0/535f82238027621da6bdffbdbe896ebad3558b311d6f8abc680637a9859b96edbf929ab010757055381570b29cf66c4a295b5618318d27a4273c0e2033925e72 + checksum: 10c0/716b88b1ab057aa53ffa40f2b2fb7e4ab7a35cd6a065fa60e55ca13d2a666672592329f7ea9269aec17e90cc7ce29f42eda566d07859bfd998329a9f283faadb languageName: node linkType: hard "@babel/eslint-parser@npm:^7.25.1": - version: 7.28.5 - resolution: "@babel/eslint-parser@npm:7.28.5" + version: 7.28.6 + resolution: "@babel/eslint-parser@npm:7.28.6" dependencies: "@nicolo-ribaudo/eslint-scope-5-internals": "npm:5.1.1-v1" eslint-visitor-keys: "npm:^2.1.0" @@ -269,20 +269,20 @@ __metadata: peerDependencies: "@babel/core": ^7.11.0 eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 - checksum: 10c0/4d13f765434b6be83ab3917f06ad712dedf0d5bfa80fe54cd6cea44adac6a0d2519020ad307d66b4490e46a435874829eac6a9fd3a9cad54d7616c47d288aaed + checksum: 10c0/58a85f67a056ba8389978c4654b690b890a6dcd19aa9655c5d7d9349a0c25f124cabad8a190b6bf7045a063aeee1b8e2ab23cfe4d8fa0e0517716a8b70e758bc languageName: node linkType: hard -"@babel/generator@npm:^7.25.0, @babel/generator@npm:^7.27.5, @babel/generator@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/generator@npm:7.28.5" +"@babel/generator@npm:^7.25.0, @babel/generator@npm:^7.27.5, @babel/generator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/generator@npm:7.28.6" dependencies: - "@babel/parser": "npm:^7.28.5" - "@babel/types": "npm:^7.28.5" + "@babel/parser": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" "@jridgewell/gen-mapping": "npm:^0.3.12" "@jridgewell/trace-mapping": "npm:^0.3.28" jsesc: "npm:^3.0.2" - checksum: 10c0/9f219fe1d5431b6919f1a5c60db8d5d34fe546c0d8f5a8511b32f847569234ffc8032beb9e7404649a143f54e15224ecb53a3d11b6bb85c3203e573d91fca752 + checksum: 10c0/162fa358484a9a18e8da1235d998f10ea77c63bab408c8d3e327d5833f120631a77ff022c5ed1d838ee00523f8bb75df1f08196d3657d0bca9f2cfeb8503cc12 languageName: node linkType: hard @@ -295,37 +295,37 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.27.1, @babel/helper-compilation-targets@npm:^7.27.2": - version: 7.27.2 - resolution: "@babel/helper-compilation-targets@npm:7.27.2" +"@babel/helper-compilation-targets@npm:^7.27.1, @babel/helper-compilation-targets@npm:^7.27.2, @babel/helper-compilation-targets@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-compilation-targets@npm:7.28.6" dependencies: - "@babel/compat-data": "npm:^7.27.2" + "@babel/compat-data": "npm:^7.28.6" "@babel/helper-validator-option": "npm:^7.27.1" browserslist: "npm:^4.24.0" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10c0/f338fa00dcfea931804a7c55d1a1c81b6f0a09787e528ec580d5c21b3ecb3913f6cb0f361368973ce953b824d910d3ac3e8a8ee15192710d3563826447193ad1 + checksum: 10c0/3fcdf3b1b857a1578e99d20508859dbd3f22f3c87b8a0f3dc540627b4be539bae7f6e61e49d931542fe5b557545347272bbdacd7f58a5c77025a18b745593a50 languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.27.1, @babel/helper-create-class-features-plugin@npm:^7.28.3, @babel/helper-create-class-features-plugin@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/helper-create-class-features-plugin@npm:7.28.5" +"@babel/helper-create-class-features-plugin@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-create-class-features-plugin@npm:7.28.6" dependencies: "@babel/helper-annotate-as-pure": "npm:^7.27.3" "@babel/helper-member-expression-to-functions": "npm:^7.28.5" "@babel/helper-optimise-call-expression": "npm:^7.27.1" - "@babel/helper-replace-supers": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.28.6" "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" - "@babel/traverse": "npm:^7.28.5" + "@babel/traverse": "npm:^7.28.6" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/786a6514efcf4514aaad85beed419b9184d059f4c9a9a95108f320142764999827252a851f7071de19f29424d369616573ecbaa347f1ce23fb12fc6827d9ff56 + checksum: 10c0/0b62b46717891f4366006b88c9b7f277980d4f578c4c3789b7a4f5a2e09e121de4cda9a414ab403986745cd3ad1af3fe2d948c9f78ab80d4dc085afc9602af50 languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.27.1": +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.27.1, @babel/helper-create-regexp-features-plugin@npm:^7.28.5": version: 7.28.5 resolution: "@babel/helper-create-regexp-features-plugin@npm:7.28.5" dependencies: @@ -360,7 +360,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.27.1, @babel/helper-member-expression-to-functions@npm:^7.28.5": +"@babel/helper-member-expression-to-functions@npm:^7.28.5": version: 7.28.5 resolution: "@babel/helper-member-expression-to-functions@npm:7.28.5" dependencies: @@ -370,26 +370,26 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-module-imports@npm:7.27.1" +"@babel/helper-module-imports@npm:^7.27.1, @babel/helper-module-imports@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-module-imports@npm:7.28.6" dependencies: - "@babel/traverse": "npm:^7.27.1" - "@babel/types": "npm:^7.27.1" - checksum: 10c0/e00aace096e4e29290ff8648455c2bc4ed982f0d61dbf2db1b5e750b9b98f318bf5788d75a4f974c151bd318fd549e81dbcab595f46b14b81c12eda3023f51e8 + "@babel/traverse": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/b49d8d8f204d9dbfd5ac70c54e533e5269afb3cea966a9d976722b13e9922cc773a653405f53c89acb247d5aebdae4681d631a3ae3df77ec046b58da76eda2ac languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.27.1, @babel/helper-module-transforms@npm:^7.28.3": - version: 7.28.3 - resolution: "@babel/helper-module-transforms@npm:7.28.3" +"@babel/helper-module-transforms@npm:^7.27.1, @babel/helper-module-transforms@npm:^7.28.3, @babel/helper-module-transforms@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-module-transforms@npm:7.28.6" dependencies: - "@babel/helper-module-imports": "npm:^7.27.1" - "@babel/helper-validator-identifier": "npm:^7.27.1" - "@babel/traverse": "npm:^7.28.3" + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-validator-identifier": "npm:^7.28.5" + "@babel/traverse": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/549be62515a6d50cd4cfefcab1b005c47f89bd9135a22d602ee6a5e3a01f27571868ada10b75b033569f24dc4a2bb8d04bfa05ee75c16da7ade2d0db1437fcdb + checksum: 10c0/6f03e14fc30b287ce0b839474b5f271e72837d0cafe6b172d759184d998fbee3903a035e81e07c2c596449e504f453463d58baa65b6f40a37ded5bec74620b2b languageName: node linkType: hard @@ -402,10 +402,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.8.0": - version: 7.27.1 - resolution: "@babel/helper-plugin-utils@npm:7.27.1" - checksum: 10c0/94cf22c81a0c11a09b197b41ab488d416ff62254ce13c57e62912c85700dc2e99e555225787a4099ff6bae7a1812d622c80fbaeda824b79baa10a6c5ac4cf69b +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.28.6, @babel/helper-plugin-utils@npm:^7.8.0": + version: 7.28.6 + resolution: "@babel/helper-plugin-utils@npm:7.28.6" + checksum: 10c0/3f5f8acc152fdbb69a84b8624145ff4f9b9f6e776cb989f9f968f8606eb7185c5c3cfcf3ba08534e37e1e0e1c118ac67080610333f56baa4f7376c99b5f1143d languageName: node linkType: hard @@ -422,16 +422,16 @@ __metadata: languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-replace-supers@npm:7.27.1" +"@babel/helper-replace-supers@npm:^7.27.1, @babel/helper-replace-supers@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-replace-supers@npm:7.28.6" dependencies: - "@babel/helper-member-expression-to-functions": "npm:^7.27.1" + "@babel/helper-member-expression-to-functions": "npm:^7.28.5" "@babel/helper-optimise-call-expression": "npm:^7.27.1" - "@babel/traverse": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/4f2eaaf5fcc196580221a7ccd0f8873447b5d52745ad4096418f6101a1d2e712e9f93722c9a32bc9769a1dc197e001f60d6f5438d4dfde4b9c6a9e4df719354c + checksum: 10c0/04663c6389551b99b8c3e7ba4e2638b8ca2a156418c26771516124c53083aa8e74b6a45abe5dd46360af79709a0e9c6b72c076d0eab9efecdd5aaf836e79d8d5 languageName: node linkType: hard @@ -452,7 +452,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.27.1, @babel/helper-validator-identifier@npm:^7.28.5": +"@babel/helper-validator-identifier@npm:^7.28.5": version: 7.28.5 resolution: "@babel/helper-validator-identifier@npm:7.28.5" checksum: 10c0/42aaebed91f739a41f3d80b72752d1f95fd7c72394e8e4bd7cdd88817e0774d80a432451bcba17c2c642c257c483bf1d409dd4548883429ea9493a3bc4ab0847 @@ -467,34 +467,34 @@ __metadata: linkType: hard "@babel/helper-wrap-function@npm:^7.27.1": - version: 7.28.3 - resolution: "@babel/helper-wrap-function@npm:7.28.3" + version: 7.28.6 + resolution: "@babel/helper-wrap-function@npm:7.28.6" dependencies: - "@babel/template": "npm:^7.27.2" - "@babel/traverse": "npm:^7.28.3" - "@babel/types": "npm:^7.28.2" - checksum: 10c0/aecb8a457efd893dc3c6378ab9221d06197573fb2fe64afabe7923e7732607d59b07f4c5603909877d69bea3ee87025f4b1d8e4f0403ae0a07b14e9ce0bf355a + "@babel/template": "npm:^7.28.6" + "@babel/traverse": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/110674c7aa705dd8cc34f278628f540b37a4cb35e81fcaf557772e026a6fd95f571feb51a8efb146e4e91bbf567dc9dd7f534f78da80f55f4be2ec842f36b678 languageName: node linkType: hard -"@babel/helpers@npm:^7.28.4": - version: 7.28.4 - resolution: "@babel/helpers@npm:7.28.4" +"@babel/helpers@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helpers@npm:7.28.6" dependencies: - "@babel/template": "npm:^7.27.2" - "@babel/types": "npm:^7.28.4" - checksum: 10c0/aaa5fb8098926dfed5f223adf2c5e4c7fbba4b911b73dfec2d7d3083f8ba694d201a206db673da2d9b3ae8c01793e795767654558c450c8c14b4c2175b4fcb44 + "@babel/template": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/c4a779c66396bb0cf619402d92f1610601ff3832db2d3b86b9c9dd10983bf79502270e97ac6d5280cea1b1a37de2f06ecbac561bd2271545270407fbe64027cb languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/parser@npm:7.28.5" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.28.5, @babel/parser@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/parser@npm:7.28.6" dependencies: - "@babel/types": "npm:^7.28.5" + "@babel/types": "npm:^7.28.6" bin: parser: ./bin/babel-parser.js - checksum: 10c0/5bbe48bf2c79594ac02b490a41ffde7ef5aa22a9a88ad6bcc78432a6ba8a9d638d531d868bd1f104633f1f6bba9905746e15185b8276a3756c42b765d131b1ef + checksum: 10c0/d6bfe8aa8e067ef58909e9905496157312372ca65d8d2a4f2b40afbea48d59250163755bba8ae626a615da53d192b084bcfc8c9dad8b01e315b96967600de581 languageName: node linkType: hard @@ -545,15 +545,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.28.3": - version: 7.28.3 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.28.3" +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/traverse": "npm:^7.28.3" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/traverse": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/3cdc27c4e08a632a58e62c6017369401976edf1cd9ae73fd9f0d6770ddd9accf40b494db15b66bab8db2a8d5dc5bab5ca8c65b19b81fdca955cd8cbbe24daadb + checksum: 10c0/f1a9194e8d1742081def7af748e9249eb5082c25d0ced292720a1f054895f99041c764a05f45af669a2c8898aeb79266058aedb0d3e1038963ad49be8288918a languageName: node linkType: hard @@ -633,46 +633,46 @@ __metadata: linkType: hard "@babel/plugin-syntax-export-default-from@npm:^7.24.7": - version: 7.27.1 - resolution: "@babel/plugin-syntax-export-default-from@npm:7.27.1" + version: 7.28.6 + resolution: "@babel/plugin-syntax-export-default-from@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9aa62f5916950f3e5f91657895f4635b1c77e108e453ef12c30dc7670c3441bdd65cd28be20d6ddc9003ed471cc98465785a14cd76c61f077c1c84264f1f28ca + checksum: 10c0/7d01ef992ab7e1c8a08c9e5ebacc2ff82e10592d9bc7964c9903a6766f01d371e45c25848f793393795d603d63f54dd0626b0a148df003f2a234a0a90bb31e93 languageName: node linkType: hard "@babel/plugin-syntax-flow@npm:^7.12.1, @babel/plugin-syntax-flow@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-syntax-flow@npm:7.27.1" + version: 7.28.6 + resolution: "@babel/plugin-syntax-flow@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/4d34ca47044398665cbe0293baea7be230ca4090bc7981ffba5273402a215c95976c6f811c7b32f10b326cc6aab6886f26c29630c429aa45c3f350c5ccdfdbbf + checksum: 10c0/a00114adcbbdaef07638f6a2e8c3ea63d65b3d27f088e8e53c5f35b8dc50813c0e1006fac4fb109782f9cdd41ad2f1cb9838359fecbb3d1f6141b4002358f52c languageName: node linkType: hard -"@babel/plugin-syntax-import-assertions@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.27.1" +"@babel/plugin-syntax-import-assertions@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/06a954ee672f7a7c44d52b6e55598da43a7064e80df219765c51c37a0692641277e90411028f7cae4f4d1dedeed084f0c453576fa421c35a81f1603c5e3e0146 + checksum: 10c0/f3b8bdccb9b4d3e3b9226684ca518e055399d05579da97dfe0160a38d65198cfe7dce809e73179d6463a863a040f980de32425a876d88efe4eda933d0d95982c languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.24.7, @babel/plugin-syntax-import-attributes@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.27.1" +"@babel/plugin-syntax-import-attributes@npm:^7.24.7, @babel/plugin-syntax-import-attributes@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e66f7a761b8360419bbb93ab67d87c8a97465ef4637a985ff682ce7ba6918b34b29d81190204cf908d0933058ee7b42737423cd8a999546c21b3aabad4affa9a + checksum: 10c0/1be160e2c426faa74e5be2e30e39e8d0d8c543063bd5d06cd804f8751b8fbcb82ce824ca7f9ce4b09c003693f6c06a11ce503b7e34d85e1a259631e4c3f72ad2 languageName: node linkType: hard @@ -698,14 +698,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-syntax-jsx@npm:7.27.1" +"@babel/plugin-syntax-jsx@npm:^7.27.1, @babel/plugin-syntax-jsx@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-syntax-jsx@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/bc5afe6a458d5f0492c02a54ad98c5756a0c13bd6d20609aae65acd560a9e141b0876da5f358dce34ea136f271c1016df58b461184d7ae9c4321e0f98588bc84 + checksum: 10c0/b98fc3cd75e4ca3d5ca1162f610c286e14ede1486e0d297c13a5eb0ac85680ac9656d17d348bddd9160a54d797a08cea5eaac02b9330ddebb7b26732b7b99fb5 languageName: node linkType: hard @@ -797,14 +797,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-syntax-typescript@npm:7.27.1" +"@babel/plugin-syntax-typescript@npm:^7.27.1, @babel/plugin-syntax-typescript@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-syntax-typescript@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/11589b4c89c66ef02d57bf56c6246267851ec0c361f58929327dc3e070b0dab644be625bbe7fb4c4df30c3634bfdfe31244e1f517be397d2def1487dbbe3c37d + checksum: 10c0/b0c392a35624883ac480277401ac7d92d8646b66e33639f5d350de7a6723924265985ae11ab9ebd551740ded261c443eaa9a87ea19def9763ca1e0d78c97dea8 languageName: node linkType: hard @@ -831,29 +831,29 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.25.4, @babel/plugin-transform-async-generator-functions@npm:^7.28.0": - version: 7.28.0 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.28.0" +"@babel/plugin-transform-async-generator-functions@npm:^7.25.4, @babel/plugin-transform-async-generator-functions@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.28.6" "@babel/helper-remap-async-to-generator": "npm:^7.27.1" - "@babel/traverse": "npm:^7.28.0" + "@babel/traverse": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/739d577e649d7d7b9845dc309e132964327ab3eaea43ad04d04a7dcb977c63f9aa9a423d1ca39baf10939128d02f52e6fda39c834fb9f1753785b1497e72c4dc + checksum: 10c0/eddb94b0b990d8057c9c3587db3453eb586d1835626a9d683e6e8bef0ac5f708a76002951fb9cca80c902b3074b21b3a81b8af9090492561d9179862ce5716d8 languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.24.7, @babel/plugin-transform-async-to-generator@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.27.1" +"@babel/plugin-transform-async-to-generator@npm:^7.24.7, @babel/plugin-transform-async-to-generator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.28.6" dependencies: - "@babel/helper-module-imports": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" "@babel/helper-remap-async-to-generator": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e76b1f6f9c3bbf72e17d7639406d47f09481806de4db99a8de375a0bb40957ea309b20aa705f0c25ab1d7c845e3f365af67eafa368034521151a0e352a03ef2f + checksum: 10c0/2eb0826248587df6e50038f36194a138771a7df22581020451c7779edeaf9ef39bf47c5b7a20ae2645af6416e8c896feeca273317329652e84abd79a4ab920ad languageName: node linkType: hard @@ -868,70 +868,70 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.25.0, @babel/plugin-transform-block-scoping@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/plugin-transform-block-scoping@npm:7.28.5" +"@babel/plugin-transform-block-scoping@npm:^7.25.0, @babel/plugin-transform-block-scoping@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-block-scoping@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6b098887b375c23813ccee7a00179501fc5f709b4ee5a4b2a5c5c9ef3b44cee49e240214b1a9b4ad2bd1911fab3335eac2f0a3c5f014938a1b61bec84cec4845 + checksum: 10c0/2e3e09e1f9770b56cef4dcbffddf262508fd03416072f815ac66b2b224a3a12cd285cfec12fc067f1add414e7db5ce6dafb5164a6e0fb1a728e6a97d0c6f6e9d languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.25.4, @babel/plugin-transform-class-properties@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-class-properties@npm:7.27.1" +"@babel/plugin-transform-class-properties@npm:^7.25.4, @babel/plugin-transform-class-properties@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-class-properties@npm:7.28.6" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/cc0662633c0fe6df95819fef223506ddf26c369c8d64ab21a728d9007ec866bf9436a253909819216c24a82186b6ccbc1ec94d7aaf3f82df227c7c02fa6a704b + checksum: 10c0/c4327fcd730c239d9f173f9b695b57b801729e273b4848aef1f75818069dfd31d985d75175db188d947b9b1bbe5353dae298849042026a5e4fcf07582ff3f9f1 languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.28.3": - version: 7.28.3 - resolution: "@babel/plugin-transform-class-static-block@npm:7.28.3" +"@babel/plugin-transform-class-static-block@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-class-static-block@npm:7.28.6" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.28.3" - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.12.0 - checksum: 10c0/8c922a64f6f5b359f7515c89ef0037bad583b4484dfebc1f6bc1cf13462547aaceb19788827c57ec9a2d62495f34c4b471ca636bf61af00fdaea5e9642c82b60 + checksum: 10c0/dbe9b1fd302ae41b73186e17ac8d8ecf625ebc2416a91f2dc8013977a1bdf21e6ea288a83f084752b412242f3866e789d4fddeb428af323fe35b60e0fae4f98c languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.25.4, @babel/plugin-transform-classes@npm:^7.28.4": - version: 7.28.4 - resolution: "@babel/plugin-transform-classes@npm:7.28.4" +"@babel/plugin-transform-classes@npm:^7.25.4, @babel/plugin-transform-classes@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-classes@npm:7.28.6" dependencies: "@babel/helper-annotate-as-pure": "npm:^7.27.3" - "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-compilation-targets": "npm:^7.28.6" "@babel/helper-globals": "npm:^7.28.0" - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/helper-replace-supers": "npm:^7.27.1" - "@babel/traverse": "npm:^7.28.4" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-replace-supers": "npm:^7.28.6" + "@babel/traverse": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/76687ed37216ff012c599870dc00183fb716f22e1a02fe9481943664c0e4d0d88c3da347dc3fe290d4728f4d47cd594ffa621d23845e2bb8ab446e586308e066 + checksum: 10c0/dc22f1f6eadab17305128fbf9cc5f30e87a51a77dd0a6d5498097994e8a9b9a90ab298c11edf2342acbeaac9edc9c601cad72eedcf4b592cd465a787d7f41490 languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.24.7, @babel/plugin-transform-computed-properties@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-computed-properties@npm:7.27.1" +"@babel/plugin-transform-computed-properties@npm:^7.24.7, @babel/plugin-transform-computed-properties@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-computed-properties@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/template": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/template": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e09a12f8c8ae0e6a6144c102956947b4ec05f6c844169121d0ec4529c2d30ad1dc59fee67736193b87a402f44552c888a519a680a31853bdb4d34788c28af3b0 + checksum: 10c0/1e9893503ae6d651125701cc29450e87c0b873c8febebff19da75da9c40cfb7968c52c28bf948244e461110aeb7b3591f2cc199b7406ff74a24c50c7a5729f39 languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.24.8, @babel/plugin-transform-destructuring@npm:^7.28.0, @babel/plugin-transform-destructuring@npm:^7.28.5": +"@babel/plugin-transform-destructuring@npm:^7.24.8, @babel/plugin-transform-destructuring@npm:^7.28.5": version: 7.28.5 resolution: "@babel/plugin-transform-destructuring@npm:7.28.5" dependencies: @@ -943,15 +943,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.27.1" +"@babel/plugin-transform-dotall-regex@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.28.6" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f9caddfad9a551b4dabe0dcb7c040f458fbaaa7bbb44200c20198b32c8259be8e050e58d2c853fdac901a4cfe490b86aa857036d8d461b192dd010d0e242dedb + checksum: 10c0/e2fb76b7ae99087cf4212013a3ca9dee07048f90f98fd6264855080fb6c3f169be11c9b8c9d8b26cf9a407e4d0a5fa6e103f7cef433a542b75cf7127c99d4f97 languageName: node linkType: hard @@ -966,15 +966,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.27.1" +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.28.6" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/121502a252b3206913e1e990a47fea34397b4cbf7804d4cd872d45961bc45b603423f60ca87f3a3023a62528f5feb475ac1c9ec76096899ec182fcb135eba375 + checksum: 10c0/a1b4161ed6a4a5e78f802035b38efd71db6691fc1b2b2a1aea49fcb449077105b4925f0c4670f117231462f5cb0a35df4ad297f7b1fac38ec76e89635f8dc51d languageName: node linkType: hard @@ -989,26 +989,26 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-explicit-resource-management@npm:^7.28.0": - version: 7.28.0 - resolution: "@babel/plugin-transform-explicit-resource-management@npm:7.28.0" +"@babel/plugin-transform-explicit-resource-management@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-explicit-resource-management@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/plugin-transform-destructuring": "npm:^7.28.0" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/plugin-transform-destructuring": "npm:^7.28.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/3baa706af3112adf2ae0c7ec0dc61b63dd02695eb5582f3c3a2b2d05399c6aa7756f55e7bbbd5412e613a6ba1dd6b6736904074b4d7ebd6b45a1e3f9145e4094 + checksum: 10c0/e6ea28c26e058fe61ada3e70b0def1992dd5a44f5fc14d8e2c6a3a512fb4d4c6dc96a3e1d0b466d83db32a9101e0b02df94051e48d3140da115b8ea9f8a31f37 languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.28.5" +"@babel/plugin-transform-exponentiation-operator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/006566e003c2a8175346cc4b3260fcd9f719b912ceae8a4e930ce02ee3cf0b2841d5c21795ba71790871783d3c0c1c3d22ce441b8819c37975844bfba027d3f7 + checksum: 10c0/4572d955a50dbc9a652a19431b4bb822cb479ee6045f4e6df72659c499c13036da0a2adf650b07ca995f2781e80aa868943bea1e7bff1de3169ec3f0a73a902e languageName: node linkType: hard @@ -1060,14 +1060,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-json-strings@npm:7.27.1" +"@babel/plugin-transform-json-strings@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-json-strings@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2379714aca025516452a7c1afa1ca42a22b9b51a5050a653cc6198a51665ab82bdecf36106d32d731512706a1e373c5637f5ff635737319aa42f3827da2326d6 + checksum: 10c0/ab1091798c58e6c0bb8a864ee2b727c400924592c6ed69797a26b4c205f850a935de77ad516570be0419c279a3d9f7740c2aa448762eb8364ea77a6a357a9653 languageName: node linkType: hard @@ -1082,14 +1082,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.7, @babel/plugin-transform-logical-assignment-operators@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.28.5" +"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.7, @babel/plugin-transform-logical-assignment-operators@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/fba4faa96d86fa745b0539bb631deee3f2296f0643c087a50ad0fac2e5f0a787fa885e9bdd90ae3e7832803f3c08e7cd3f1e830e7079dbdc023704923589bb23 + checksum: 10c0/4632a35453d2131f0be466681d0a33e3db44d868ff51ec46cd87e0ebd1e47c6a39b894f7d1c9b06f931addf6efa9d30e60c4cdedeb4f69d426f683e11f8490cf languageName: node linkType: hard @@ -1116,15 +1116,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.24.8, @babel/plugin-transform-modules-commonjs@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.27.1" +"@babel/plugin-transform-modules-commonjs@npm:^7.24.8, @babel/plugin-transform-modules-commonjs@npm:^7.27.1, @babel/plugin-transform-modules-commonjs@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.28.6" dependencies: - "@babel/helper-module-transforms": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-module-transforms": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/4def972dcd23375a266ea1189115a4ff61744b2c9366fc1de648b3fab2c650faf1a94092de93a33ff18858d2e6c4dddeeee5384cb42ba0129baeab01a5cdf1e2 + checksum: 10c0/7c45992797c6150644c8552feff4a016ba7bd6d59ff2b039ed969a9c5b20a6804cd9d21db5045fc8cca8ca7f08262497e354e93f8f2be6a1cdf3fbfa8c31a9b6 languageName: node linkType: hard @@ -1177,40 +1177,40 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.27.1" +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a435fc03aaa65c6ef8e99b2d61af0994eb5cdd4a28562d78c3b0b0228ca7e501aa255e1dff091a6996d7d3ea808eb5a65fd50ecd28dfb10687a8a1095dcadc7a + checksum: 10c0/6607f2201d66ccb688f0b1db09475ef995837df19f14705da41f693b669f834c206147a854864ab107913d7b4f4748878b0cd9fe9ca8bfd1bee0c206fc027b49 languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.24.7, @babel/plugin-transform-numeric-separator@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.27.1" +"@babel/plugin-transform-numeric-separator@npm:^7.24.7, @babel/plugin-transform-numeric-separator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b72cbebbfe46fcf319504edc1cf59f3f41c992dd6840db766367f6a1d232cd2c52143c5eaf57e0316710bee251cae94be97c6d646b5022fcd9274ccb131b470c + checksum: 10c0/191097d8d2753cdd16d1acca65a945d1645ab20b65655c2f5b030a9e38967a52e093dcb21ebf391e342222705c6ffe5dea15dafd6257f7b51b77fb64a830b637 languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.24.7, @babel/plugin-transform-object-rest-spread@npm:^7.28.4": - version: 7.28.4 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.28.4" +"@babel/plugin-transform-object-rest-spread@npm:^7.24.7, @babel/plugin-transform-object-rest-spread@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.28.6" dependencies: - "@babel/helper-compilation-targets": "npm:^7.27.2" - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/plugin-transform-destructuring": "npm:^7.28.0" + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/plugin-transform-destructuring": "npm:^7.28.5" "@babel/plugin-transform-parameters": "npm:^7.27.7" - "@babel/traverse": "npm:^7.28.4" + "@babel/traverse": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/81725c8d6349957899975f3f789b1d4fb050ee8b04468ebfaccd5b59e0bda15cbfdef09aee8b4359f322b6715149d680361f11c1a420c4bdbac095537ecf7a90 + checksum: 10c0/f55334352d4fcde385f2e8a58836687e71ff668c9b6e4c34d52575bf2789cdde92d9d3116edba13647ac0bc3e51fb2a6d1e8fb822dce7e8123334b82600bc4c3 languageName: node linkType: hard @@ -1226,26 +1226,26 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.24.7, @babel/plugin-transform-optional-catch-binding@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.27.1" +"@babel/plugin-transform-optional-catch-binding@npm:^7.24.7, @babel/plugin-transform-optional-catch-binding@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/807a4330f1fac08e2682d57bc82e714868fc651c8876f9a8b3a3fd8f53c129e87371f8243e712ac7dae11e090b737a2219a02fe1b6459a29e664fa073c3277bb + checksum: 10c0/36e8face000ee65e478a55febf687ce9be7513ad498c60dfe585851555565e0c28e7cb891b3c59709318539ce46f7697d5f42130eb18f385cd47e47cfa297446 languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.24.8, @babel/plugin-transform-optional-chaining@npm:^7.27.1, @babel/plugin-transform-optional-chaining@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.28.5" +"@babel/plugin-transform-optional-chaining@npm:^7.24.8, @babel/plugin-transform-optional-chaining@npm:^7.27.1, @babel/plugin-transform-optional-chaining@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.28.6" "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/adf5f70b1f9eb0dd6ff3d159a714683af3c910775653e667bd9f864c3dc2dc9872aba95f6c1e5f2a9675067241942f4fd0d641147ef4bf2bd8bc15f1fa0f2ed5 + checksum: 10c0/c159cc74115c2266be21791f192dd079e2aeb65c8731157e53b80fcefa41e8e28ad370021d4dfbdb31f25e5afa0322669a8eb2d032cd96e65ac37e020324c763 languageName: node linkType: hard @@ -1260,28 +1260,28 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.24.7, @babel/plugin-transform-private-methods@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-private-methods@npm:7.27.1" +"@babel/plugin-transform-private-methods@npm:^7.24.7, @babel/plugin-transform-private-methods@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-private-methods@npm:7.28.6" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/232bedfe9d28df215fb03cc7623bdde468b1246bdd6dc24465ff4bf9cc5f5a256ae33daea1fafa6cc59705e4d29da9024bb79baccaa5cd92811ac5db9b9244f2 + checksum: 10c0/fb504e2bfdcf3f734d2a90ab20d61427c58385f57f950d3de6ff4e6d12dd4aa7d552147312d218367e129b7920dccfc3230ba554de861986cda38921bad84067 languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.24.7, @babel/plugin-transform-private-property-in-object@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.27.1" +"@babel/plugin-transform-private-property-in-object@npm:^7.24.7, @babel/plugin-transform-private-property-in-object@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.28.6" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.27.1" - "@babel/helper-create-class-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a8c4536273ca716dcc98e74ea25ca76431528554922f184392be3ddaf1761d4aa0e06f1311577755bd1613f7054fb51d29de2ada1130f743d329170a1aa1fe56 + checksum: 10c0/0f6bbc6ec3f93b556d3de7d56bf49335255fc4c43488e51a5025d6ee0286183fd3cf950ffcac1bbeed8a45777f860a49996455c8d3b4a04c3b1a5f28e697fe31 languageName: node linkType: hard @@ -1341,17 +1341,17 @@ __metadata: linkType: hard "@babel/plugin-transform-react-jsx@npm:^7.25.2, @babel/plugin-transform-react-jsx@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-react-jsx@npm:7.27.1" + version: 7.28.6 + resolution: "@babel/plugin-transform-react-jsx@npm:7.28.6" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.27.1" - "@babel/helper-module-imports": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/plugin-syntax-jsx": "npm:^7.27.1" - "@babel/types": "npm:^7.27.1" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/plugin-syntax-jsx": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/1a08637c39fc78c9760dd4a3ed363fdbc762994bf83ed7872ad5bda0232fcd0fc557332f2ce36b522c0226dfd9cc8faac6b88eddda535f24825198a689e571af + checksum: 10c0/cc75b9bb3997751df6cf7e86afe1b3fa33130b5031a412f6f12cc5faec083650fe852de0af5ec8f88d3588cc3428a3f514d3bc1f423d26f8b014cc5dff9f15a7 languageName: node linkType: hard @@ -1367,26 +1367,26 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.24.7, @babel/plugin-transform-regenerator@npm:^7.28.4": - version: 7.28.4 - resolution: "@babel/plugin-transform-regenerator@npm:7.28.4" +"@babel/plugin-transform-regenerator@npm:^7.24.7, @babel/plugin-transform-regenerator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-regenerator@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5ad14647ffaac63c920e28df1b580ee2e932586bbdc71f61ec264398f68a5406c71a7f921de397a41b954a69316c5ab90e5d789ffa2bb34c5e6feb3727cfefb8 + checksum: 10c0/dbb65b7444548807aee558cdaf23996e7a0f6c3bced09c6b5d177734b3addcaf417532186e330341758979651e2af8cb98ae572f794f05c0e2e201e5593a5ffe languageName: node linkType: hard -"@babel/plugin-transform-regexp-modifiers@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.27.1" +"@babel/plugin-transform-regexp-modifiers@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.28.6" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/31ae596ab56751cf43468a6c0a9d6bc3521d306d2bee9c6957cdb64bea53812ce24bd13a32f766150d62b737bca5b0650b2c62db379382fff0dccbf076055c33 + checksum: 10c0/97e36b086800f71694fa406abc00192e3833662f2bdd5f51c018bd0c95eef247c4ae187417c207d03a9c5374342eac0bb65a39112c431a9b23b09b1eda1562e5 languageName: node linkType: hard @@ -1428,15 +1428,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.24.7, @babel/plugin-transform-spread@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-spread@npm:7.27.1" +"@babel/plugin-transform-spread@npm:^7.24.7, @babel/plugin-transform-spread@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-spread@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.28.6" "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b34fc58b33bd35b47d67416655c2cbc8578fbb3948b4592bc15eb6d8b4046986e25c06e3b9929460fa4ab08e9653582415e7ef8b87d265e1239251bdf5a4c162 + checksum: 10c0/bcac50e558d6f0c501cbce19ec197af558cef51fe3b3a6eba27276e323e57a5be28109b4264a5425ac12a67bf95d6af9c2a42b05e79c522ce913fb9529259d76 languageName: node linkType: hard @@ -1485,17 +1485,17 @@ __metadata: linkType: hard "@babel/plugin-transform-typescript@npm:^7.25.2, @babel/plugin-transform-typescript@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/plugin-transform-typescript@npm:7.28.5" + version: 7.28.6 + resolution: "@babel/plugin-transform-typescript@npm:7.28.6" dependencies: "@babel/helper-annotate-as-pure": "npm:^7.27.3" - "@babel/helper-create-class-features-plugin": "npm:^7.28.5" - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" - "@babel/plugin-syntax-typescript": "npm:^7.27.1" + "@babel/plugin-syntax-typescript": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/09e574ba5462e56452b4ceecae65e53c8e697a2d3559ce5d210bed10ac28a18aa69377e7550c30520eb29b40c417ee61997d5d58112657f22983244b78915a7c + checksum: 10c0/72dbfd3e5f71c4e30445e610758ec0eef65347fafd72bd46f4903733df0d537663a72a81c1626f213a0feab7afc68ba83f1648ffece888dd0868115c9cb748f6 languageName: node linkType: hard @@ -1510,15 +1510,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.27.1" +"@babel/plugin-transform-unicode-property-regex@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.28.6" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a332bc3cb3eeea67c47502bc52d13a0f8abae5a7bfcb08b93a8300ddaff8d9e1238f912969494c1b494c1898c6f19687054440706700b6d12cb0b90d88beb4d0 + checksum: 10c0/b25f8cde643f4f47e0fa4f7b5c552e2dfbb6ad0ce07cf40f7e8ae40daa9855ad855d76d4d6d010153b74e48c8794685955c92ca637c0da152ce5f0fa9e7c90fa languageName: node linkType: hard @@ -1534,86 +1534,86 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.27.1" +"@babel/plugin-transform-unicode-sets-regex@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.28.6" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/236645f4d0a1fba7c18dc8ffe3975933af93e478f2665650c2d91cf528cfa1587cde5cfe277e0e501fc03b5bf57638369575d6539cef478632fb93bd7d7d7178 + checksum: 10c0/c03c8818736b138db73d1f7a96fbfa22d1994639164d743f0f00e6383d3b7b3144d333de960ff4afad0bddd0baaac257295e3316969eba995b1b6a1b4dec933e languageName: node linkType: hard "@babel/preset-env@npm:^7.25.2, @babel/preset-env@npm:^7.25.3": - version: 7.28.5 - resolution: "@babel/preset-env@npm:7.28.5" + version: 7.28.6 + resolution: "@babel/preset-env@npm:7.28.6" dependencies: - "@babel/compat-data": "npm:^7.28.5" - "@babel/helper-compilation-targets": "npm:^7.27.2" - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/compat-data": "npm:^7.28.6" + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" "@babel/helper-validator-option": "npm:^7.27.1" "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.28.5" "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.27.1" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.27.1" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.27.1" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.28.3" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.28.6" "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-import-assertions": "npm:^7.27.1" - "@babel/plugin-syntax-import-attributes": "npm:^7.27.1" + "@babel/plugin-syntax-import-assertions": "npm:^7.28.6" + "@babel/plugin-syntax-import-attributes": "npm:^7.28.6" "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" "@babel/plugin-transform-arrow-functions": "npm:^7.27.1" - "@babel/plugin-transform-async-generator-functions": "npm:^7.28.0" - "@babel/plugin-transform-async-to-generator": "npm:^7.27.1" + "@babel/plugin-transform-async-generator-functions": "npm:^7.28.6" + "@babel/plugin-transform-async-to-generator": "npm:^7.28.6" "@babel/plugin-transform-block-scoped-functions": "npm:^7.27.1" - "@babel/plugin-transform-block-scoping": "npm:^7.28.5" - "@babel/plugin-transform-class-properties": "npm:^7.27.1" - "@babel/plugin-transform-class-static-block": "npm:^7.28.3" - "@babel/plugin-transform-classes": "npm:^7.28.4" - "@babel/plugin-transform-computed-properties": "npm:^7.27.1" + "@babel/plugin-transform-block-scoping": "npm:^7.28.6" + "@babel/plugin-transform-class-properties": "npm:^7.28.6" + "@babel/plugin-transform-class-static-block": "npm:^7.28.6" + "@babel/plugin-transform-classes": "npm:^7.28.6" + "@babel/plugin-transform-computed-properties": "npm:^7.28.6" "@babel/plugin-transform-destructuring": "npm:^7.28.5" - "@babel/plugin-transform-dotall-regex": "npm:^7.27.1" + "@babel/plugin-transform-dotall-regex": "npm:^7.28.6" "@babel/plugin-transform-duplicate-keys": "npm:^7.27.1" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.27.1" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.28.6" "@babel/plugin-transform-dynamic-import": "npm:^7.27.1" - "@babel/plugin-transform-explicit-resource-management": "npm:^7.28.0" - "@babel/plugin-transform-exponentiation-operator": "npm:^7.28.5" + "@babel/plugin-transform-explicit-resource-management": "npm:^7.28.6" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.28.6" "@babel/plugin-transform-export-namespace-from": "npm:^7.27.1" "@babel/plugin-transform-for-of": "npm:^7.27.1" "@babel/plugin-transform-function-name": "npm:^7.27.1" - "@babel/plugin-transform-json-strings": "npm:^7.27.1" + "@babel/plugin-transform-json-strings": "npm:^7.28.6" "@babel/plugin-transform-literals": "npm:^7.27.1" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.28.5" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.28.6" "@babel/plugin-transform-member-expression-literals": "npm:^7.27.1" "@babel/plugin-transform-modules-amd": "npm:^7.27.1" - "@babel/plugin-transform-modules-commonjs": "npm:^7.27.1" + "@babel/plugin-transform-modules-commonjs": "npm:^7.28.6" "@babel/plugin-transform-modules-systemjs": "npm:^7.28.5" "@babel/plugin-transform-modules-umd": "npm:^7.27.1" "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.27.1" "@babel/plugin-transform-new-target": "npm:^7.27.1" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.27.1" - "@babel/plugin-transform-numeric-separator": "npm:^7.27.1" - "@babel/plugin-transform-object-rest-spread": "npm:^7.28.4" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.28.6" + "@babel/plugin-transform-numeric-separator": "npm:^7.28.6" + "@babel/plugin-transform-object-rest-spread": "npm:^7.28.6" "@babel/plugin-transform-object-super": "npm:^7.27.1" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.27.1" - "@babel/plugin-transform-optional-chaining": "npm:^7.28.5" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.28.6" + "@babel/plugin-transform-optional-chaining": "npm:^7.28.6" "@babel/plugin-transform-parameters": "npm:^7.27.7" - "@babel/plugin-transform-private-methods": "npm:^7.27.1" - "@babel/plugin-transform-private-property-in-object": "npm:^7.27.1" + "@babel/plugin-transform-private-methods": "npm:^7.28.6" + "@babel/plugin-transform-private-property-in-object": "npm:^7.28.6" "@babel/plugin-transform-property-literals": "npm:^7.27.1" - "@babel/plugin-transform-regenerator": "npm:^7.28.4" - "@babel/plugin-transform-regexp-modifiers": "npm:^7.27.1" + "@babel/plugin-transform-regenerator": "npm:^7.28.6" + "@babel/plugin-transform-regexp-modifiers": "npm:^7.28.6" "@babel/plugin-transform-reserved-words": "npm:^7.27.1" "@babel/plugin-transform-shorthand-properties": "npm:^7.27.1" - "@babel/plugin-transform-spread": "npm:^7.27.1" + "@babel/plugin-transform-spread": "npm:^7.28.6" "@babel/plugin-transform-sticky-regex": "npm:^7.27.1" "@babel/plugin-transform-template-literals": "npm:^7.27.1" "@babel/plugin-transform-typeof-symbol": "npm:^7.27.1" "@babel/plugin-transform-unicode-escapes": "npm:^7.27.1" - "@babel/plugin-transform-unicode-property-regex": "npm:^7.27.1" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.28.6" "@babel/plugin-transform-unicode-regex": "npm:^7.27.1" - "@babel/plugin-transform-unicode-sets-regex": "npm:^7.27.1" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.28.6" "@babel/preset-modules": "npm:0.1.6-no-external-plugins" babel-plugin-polyfill-corejs2: "npm:^0.4.14" babel-plugin-polyfill-corejs3: "npm:^0.13.0" @@ -1622,7 +1622,7 @@ __metadata: semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d1b730158de290f1c54ed7db0f4fed3f82db5f868ab0a4cb3fc2ea76ed683b986ae136f6e7eb0b44b91bc9a99039a2559851656b4fd50193af1a815a3e32e524 + checksum: 10c0/a08f007c5e8c95beb10a4ab8ad8fdbd823c8ace5f24f491f69a10b6cad079825d39cd1bc9dd312680bbd5aa5f95095cce7d01f51e31bae6720039b11e8105ace languageName: node linkType: hard @@ -1671,45 +1671,45 @@ __metadata: linkType: hard "@babel/runtime@npm:^7.25.0": - version: 7.28.4 - resolution: "@babel/runtime@npm:7.28.4" - checksum: 10c0/792ce7af9750fb9b93879cc9d1db175701c4689da890e6ced242ea0207c9da411ccf16dc04e689cc01158b28d7898c40d75598f4559109f761c12ce01e959bf7 + version: 7.28.6 + resolution: "@babel/runtime@npm:7.28.6" + checksum: 10c0/358cf2429992ac1c466df1a21c1601d595c46930a13c1d4662fde908d44ee78ec3c183aaff513ecb01ef8c55c3624afe0309eeeb34715672dbfadb7feedb2c0d languageName: node linkType: hard -"@babel/template@npm:^7.25.0, @babel/template@npm:^7.27.1, @babel/template@npm:^7.27.2, @babel/template@npm:^7.3.3": - version: 7.27.2 - resolution: "@babel/template@npm:7.27.2" +"@babel/template@npm:^7.25.0, @babel/template@npm:^7.28.6, @babel/template@npm:^7.3.3": + version: 7.28.6 + resolution: "@babel/template@npm:7.28.6" dependencies: - "@babel/code-frame": "npm:^7.27.1" - "@babel/parser": "npm:^7.27.2" - "@babel/types": "npm:^7.27.1" - checksum: 10c0/ed9e9022651e463cc5f2cc21942f0e74544f1754d231add6348ff1b472985a3b3502041c0be62dc99ed2d12cfae0c51394bf827452b98a2f8769c03b87aadc81 + "@babel/code-frame": "npm:^7.28.6" + "@babel/parser": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/66d87225ed0bc77f888181ae2d97845021838c619944877f7c4398c6748bcf611f216dfd6be74d39016af502bca876e6ce6873db3c49e4ac354c56d34d57e9f5 languageName: node linkType: hard -"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3, @babel/traverse@npm:^7.25.3, @babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.0, @babel/traverse@npm:^7.28.3, @babel/traverse@npm:^7.28.4, @babel/traverse@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/traverse@npm:7.28.5" +"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3, @babel/traverse@npm:^7.25.3, @babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.5, @babel/traverse@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/traverse@npm:7.28.6" dependencies: - "@babel/code-frame": "npm:^7.27.1" - "@babel/generator": "npm:^7.28.5" + "@babel/code-frame": "npm:^7.28.6" + "@babel/generator": "npm:^7.28.6" "@babel/helper-globals": "npm:^7.28.0" - "@babel/parser": "npm:^7.28.5" - "@babel/template": "npm:^7.27.2" - "@babel/types": "npm:^7.28.5" + "@babel/parser": "npm:^7.28.6" + "@babel/template": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" debug: "npm:^4.3.1" - checksum: 10c0/f6c4a595993ae2b73f2d4cd9c062f2e232174d293edd4abe1d715bd6281da8d99e47c65857e8d0917d9384c65972f4acdebc6749a7c40a8fcc38b3c7fb3e706f + checksum: 10c0/ed5deb9c3f03e2d1ad2d44b9c92c84cce24593245c3f7871ce27ee1b36d98034e6cd895fa98a94eb44ebabe1d22f51b10b09432939d1c51a0fcaab98f17a97bc languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.2, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.4, @babel/types@npm:^7.28.5, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": - version: 7.28.5 - resolution: "@babel/types@npm:7.28.5" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.2, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.5, @babel/types@npm:^7.28.6, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": + version: 7.28.6 + resolution: "@babel/types@npm:7.28.6" dependencies: "@babel/helper-string-parser": "npm:^7.27.1" "@babel/helper-validator-identifier": "npm:^7.28.5" - checksum: 10c0/a5a483d2100befbf125793640dec26b90b95fd233a94c19573325898a5ce1e52cdfa96e495c7dcc31b5eca5b66ce3e6d4a0f5a4a62daec271455959f208ab08a + checksum: 10c0/54a6a9813e48ef6f35aa73c03b3c1572cad7fa32b61b35dd07e4230bc77b559194519c8a4d8106a041a27cc7a94052579e238a30a32d5509aa4da4d6fd83d990 languageName: node linkType: hard @@ -1994,21 +1994,21 @@ __metadata: linkType: hard "@emnapi/core@npm:^1.4.3": - version: 1.7.1 - resolution: "@emnapi/core@npm:1.7.1" + version: 1.8.1 + resolution: "@emnapi/core@npm:1.8.1" dependencies: "@emnapi/wasi-threads": "npm:1.1.0" tslib: "npm:^2.4.0" - checksum: 10c0/f3740be23440b439333e3ae3832163f60c96c4e35337f3220ceba88f36ee89a57a871d27c94eb7a9ff98a09911ed9a2089e477ab549f4d30029f8b907f84a351 + checksum: 10c0/2c242f4b49779bac403e1cbcc98edacdb1c8ad36562408ba9a20663824669e930bc8493be46a2522d9dc946b8d96cd7073970bae914928c7671b5221c85b432e languageName: node linkType: hard "@emnapi/runtime@npm:^1.4.3": - version: 1.7.1 - resolution: "@emnapi/runtime@npm:1.7.1" + version: 1.8.1 + resolution: "@emnapi/runtime@npm:1.8.1" dependencies: tslib: "npm:^2.4.0" - checksum: 10c0/26b851cd3e93877d8732a985a2ebf5152325bbacc6204ef5336a47359dedcc23faeb08cdfcb8bb389b5401b3e894b882bc1a1e55b4b7c1ed1e67c991a760ddd5 + checksum: 10c0/f4929d75e37aafb24da77d2f58816761fe3f826aad2e37fa6d4421dac9060cbd5098eea1ac3c9ecc4526b89deb58153852fa432f87021dc57863f2ff726d713f languageName: node linkType: hard @@ -2183,13 +2183,13 @@ __metadata: linkType: hard "@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0, @eslint-community/eslint-utils@npm:^4.8.0": - version: 4.9.0 - resolution: "@eslint-community/eslint-utils@npm:4.9.0" + version: 4.9.1 + resolution: "@eslint-community/eslint-utils@npm:4.9.1" dependencies: eslint-visitor-keys: "npm:^3.4.3" peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 10c0/8881e22d519326e7dba85ea915ac7a143367c805e6ba1374c987aa2fbdd09195cc51183d2da72c0e2ff388f84363e1b220fd0d19bef10c272c63455162176817 + checksum: 10c0/dc4ab5e3e364ef27e33666b11f4b86e1a6c1d7cbf16f0c6ff87b1619b3562335e9201a3d6ce806221887ff780ec9d828962a290bb910759fd40a674686503f02 languageName: node linkType: hard @@ -2244,8 +2244,8 @@ __metadata: linkType: hard "@eslint/eslintrc@npm:^3.3.1": - version: 3.3.1 - resolution: "@eslint/eslintrc@npm:3.3.1" + version: 3.3.3 + resolution: "@eslint/eslintrc@npm:3.3.3" dependencies: ajv: "npm:^6.12.4" debug: "npm:^4.3.2" @@ -2253,17 +2253,17 @@ __metadata: globals: "npm:^14.0.0" ignore: "npm:^5.2.0" import-fresh: "npm:^3.2.1" - js-yaml: "npm:^4.1.0" + js-yaml: "npm:^4.1.1" minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: 10c0/b0e63f3bc5cce4555f791a4e487bf999173fcf27c65e1ab6e7d63634d8a43b33c3693e79f192cbff486d7df1be8ebb2bd2edc6e70ddd486cbfa84a359a3e3b41 + checksum: 10c0/532c7acc7ddd042724c28b1f020bd7bf148fcd4653bb44c8314168b5f772508c842ce4ee070299cac51c5c5757d2124bdcfcef5551c8c58ff9986e3e17f2260d languageName: node linkType: hard -"@eslint/js@npm:9.39.1, @eslint/js@npm:^9.35.0": - version: 9.39.1 - resolution: "@eslint/js@npm:9.39.1" - checksum: 10c0/6f7f26f8cdb7ad6327bbf9741973b6278eb946f18f70e35406e88194b0d5c522d0547a34a02f2a208eec95c5d1388cdf7ccb20039efd2e4cb6655615247a50f1 +"@eslint/js@npm:9.39.2, @eslint/js@npm:^9.35.0": + version: 9.39.2 + resolution: "@eslint/js@npm:9.39.2" + checksum: 10c0/00f51c52b04ac79faebfaa65a9652b2093b9c924e945479f1f3945473f78aee83cbc76c8d70bbffbf06f7024626575b16d97b66eab16182e1d0d39daff2f26f5 languageName: node linkType: hard @@ -2332,11 +2332,11 @@ __metadata: linkType: hard "@iconify-json/simple-icons@npm:^1.2.21": - version: 1.2.60 - resolution: "@iconify-json/simple-icons@npm:1.2.60" + version: 1.2.66 + resolution: "@iconify-json/simple-icons@npm:1.2.66" dependencies: "@iconify/types": "npm:*" - checksum: 10c0/9579973a8f330d09f3a37101a5b349a2ed97ef5b9b9afd7d4ab08c37d83c2ed6a6eff6c860c69dd94811f7ec9cc2458b96aaae84c9183e1d30b7f3507a0c4e0b + checksum: 10c0/be4bed2eb1cb6a31728a5a80c86f555c4a9d348296b76e1ad0ddab74b59e31c992c0e651a773c7793f8ab81e8c317c141dc58cc9238fa5cf05ba832407060007 languageName: node linkType: hard @@ -3341,156 +3341,177 @@ __metadata: languageName: unknown linkType: soft -"@rollup/rollup-android-arm-eabi@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.53.3" +"@rollup/rollup-android-arm-eabi@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.55.1" conditions: os=android & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-android-arm64@npm:4.53.3" +"@rollup/rollup-android-arm64@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-android-arm64@npm:4.55.1" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-darwin-arm64@npm:4.53.3" +"@rollup/rollup-darwin-arm64@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-darwin-arm64@npm:4.55.1" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-darwin-x64@npm:4.53.3" +"@rollup/rollup-darwin-x64@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-darwin-x64@npm:4.55.1" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-freebsd-arm64@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-freebsd-arm64@npm:4.53.3" +"@rollup/rollup-freebsd-arm64@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.55.1" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-freebsd-x64@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-freebsd-x64@npm:4.53.3" +"@rollup/rollup-freebsd-x64@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-freebsd-x64@npm:4.55.1" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.53.3" +"@rollup/rollup-linux-arm-gnueabihf@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.55.1" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.53.3" +"@rollup/rollup-linux-arm-musleabihf@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.55.1" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.53.3" +"@rollup/rollup-linux-arm64-gnu@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.55.1" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.53.3" +"@rollup/rollup-linux-arm64-musl@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.55.1" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-loong64-gnu@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.53.3" +"@rollup/rollup-linux-loong64-gnu@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.55.1" conditions: os=linux & cpu=loong64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-ppc64-gnu@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.53.3" +"@rollup/rollup-linux-loong64-musl@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-loong64-musl@npm:4.55.1" + conditions: os=linux & cpu=loong64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-ppc64-gnu@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.55.1" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.53.3" +"@rollup/rollup-linux-ppc64-musl@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-ppc64-musl@npm:4.55.1" + conditions: os=linux & cpu=ppc64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.55.1" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-musl@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.53.3" +"@rollup/rollup-linux-riscv64-musl@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.55.1" conditions: os=linux & cpu=riscv64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.53.3" +"@rollup/rollup-linux-s390x-gnu@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.55.1" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.53.3" +"@rollup/rollup-linux-x64-gnu@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.55.1" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.53.3" +"@rollup/rollup-linux-x64-musl@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.55.1" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-openharmony-arm64@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-openharmony-arm64@npm:4.53.3" +"@rollup/rollup-openbsd-x64@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-openbsd-x64@npm:4.55.1" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-openharmony-arm64@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-openharmony-arm64@npm:4.55.1" conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.53.3" +"@rollup/rollup-win32-arm64-msvc@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.55.1" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.53.3" +"@rollup/rollup-win32-ia32-msvc@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.55.1" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-gnu@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-win32-x64-gnu@npm:4.53.3" +"@rollup/rollup-win32-x64-gnu@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-win32-x64-gnu@npm:4.55.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.53.3": - version: 4.53.3 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.53.3" +"@rollup/rollup-win32-x64-msvc@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.55.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -3606,9 +3627,9 @@ __metadata: linkType: hard "@sinclair/typebox@npm:^0.34.0": - version: 0.34.41 - resolution: "@sinclair/typebox@npm:0.34.41" - checksum: 10c0/0fb61fc2f90c25e30b19b0096eb8ab3ccef401d3e2acfce42168ff0ee877ba5981c8243fa6b1035ac756cde95316724e978b2837dd642d7e4e095de03a999c90 + version: 0.34.47 + resolution: "@sinclair/typebox@npm:0.34.47" + checksum: 10c0/ebe923fe2c26900982634e5639a00471da0b182eee61a5a0436cd1df174f90c5b0fcd7507cc21ad2fca3c326aee387487040badc723bc2599a09bc3e9be09b38 languageName: node linkType: hard @@ -3824,20 +3845,20 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 24.10.1 - resolution: "@types/node@npm:24.10.1" + version: 25.0.8 + resolution: "@types/node@npm:25.0.8" dependencies: undici-types: "npm:~7.16.0" - checksum: 10c0/d6bca7a78f550fbb376f236f92b405d676003a8a09a1b411f55920ef34286ee3ee51f566203920e835478784df52662b5b2af89159d9d319352e9ea21801c002 + checksum: 10c0/2282464cd928ab184b2310b79899c76bfaa88c8d14640dfab2f9218fdee7e2d916056492de683aa3a26050c8f3bbcade0305616a55277a7c344926c0393149e0 languageName: node linkType: hard "@types/react@npm:^19.1.0": - version: 19.2.7 - resolution: "@types/react@npm:19.2.7" + version: 19.2.8 + resolution: "@types/react@npm:19.2.8" dependencies: csstype: "npm:^3.2.2" - checksum: 10c0/a7b75f1f9fcb34badd6f84098be5e35a0aeca614bc91f93d2698664c0b2ba5ad128422bd470ada598238cebe4f9e604a752aead7dc6f5a92261d0c7f9b27cfd1 + checksum: 10c0/832834998c4ee971fca72ecf1eb95dc924ad3931a2112c687a4dae498aabd115c5fa4db09186853e34a646226b0223808c8f867df03d17601168f9cf119448de languageName: node linkType: hard @@ -4219,59 +4240,59 @@ __metadata: linkType: hard "@vscode/sudo-prompt@npm:^9.0.0": - version: 9.3.1 - resolution: "@vscode/sudo-prompt@npm:9.3.1" - checksum: 10c0/680f0c0d16303bf2f7b28fda83a3e6725e75a593461521460a56365af0ca619595e2b6dcc56b1fa4ba24f8be4030fb1b015c31a92773c09ca55c49da89490e38 + version: 9.3.2 + resolution: "@vscode/sudo-prompt@npm:9.3.2" + checksum: 10c0/9cf63f7001f31ada248aefe0d289e8769d82d9eeb12845aef863faf44620cbe620897625af4e160ab1c2a684d88247a0dbaead0d9a9447a5807feb4a4fd47016 languageName: node linkType: hard -"@vue/compiler-core@npm:3.5.25": - version: 3.5.25 - resolution: "@vue/compiler-core@npm:3.5.25" +"@vue/compiler-core@npm:3.5.26": + version: 3.5.26 + resolution: "@vue/compiler-core@npm:3.5.26" dependencies: "@babel/parser": "npm:^7.28.5" - "@vue/shared": "npm:3.5.25" - entities: "npm:^4.5.0" + "@vue/shared": "npm:3.5.26" + entities: "npm:^7.0.0" estree-walker: "npm:^2.0.2" source-map-js: "npm:^1.2.1" - checksum: 10c0/aa04eadb7751d825257949c7a2813833eff815795ea9c145cc8a603fb2d461c3a0f29714ff601f54331a79fca627d1e9654308a5fc4b4fef9a032847cb8380b3 + checksum: 10c0/7f777efb4157e81263672c3b62ade61831295ce9fbf29cd5ce25bf1a8f352171edaac622580297ad667acbc5aa403d48aa65f4bf6b1dbfd862844f12fb9a13cf languageName: node linkType: hard -"@vue/compiler-dom@npm:3.5.25": - version: 3.5.25 - resolution: "@vue/compiler-dom@npm:3.5.25" +"@vue/compiler-dom@npm:3.5.26": + version: 3.5.26 + resolution: "@vue/compiler-dom@npm:3.5.26" dependencies: - "@vue/compiler-core": "npm:3.5.25" - "@vue/shared": "npm:3.5.25" - checksum: 10c0/d02fce117e9633294bc697db7b037f98b91807bb9408db914e9ed5cccb8f29b260230f3771e2f9dcc2f66a252399efea623091853e6bf8469c5861c24032bf8e + "@vue/compiler-core": "npm:3.5.26" + "@vue/shared": "npm:3.5.26" + checksum: 10c0/39fe35374276467c63e299c1bd72558a65f534fe2a69404699bf3d5c0b4c39b459af6500f4d79b3b38cb0067760940ded5b4c29f021eccfec564eee36206b709 languageName: node linkType: hard -"@vue/compiler-sfc@npm:3.5.25": - version: 3.5.25 - resolution: "@vue/compiler-sfc@npm:3.5.25" +"@vue/compiler-sfc@npm:3.5.26": + version: 3.5.26 + resolution: "@vue/compiler-sfc@npm:3.5.26" dependencies: "@babel/parser": "npm:^7.28.5" - "@vue/compiler-core": "npm:3.5.25" - "@vue/compiler-dom": "npm:3.5.25" - "@vue/compiler-ssr": "npm:3.5.25" - "@vue/shared": "npm:3.5.25" + "@vue/compiler-core": "npm:3.5.26" + "@vue/compiler-dom": "npm:3.5.26" + "@vue/compiler-ssr": "npm:3.5.26" + "@vue/shared": "npm:3.5.26" estree-walker: "npm:^2.0.2" magic-string: "npm:^0.30.21" postcss: "npm:^8.5.6" source-map-js: "npm:^1.2.1" - checksum: 10c0/8325cc69a288501f700fed093ca20f2fac8a405035998dcb75bceeef961a294b1047506dc554a6cd66840cbdab048792c2451fdfe01a0f23a4a7cfccfbb5f777 + checksum: 10c0/0d9fe747bc4ddbc69ad06de316e5ec4ba8aa374ea824f71c2c7d3659f08a88e2102e152e89196f131903b41b4c5731c2d05ee5f889afdca6596128fa0eedb913 languageName: node linkType: hard -"@vue/compiler-ssr@npm:3.5.25": - version: 3.5.25 - resolution: "@vue/compiler-ssr@npm:3.5.25" +"@vue/compiler-ssr@npm:3.5.26": + version: 3.5.26 + resolution: "@vue/compiler-ssr@npm:3.5.26" dependencies: - "@vue/compiler-dom": "npm:3.5.25" - "@vue/shared": "npm:3.5.25" - checksum: 10c0/bdaa962d7b35e8bfee97769d47c49ae1a3b5449b5720460fdc188df3d6680223c2f7bb27813da6ad6d248a6dc02983b400585fb3d061ce35df34698f19afc78b + "@vue/compiler-dom": "npm:3.5.26" + "@vue/shared": "npm:3.5.26" + checksum: 10c0/bcaece46af4c44be887cf3b944a40592bcaa928b9238151eaaba38cbe80cb667c4cc8c3a07e49d1f8b52c171345b484114b70e80bad5e75c0e3baccfc3e84870 languageName: node linkType: hard @@ -4308,53 +4329,53 @@ __metadata: languageName: node linkType: hard -"@vue/reactivity@npm:3.5.25": - version: 3.5.25 - resolution: "@vue/reactivity@npm:3.5.25" +"@vue/reactivity@npm:3.5.26": + version: 3.5.26 + resolution: "@vue/reactivity@npm:3.5.26" dependencies: - "@vue/shared": "npm:3.5.25" - checksum: 10c0/a0171f981ba466fe28e1d74edc23a43c3485065ae615b3123dc1efa999a371621fcd6bf7aec1528d47a862d7b85e7e8802aff26cb3fc101f642cc3b6d7c0904f + "@vue/shared": "npm:3.5.26" + checksum: 10c0/0a2788897310590a38525cf672131744b68c3fec23b6d3b8744f418ec70e1c6a95aace86a81934a1818f8bba1c7aedd29972dbf68a431b9aeabc9b10e66e7530 languageName: node linkType: hard -"@vue/runtime-core@npm:3.5.25": - version: 3.5.25 - resolution: "@vue/runtime-core@npm:3.5.25" +"@vue/runtime-core@npm:3.5.26": + version: 3.5.26 + resolution: "@vue/runtime-core@npm:3.5.26" dependencies: - "@vue/reactivity": "npm:3.5.25" - "@vue/shared": "npm:3.5.25" - checksum: 10c0/be2efe5300daeaecdd6313139bbf39c5aa2113a0d2619ef1fb3b6d7bf0b33c54d7defe54001459ea4b0ecb01c1d1103ed0a1108534ea55abc2ba1d17ae0eb8bf + "@vue/reactivity": "npm:3.5.26" + "@vue/shared": "npm:3.5.26" + checksum: 10c0/6e2f2223c5843c379d0c6046e5e5a6ff9c8dac6377e3dc3f260ece0e86ba92c0783d75bc71ac1085035beb9ec528ed9834deb1a35af3c687430b5a6637f84265 languageName: node linkType: hard -"@vue/runtime-dom@npm:3.5.25": - version: 3.5.25 - resolution: "@vue/runtime-dom@npm:3.5.25" +"@vue/runtime-dom@npm:3.5.26": + version: 3.5.26 + resolution: "@vue/runtime-dom@npm:3.5.26" dependencies: - "@vue/reactivity": "npm:3.5.25" - "@vue/runtime-core": "npm:3.5.25" - "@vue/shared": "npm:3.5.25" - csstype: "npm:^3.1.3" - checksum: 10c0/e71e6dde9254dda52b2fed17c882fa4d174735b94436cdf847b44d32554b94b77cc76cdf6f6e2d6d0bdbeec070b2cf3f1416a5efd85c2e682cbe6842b1bb3969 + "@vue/reactivity": "npm:3.5.26" + "@vue/runtime-core": "npm:3.5.26" + "@vue/shared": "npm:3.5.26" + csstype: "npm:^3.2.3" + checksum: 10c0/7918c71082e7baf8803816cf793fb3037eb8451954d1b85adbdf1396ed66a0871f9282bb60b01e23563a80d1edbea7164b1470a5a5e97d0eb7a113f8315a16d3 languageName: node linkType: hard -"@vue/server-renderer@npm:3.5.25": - version: 3.5.25 - resolution: "@vue/server-renderer@npm:3.5.25" +"@vue/server-renderer@npm:3.5.26": + version: 3.5.26 + resolution: "@vue/server-renderer@npm:3.5.26" dependencies: - "@vue/compiler-ssr": "npm:3.5.25" - "@vue/shared": "npm:3.5.25" + "@vue/compiler-ssr": "npm:3.5.26" + "@vue/shared": "npm:3.5.26" peerDependencies: - vue: 3.5.25 - checksum: 10c0/d49a21380db4416a3b24f4c8cc45c44432a1a4aac75970cf3d5654ecca3b04cfe2b1f4b218e19deac4dea9398f4ddbfab06de10661f76b19554208fe1826a620 + vue: 3.5.26 + checksum: 10c0/edbacb0d5510403d24a045ffc6025f7c4701febe6bba033e7a2be02b382f206e13d95620ff07ec2ad01b571a4012b9f5c5eff81ee806b744e0a1ab176e1bd27a languageName: node linkType: hard -"@vue/shared@npm:3.5.25, @vue/shared@npm:^3.5.13": - version: 3.5.25 - resolution: "@vue/shared@npm:3.5.25" - checksum: 10c0/8beda92b7c4b70eaffd7ecf30fe366f36f0ed57573696bbd277ad289d367dd23159e2a61a10a67a7d77e525f7a8f994c7f5c6b4736baf184f4b91ab053a7573d +"@vue/shared@npm:3.5.26, @vue/shared@npm:^3.5.13": + version: 3.5.26 + resolution: "@vue/shared@npm:3.5.26" + checksum: 10c0/176edf41858cdd3019fc063fda28a0a6f5c5299a350e09aebb19fbe352d5ca4f7fc18993bf749f07d06baa803030d31a9b8538eef852feb1ce5b3b5a99d5ef3c languageName: node linkType: hard @@ -4463,7 +4484,7 @@ __metadata: languageName: node linkType: hard -"accepts@npm:^1.3.7, accepts@npm:~1.3.7": +"accepts@npm:^1.3.7, accepts@npm:~1.3.8": version: 1.3.8 resolution: "accepts@npm:1.3.8" dependencies: @@ -4533,24 +4554,24 @@ __metadata: linkType: hard "algoliasearch@npm:^5.14.2": - version: 5.45.0 - resolution: "algoliasearch@npm:5.45.0" - dependencies: - "@algolia/abtesting": "npm:1.11.0" - "@algolia/client-abtesting": "npm:5.45.0" - "@algolia/client-analytics": "npm:5.45.0" - "@algolia/client-common": "npm:5.45.0" - "@algolia/client-insights": "npm:5.45.0" - "@algolia/client-personalization": "npm:5.45.0" - "@algolia/client-query-suggestions": "npm:5.45.0" - "@algolia/client-search": "npm:5.45.0" - "@algolia/ingestion": "npm:1.45.0" - "@algolia/monitoring": "npm:1.45.0" - "@algolia/recommend": "npm:5.45.0" - "@algolia/requester-browser-xhr": "npm:5.45.0" - "@algolia/requester-fetch": "npm:5.45.0" - "@algolia/requester-node-http": "npm:5.45.0" - checksum: 10c0/7b36b71198427d952b4f41637803a33bb130228ab54b8c3bd9f22b2ed29f4925bf1d38405abcb5fe787cbf9e15edeb563e0ac9d74a458d252c6866e801a5753a + version: 5.46.3 + resolution: "algoliasearch@npm:5.46.3" + dependencies: + "@algolia/abtesting": "npm:1.12.3" + "@algolia/client-abtesting": "npm:5.46.3" + "@algolia/client-analytics": "npm:5.46.3" + "@algolia/client-common": "npm:5.46.3" + "@algolia/client-insights": "npm:5.46.3" + "@algolia/client-personalization": "npm:5.46.3" + "@algolia/client-query-suggestions": "npm:5.46.3" + "@algolia/client-search": "npm:5.46.3" + "@algolia/ingestion": "npm:1.46.3" + "@algolia/monitoring": "npm:1.46.3" + "@algolia/recommend": "npm:5.46.3" + "@algolia/requester-browser-xhr": "npm:5.46.3" + "@algolia/requester-fetch": "npm:5.46.3" + "@algolia/requester-node-http": "npm:5.46.3" + checksum: 10c0/b325a0b2daea784c71e4b6ed32c650d53f083bc454497601dddafd3926343eb299ab30c8de0093bd0deb82c880e81e0f8b85af5b178299fc190a4244839ebc35 languageName: node linkType: hard @@ -4667,23 +4688,23 @@ __metadata: languageName: node linkType: hard -"arkregex@npm:0.0.3": - version: 0.0.3 - resolution: "arkregex@npm:0.0.3" +"arkregex@npm:0.0.5": + version: 0.0.5 + resolution: "arkregex@npm:0.0.5" dependencies: - "@ark/util": "npm:0.55.0" - checksum: 10c0/287cc2ef50cde2cf20afd7c46dc4f05a54314638cdf1a1716fbd4362a9e05441bf85b75e52d181515c492420c78916374721a9aaa2a84d2074cc25b2b04b11a7 + "@ark/util": "npm:0.56.0" + checksum: 10c0/1a39510e04d69b9287b9b53d3965afcc4ef27bdd9ff9c21a78092fcb841f35c11227d8476be66d2f76347deccfd10c202f395bd871383c328057ad004ffe7ebd languageName: node linkType: hard "arktype@npm:^2.1.15": - version: 2.1.27 - resolution: "arktype@npm:2.1.27" + version: 2.1.29 + resolution: "arktype@npm:2.1.29" dependencies: - "@ark/schema": "npm:0.55.0" - "@ark/util": "npm:0.55.0" - arkregex: "npm:0.0.3" - checksum: 10c0/148b8c802de8a00b28975aca903a806eae390463d046f6108b937eb98682c68c00867837ad426426a9d9c1034b2b32b2800f671d898b44fa11e36a190eb39a0c + "@ark/schema": "npm:0.56.0" + "@ark/util": "npm:0.56.0" + arkregex: "npm:0.0.5" + checksum: 10c0/c89cd5cc9eee7a5e14df0f32b228c06760b99440dabf2ed2d9272877a1607d7f27641d4105d1466b70fc620007fe864ddd826acee11c07102388c8dd301a20fe languageName: node linkType: hard @@ -4814,6 +4835,13 @@ __metadata: languageName: node linkType: hard +"async-generator-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-generator-function@npm:1.0.0" + checksum: 10c0/2c50ef856c543ad500d8d8777d347e3c1ba623b93e99c9263ecc5f965c1b12d2a140e2ab6e43c3d0b85366110696f28114649411cbcd10b452a92a2318394186 + languageName: node + linkType: hard + "async-limiter@npm:~1.0.0": version: 1.0.1 resolution: "async-limiter@npm:1.0.1" @@ -5037,19 +5065,19 @@ __metadata: languageName: node linkType: hard -"baseline-browser-mapping@npm:^2.8.25": - version: 2.8.31 - resolution: "baseline-browser-mapping@npm:2.8.31" +"baseline-browser-mapping@npm:^2.9.0": + version: 2.9.14 + resolution: "baseline-browser-mapping@npm:2.9.14" bin: baseline-browser-mapping: dist/cli.js - checksum: 10c0/e0b2fcb41bf36c5e27e122a4d4cc9e5f6b9747d31cd0bd1f771aee9c490eb1e01cd11a31db32286bd4b9221139ee332b5ab7e3893c18a4dbd0ce8915a9e180ed + checksum: 10c0/c9bf03c65e9a6690e4abbe60c269ad14ce5578cac09fed51ff1ed6e899e049afb094c2b173365cb2397d48012a83747500db6e79dca2761faf548aee10574d3d languageName: node linkType: hard "birpc@npm:^2.3.0": - version: 2.8.0 - resolution: "birpc@npm:2.8.0" - checksum: 10c0/03441ed726afa79c218c4681574fca231b3571a2f2c702587a656aa47474794483bcbbc2fc48760340f35f71484b19194923786829c00e72da7ade1c11391760 + version: 2.9.0 + resolution: "birpc@npm:2.9.0" + checksum: 10c0/2462d0d67061f95bae213b0b9b323a6643ff749f7457a25242897c99e31355f1bd522c17f83ecf57506351e3e28b4e38c12a39b8beddee2dd0cbf78f9b9876ce languageName: node linkType: hard @@ -5065,22 +5093,22 @@ __metadata: linkType: hard "body-parser@npm:^1.20.3": - version: 1.20.3 - resolution: "body-parser@npm:1.20.3" + version: 1.20.4 + resolution: "body-parser@npm:1.20.4" dependencies: - bytes: "npm:3.1.2" + bytes: "npm:~3.1.2" content-type: "npm:~1.0.5" debug: "npm:2.6.9" depd: "npm:2.0.0" - destroy: "npm:1.2.0" - http-errors: "npm:2.0.0" - iconv-lite: "npm:0.4.24" - on-finished: "npm:2.4.1" - qs: "npm:6.13.0" - raw-body: "npm:2.5.2" + destroy: "npm:~1.2.0" + http-errors: "npm:~2.0.1" + iconv-lite: "npm:~0.4.24" + on-finished: "npm:~2.4.1" + qs: "npm:~6.14.0" + raw-body: "npm:~2.5.3" type-is: "npm:~1.6.18" - unpipe: "npm:1.0.0" - checksum: 10c0/0a9a93b7518f222885498dcecaad528cf010dd109b071bf471c93def4bfe30958b83e03496eb9c1ad4896db543d999bb62be1a3087294162a88cfa1b42c16310 + unpipe: "npm:~1.0.0" + checksum: 10c0/569c1e896297d1fcd8f34026c8d0ab70b90d45343c15c5d8dff5de2bad08125fc1e2f8c2f3f4c1ac6c0caaad115218202594d37dcb8d89d9b5dcae1c2b736aa9 languageName: node linkType: hard @@ -5113,17 +5141,17 @@ __metadata: linkType: hard "browserslist@npm:^4.20.4, browserslist@npm:^4.24.0, browserslist@npm:^4.28.0": - version: 4.28.0 - resolution: "browserslist@npm:4.28.0" + version: 4.28.1 + resolution: "browserslist@npm:4.28.1" dependencies: - baseline-browser-mapping: "npm:^2.8.25" - caniuse-lite: "npm:^1.0.30001754" - electron-to-chromium: "npm:^1.5.249" + baseline-browser-mapping: "npm:^2.9.0" + caniuse-lite: "npm:^1.0.30001759" + electron-to-chromium: "npm:^1.5.263" node-releases: "npm:^2.0.27" - update-browserslist-db: "npm:^1.1.4" + update-browserslist-db: "npm:^1.2.0" bin: browserslist: cli.js - checksum: 10c0/4284fd568f7d40a496963083860d488cb2a89fb055b6affd316bebc59441fec938e090b3e62c0ee065eb0bc88cd1bc145f4300a16c75f3f565621c5823715ae1 + checksum: 10c0/545a5fa9d7234e3777a7177ec1e9134bb2ba60a69e6b95683f6982b1473aad347c77c1264ccf2ac5dea609a9731fbfbda6b85782bdca70f80f86e28a402504bd languageName: node linkType: hard @@ -5162,7 +5190,7 @@ __metadata: languageName: node linkType: hard -"bytes@npm:3.1.2": +"bytes@npm:3.1.2, bytes@npm:~3.1.2": version: 3.1.2 resolution: "bytes@npm:3.1.2" checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e @@ -5241,10 +5269,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001754": - version: 1.0.30001757 - resolution: "caniuse-lite@npm:1.0.30001757" - checksum: 10c0/3ccb71fa2bf1f8c96ff1bf9b918b08806fed33307e20a3ce3259155fda131eaf96cfcd88d3d309c8fd7f8285cc71d89a3b93648a1c04814da31c301f98508d42 +"caniuse-lite@npm:^1.0.30001759": + version: 1.0.30001764 + resolution: "caniuse-lite@npm:1.0.30001764" + checksum: 10c0/3fbc2bcb35792bd860e20210283e7c700aab10c5af435dbb8bfbf952edccaa3e7de8b479af0f600c4d23f269dbc166e16b7b72df5cd1981653b252174c9cbfa8 languageName: node linkType: hard @@ -5350,9 +5378,9 @@ __metadata: linkType: hard "cjs-module-lexer@npm:^2.1.0": - version: 2.1.1 - resolution: "cjs-module-lexer@npm:2.1.1" - checksum: 10c0/813697c0ed1533f4a88bd8051d8ae1cb1b21d3ff1c6a5720353817d50c3f3f83bb2af6bd83922aae94b3ef90d64d01a6eb123fa8249f4dc7215e3afd89364f86 + version: 2.2.0 + resolution: "cjs-module-lexer@npm:2.2.0" + checksum: 10c0/aec4ca58f87145fac221386790ecaae8b012f2e2359a45acb61d8c75ea4fa84f6ea869f17abc1a7e91a808eff0fed581209632f03540de16f72f0a28f5fd35ac languageName: node linkType: hard @@ -5684,7 +5712,7 @@ __metadata: languageName: node linkType: hard -"csstype@npm:^3.1.3, csstype@npm:^3.2.2": +"csstype@npm:^3.2.2, csstype@npm:^3.2.3": version: 3.2.3 resolution: "csstype@npm:3.2.3" checksum: 10c0/cd29c51e70fa822f1cecd8641a1445bed7063697469d35633b516e60fe8c1bde04b08f6c5b6022136bb669b64c63d4173af54864510fbb4ee23281801841a3ce @@ -5781,14 +5809,14 @@ __metadata: linkType: hard "dedent@npm:^1.6.0": - version: 1.7.0 - resolution: "dedent@npm:1.7.0" + version: 1.7.1 + resolution: "dedent@npm:1.7.1" peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: babel-plugin-macros: optional: true - checksum: 10c0/c5e8a8beb5072bd5e520cb64b27a82d7ec3c2a63ee5ce47dbc2a05d5b7700cefd77a992a752cd0a8b1d979c1db06b14fb9486e805f3ad6088eda6e07cd9bf2d5 + checksum: 10c0/ae29ec1c5bd5216c698c9f23acaa5b720260fd4cef3c8b5af887eb5f8c9e6fdd5fed8668767437b4efea35e2991bd798987717633411a1734807c28255769b78 languageName: node linkType: hard @@ -5881,7 +5909,7 @@ __metadata: languageName: node linkType: hard -"depd@npm:2.0.0": +"depd@npm:2.0.0, depd@npm:~2.0.0": version: 2.0.0 resolution: "depd@npm:2.0.0" checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c @@ -5895,7 +5923,7 @@ __metadata: languageName: node linkType: hard -"destroy@npm:1.2.0": +"destroy@npm:1.2.0, destroy@npm:~1.2.0": version: 1.2.0 resolution: "destroy@npm:1.2.0" checksum: 10c0/bd7633942f57418f5a3b80d5cb53898127bcf53e24cdf5d5f4396be471417671f0fee48a4ebe9a1e9defbde2a31280011af58a57e090ff822f589b443ed4e643 @@ -5970,10 +5998,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.5.249": - version: 1.5.261 - resolution: "electron-to-chromium@npm:1.5.261" - checksum: 10c0/648c59181bfa119eea0c7798d338e1f157dbbb2b14bf29c2bc0bef96ad0803c1a7a8db254e08a5e12dbccca77e296374a69615a62591cd8a28c12dc8e3b7fbef +"electron-to-chromium@npm:^1.5.263": + version: 1.5.267 + resolution: "electron-to-chromium@npm:1.5.267" + checksum: 10c0/0732bdb891b657f2e43266a3db8cf86fff6cecdcc8d693a92beff214e136cb5c2ee7dc5945ed75fa1db16e16bad0c38695527a020d15f39e79084e0b2e447621 languageName: node linkType: hard @@ -6044,10 +6072,10 @@ __metadata: languageName: node linkType: hard -"entities@npm:^4.5.0": - version: 4.5.0 - resolution: "entities@npm:4.5.0" - checksum: 10c0/5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250 +"entities@npm:^7.0.0": + version: 7.0.0 + resolution: "entities@npm:7.0.0" + checksum: 10c0/4e7cc40cd00b64adede81780fd85c0bd0a905e863b5ef0b01718028ffbc113886c281deb57e1ce0e13a6e349a2d404ff383c876673b81d6dc56e87bf3e5a022a languageName: node linkType: hard @@ -6093,18 +6121,18 @@ __metadata: linkType: hard "errorhandler@npm:^1.5.1": - version: 1.5.1 - resolution: "errorhandler@npm:1.5.1" + version: 1.5.2 + resolution: "errorhandler@npm:1.5.2" dependencies: - accepts: "npm:~1.3.7" + accepts: "npm:~1.3.8" escape-html: "npm:~1.0.3" - checksum: 10c0/58568c7eec3f4de5dc49e4385a50af66b76759b3463a86e4a85e05c4f7a5348f51d3d23af51c3a23eceef6278045d0a47d975da11bdaaf92d1d783dc677e980e + checksum: 10c0/13fc3ba2358893f1f2da43e246105d42a78bf448bf55257b75114c757bd566dcae8b0cd76a3c8777bc451a552a9215979a5e8205bdeee066550cc4acabbfd5af languageName: node linkType: hard -"es-abstract@npm:^1.17.5, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.6, es-abstract@npm:^1.23.9, es-abstract@npm:^1.24.0": - version: 1.24.0 - resolution: "es-abstract@npm:1.24.0" +"es-abstract@npm:^1.17.5, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.6, es-abstract@npm:^1.23.9, es-abstract@npm:^1.24.0, es-abstract@npm:^1.24.1": + version: 1.24.1 + resolution: "es-abstract@npm:1.24.1" dependencies: array-buffer-byte-length: "npm:^1.0.2" arraybuffer.prototype.slice: "npm:^1.0.4" @@ -6160,7 +6188,7 @@ __metadata: typed-array-length: "npm:^1.0.7" unbox-primitive: "npm:^1.1.0" which-typed-array: "npm:^1.1.19" - checksum: 10c0/b256e897be32df5d382786ce8cce29a1dd8c97efbab77a26609bd70f2ed29fbcfc7a31758cb07488d532e7ccccdfca76c1118f2afe5a424cdc05ca007867c318 + checksum: 10c0/fca062ef8b5daacf743732167d319a212d45cb655b0bb540821d38d715416ae15b04b84fc86da9e2c89135aa7b337337b6c867f84dcde698d75d55688d5d765c languageName: node linkType: hard @@ -6179,26 +6207,26 @@ __metadata: linkType: hard "es-iterator-helpers@npm:^1.2.1": - version: 1.2.1 - resolution: "es-iterator-helpers@npm:1.2.1" + version: 1.2.2 + resolution: "es-iterator-helpers@npm:1.2.2" dependencies: call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.3" + call-bound: "npm:^1.0.4" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.6" + es-abstract: "npm:^1.24.1" es-errors: "npm:^1.3.0" - es-set-tostringtag: "npm:^2.0.3" + es-set-tostringtag: "npm:^2.1.0" function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.6" + get-intrinsic: "npm:^1.3.0" globalthis: "npm:^1.0.4" gopd: "npm:^1.2.0" has-property-descriptors: "npm:^1.0.2" has-proto: "npm:^1.2.0" has-symbols: "npm:^1.1.0" internal-slot: "npm:^1.1.0" - iterator.prototype: "npm:^1.1.4" + iterator.prototype: "npm:^1.1.5" safe-array-concat: "npm:^1.1.3" - checksum: 10c0/97e3125ca472d82d8aceea11b790397648b52c26d8768ea1c1ee6309ef45a8755bb63225a43f3150c7591cffc17caf5752459f1e70d583b4184370a8f04ebd2f + checksum: 10c0/1ced8abf845a45e660dd77b5f3a64358421df70e4a0bd1897d5ddfefffed8409a6a2ca21241b9367e639df9eca74abc1c678b3020bffe6bee1f1826393658ddb languageName: node linkType: hard @@ -6211,7 +6239,7 @@ __metadata: languageName: node linkType: hard -"es-set-tostringtag@npm:^2.0.3, es-set-tostringtag@npm:^2.1.0": +"es-set-tostringtag@npm:^2.1.0": version: 2.1.0 resolution: "es-set-tostringtag@npm:2.1.0" dependencies: @@ -6547,8 +6575,8 @@ __metadata: linkType: hard "eslint@npm:^9.35.0": - version: 9.39.1 - resolution: "eslint@npm:9.39.1" + version: 9.39.2 + resolution: "eslint@npm:9.39.2" dependencies: "@eslint-community/eslint-utils": "npm:^4.8.0" "@eslint-community/regexpp": "npm:^4.12.1" @@ -6556,7 +6584,7 @@ __metadata: "@eslint/config-helpers": "npm:^0.4.2" "@eslint/core": "npm:^0.17.0" "@eslint/eslintrc": "npm:^3.3.1" - "@eslint/js": "npm:9.39.1" + "@eslint/js": "npm:9.39.2" "@eslint/plugin-kit": "npm:^0.4.1" "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" @@ -6591,7 +6619,7 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10c0/59b2480639404ba24578ca480f973683b87b7aac8aa7e349240474a39067804fd13cd8b9cb22fee074170b8c7c563b57bab703ec0f0d3f81ea017e5d2cad299d + checksum: 10c0/bb88ca8fd16bb7e1ac3e13804c54d41c583214460c0faa7b3e7c574e69c5600c7122295500fb4b0c06067831111db740931e98da1340329527658e1cf80073d3 languageName: node linkType: hard @@ -6617,11 +6645,11 @@ __metadata: linkType: hard "esquery@npm:^1.5.0": - version: 1.6.0 - resolution: "esquery@npm:1.6.0" + version: 1.7.0 + resolution: "esquery@npm:1.7.0" dependencies: estraverse: "npm:^5.1.0" - checksum: 10c0/cb9065ec605f9da7a76ca6dadb0619dfb611e37a81e318732977d90fab50a256b95fee2d925fba7c2f3f0523aa16f91587246693bc09bc34d5a59575fe6e93d2 + checksum: 10c0/77d5173db450b66f3bc685d11af4c90cffeedb340f34a39af96d43509a335ce39c894fd79233df32d38f5e4e219fa0f7076f6ec90bae8320170ba082c0db4793 languageName: node linkType: hard @@ -6798,11 +6826,11 @@ __metadata: linkType: hard "fastq@npm:^1.6.0": - version: 1.19.1 - resolution: "fastq@npm:1.19.1" + version: 1.20.1 + resolution: "fastq@npm:1.20.1" dependencies: reusify: "npm:^1.0.4" - checksum: 10c0/ebc6e50ac7048daaeb8e64522a1ea7a26e92b3cee5cd1c7f2316cdca81ba543aa40a136b53891446ea5c3a67ec215fbaca87ad405f102dd97012f62916905630 + checksum: 10c0/e5dd725884decb1f11e5c822221d76136f239d0236f176fab80b7b8f9e7619ae57e6b4e5b73defc21e6b9ef99437ee7b545cff8e6c2c337819633712fa9d352e languageName: node linkType: hard @@ -6916,11 +6944,11 @@ __metadata: linkType: hard "focus-trap@npm:^7.6.4": - version: 7.6.6 - resolution: "focus-trap@npm:7.6.6" + version: 7.8.0 + resolution: "focus-trap@npm:7.8.0" dependencies: - tabbable: "npm:^6.3.0" - checksum: 10c0/61ccb0c4d990a03dfbb0878ff3f79cadfb84e36f39bb138fbf4ae88edbfecd42d0f02152f928c338185324cf4cde307c8d4889b6bf19876e4bfc84ea29f40bee + tabbable: "npm:^6.4.0" + checksum: 10c0/b75f97c2896de569fc779f9b898b7c4a48b0605176b2a7a4b70a64bc2ae39a0b3c66fc7c8b2cd4e5d1e0a439b031e025a7cd1031d3a68ab652c0495bc14f070a languageName: node linkType: hard @@ -6943,7 +6971,7 @@ __metadata: languageName: node linkType: hard -"fresh@npm:0.5.2": +"fresh@npm:~0.5.2": version: 0.5.2 resolution: "fresh@npm:0.5.2" checksum: 10c0/c6d27f3ed86cc5b601404822f31c900dd165ba63fff8152a3ef714e2012e7535027063bc67ded4cb5b3a49fa596495d46cacd9f47d6328459cf570f08b7d9e5a @@ -7064,20 +7092,23 @@ __metadata: linkType: hard "get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7, get-intrinsic@npm:^1.3.0": - version: 1.3.0 - resolution: "get-intrinsic@npm:1.3.0" + version: 1.3.1 + resolution: "get-intrinsic@npm:1.3.1" dependencies: + async-function: "npm:^1.0.0" + async-generator-function: "npm:^1.0.0" call-bind-apply-helpers: "npm:^1.0.2" es-define-property: "npm:^1.0.1" es-errors: "npm:^1.3.0" es-object-atoms: "npm:^1.1.1" function-bind: "npm:^1.1.2" + generator-function: "npm:^2.0.0" get-proto: "npm:^1.0.1" gopd: "npm:^1.2.0" has-symbols: "npm:^1.1.0" hasown: "npm:^2.0.2" math-intrinsics: "npm:^1.1.0" - checksum: 10c0/52c81808af9a8130f581e6a6a83e1ba4a9f703359e7a438d1369a5267a25412322f03dcbd7c549edaef0b6214a0630a28511d7df0130c93cfd380f4fa0b5b66a + checksum: 10c0/9f4ab0cf7efe0fd2c8185f52e6f637e708f3a112610c88869f8f041bb9ecc2ce44bf285dfdbdc6f4f7c277a5b88d8e94a432374d97cca22f3de7fc63795deb5d languageName: node linkType: hard @@ -7451,16 +7482,16 @@ __metadata: languageName: node linkType: hard -"http-errors@npm:2.0.0": - version: 2.0.0 - resolution: "http-errors@npm:2.0.0" +"http-errors@npm:~2.0.1": + version: 2.0.1 + resolution: "http-errors@npm:2.0.1" dependencies: - depd: "npm:2.0.0" - inherits: "npm:2.0.4" - setprototypeof: "npm:1.2.0" - statuses: "npm:2.0.1" - toidentifier: "npm:1.0.1" - checksum: 10c0/fc6f2715fe188d091274b5ffc8b3657bd85c63e969daa68ccb77afb05b071a4b62841acb7a21e417b5539014dff2ebf9550f0b14a9ff126f2734a7c1387f8e19 + depd: "npm:~2.0.0" + inherits: "npm:~2.0.4" + setprototypeof: "npm:~1.2.0" + statuses: "npm:~2.0.2" + toidentifier: "npm:~1.0.1" + checksum: 10c0/fb38906cef4f5c83952d97661fe14dc156cb59fe54812a42cd448fa57b5c5dfcb38a40a916957737bd6b87aab257c0648d63eb5b6a9ca9f548e105b6072712d4 languageName: node linkType: hard @@ -7498,15 +7529,6 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.4.24": - version: 0.4.24 - resolution: "iconv-lite@npm:0.4.24" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3" - checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 - languageName: node - linkType: hard - "iconv-lite@npm:^0.6.2": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" @@ -7516,6 +7538,15 @@ __metadata: languageName: node linkType: hard +"iconv-lite@npm:~0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3" + checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 + languageName: node + linkType: hard + "ieee754@npm:^1.1.13": version: 1.2.1 resolution: "ieee754@npm:1.2.1" @@ -7601,7 +7632,7 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": +"inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3, inherits@npm:~2.0.4": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 @@ -8141,7 +8172,7 @@ __metadata: languageName: node linkType: hard -"iterator.prototype@npm:^1.1.4": +"iterator.prototype@npm:^1.1.5": version: 1.1.5 resolution: "iterator.prototype@npm:1.1.5" dependencies: @@ -8766,7 +8797,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^4.1.0": +"js-yaml@npm:^4.1.0, js-yaml@npm:^4.1.1": version: 4.1.1 resolution: "js-yaml@npm:4.1.1" dependencies: @@ -8914,90 +8945,90 @@ __metadata: languageName: node linkType: hard -"lefthook-darwin-arm64@npm:2.0.4": - version: 2.0.4 - resolution: "lefthook-darwin-arm64@npm:2.0.4" +"lefthook-darwin-arm64@npm:2.0.15": + version: 2.0.15 + resolution: "lefthook-darwin-arm64@npm:2.0.15" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"lefthook-darwin-x64@npm:2.0.4": - version: 2.0.4 - resolution: "lefthook-darwin-x64@npm:2.0.4" +"lefthook-darwin-x64@npm:2.0.15": + version: 2.0.15 + resolution: "lefthook-darwin-x64@npm:2.0.15" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"lefthook-freebsd-arm64@npm:2.0.4": - version: 2.0.4 - resolution: "lefthook-freebsd-arm64@npm:2.0.4" +"lefthook-freebsd-arm64@npm:2.0.15": + version: 2.0.15 + resolution: "lefthook-freebsd-arm64@npm:2.0.15" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"lefthook-freebsd-x64@npm:2.0.4": - version: 2.0.4 - resolution: "lefthook-freebsd-x64@npm:2.0.4" +"lefthook-freebsd-x64@npm:2.0.15": + version: 2.0.15 + resolution: "lefthook-freebsd-x64@npm:2.0.15" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"lefthook-linux-arm64@npm:2.0.4": - version: 2.0.4 - resolution: "lefthook-linux-arm64@npm:2.0.4" +"lefthook-linux-arm64@npm:2.0.15": + version: 2.0.15 + resolution: "lefthook-linux-arm64@npm:2.0.15" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"lefthook-linux-x64@npm:2.0.4": - version: 2.0.4 - resolution: "lefthook-linux-x64@npm:2.0.4" +"lefthook-linux-x64@npm:2.0.15": + version: 2.0.15 + resolution: "lefthook-linux-x64@npm:2.0.15" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"lefthook-openbsd-arm64@npm:2.0.4": - version: 2.0.4 - resolution: "lefthook-openbsd-arm64@npm:2.0.4" +"lefthook-openbsd-arm64@npm:2.0.15": + version: 2.0.15 + resolution: "lefthook-openbsd-arm64@npm:2.0.15" conditions: os=openbsd & cpu=arm64 languageName: node linkType: hard -"lefthook-openbsd-x64@npm:2.0.4": - version: 2.0.4 - resolution: "lefthook-openbsd-x64@npm:2.0.4" +"lefthook-openbsd-x64@npm:2.0.15": + version: 2.0.15 + resolution: "lefthook-openbsd-x64@npm:2.0.15" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"lefthook-windows-arm64@npm:2.0.4": - version: 2.0.4 - resolution: "lefthook-windows-arm64@npm:2.0.4" +"lefthook-windows-arm64@npm:2.0.15": + version: 2.0.15 + resolution: "lefthook-windows-arm64@npm:2.0.15" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"lefthook-windows-x64@npm:2.0.4": - version: 2.0.4 - resolution: "lefthook-windows-x64@npm:2.0.4" +"lefthook-windows-x64@npm:2.0.15": + version: 2.0.15 + resolution: "lefthook-windows-x64@npm:2.0.15" conditions: os=win32 & cpu=x64 languageName: node linkType: hard "lefthook@npm:^2.0.3": - version: 2.0.4 - resolution: "lefthook@npm:2.0.4" - dependencies: - lefthook-darwin-arm64: "npm:2.0.4" - lefthook-darwin-x64: "npm:2.0.4" - lefthook-freebsd-arm64: "npm:2.0.4" - lefthook-freebsd-x64: "npm:2.0.4" - lefthook-linux-arm64: "npm:2.0.4" - lefthook-linux-x64: "npm:2.0.4" - lefthook-openbsd-arm64: "npm:2.0.4" - lefthook-openbsd-x64: "npm:2.0.4" - lefthook-windows-arm64: "npm:2.0.4" - lefthook-windows-x64: "npm:2.0.4" + version: 2.0.15 + resolution: "lefthook@npm:2.0.15" + dependencies: + lefthook-darwin-arm64: "npm:2.0.15" + lefthook-darwin-x64: "npm:2.0.15" + lefthook-freebsd-arm64: "npm:2.0.15" + lefthook-freebsd-x64: "npm:2.0.15" + lefthook-linux-arm64: "npm:2.0.15" + lefthook-linux-x64: "npm:2.0.15" + lefthook-openbsd-arm64: "npm:2.0.15" + lefthook-openbsd-x64: "npm:2.0.15" + lefthook-windows-arm64: "npm:2.0.15" + lefthook-windows-x64: "npm:2.0.15" dependenciesMeta: lefthook-darwin-arm64: optional: true @@ -9021,7 +9052,7 @@ __metadata: optional: true bin: lefthook: bin/index.js - checksum: 10c0/7283dacf89d5ceeffbc782157e8d0416210ad8550226105c2499ca170f02bfdd5c5045c0faf03755a2d5bb129df7102a9508384aae797d24c59830d63d76a964 + checksum: 10c0/c206115d4cbdf707f7d00d4d3db7f4e52f25408fa226f6c2066a7de86578a2f0b5ad76c053aee87a23cce0da1625f00f4d6b1b278b4a9c57e8bf2e492fd2f384 languageName: node linkType: hard @@ -9219,9 +9250,9 @@ __metadata: linkType: hard "lru-cache@npm:^11.0.0, lru-cache@npm:^11.1.0, lru-cache@npm:^11.2.1": - version: 11.2.2 - resolution: "lru-cache@npm:11.2.2" - checksum: 10c0/72d7831bbebc85e2bdefe01047ee5584db69d641c48d7a509e86f66f6ee111b30af7ec3bd68a967d47b69a4b1fa8bbf3872630bd06a63b6735e6f0a5f1c8e83d + version: 11.2.4 + resolution: "lru-cache@npm:11.2.4" + checksum: 10c0/4a24f9b17537619f9144d7b8e42cd5a225efdfd7076ebe7b5e7dc02b860a818455201e67fbf000765233fe7e339d3c8229fc815e9b58ee6ede511e07608c19b2 languageName: node linkType: hard @@ -10076,21 +10107,21 @@ __metadata: languageName: node linkType: hard -"on-finished@npm:2.4.1": - version: 2.4.1 - resolution: "on-finished@npm:2.4.1" +"on-finished@npm:~2.3.0": + version: 2.3.0 + resolution: "on-finished@npm:2.3.0" dependencies: ee-first: "npm:1.1.1" - checksum: 10c0/46fb11b9063782f2d9968863d9cbba33d77aa13c17f895f56129c274318b86500b22af3a160fe9995aa41317efcd22941b6eba747f718ced08d9a73afdb087b4 + checksum: 10c0/c904f9e518b11941eb60279a3cbfaf1289bd0001f600a950255b1dede9fe3df8cd74f38483550b3bb9485165166acb5db500c3b4c4337aec2815c88c96fcc2ea languageName: node linkType: hard -"on-finished@npm:~2.3.0": - version: 2.3.0 - resolution: "on-finished@npm:2.3.0" +"on-finished@npm:~2.4.1": + version: 2.4.1 + resolution: "on-finished@npm:2.4.1" dependencies: ee-first: "npm:1.1.1" - checksum: 10c0/c904f9e518b11941eb60279a3cbfaf1289bd0001f600a950255b1dede9fe3df8cd74f38483550b3bb9485165166acb5db500c3b4c4337aec2815c88c96fcc2ea + checksum: 10c0/46fb11b9063782f2d9968863d9cbba33d77aa13c17f895f56129c274318b86500b22af3a160fe9995aa41317efcd22941b6eba747f718ced08d9a73afdb087b4 languageName: node linkType: hard @@ -10442,9 +10473,9 @@ __metadata: linkType: hard "preact@npm:^10.0.0": - version: 10.27.2 - resolution: "preact@npm:10.27.2" - checksum: 10c0/951b708f7afa34391e054b0f1026430e8f5f6d5de24020beef70288e17067e473b9ee5503a994e0a80ced014826f56708fea5902f80346432c22dfcf3dff4be7 + version: 10.28.2 + resolution: "preact@npm:10.28.2" + checksum: 10c0/eb60bf526eb6971701e6ac9c25236aca451f17f99e9c24704419196989b15bb576ed3101e084b151cd0fb30546b3e5e1ba73b774e8be2f2ed8187db42ec65faf languageName: node linkType: hard @@ -10463,11 +10494,11 @@ __metadata: linkType: hard "prettier-linter-helpers@npm:^1.0.0": - version: 1.0.0 - resolution: "prettier-linter-helpers@npm:1.0.0" + version: 1.0.1 + resolution: "prettier-linter-helpers@npm:1.0.1" dependencies: fast-diff: "npm:^1.1.2" - checksum: 10c0/81e0027d731b7b3697ccd2129470ed9913ecb111e4ec175a12f0fcfab0096516373bf0af2fef132af50cafb0a905b74ff57996d615f59512bb9ac7378fcc64ab + checksum: 10c0/91cea965681bc5f62c9d26bd3ca6358b81557261d4802e96ec1cf0acbd99d4b61632d53320cd2c3ec7d7f7805a81345644108a41ef46ddc9688e783a9ac792d1 languageName: node linkType: hard @@ -10580,12 +10611,12 @@ __metadata: languageName: node linkType: hard -"qs@npm:6.13.0": - version: 6.13.0 - resolution: "qs@npm:6.13.0" +"qs@npm:~6.14.0": + version: 6.14.1 + resolution: "qs@npm:6.14.1" dependencies: - side-channel: "npm:^1.0.6" - checksum: 10c0/62372cdeec24dc83a9fb240b7533c0fdcf0c5f7e0b83343edd7310f0ab4c8205a5e7c56406531f2e47e1b4878a3821d652be4192c841de5b032ca83619d8f860 + side-channel: "npm:^1.1.0" + checksum: 10c0/0e3b22dc451f48ce5940cbbc7c7d9068d895074f8c969c0801ac15c1313d1859c4d738e46dc4da2f498f41a9ffd8c201bd9fb12df67799b827db94cc373d2613 languageName: node linkType: hard @@ -10612,15 +10643,15 @@ __metadata: languageName: node linkType: hard -"raw-body@npm:2.5.2": - version: 2.5.2 - resolution: "raw-body@npm:2.5.2" +"raw-body@npm:~2.5.3": + version: 2.5.3 + resolution: "raw-body@npm:2.5.3" dependencies: - bytes: "npm:3.1.2" - http-errors: "npm:2.0.0" - iconv-lite: "npm:0.4.24" - unpipe: "npm:1.0.0" - checksum: 10c0/b201c4b66049369a60e766318caff5cb3cc5a900efd89bdac431463822d976ad0670912c931fdbdcf5543207daf6f6833bca57aa116e1661d2ea91e12ca692c4 + bytes: "npm:~3.1.2" + http-errors: "npm:~2.0.1" + iconv-lite: "npm:~0.4.24" + unpipe: "npm:~1.0.0" + checksum: 10c0/449844344fc90547fb994383a494b83300e4f22199f146a79f68d78a199a8f2a923ea9fd29c3be979bfd50291a3884733619ffc15ba02a32e703b612f8d3f74a languageName: node linkType: hard @@ -10649,8 +10680,8 @@ __metadata: linkType: hard "react-native-builder-bob@npm:^0.40.16": - version: 0.40.16 - resolution: "react-native-builder-bob@npm:0.40.16" + version: 0.40.17 + resolution: "react-native-builder-bob@npm:0.40.17" dependencies: "@babel/core": "npm:^7.25.2" "@babel/plugin-transform-flow-strip-types": "npm:^7.26.5" @@ -10671,16 +10702,16 @@ __metadata: json5: "npm:^2.2.1" kleur: "npm:^4.1.4" prompts: "npm:^2.4.2" - react-native-monorepo-config: "npm:^0.1.8" + react-native-monorepo-config: "npm:^0.3.1" which: "npm:^2.0.2" yargs: "npm:^17.5.1" bin: bob: bin/bob - checksum: 10c0/d7f3c9a9cfb38863c3a2c14b1e24d182e59903244e933bf3a3f8dc0c3523ef860d005e4062cc36bab7228891c772275c5a198118f4bf6879aa2c35bd40d4e8fb + checksum: 10c0/b3bb6f907a181ea0473cbf68cbc9f594eb5f2adc885011f4d29c961258d5f123494c28565881c0190f9f1a297b11aad7a1238742dd88345b0390e4343d9c2c11 languageName: node linkType: hard -"react-native-monorepo-config@npm:^0.1.8, react-native-monorepo-config@npm:^0.1.9": +"react-native-monorepo-config@npm:^0.1.9": version: 0.1.10 resolution: "react-native-monorepo-config@npm:0.1.10" dependencies: @@ -10690,6 +10721,16 @@ __metadata: languageName: node linkType: hard +"react-native-monorepo-config@npm:^0.3.1": + version: 0.3.2 + resolution: "react-native-monorepo-config@npm:0.3.2" + dependencies: + escape-string-regexp: "npm:^5.0.0" + fast-glob: "npm:^3.3.3" + checksum: 10c0/c711f6a898ae263b68aef3bf8bd9c3806cd489676da8c5480dd155859b47bcd49a7700f3c056896c19b3ce2c2c3ea42a5482def93b0ff03febbe023ceb128c96 + languageName: node + linkType: hard + "react-native-nitro-modules@npm:^0.31.10": version: 0.31.10 resolution: "react-native-nitro-modules@npm:0.31.10" @@ -10846,11 +10887,11 @@ __metadata: linkType: hard "regex@npm:^6.0.1": - version: 6.0.1 - resolution: "regex@npm:6.0.1" + version: 6.1.0 + resolution: "regex@npm:6.1.0" dependencies: regex-utilities: "npm:^2.3.0" - checksum: 10c0/687b3e063d4ca19b0de7c55c24353f868a0fb9ba21512692470d2fb412e3a410894dd5924c91ea49d8cb8fa865e36ec956e52436ae0a256bdc095ff136c30aba + checksum: 10c0/6e0ee2a1c17d5a66dc1120dfc51899dedf6677857e83a0df4d5a822ebb8645a54a079772efc1ade382b67aad35e4e22b5bd2d33c05ed28b0e000f8f57eb0aec1 languageName: node linkType: hard @@ -11039,31 +11080,34 @@ __metadata: linkType: hard "rollup@npm:^4.20.0": - version: 4.53.3 - resolution: "rollup@npm:4.53.3" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.53.3" - "@rollup/rollup-android-arm64": "npm:4.53.3" - "@rollup/rollup-darwin-arm64": "npm:4.53.3" - "@rollup/rollup-darwin-x64": "npm:4.53.3" - "@rollup/rollup-freebsd-arm64": "npm:4.53.3" - "@rollup/rollup-freebsd-x64": "npm:4.53.3" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.53.3" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.53.3" - "@rollup/rollup-linux-arm64-gnu": "npm:4.53.3" - "@rollup/rollup-linux-arm64-musl": "npm:4.53.3" - "@rollup/rollup-linux-loong64-gnu": "npm:4.53.3" - "@rollup/rollup-linux-ppc64-gnu": "npm:4.53.3" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.53.3" - "@rollup/rollup-linux-riscv64-musl": "npm:4.53.3" - "@rollup/rollup-linux-s390x-gnu": "npm:4.53.3" - "@rollup/rollup-linux-x64-gnu": "npm:4.53.3" - "@rollup/rollup-linux-x64-musl": "npm:4.53.3" - "@rollup/rollup-openharmony-arm64": "npm:4.53.3" - "@rollup/rollup-win32-arm64-msvc": "npm:4.53.3" - "@rollup/rollup-win32-ia32-msvc": "npm:4.53.3" - "@rollup/rollup-win32-x64-gnu": "npm:4.53.3" - "@rollup/rollup-win32-x64-msvc": "npm:4.53.3" + version: 4.55.1 + resolution: "rollup@npm:4.55.1" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.55.1" + "@rollup/rollup-android-arm64": "npm:4.55.1" + "@rollup/rollup-darwin-arm64": "npm:4.55.1" + "@rollup/rollup-darwin-x64": "npm:4.55.1" + "@rollup/rollup-freebsd-arm64": "npm:4.55.1" + "@rollup/rollup-freebsd-x64": "npm:4.55.1" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.55.1" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.55.1" + "@rollup/rollup-linux-arm64-gnu": "npm:4.55.1" + "@rollup/rollup-linux-arm64-musl": "npm:4.55.1" + "@rollup/rollup-linux-loong64-gnu": "npm:4.55.1" + "@rollup/rollup-linux-loong64-musl": "npm:4.55.1" + "@rollup/rollup-linux-ppc64-gnu": "npm:4.55.1" + "@rollup/rollup-linux-ppc64-musl": "npm:4.55.1" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.55.1" + "@rollup/rollup-linux-riscv64-musl": "npm:4.55.1" + "@rollup/rollup-linux-s390x-gnu": "npm:4.55.1" + "@rollup/rollup-linux-x64-gnu": "npm:4.55.1" + "@rollup/rollup-linux-x64-musl": "npm:4.55.1" + "@rollup/rollup-openbsd-x64": "npm:4.55.1" + "@rollup/rollup-openharmony-arm64": "npm:4.55.1" + "@rollup/rollup-win32-arm64-msvc": "npm:4.55.1" + "@rollup/rollup-win32-ia32-msvc": "npm:4.55.1" + "@rollup/rollup-win32-x64-gnu": "npm:4.55.1" + "@rollup/rollup-win32-x64-msvc": "npm:4.55.1" "@types/estree": "npm:1.0.8" fsevents: "npm:~2.3.2" dependenciesMeta: @@ -11089,8 +11133,12 @@ __metadata: optional: true "@rollup/rollup-linux-loong64-gnu": optional: true + "@rollup/rollup-linux-loong64-musl": + optional: true "@rollup/rollup-linux-ppc64-gnu": optional: true + "@rollup/rollup-linux-ppc64-musl": + optional: true "@rollup/rollup-linux-riscv64-gnu": optional: true "@rollup/rollup-linux-riscv64-musl": @@ -11101,6 +11149,8 @@ __metadata: optional: true "@rollup/rollup-linux-x64-musl": optional: true + "@rollup/rollup-openbsd-x64": + optional: true "@rollup/rollup-openharmony-arm64": optional: true "@rollup/rollup-win32-arm64-msvc": @@ -11115,7 +11165,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 10c0/a21305aac72013083bd0dec92162b0f7f24cacf57c876ca601ec76e892895952c9ea592c1c07f23b8c125f7979c2b17f7fb565e386d03ee4c1f0952ac4ab0d75 + checksum: 10c0/267309f0db5c5493b2b163643dceed6e57aa20fcd75d40cf44740b8b572e747a0f9e1694b11ff518583596c37fe13ada09bf676956f50073c16cdac09e633a66 languageName: node linkType: hard @@ -11201,24 +11251,24 @@ __metadata: languageName: node linkType: hard -"send@npm:0.19.0": - version: 0.19.0 - resolution: "send@npm:0.19.0" +"send@npm:~0.19.1": + version: 0.19.2 + resolution: "send@npm:0.19.2" dependencies: debug: "npm:2.6.9" depd: "npm:2.0.0" destroy: "npm:1.2.0" - encodeurl: "npm:~1.0.2" + encodeurl: "npm:~2.0.0" escape-html: "npm:~1.0.3" etag: "npm:~1.8.1" - fresh: "npm:0.5.2" - http-errors: "npm:2.0.0" + fresh: "npm:~0.5.2" + http-errors: "npm:~2.0.1" mime: "npm:1.6.0" ms: "npm:2.1.3" - on-finished: "npm:2.4.1" + on-finished: "npm:~2.4.1" range-parser: "npm:~1.2.1" - statuses: "npm:2.0.1" - checksum: 10c0/ea3f8a67a8f0be3d6bf9080f0baed6d2c51d11d4f7b4470de96a5029c598a7011c497511ccc28968b70ef05508675cebff27da9151dd2ceadd60be4e6cf845e3 + statuses: "npm:~2.0.2" + checksum: 10c0/20c2389fe0fdf3fc499938cac598bc32272287e993c4960717381a10de8550028feadfb9076f959a3a3ebdea42e1f690e116f0d16468fa56b9fd41866d3dc267 languageName: node linkType: hard @@ -11230,14 +11280,14 @@ __metadata: linkType: hard "serve-static@npm:^1.13.1, serve-static@npm:^1.16.2": - version: 1.16.2 - resolution: "serve-static@npm:1.16.2" + version: 1.16.3 + resolution: "serve-static@npm:1.16.3" dependencies: encodeurl: "npm:~2.0.0" escape-html: "npm:~1.0.3" parseurl: "npm:~1.3.3" - send: "npm:0.19.0" - checksum: 10c0/528fff6f5e12d0c5a391229ad893910709bc51b5705962b09404a1d813857578149b8815f35d3ee5752f44cd378d0f31669d4b1d7e2d11f41e08283d5134bd1f + send: "npm:~0.19.1" + checksum: 10c0/36320397a073c71bedf58af48a4a100fe6d93f07459af4d6f08b9a7217c04ce2a4939e0effd842dc7bece93ffcd59eb52f58c4fff2a8e002dc29ae6b219cd42b languageName: node linkType: hard @@ -11285,7 +11335,7 @@ __metadata: languageName: node linkType: hard -"setprototypeof@npm:1.2.0": +"setprototypeof@npm:~1.2.0": version: 1.2.0 resolution: "setprototypeof@npm:1.2.0" checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc @@ -11366,7 +11416,7 @@ __metadata: languageName: node linkType: hard -"side-channel@npm:^1.0.6, side-channel@npm:^1.1.0": +"side-channel@npm:^1.1.0": version: 1.1.0 resolution: "side-channel@npm:1.1.0" dependencies: @@ -11556,13 +11606,6 @@ __metadata: languageName: node linkType: hard -"statuses@npm:2.0.1": - version: 2.0.1 - resolution: "statuses@npm:2.0.1" - checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 - languageName: node - linkType: hard - "statuses@npm:~1.5.0": version: 1.5.0 resolution: "statuses@npm:1.5.0" @@ -11570,6 +11613,13 @@ __metadata: languageName: node linkType: hard +"statuses@npm:~2.0.2": + version: 2.0.2 + resolution: "statuses@npm:2.0.2" + checksum: 10c0/a9947d98ad60d01f6b26727570f3bcceb6c8fa789da64fe6889908fe2e294d57503b14bf2b5af7605c2d36647259e856635cd4c49eab41667658ec9d0080ec3f + languageName: node + linkType: hard + "stop-iteration-iterator@npm:^1.1.0": version: 1.1.0 resolution: "stop-iteration-iterator@npm:1.1.0" @@ -11816,10 +11866,10 @@ __metadata: languageName: node linkType: hard -"tabbable@npm:^6.3.0": - version: 6.3.0 - resolution: "tabbable@npm:6.3.0" - checksum: 10c0/57ba019d29b5cfa0c862248883bcec0e6d29d8f156ba52a1f425e7cfeca4a0fc701ab8d035c4c86ddf74ecdbd0e9f454a88d9b55d924a51f444038e9cd14d7a0 +"tabbable@npm:^6.4.0": + version: 6.4.0 + resolution: "tabbable@npm:6.4.0" + checksum: 10c0/d931427f4a96b801fd8801ba296a702119e06f70ad262fed8abc5271225c9f1ca51b89fdec4fb2f22e1d35acb3d2881db0a17cedc758272e9ecb540d00299d76 languageName: node linkType: hard @@ -11915,7 +11965,7 @@ __metadata: languageName: node linkType: hard -"toidentifier@npm:1.0.1": +"toidentifier@npm:~1.0.1": version: 1.0.1 resolution: "toidentifier@npm:1.0.1" checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 @@ -11939,8 +11989,8 @@ __metadata: linkType: hard "ts-jest@npm:^29.4.5": - version: 29.4.5 - resolution: "ts-jest@npm:29.4.5" + version: 29.4.6 + resolution: "ts-jest@npm:29.4.6" dependencies: bs-logger: "npm:^0.2.6" fast-json-stable-stringify: "npm:^2.1.0" @@ -11974,7 +12024,7 @@ __metadata: optional: true bin: ts-jest: cli.js - checksum: 10c0/789f00666ba785ac425606d42601cbdc03015e46f228a0b333f06c6658d80865819bae0ddd59c762285352d2b14d0aa50912574ec699ba6369ddb0d400a49ac0 + checksum: 10c0/013dda99ac938cd4b94bae9323ed1b633cd295976c256d596d01776866188078fe7b82b8b3ebd05deb401b27b5618d9d76208eded2568661240ecf9694a5c933 languageName: node linkType: hard @@ -12013,58 +12063,58 @@ __metadata: languageName: node linkType: hard -"turbo-darwin-64@npm:2.6.1": - version: 2.6.1 - resolution: "turbo-darwin-64@npm:2.6.1" +"turbo-darwin-64@npm:2.7.4": + version: 2.7.4 + resolution: "turbo-darwin-64@npm:2.7.4" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"turbo-darwin-arm64@npm:2.6.1": - version: 2.6.1 - resolution: "turbo-darwin-arm64@npm:2.6.1" +"turbo-darwin-arm64@npm:2.7.4": + version: 2.7.4 + resolution: "turbo-darwin-arm64@npm:2.7.4" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"turbo-linux-64@npm:2.6.1": - version: 2.6.1 - resolution: "turbo-linux-64@npm:2.6.1" +"turbo-linux-64@npm:2.7.4": + version: 2.7.4 + resolution: "turbo-linux-64@npm:2.7.4" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"turbo-linux-arm64@npm:2.6.1": - version: 2.6.1 - resolution: "turbo-linux-arm64@npm:2.6.1" +"turbo-linux-arm64@npm:2.7.4": + version: 2.7.4 + resolution: "turbo-linux-arm64@npm:2.7.4" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"turbo-windows-64@npm:2.6.1": - version: 2.6.1 - resolution: "turbo-windows-64@npm:2.6.1" +"turbo-windows-64@npm:2.7.4": + version: 2.7.4 + resolution: "turbo-windows-64@npm:2.7.4" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"turbo-windows-arm64@npm:2.6.1": - version: 2.6.1 - resolution: "turbo-windows-arm64@npm:2.6.1" +"turbo-windows-arm64@npm:2.7.4": + version: 2.7.4 + resolution: "turbo-windows-arm64@npm:2.7.4" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard "turbo@npm:^2.0.0, turbo@npm:^2.5.6": - version: 2.6.1 - resolution: "turbo@npm:2.6.1" - dependencies: - turbo-darwin-64: "npm:2.6.1" - turbo-darwin-arm64: "npm:2.6.1" - turbo-linux-64: "npm:2.6.1" - turbo-linux-arm64: "npm:2.6.1" - turbo-windows-64: "npm:2.6.1" - turbo-windows-arm64: "npm:2.6.1" + version: 2.7.4 + resolution: "turbo@npm:2.7.4" + dependencies: + turbo-darwin-64: "npm:2.7.4" + turbo-darwin-arm64: "npm:2.7.4" + turbo-linux-64: "npm:2.7.4" + turbo-linux-arm64: "npm:2.7.4" + turbo-windows-64: "npm:2.7.4" + turbo-windows-arm64: "npm:2.7.4" dependenciesMeta: turbo-darwin-64: optional: true @@ -12080,7 +12130,7 @@ __metadata: optional: true bin: turbo: bin/turbo - checksum: 10c0/9875f8d85c5e1b26fbf95dec77b91a1f05ee4545b754469c6ddabe55759289bef02a08693380439d4443db72003e576df30b5852cbfa0da703c08b6e84c557a5 + checksum: 10c0/506a59df8d898833efb7d41b552a3a448a26fb2ebd5d545d37bf1e4854bdab0a0b847d8d82f962f499ba5340b7dc123abb5d4ceb9dae12b32ec6c46d1f5fe6fc languageName: node linkType: hard @@ -12364,7 +12414,7 @@ __metadata: languageName: node linkType: hard -"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": +"unpipe@npm:~1.0.0": version: 1.0.0 resolution: "unpipe@npm:1.0.0" checksum: 10c0/193400255bd48968e5c5383730344fbb4fa114cdedfab26e329e50dd2d81b134244bb8a72c6ac1b10ab0281a58b363d06405632c9d49ca9dfd5e90cbd7d0f32c @@ -12438,9 +12488,9 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.1.4": - version: 1.1.4 - resolution: "update-browserslist-db@npm:1.1.4" +"update-browserslist-db@npm:^1.2.0": + version: 1.2.3 + resolution: "update-browserslist-db@npm:1.2.3" dependencies: escalade: "npm:^3.2.0" picocolors: "npm:^1.1.1" @@ -12448,7 +12498,7 @@ __metadata: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 10c0/db0c9aaecf1258a6acda5e937fc27a7996ccca7a7580a1b4aa8bba6a9b0e283e5e65c49ebbd74ec29288ef083f1b88d4da13e3d4d326c1e5fc55bf72d7390702 + checksum: 10c0/13a00355ea822388f68af57410ce3255941d5fb9b7c49342c4709a07c9f230bbef7f7499ae0ca7e0de532e79a82cc0c4edbd125f1a323a1845bf914efddf8bec languageName: node linkType: hard @@ -12600,20 +12650,20 @@ __metadata: linkType: hard "vue@npm:^3.5.13, vue@npm:^3.5.25": - version: 3.5.25 - resolution: "vue@npm:3.5.25" + version: 3.5.26 + resolution: "vue@npm:3.5.26" dependencies: - "@vue/compiler-dom": "npm:3.5.25" - "@vue/compiler-sfc": "npm:3.5.25" - "@vue/runtime-dom": "npm:3.5.25" - "@vue/server-renderer": "npm:3.5.25" - "@vue/shared": "npm:3.5.25" + "@vue/compiler-dom": "npm:3.5.26" + "@vue/compiler-sfc": "npm:3.5.26" + "@vue/runtime-dom": "npm:3.5.26" + "@vue/server-renderer": "npm:3.5.26" + "@vue/shared": "npm:3.5.26" peerDependencies: typescript: "*" peerDependenciesMeta: typescript: optional: true - checksum: 10c0/2b77f9b934e212218d07eb2aa17d02e91578b08673be95553539dfa4246748ef7bc9ce4a380539c9265d85c4d0432329e9cb02eb1b1aec0f3a358433a1b108c2 + checksum: 10c0/057630af8a278b8a682974e3f92388821701be800b3d545d9b45c1444138ccaff1902d2065dab0e7cb971c0509e6c22c09e90787ee5bc8d262ede7012e61f871 languageName: node linkType: hard @@ -12877,11 +12927,11 @@ __metadata: linkType: hard "yaml@npm:^2.2.1, yaml@npm:^2.6.1": - version: 2.8.1 - resolution: "yaml@npm:2.8.1" + version: 2.8.2 + resolution: "yaml@npm:2.8.2" bin: yaml: bin.mjs - checksum: 10c0/7c587be00d9303d2ae1566e03bc5bc7fe978ba0d9bf39cc418c3139d37929dfcb93a230d9749f2cb578b6aa5d9ebebc322415e4b653cb83acd8bc0bc321707f3 + checksum: 10c0/703e4dc1e34b324aa66876d63618dcacb9ed49f7e7fe9b70f1e703645be8d640f68ab84f12b86df8ac960bac37acf5513e115de7c970940617ce0343c8c9cd96 languageName: node linkType: hard @@ -12972,9 +13022,9 @@ __metadata: linkType: hard "zod@npm:^4.0.5": - version: 4.1.13 - resolution: "zod@npm:4.1.13" - checksum: 10c0/d7e74e82dba81a91ffc3239cd85bc034abe193a28f7087a94ab258a3e48e9a7ca4141920cac979a0d781495b48fc547777394149f26be04c3dc642f58bbc3941 + version: 4.3.5 + resolution: "zod@npm:4.3.5" + checksum: 10c0/5a2db7e59177a3d7e202543f5136cb87b97b047b77c8a3d824098d3fa8b80d3aa40a0a5f296965c3b82dfdccdd05dbbfacce91347f16a39c675680fd7b1ab109 languageName: node linkType: hard From 3ed90ab54c8371fccb27566b3e14f766c011c63a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Garc=C3=ADa?= Date: Wed, 21 Jan 2026 00:15:00 -0600 Subject: [PATCH 05/18] refactor: restructure monorepo with shared example components --- .gitignore | 27 +- package.json | 3 +- .../{native-date => }/example/.watchmanconfig | 0 packages/{native-date => }/example/Gemfile | 0 .../{native-date => }/example/Gemfile.lock | 0 packages/{native-date => }/example/README.md | 0 .../example/android/app/build.gradle | 0 .../example/android/app/debug.keystore | Bin .../example/android/app/proguard-rules.pro | 0 .../android/app/src/debug/AndroidManifest.xml | 0 .../android/app/src/main/AndroidManifest.xml | 0 .../nativedate/example/MainActivity.kt | 0 .../nativedate/example/MainApplication.kt | 0 .../res/drawable/rn_edit_text_material.xml | 0 .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-hdpi/ic_launcher_round.png | Bin .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher_round.png | Bin .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher_round.png | Bin .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin .../app/src/main/res/values/strings.xml | 0 .../app/src/main/res/values/styles.xml | 0 .../example/android/build.gradle | 0 .../example/android/gradle.properties | 0 .../android/gradle/wrapper/gradle-wrapper.jar | Bin .../gradle/wrapper/gradle-wrapper.properties | 0 .../{native-date => }/example/android/gradlew | 0 .../example/android/gradlew.bat | 198 +- .../example/android/settings.gradle | 0 packages/{native-date => }/example/app.json | 0 .../{native-date => }/example/babel.config.js | 4 +- packages/{native-date => }/example/index.js | 0 .../{native-date => }/example/ios/.xcode.env | 0 .../project.pbxproj | 4 +- .../xcschemes/NativeDateExample.xcscheme | 0 .../contents.xcworkspacedata | 0 .../ios/NativeDateExample/AppDelegate.swift | 0 .../AppIcon.appiconset/Contents.json | 0 .../Images.xcassets/Contents.json | 0 .../example/ios/NativeDateExample/Info.plist | 0 .../NativeDateExample/LaunchScreen.storyboard | 0 .../NativeDateExample/PrivacyInfo.xcprivacy | 0 .../{native-date => }/example/ios/Podfile | 0 .../example/ios/Podfile.lock | 288 +- .../{native-date => }/example/jest.config.js | 0 packages/example/metro.config.js | 43 + .../{native-date => }/example/package.json | 2 + .../example/react-native.config.js | 4 +- .../{native-date => }/example/src/App.tsx | 3 +- .../example/src/Benchmark.tsx | 0 .../example/src/FormattingScreen.tsx | 0 .../example/src/TimezoneScreen.tsx | 0 .../{native-date => }/expo-example/.gitignore | 0 packages/expo-example/.yarn/install-state.gz | Bin 0 -> 634815 bytes packages/expo-example/App.tsx | 106 + .../{native-date => }/expo-example/app.json | 0 .../expo-example/assets/adaptive-icon.png | Bin .../expo-example/assets/favicon.png | Bin .../expo-example/assets/icon.png | Bin .../expo-example/assets/splash-icon.png | Bin .../{native-date => }/expo-example/index.ts | 0 packages/expo-example/metro.config.js | 35 + .../expo-example/package-lock.json | 0 .../expo-example/package.json | 4 + packages/expo-example/react-native.config.js | 14 + .../expo-example/tsconfig.json | 0 packages/expo-example/yarn.lock | 6331 +++++++++++++++++ packages/native-date-examples/package.json | 27 + .../src/ComparisonScreen.tsx | 0 .../src/NativeTestScreen.tsx | 0 packages/native-date-examples/src/index.ts | 2 + packages/native-date/cpp/HybridNativeDate.cpp | 7 +- packages/native-date/example/.bundle/config | 2 - packages/native-date/example/metro.config.js | 31 - packages/native-date/expo-example/App.tsx | 369 - packages/native-date/expo-example/yarn.lock | 0 yarn.lock | 1987 +++++- 81 files changed, 8751 insertions(+), 740 deletions(-) rename packages/{native-date => }/example/.watchmanconfig (100%) rename packages/{native-date => }/example/Gemfile (100%) rename packages/{native-date => }/example/Gemfile.lock (100%) rename packages/{native-date => }/example/README.md (100%) rename packages/{native-date => }/example/android/app/build.gradle (100%) rename packages/{native-date => }/example/android/app/debug.keystore (100%) rename packages/{native-date => }/example/android/app/proguard-rules.pro (100%) rename packages/{native-date => }/example/android/app/src/debug/AndroidManifest.xml (100%) rename packages/{native-date => }/example/android/app/src/main/AndroidManifest.xml (100%) rename packages/{native-date => }/example/android/app/src/main/java/rnpackages/nativedate/example/MainActivity.kt (100%) rename packages/{native-date => }/example/android/app/src/main/java/rnpackages/nativedate/example/MainApplication.kt (100%) rename packages/{native-date => }/example/android/app/src/main/res/drawable/rn_edit_text_material.xml (100%) rename packages/{native-date => }/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png (100%) rename packages/{native-date => }/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png (100%) rename packages/{native-date => }/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png (100%) rename packages/{native-date => }/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png (100%) rename packages/{native-date => }/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png (100%) rename packages/{native-date => }/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png (100%) rename packages/{native-date => }/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png (100%) rename packages/{native-date => }/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png (100%) rename packages/{native-date => }/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename packages/{native-date => }/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png (100%) rename packages/{native-date => }/example/android/app/src/main/res/values/strings.xml (100%) rename packages/{native-date => }/example/android/app/src/main/res/values/styles.xml (100%) rename packages/{native-date => }/example/android/build.gradle (100%) rename packages/{native-date => }/example/android/gradle.properties (100%) rename packages/{native-date => }/example/android/gradle/wrapper/gradle-wrapper.jar (100%) rename packages/{native-date => }/example/android/gradle/wrapper/gradle-wrapper.properties (100%) rename packages/{native-date => }/example/android/gradlew (100%) rename packages/{native-date => }/example/android/gradlew.bat (96%) rename packages/{native-date => }/example/android/settings.gradle (100%) rename packages/{native-date => }/example/app.json (100%) rename packages/{native-date => }/example/babel.config.js (66%) rename packages/{native-date => }/example/index.js (100%) rename packages/{native-date => }/example/ios/.xcode.env (100%) rename packages/{native-date => }/example/ios/NativeDateExample.xcodeproj/project.pbxproj (99%) rename packages/{native-date => }/example/ios/NativeDateExample.xcodeproj/xcshareddata/xcschemes/NativeDateExample.xcscheme (100%) rename packages/{native-date => }/example/ios/NativeDateExample.xcworkspace/contents.xcworkspacedata (100%) rename packages/{native-date => }/example/ios/NativeDateExample/AppDelegate.swift (100%) rename packages/{native-date => }/example/ios/NativeDateExample/Images.xcassets/AppIcon.appiconset/Contents.json (100%) rename packages/{native-date => }/example/ios/NativeDateExample/Images.xcassets/Contents.json (100%) rename packages/{native-date => }/example/ios/NativeDateExample/Info.plist (100%) rename packages/{native-date => }/example/ios/NativeDateExample/LaunchScreen.storyboard (100%) rename packages/{native-date => }/example/ios/NativeDateExample/PrivacyInfo.xcprivacy (100%) rename packages/{native-date => }/example/ios/Podfile (100%) rename packages/{native-date => }/example/ios/Podfile.lock (82%) rename packages/{native-date => }/example/jest.config.js (100%) create mode 100644 packages/example/metro.config.js rename packages/{native-date => }/example/package.json (93%) rename packages/{native-date => }/example/react-native.config.js (77%) rename packages/{native-date => }/example/src/App.tsx (99%) rename packages/{native-date => }/example/src/Benchmark.tsx (100%) rename packages/{native-date => }/example/src/FormattingScreen.tsx (100%) rename packages/{native-date => }/example/src/TimezoneScreen.tsx (100%) rename packages/{native-date => }/expo-example/.gitignore (100%) create mode 100644 packages/expo-example/.yarn/install-state.gz create mode 100644 packages/expo-example/App.tsx rename packages/{native-date => }/expo-example/app.json (100%) rename packages/{native-date => }/expo-example/assets/adaptive-icon.png (100%) rename packages/{native-date => }/expo-example/assets/favicon.png (100%) rename packages/{native-date => }/expo-example/assets/icon.png (100%) rename packages/{native-date => }/expo-example/assets/splash-icon.png (100%) rename packages/{native-date => }/expo-example/index.ts (100%) create mode 100644 packages/expo-example/metro.config.js rename packages/{native-date => }/expo-example/package-lock.json (100%) rename packages/{native-date => }/expo-example/package.json (82%) create mode 100644 packages/expo-example/react-native.config.js rename packages/{native-date => }/expo-example/tsconfig.json (100%) create mode 100644 packages/expo-example/yarn.lock create mode 100644 packages/native-date-examples/package.json rename packages/{native-date/example => native-date-examples}/src/ComparisonScreen.tsx (100%) rename packages/{native-date/example => native-date-examples}/src/NativeTestScreen.tsx (100%) create mode 100644 packages/native-date-examples/src/index.ts delete mode 100644 packages/native-date/example/.bundle/config delete mode 100644 packages/native-date/example/metro.config.js delete mode 100644 packages/native-date/expo-example/App.tsx delete mode 100644 packages/native-date/expo-example/yarn.lock diff --git a/.gitignore b/.gitignore index 4d481e1..789cd4c 100644 --- a/.gitignore +++ b/.gitignore @@ -122,12 +122,25 @@ temp/ # Nitro generated (keep in git but ignore local changes) # nitrogen/generated/ -# Example app specific -packages/native-date/example/ios/Pods/ -packages/native-date/example/ios/build/ -packages/native-date/example/android/.gradle/ -packages/native-date/example/android/build/ -packages/native-date/example/android/app/build/ - +# Example apps (packages/example, packages/expo-example) +**/ios/Pods/ +**/ios/build/ +**/android/.gradle/ +**/android/build/ +**/android/app/build/ +**/android/local.properties +**/.expo/ +**/vendor/ +**/.bundle/ + +# Expo generated +.expo/ +*.jks +*.p8 +*.p12 +*.key +*.mobileprovision +*.orig.* +web-build/ .vscode/ \ No newline at end of file diff --git a/package.json b/package.json index d67f77b..0f55610 100644 --- a/package.json +++ b/package.json @@ -2,8 +2,7 @@ "name": "react-native-packages", "private": true, "workspaces": [ - "packages/*", - "packages/*/example" + "packages/*" ], "scripts": { "native-date": "yarn workspace @rn-packages/native-date", diff --git a/packages/native-date/example/.watchmanconfig b/packages/example/.watchmanconfig similarity index 100% rename from packages/native-date/example/.watchmanconfig rename to packages/example/.watchmanconfig diff --git a/packages/native-date/example/Gemfile b/packages/example/Gemfile similarity index 100% rename from packages/native-date/example/Gemfile rename to packages/example/Gemfile diff --git a/packages/native-date/example/Gemfile.lock b/packages/example/Gemfile.lock similarity index 100% rename from packages/native-date/example/Gemfile.lock rename to packages/example/Gemfile.lock diff --git a/packages/native-date/example/README.md b/packages/example/README.md similarity index 100% rename from packages/native-date/example/README.md rename to packages/example/README.md diff --git a/packages/native-date/example/android/app/build.gradle b/packages/example/android/app/build.gradle similarity index 100% rename from packages/native-date/example/android/app/build.gradle rename to packages/example/android/app/build.gradle diff --git a/packages/native-date/example/android/app/debug.keystore b/packages/example/android/app/debug.keystore similarity index 100% rename from packages/native-date/example/android/app/debug.keystore rename to packages/example/android/app/debug.keystore diff --git a/packages/native-date/example/android/app/proguard-rules.pro b/packages/example/android/app/proguard-rules.pro similarity index 100% rename from packages/native-date/example/android/app/proguard-rules.pro rename to packages/example/android/app/proguard-rules.pro diff --git a/packages/native-date/example/android/app/src/debug/AndroidManifest.xml b/packages/example/android/app/src/debug/AndroidManifest.xml similarity index 100% rename from packages/native-date/example/android/app/src/debug/AndroidManifest.xml rename to packages/example/android/app/src/debug/AndroidManifest.xml diff --git a/packages/native-date/example/android/app/src/main/AndroidManifest.xml b/packages/example/android/app/src/main/AndroidManifest.xml similarity index 100% rename from packages/native-date/example/android/app/src/main/AndroidManifest.xml rename to packages/example/android/app/src/main/AndroidManifest.xml diff --git a/packages/native-date/example/android/app/src/main/java/rnpackages/nativedate/example/MainActivity.kt b/packages/example/android/app/src/main/java/rnpackages/nativedate/example/MainActivity.kt similarity index 100% rename from packages/native-date/example/android/app/src/main/java/rnpackages/nativedate/example/MainActivity.kt rename to packages/example/android/app/src/main/java/rnpackages/nativedate/example/MainActivity.kt diff --git a/packages/native-date/example/android/app/src/main/java/rnpackages/nativedate/example/MainApplication.kt b/packages/example/android/app/src/main/java/rnpackages/nativedate/example/MainApplication.kt similarity index 100% rename from packages/native-date/example/android/app/src/main/java/rnpackages/nativedate/example/MainApplication.kt rename to packages/example/android/app/src/main/java/rnpackages/nativedate/example/MainApplication.kt diff --git a/packages/native-date/example/android/app/src/main/res/drawable/rn_edit_text_material.xml b/packages/example/android/app/src/main/res/drawable/rn_edit_text_material.xml similarity index 100% rename from packages/native-date/example/android/app/src/main/res/drawable/rn_edit_text_material.xml rename to packages/example/android/app/src/main/res/drawable/rn_edit_text_material.xml diff --git a/packages/native-date/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/packages/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from packages/native-date/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png rename to packages/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/packages/native-date/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/packages/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png similarity index 100% rename from packages/native-date/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png rename to packages/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png diff --git a/packages/native-date/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/packages/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from packages/native-date/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png rename to packages/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/packages/native-date/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/packages/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png similarity index 100% rename from packages/native-date/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png rename to packages/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png diff --git a/packages/native-date/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/packages/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from packages/native-date/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png rename to packages/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/packages/native-date/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/packages/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png similarity index 100% rename from packages/native-date/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png rename to packages/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png diff --git a/packages/native-date/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/packages/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from packages/native-date/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png rename to packages/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/packages/native-date/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/packages/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png similarity index 100% rename from packages/native-date/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png rename to packages/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png diff --git a/packages/native-date/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/packages/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from packages/native-date/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png rename to packages/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/packages/native-date/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/packages/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png similarity index 100% rename from packages/native-date/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png rename to packages/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png diff --git a/packages/native-date/example/android/app/src/main/res/values/strings.xml b/packages/example/android/app/src/main/res/values/strings.xml similarity index 100% rename from packages/native-date/example/android/app/src/main/res/values/strings.xml rename to packages/example/android/app/src/main/res/values/strings.xml diff --git a/packages/native-date/example/android/app/src/main/res/values/styles.xml b/packages/example/android/app/src/main/res/values/styles.xml similarity index 100% rename from packages/native-date/example/android/app/src/main/res/values/styles.xml rename to packages/example/android/app/src/main/res/values/styles.xml diff --git a/packages/native-date/example/android/build.gradle b/packages/example/android/build.gradle similarity index 100% rename from packages/native-date/example/android/build.gradle rename to packages/example/android/build.gradle diff --git a/packages/native-date/example/android/gradle.properties b/packages/example/android/gradle.properties similarity index 100% rename from packages/native-date/example/android/gradle.properties rename to packages/example/android/gradle.properties diff --git a/packages/native-date/example/android/gradle/wrapper/gradle-wrapper.jar b/packages/example/android/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from packages/native-date/example/android/gradle/wrapper/gradle-wrapper.jar rename to packages/example/android/gradle/wrapper/gradle-wrapper.jar diff --git a/packages/native-date/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/example/android/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from packages/native-date/example/android/gradle/wrapper/gradle-wrapper.properties rename to packages/example/android/gradle/wrapper/gradle-wrapper.properties diff --git a/packages/native-date/example/android/gradlew b/packages/example/android/gradlew similarity index 100% rename from packages/native-date/example/android/gradlew rename to packages/example/android/gradlew diff --git a/packages/native-date/example/android/gradlew.bat b/packages/example/android/gradlew.bat similarity index 96% rename from packages/native-date/example/android/gradlew.bat rename to packages/example/android/gradlew.bat index dd2b8ee..11bf182 100644 --- a/packages/native-date/example/android/gradlew.bat +++ b/packages/example/android/gradlew.bat @@ -1,99 +1,99 @@ -@REM Copyright (c) Meta Platforms, Inc. and affiliates. -@REM -@REM This source code is licensed under the MIT license found in the -@REM LICENSE file in the root directory of this source tree. - -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem -@rem SPDX-License-Identifier: Apache-2.0 -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. 1>&2 -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. 1>&2 -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH= - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega +@REM Copyright (c) Meta Platforms, Inc. and affiliates. +@REM +@REM This source code is licensed under the MIT license found in the +@REM LICENSE file in the root directory of this source tree. + +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH= + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/packages/native-date/example/android/settings.gradle b/packages/example/android/settings.gradle similarity index 100% rename from packages/native-date/example/android/settings.gradle rename to packages/example/android/settings.gradle diff --git a/packages/native-date/example/app.json b/packages/example/app.json similarity index 100% rename from packages/native-date/example/app.json rename to packages/example/app.json diff --git a/packages/native-date/example/babel.config.js b/packages/example/babel.config.js similarity index 66% rename from packages/native-date/example/babel.config.js rename to packages/example/babel.config.js index 486a093..5eb93e1 100644 --- a/packages/native-date/example/babel.config.js +++ b/packages/example/babel.config.js @@ -1,8 +1,8 @@ const path = require('path'); const { getConfig } = require('react-native-builder-bob/babel-config'); -const pkg = require('../package.json'); +const pkg = require('../native-date/package.json'); -const root = path.resolve(__dirname, '..'); +const root = path.resolve(__dirname, '../native-date'); module.exports = getConfig( { diff --git a/packages/native-date/example/index.js b/packages/example/index.js similarity index 100% rename from packages/native-date/example/index.js rename to packages/example/index.js diff --git a/packages/native-date/example/ios/.xcode.env b/packages/example/ios/.xcode.env similarity index 100% rename from packages/native-date/example/ios/.xcode.env rename to packages/example/ios/.xcode.env diff --git a/packages/native-date/example/ios/NativeDateExample.xcodeproj/project.pbxproj b/packages/example/ios/NativeDateExample.xcodeproj/project.pbxproj similarity index 99% rename from packages/native-date/example/ios/NativeDateExample.xcodeproj/project.pbxproj rename to packages/example/ios/NativeDateExample.xcodeproj/project.pbxproj index a07115d..21b7773 100644 --- a/packages/native-date/example/ios/NativeDateExample.xcodeproj/project.pbxproj +++ b/packages/example/ios/NativeDateExample.xcodeproj/project.pbxproj @@ -378,7 +378,7 @@ "-DFOLLY_CFG_NO_COROUTINES=1", "-DFOLLY_HAVE_CLOCK_GETTIME=1", ); - REACT_NATIVE_PATH = "${PODS_ROOT}/../../../../../node_modules/react-native"; + REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG"; USE_HERMES = true; @@ -446,7 +446,7 @@ "-DFOLLY_CFG_NO_COROUTINES=1", "-DFOLLY_HAVE_CLOCK_GETTIME=1", ); - REACT_NATIVE_PATH = "${PODS_ROOT}/../../../../../node_modules/react-native"; + REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; USE_HERMES = true; VALIDATE_PRODUCT = YES; diff --git a/packages/native-date/example/ios/NativeDateExample.xcodeproj/xcshareddata/xcschemes/NativeDateExample.xcscheme b/packages/example/ios/NativeDateExample.xcodeproj/xcshareddata/xcschemes/NativeDateExample.xcscheme similarity index 100% rename from packages/native-date/example/ios/NativeDateExample.xcodeproj/xcshareddata/xcschemes/NativeDateExample.xcscheme rename to packages/example/ios/NativeDateExample.xcodeproj/xcshareddata/xcschemes/NativeDateExample.xcscheme diff --git a/packages/native-date/example/ios/NativeDateExample.xcworkspace/contents.xcworkspacedata b/packages/example/ios/NativeDateExample.xcworkspace/contents.xcworkspacedata similarity index 100% rename from packages/native-date/example/ios/NativeDateExample.xcworkspace/contents.xcworkspacedata rename to packages/example/ios/NativeDateExample.xcworkspace/contents.xcworkspacedata diff --git a/packages/native-date/example/ios/NativeDateExample/AppDelegate.swift b/packages/example/ios/NativeDateExample/AppDelegate.swift similarity index 100% rename from packages/native-date/example/ios/NativeDateExample/AppDelegate.swift rename to packages/example/ios/NativeDateExample/AppDelegate.swift diff --git a/packages/native-date/example/ios/NativeDateExample/Images.xcassets/AppIcon.appiconset/Contents.json b/packages/example/ios/NativeDateExample/Images.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from packages/native-date/example/ios/NativeDateExample/Images.xcassets/AppIcon.appiconset/Contents.json rename to packages/example/ios/NativeDateExample/Images.xcassets/AppIcon.appiconset/Contents.json diff --git a/packages/native-date/example/ios/NativeDateExample/Images.xcassets/Contents.json b/packages/example/ios/NativeDateExample/Images.xcassets/Contents.json similarity index 100% rename from packages/native-date/example/ios/NativeDateExample/Images.xcassets/Contents.json rename to packages/example/ios/NativeDateExample/Images.xcassets/Contents.json diff --git a/packages/native-date/example/ios/NativeDateExample/Info.plist b/packages/example/ios/NativeDateExample/Info.plist similarity index 100% rename from packages/native-date/example/ios/NativeDateExample/Info.plist rename to packages/example/ios/NativeDateExample/Info.plist diff --git a/packages/native-date/example/ios/NativeDateExample/LaunchScreen.storyboard b/packages/example/ios/NativeDateExample/LaunchScreen.storyboard similarity index 100% rename from packages/native-date/example/ios/NativeDateExample/LaunchScreen.storyboard rename to packages/example/ios/NativeDateExample/LaunchScreen.storyboard diff --git a/packages/native-date/example/ios/NativeDateExample/PrivacyInfo.xcprivacy b/packages/example/ios/NativeDateExample/PrivacyInfo.xcprivacy similarity index 100% rename from packages/native-date/example/ios/NativeDateExample/PrivacyInfo.xcprivacy rename to packages/example/ios/NativeDateExample/PrivacyInfo.xcprivacy diff --git a/packages/native-date/example/ios/Podfile b/packages/example/ios/Podfile similarity index 100% rename from packages/native-date/example/ios/Podfile rename to packages/example/ios/Podfile diff --git a/packages/native-date/example/ios/Podfile.lock b/packages/example/ios/Podfile.lock similarity index 82% rename from packages/native-date/example/ios/Podfile.lock rename to packages/example/ios/Podfile.lock index ffaa768..1a2dde3 100644 --- a/packages/native-date/example/ios/Podfile.lock +++ b/packages/example/ios/Podfile.lock @@ -2316,81 +2316,81 @@ PODS: - Yoga (0.0.0) DEPENDENCIES: - - boost (from `../../../../node_modules/react-native/third-party-podspecs/boost.podspec`) - - DoubleConversion (from `../../../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - - fast_float (from `../../../../node_modules/react-native/third-party-podspecs/fast_float.podspec`) - - FBLazyVector (from `../../../../node_modules/react-native/Libraries/FBLazyVector`) - - fmt (from `../../../../node_modules/react-native/third-party-podspecs/fmt.podspec`) - - glog (from `../../../../node_modules/react-native/third-party-podspecs/glog.podspec`) - - hermes-engine (from `../../../../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) - - NativeDate (from `../..`) - - NitroModules (from `../../../../node_modules/react-native-nitro-modules`) - - RCT-Folly (from `../../../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - - RCTDeprecation (from `../../../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) - - RCTRequired (from `../../../../node_modules/react-native/Libraries/Required`) - - RCTTypeSafety (from `../../../../node_modules/react-native/Libraries/TypeSafety`) - - React (from `../../../../node_modules/react-native/`) - - React-callinvoker (from `../../../../node_modules/react-native/ReactCommon/callinvoker`) - - React-Core (from `../../../../node_modules/react-native/`) - - React-Core/RCTWebSocket (from `../../../../node_modules/react-native/`) - - React-CoreModules (from `../../../../node_modules/react-native/React/CoreModules`) - - React-cxxreact (from `../../../../node_modules/react-native/ReactCommon/cxxreact`) - - React-debug (from `../../../../node_modules/react-native/ReactCommon/react/debug`) - - React-defaultsnativemodule (from `../../../../node_modules/react-native/ReactCommon/react/nativemodule/defaults`) - - React-domnativemodule (from `../../../../node_modules/react-native/ReactCommon/react/nativemodule/dom`) - - React-Fabric (from `../../../../node_modules/react-native/ReactCommon`) - - React-FabricComponents (from `../../../../node_modules/react-native/ReactCommon`) - - React-FabricImage (from `../../../../node_modules/react-native/ReactCommon`) - - React-featureflags (from `../../../../node_modules/react-native/ReactCommon/react/featureflags`) - - React-featureflagsnativemodule (from `../../../../node_modules/react-native/ReactCommon/react/nativemodule/featureflags`) - - React-graphics (from `../../../../node_modules/react-native/ReactCommon/react/renderer/graphics`) - - React-hermes (from `../../../../node_modules/react-native/ReactCommon/hermes`) - - React-idlecallbacksnativemodule (from `../../../../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks`) - - React-ImageManager (from `../../../../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) - - React-jserrorhandler (from `../../../../node_modules/react-native/ReactCommon/jserrorhandler`) - - React-jsi (from `../../../../node_modules/react-native/ReactCommon/jsi`) - - React-jsiexecutor (from `../../../../node_modules/react-native/ReactCommon/jsiexecutor`) - - React-jsinspector (from `../../../../node_modules/react-native/ReactCommon/jsinspector-modern`) - - React-jsinspectorcdp (from `../../../../node_modules/react-native/ReactCommon/jsinspector-modern/cdp`) - - React-jsinspectornetwork (from `../../../../node_modules/react-native/ReactCommon/jsinspector-modern/network`) - - React-jsinspectortracing (from `../../../../node_modules/react-native/ReactCommon/jsinspector-modern/tracing`) - - React-jsitooling (from `../../../../node_modules/react-native/ReactCommon/jsitooling`) - - React-jsitracing (from `../../../../node_modules/react-native/ReactCommon/hermes/executor/`) - - React-logger (from `../../../../node_modules/react-native/ReactCommon/logger`) - - React-Mapbuffer (from `../../../../node_modules/react-native/ReactCommon`) - - React-microtasksnativemodule (from `../../../../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`) - - React-NativeModulesApple (from `../../../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) - - React-oscompat (from `../../../../node_modules/react-native/ReactCommon/oscompat`) - - React-perflogger (from `../../../../node_modules/react-native/ReactCommon/reactperflogger`) - - React-performancetimeline (from `../../../../node_modules/react-native/ReactCommon/react/performance/timeline`) - - React-RCTActionSheet (from `../../../../node_modules/react-native/Libraries/ActionSheetIOS`) - - React-RCTAnimation (from `../../../../node_modules/react-native/Libraries/NativeAnimation`) - - React-RCTAppDelegate (from `../../../../node_modules/react-native/Libraries/AppDelegate`) - - React-RCTBlob (from `../../../../node_modules/react-native/Libraries/Blob`) - - React-RCTFabric (from `../../../../node_modules/react-native/React`) - - React-RCTFBReactNativeSpec (from `../../../../node_modules/react-native/React`) - - React-RCTImage (from `../../../../node_modules/react-native/Libraries/Image`) - - React-RCTLinking (from `../../../../node_modules/react-native/Libraries/LinkingIOS`) - - React-RCTNetwork (from `../../../../node_modules/react-native/Libraries/Network`) - - React-RCTRuntime (from `../../../../node_modules/react-native/React/Runtime`) - - React-RCTSettings (from `../../../../node_modules/react-native/Libraries/Settings`) - - React-RCTText (from `../../../../node_modules/react-native/Libraries/Text`) - - React-RCTVibration (from `../../../../node_modules/react-native/Libraries/Vibration`) - - React-rendererconsistency (from `../../../../node_modules/react-native/ReactCommon/react/renderer/consistency`) - - React-renderercss (from `../../../../node_modules/react-native/ReactCommon/react/renderer/css`) - - React-rendererdebug (from `../../../../node_modules/react-native/ReactCommon/react/renderer/debug`) - - React-RuntimeApple (from `../../../../node_modules/react-native/ReactCommon/react/runtime/platform/ios`) - - React-RuntimeCore (from `../../../../node_modules/react-native/ReactCommon/react/runtime`) - - React-runtimeexecutor (from `../../../../node_modules/react-native/ReactCommon/runtimeexecutor`) - - React-RuntimeHermes (from `../../../../node_modules/react-native/ReactCommon/react/runtime`) - - React-runtimescheduler (from `../../../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) - - React-timing (from `../../../../node_modules/react-native/ReactCommon/react/timing`) - - React-utils (from `../../../../node_modules/react-native/ReactCommon/react/utils`) + - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) + - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) + - fast_float (from `../node_modules/react-native/third-party-podspecs/fast_float.podspec`) + - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) + - fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`) + - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) + - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) + - NativeDate (from `../../native-date`) + - NitroModules (from `../node_modules/react-native-nitro-modules`) + - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) + - RCTRequired (from `../node_modules/react-native/Libraries/Required`) + - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) + - React (from `../node_modules/react-native/`) + - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) + - React-Core (from `../node_modules/react-native/`) + - React-Core/RCTWebSocket (from `../node_modules/react-native/`) + - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) + - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) + - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) + - React-defaultsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/defaults`) + - React-domnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/dom`) + - React-Fabric (from `../node_modules/react-native/ReactCommon`) + - React-FabricComponents (from `../node_modules/react-native/ReactCommon`) + - React-FabricImage (from `../node_modules/react-native/ReactCommon`) + - React-featureflags (from `../node_modules/react-native/ReactCommon/react/featureflags`) + - React-featureflagsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/featureflags`) + - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) + - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) + - React-idlecallbacksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks`) + - React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) + - React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`) + - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) + - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) + - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`) + - React-jsinspectorcdp (from `../node_modules/react-native/ReactCommon/jsinspector-modern/cdp`) + - React-jsinspectornetwork (from `../node_modules/react-native/ReactCommon/jsinspector-modern/network`) + - React-jsinspectortracing (from `../node_modules/react-native/ReactCommon/jsinspector-modern/tracing`) + - React-jsitooling (from `../node_modules/react-native/ReactCommon/jsitooling`) + - React-jsitracing (from `../node_modules/react-native/ReactCommon/hermes/executor/`) + - React-logger (from `../node_modules/react-native/ReactCommon/logger`) + - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) + - React-microtasksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`) + - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) + - React-oscompat (from `../node_modules/react-native/ReactCommon/oscompat`) + - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) + - React-performancetimeline (from `../node_modules/react-native/ReactCommon/react/performance/timeline`) + - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) + - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) + - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) + - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) + - React-RCTFabric (from `../node_modules/react-native/React`) + - React-RCTFBReactNativeSpec (from `../node_modules/react-native/React`) + - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) + - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) + - React-RCTRuntime (from `../node_modules/react-native/React/Runtime`) + - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) + - React-RCTText (from `../node_modules/react-native/Libraries/Text`) + - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) + - React-rendererconsistency (from `../node_modules/react-native/ReactCommon/react/renderer/consistency`) + - React-renderercss (from `../node_modules/react-native/ReactCommon/react/renderer/css`) + - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`) + - React-RuntimeApple (from `../node_modules/react-native/ReactCommon/react/runtime/platform/ios`) + - React-RuntimeCore (from `../node_modules/react-native/ReactCommon/react/runtime`) + - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) + - React-RuntimeHermes (from `../node_modules/react-native/ReactCommon/react/runtime`) + - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) + - React-timing (from `../node_modules/react-native/ReactCommon/react/timing`) + - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) - ReactAppDependencyProvider (from `build/generated/ios`) - ReactCodegen (from `build/generated/ios`) - - ReactCommon/turbomodule/core (from `../../../../node_modules/react-native/ReactCommon`) + - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - SocketRocket (~> 0.7.1) - - Yoga (from `../../../../node_modules/react-native/ReactCommon/yoga`) + - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: trunk: @@ -2398,152 +2398,152 @@ SPEC REPOS: EXTERNAL SOURCES: boost: - :podspec: "../../../../node_modules/react-native/third-party-podspecs/boost.podspec" + :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" DoubleConversion: - :podspec: "../../../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" + :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" fast_float: - :podspec: "../../../../node_modules/react-native/third-party-podspecs/fast_float.podspec" + :podspec: "../node_modules/react-native/third-party-podspecs/fast_float.podspec" FBLazyVector: - :path: "../../../../node_modules/react-native/Libraries/FBLazyVector" + :path: "../node_modules/react-native/Libraries/FBLazyVector" fmt: - :podspec: "../../../../node_modules/react-native/third-party-podspecs/fmt.podspec" + :podspec: "../node_modules/react-native/third-party-podspecs/fmt.podspec" glog: - :podspec: "../../../../node_modules/react-native/third-party-podspecs/glog.podspec" + :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" hermes-engine: - :podspec: "../../../../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" + :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" :tag: hermes-2025-07-07-RNv0.81.0-e0fc67142ec0763c6b6153ca2bf96df815539782 NativeDate: - :path: "../.." + :path: "../../native-date" NitroModules: - :path: "../../../../node_modules/react-native-nitro-modules" + :path: "../node_modules/react-native-nitro-modules" RCT-Folly: - :podspec: "../../../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" + :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTDeprecation: - :path: "../../../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" + :path: "../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" RCTRequired: - :path: "../../../../node_modules/react-native/Libraries/Required" + :path: "../node_modules/react-native/Libraries/Required" RCTTypeSafety: - :path: "../../../../node_modules/react-native/Libraries/TypeSafety" + :path: "../node_modules/react-native/Libraries/TypeSafety" React: - :path: "../../../../node_modules/react-native/" + :path: "../node_modules/react-native/" React-callinvoker: - :path: "../../../../node_modules/react-native/ReactCommon/callinvoker" + :path: "../node_modules/react-native/ReactCommon/callinvoker" React-Core: - :path: "../../../../node_modules/react-native/" + :path: "../node_modules/react-native/" React-CoreModules: - :path: "../../../../node_modules/react-native/React/CoreModules" + :path: "../node_modules/react-native/React/CoreModules" React-cxxreact: - :path: "../../../../node_modules/react-native/ReactCommon/cxxreact" + :path: "../node_modules/react-native/ReactCommon/cxxreact" React-debug: - :path: "../../../../node_modules/react-native/ReactCommon/react/debug" + :path: "../node_modules/react-native/ReactCommon/react/debug" React-defaultsnativemodule: - :path: "../../../../node_modules/react-native/ReactCommon/react/nativemodule/defaults" + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/defaults" React-domnativemodule: - :path: "../../../../node_modules/react-native/ReactCommon/react/nativemodule/dom" + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/dom" React-Fabric: - :path: "../../../../node_modules/react-native/ReactCommon" + :path: "../node_modules/react-native/ReactCommon" React-FabricComponents: - :path: "../../../../node_modules/react-native/ReactCommon" + :path: "../node_modules/react-native/ReactCommon" React-FabricImage: - :path: "../../../../node_modules/react-native/ReactCommon" + :path: "../node_modules/react-native/ReactCommon" React-featureflags: - :path: "../../../../node_modules/react-native/ReactCommon/react/featureflags" + :path: "../node_modules/react-native/ReactCommon/react/featureflags" React-featureflagsnativemodule: - :path: "../../../../node_modules/react-native/ReactCommon/react/nativemodule/featureflags" + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/featureflags" React-graphics: - :path: "../../../../node_modules/react-native/ReactCommon/react/renderer/graphics" + :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" React-hermes: - :path: "../../../../node_modules/react-native/ReactCommon/hermes" + :path: "../node_modules/react-native/ReactCommon/hermes" React-idlecallbacksnativemodule: - :path: "../../../../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks" + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks" React-ImageManager: - :path: "../../../../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" + :path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" React-jserrorhandler: - :path: "../../../../node_modules/react-native/ReactCommon/jserrorhandler" + :path: "../node_modules/react-native/ReactCommon/jserrorhandler" React-jsi: - :path: "../../../../node_modules/react-native/ReactCommon/jsi" + :path: "../node_modules/react-native/ReactCommon/jsi" React-jsiexecutor: - :path: "../../../../node_modules/react-native/ReactCommon/jsiexecutor" + :path: "../node_modules/react-native/ReactCommon/jsiexecutor" React-jsinspector: - :path: "../../../../node_modules/react-native/ReactCommon/jsinspector-modern" + :path: "../node_modules/react-native/ReactCommon/jsinspector-modern" React-jsinspectorcdp: - :path: "../../../../node_modules/react-native/ReactCommon/jsinspector-modern/cdp" + :path: "../node_modules/react-native/ReactCommon/jsinspector-modern/cdp" React-jsinspectornetwork: - :path: "../../../../node_modules/react-native/ReactCommon/jsinspector-modern/network" + :path: "../node_modules/react-native/ReactCommon/jsinspector-modern/network" React-jsinspectortracing: - :path: "../../../../node_modules/react-native/ReactCommon/jsinspector-modern/tracing" + :path: "../node_modules/react-native/ReactCommon/jsinspector-modern/tracing" React-jsitooling: - :path: "../../../../node_modules/react-native/ReactCommon/jsitooling" + :path: "../node_modules/react-native/ReactCommon/jsitooling" React-jsitracing: - :path: "../../../../node_modules/react-native/ReactCommon/hermes/executor/" + :path: "../node_modules/react-native/ReactCommon/hermes/executor/" React-logger: - :path: "../../../../node_modules/react-native/ReactCommon/logger" + :path: "../node_modules/react-native/ReactCommon/logger" React-Mapbuffer: - :path: "../../../../node_modules/react-native/ReactCommon" + :path: "../node_modules/react-native/ReactCommon" React-microtasksnativemodule: - :path: "../../../../node_modules/react-native/ReactCommon/react/nativemodule/microtasks" + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/microtasks" React-NativeModulesApple: - :path: "../../../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" React-oscompat: - :path: "../../../../node_modules/react-native/ReactCommon/oscompat" + :path: "../node_modules/react-native/ReactCommon/oscompat" React-perflogger: - :path: "../../../../node_modules/react-native/ReactCommon/reactperflogger" + :path: "../node_modules/react-native/ReactCommon/reactperflogger" React-performancetimeline: - :path: "../../../../node_modules/react-native/ReactCommon/react/performance/timeline" + :path: "../node_modules/react-native/ReactCommon/react/performance/timeline" React-RCTActionSheet: - :path: "../../../../node_modules/react-native/Libraries/ActionSheetIOS" + :path: "../node_modules/react-native/Libraries/ActionSheetIOS" React-RCTAnimation: - :path: "../../../../node_modules/react-native/Libraries/NativeAnimation" + :path: "../node_modules/react-native/Libraries/NativeAnimation" React-RCTAppDelegate: - :path: "../../../../node_modules/react-native/Libraries/AppDelegate" + :path: "../node_modules/react-native/Libraries/AppDelegate" React-RCTBlob: - :path: "../../../../node_modules/react-native/Libraries/Blob" + :path: "../node_modules/react-native/Libraries/Blob" React-RCTFabric: - :path: "../../../../node_modules/react-native/React" + :path: "../node_modules/react-native/React" React-RCTFBReactNativeSpec: - :path: "../../../../node_modules/react-native/React" + :path: "../node_modules/react-native/React" React-RCTImage: - :path: "../../../../node_modules/react-native/Libraries/Image" + :path: "../node_modules/react-native/Libraries/Image" React-RCTLinking: - :path: "../../../../node_modules/react-native/Libraries/LinkingIOS" + :path: "../node_modules/react-native/Libraries/LinkingIOS" React-RCTNetwork: - :path: "../../../../node_modules/react-native/Libraries/Network" + :path: "../node_modules/react-native/Libraries/Network" React-RCTRuntime: - :path: "../../../../node_modules/react-native/React/Runtime" + :path: "../node_modules/react-native/React/Runtime" React-RCTSettings: - :path: "../../../../node_modules/react-native/Libraries/Settings" + :path: "../node_modules/react-native/Libraries/Settings" React-RCTText: - :path: "../../../../node_modules/react-native/Libraries/Text" + :path: "../node_modules/react-native/Libraries/Text" React-RCTVibration: - :path: "../../../../node_modules/react-native/Libraries/Vibration" + :path: "../node_modules/react-native/Libraries/Vibration" React-rendererconsistency: - :path: "../../../../node_modules/react-native/ReactCommon/react/renderer/consistency" + :path: "../node_modules/react-native/ReactCommon/react/renderer/consistency" React-renderercss: - :path: "../../../../node_modules/react-native/ReactCommon/react/renderer/css" + :path: "../node_modules/react-native/ReactCommon/react/renderer/css" React-rendererdebug: - :path: "../../../../node_modules/react-native/ReactCommon/react/renderer/debug" + :path: "../node_modules/react-native/ReactCommon/react/renderer/debug" React-RuntimeApple: - :path: "../../../../node_modules/react-native/ReactCommon/react/runtime/platform/ios" + :path: "../node_modules/react-native/ReactCommon/react/runtime/platform/ios" React-RuntimeCore: - :path: "../../../../node_modules/react-native/ReactCommon/react/runtime" + :path: "../node_modules/react-native/ReactCommon/react/runtime" React-runtimeexecutor: - :path: "../../../../node_modules/react-native/ReactCommon/runtimeexecutor" + :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" React-RuntimeHermes: - :path: "../../../../node_modules/react-native/ReactCommon/react/runtime" + :path: "../node_modules/react-native/ReactCommon/react/runtime" React-runtimescheduler: - :path: "../../../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" + :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" React-timing: - :path: "../../../../node_modules/react-native/ReactCommon/react/timing" + :path: "../node_modules/react-native/ReactCommon/react/timing" React-utils: - :path: "../../../../node_modules/react-native/ReactCommon/react/utils" + :path: "../node_modules/react-native/ReactCommon/react/utils" ReactAppDependencyProvider: :path: build/generated/ios ReactCodegen: :path: build/generated/ios ReactCommon: - :path: "../../../../node_modules/react-native/ReactCommon" + :path: "../node_modules/react-native/ReactCommon" Yoga: - :path: "../../../../node_modules/react-native/ReactCommon/yoga" + :path: "../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90 @@ -2616,7 +2616,7 @@ SPEC CHECKSUMS: React-timing: 97ada2c47b4c5932e7f773c7d239c52b90d6ca68 React-utils: f0949d247a46b4c09f03e5a3cb1167602d0b729a ReactAppDependencyProvider: 3eb9096cb139eb433965693bbe541d96eb3d3ec9 - ReactCodegen: 1536758389cb7171784525f508607ec84e2d73d9 + ReactCodegen: 4d203eddf6f977caa324640a20f92e70408d648b ReactCommon: ce5d4226dfaf9d5dacbef57b4528819e39d3a120 SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 Yoga: 11c9686a21e2cd82a094a723649d9f4507200fb0 diff --git a/packages/native-date/example/jest.config.js b/packages/example/jest.config.js similarity index 100% rename from packages/native-date/example/jest.config.js rename to packages/example/jest.config.js diff --git a/packages/example/metro.config.js b/packages/example/metro.config.js new file mode 100644 index 0000000..1865433 --- /dev/null +++ b/packages/example/metro.config.js @@ -0,0 +1,43 @@ +const path = require('path'); +const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config'); + +// Monorepo root +const monorepoRoot = path.resolve(__dirname, '../..'); +// Library root +const libraryRoot = path.resolve(__dirname, '../native-date'); +// Shared examples root +const examplesRoot = path.resolve(__dirname, '../native-date-examples'); + +// Path to example's node_modules +const exampleNodeModules = path.resolve(__dirname, 'node_modules'); + +/** + * Metro configuration + */ +const defaultConfig = getDefaultConfig(__dirname); + +const config = { + watchFolders: [monorepoRoot, libraryRoot, examplesRoot], + resolver: { + nodeModulesPaths: [ + exampleNodeModules, + path.resolve(libraryRoot, 'node_modules'), + path.resolve(examplesRoot, 'node_modules'), + path.resolve(monorepoRoot, 'node_modules'), + ], + // Custom resolver to force react/react-native from example's node_modules + resolveRequest: (context, moduleName, platform) => { + // Force react and react-native to come from example's node_modules + if (moduleName === 'react' || moduleName === 'react-native') { + return { + filePath: require.resolve(moduleName, { paths: [exampleNodeModules] }), + type: 'sourceFile', + }; + } + // Let metro handle everything else + return context.resolveRequest(context, moduleName, platform); + }, + }, +}; + +module.exports = mergeConfig(defaultConfig, config); diff --git a/packages/native-date/example/package.json b/packages/example/package.json similarity index 93% rename from packages/native-date/example/package.json rename to packages/example/package.json index 21b428f..e42a337 100644 --- a/packages/native-date/example/package.json +++ b/packages/example/package.json @@ -10,7 +10,9 @@ "build:ios": "react-native build-ios --mode Debug" }, "dependencies": { + "@bernagl/react-native-date": "*", "@date-fns/tz": "^1.4.1", + "@rn-packages/native-date-examples": "*", "date-fns": "^4.1.0", "dayjs": "^1.11.19", "luxon": "^3.5.0", diff --git a/packages/native-date/example/react-native.config.js b/packages/example/react-native.config.js similarity index 77% rename from packages/native-date/example/react-native.config.js rename to packages/example/react-native.config.js index 59d9698..4334437 100644 --- a/packages/native-date/example/react-native.config.js +++ b/packages/example/react-native.config.js @@ -1,5 +1,5 @@ const path = require('path'); -const pkg = require('../package.json'); +const pkg = require('../native-date/package.json'); module.exports = { project: { @@ -9,7 +9,7 @@ module.exports = { }, dependencies: { [pkg.name]: { - root: path.join(__dirname, '..'), + root: path.join(__dirname, '../native-date'), platforms: { // Codegen script incorrectly fails without this // So we explicitly specify the platforms with empty object diff --git a/packages/native-date/example/src/App.tsx b/packages/example/src/App.tsx similarity index 99% rename from packages/native-date/example/src/App.tsx rename to packages/example/src/App.tsx index 3cd4843..42b6c46 100644 --- a/packages/native-date/example/src/App.tsx +++ b/packages/example/src/App.tsx @@ -10,8 +10,7 @@ import { import Benchmark from './Benchmark'; import TimezoneScreen from './TimezoneScreen'; import FormattingScreen from './FormattingScreen'; -import ComparisonScreen from './ComparisonScreen'; -import { NativeTestScreen } from './NativeTestScreen'; +import { ComparisonScreen, NativeTestScreen } from '@rn-packages/native-date-examples'; import { // Core now, diff --git a/packages/native-date/example/src/Benchmark.tsx b/packages/example/src/Benchmark.tsx similarity index 100% rename from packages/native-date/example/src/Benchmark.tsx rename to packages/example/src/Benchmark.tsx diff --git a/packages/native-date/example/src/FormattingScreen.tsx b/packages/example/src/FormattingScreen.tsx similarity index 100% rename from packages/native-date/example/src/FormattingScreen.tsx rename to packages/example/src/FormattingScreen.tsx diff --git a/packages/native-date/example/src/TimezoneScreen.tsx b/packages/example/src/TimezoneScreen.tsx similarity index 100% rename from packages/native-date/example/src/TimezoneScreen.tsx rename to packages/example/src/TimezoneScreen.tsx diff --git a/packages/native-date/expo-example/.gitignore b/packages/expo-example/.gitignore similarity index 100% rename from packages/native-date/expo-example/.gitignore rename to packages/expo-example/.gitignore diff --git a/packages/expo-example/.yarn/install-state.gz b/packages/expo-example/.yarn/install-state.gz new file mode 100644 index 0000000000000000000000000000000000000000..f0c1e0603d641a74f3d17bb4c9d0a6991b2bdba0 GIT binary patch literal 634815 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

io+ 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

2eJ$4i$_nIV{GJ&RPdf4#uQU7q87z$ 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�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 z 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

  • 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%0Ae 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%0DK+judm?#OQ4z#H$#}hT$y)Wn4 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�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Μ(fRw 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 literal 0 HcmV?d00001 diff --git a/packages/expo-example/App.tsx b/packages/expo-example/App.tsx new file mode 100644 index 0000000..3d120a7 --- /dev/null +++ b/packages/expo-example/App.tsx @@ -0,0 +1,106 @@ +import { useState } from 'react'; +import { StatusBar } from 'expo-status-bar'; +import { + StyleSheet, + Text, + View, + TouchableOpacity, + SafeAreaView, +} from 'react-native'; +import { ComparisonScreen, NativeTestScreen } from '@rn-packages/native-date-examples'; + +type Tab = 'test' | 'compare'; + +function TabBar({ + activeTab, + onChangeTab, +}: { + activeTab: Tab; + onChangeTab: (tab: Tab) => void; +}) { + return ( + + onChangeTab('test')} + > + + Tests + + + onChangeTab('compare')} + > + + Compare + + + + ); +} + +const tabStyles = StyleSheet.create({ + container: { + flexDirection: 'row', + backgroundColor: '#f5f5f5', + paddingHorizontal: 20, + paddingBottom: 10, + }, + tab: { + flex: 1, + paddingVertical: 10, + alignItems: 'center', + borderBottomWidth: 2, + borderBottomColor: 'transparent', + }, + activeTab: { + borderBottomColor: '#007AFF', + }, + tabText: { + fontSize: 16, + color: '#666', + }, + activeTabText: { + color: '#007AFF', + fontWeight: '600', + }, +}); + +export default function App() { + const [activeTab, setActiveTab] = useState('test'); + + return ( + + + Expo + react-native-date + + {activeTab === 'test' && } + {activeTab === 'compare' && } + + ); +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#f5f5f5', + paddingTop: 20, + }, + title: { + fontSize: 24, + fontWeight: 'bold', + textAlign: 'center', + marginBottom: 10, + }, +}); diff --git a/packages/native-date/expo-example/app.json b/packages/expo-example/app.json similarity index 100% rename from packages/native-date/expo-example/app.json rename to packages/expo-example/app.json diff --git a/packages/native-date/expo-example/assets/adaptive-icon.png b/packages/expo-example/assets/adaptive-icon.png similarity index 100% rename from packages/native-date/expo-example/assets/adaptive-icon.png rename to packages/expo-example/assets/adaptive-icon.png diff --git a/packages/native-date/expo-example/assets/favicon.png b/packages/expo-example/assets/favicon.png similarity index 100% rename from packages/native-date/expo-example/assets/favicon.png rename to packages/expo-example/assets/favicon.png diff --git a/packages/native-date/expo-example/assets/icon.png b/packages/expo-example/assets/icon.png similarity index 100% rename from packages/native-date/expo-example/assets/icon.png rename to packages/expo-example/assets/icon.png diff --git a/packages/native-date/expo-example/assets/splash-icon.png b/packages/expo-example/assets/splash-icon.png similarity index 100% rename from packages/native-date/expo-example/assets/splash-icon.png rename to packages/expo-example/assets/splash-icon.png diff --git a/packages/native-date/expo-example/index.ts b/packages/expo-example/index.ts similarity index 100% rename from packages/native-date/expo-example/index.ts rename to packages/expo-example/index.ts diff --git a/packages/expo-example/metro.config.js b/packages/expo-example/metro.config.js new file mode 100644 index 0000000..9ce5623 --- /dev/null +++ b/packages/expo-example/metro.config.js @@ -0,0 +1,35 @@ +const path = require('path'); +const { getDefaultConfig } = require('expo/metro-config'); + +// Monorepo root +const monorepoRoot = path.resolve(__dirname, '../..'); +// Library root +const libraryRoot = path.resolve(__dirname, '../native-date'); +// Shared examples root +const examplesRoot = path.resolve(__dirname, '../native-date-examples'); + +// Path to expo-example's node_modules +const expoNodeModules = path.resolve(__dirname, 'node_modules'); + +const config = getDefaultConfig(__dirname); + +config.watchFolders = [monorepoRoot, libraryRoot, examplesRoot]; +config.resolver.nodeModulesPaths = [ + expoNodeModules, + path.resolve(libraryRoot, 'node_modules'), + path.resolve(examplesRoot, 'node_modules'), + path.resolve(monorepoRoot, 'node_modules'), +]; + +// Custom resolver to force react/react-native from expo-example's node_modules +config.resolver.resolveRequest = (context, moduleName, platform) => { + if (moduleName === 'react' || moduleName === 'react-native') { + return { + filePath: require.resolve(moduleName, { paths: [expoNodeModules] }), + type: 'sourceFile', + }; + } + return context.resolveRequest(context, moduleName, platform); +}; + +module.exports = config; diff --git a/packages/native-date/expo-example/package-lock.json b/packages/expo-example/package-lock.json similarity index 100% rename from packages/native-date/expo-example/package-lock.json rename to packages/expo-example/package-lock.json diff --git a/packages/native-date/expo-example/package.json b/packages/expo-example/package.json similarity index 82% rename from packages/native-date/expo-example/package.json rename to packages/expo-example/package.json index 80cef59..b1ef7b2 100644 --- a/packages/native-date/expo-example/package.json +++ b/packages/expo-example/package.json @@ -11,6 +11,10 @@ }, "dependencies": { "@bernagl/react-native-date": "*", + "@date-fns/tz": "^1.4.1", + "@rn-packages/native-date-examples": "*", + "date-fns": "^4.1.0", + "dayjs": "^1.11.19", "expo": "~54.0.31", "expo-status-bar": "~3.0.9", "react": "19.1.0", diff --git a/packages/expo-example/react-native.config.js b/packages/expo-example/react-native.config.js new file mode 100644 index 0000000..265cadd --- /dev/null +++ b/packages/expo-example/react-native.config.js @@ -0,0 +1,14 @@ +const path = require('path'); +const pkg = require('../native-date/package.json'); + +module.exports = { + dependencies: { + [pkg.name]: { + root: path.join(__dirname, '../native-date'), + platforms: { + ios: {}, + android: {}, + }, + }, + }, +}; diff --git a/packages/native-date/expo-example/tsconfig.json b/packages/expo-example/tsconfig.json similarity index 100% rename from packages/native-date/expo-example/tsconfig.json rename to packages/expo-example/tsconfig.json diff --git a/packages/expo-example/yarn.lock b/packages/expo-example/yarn.lock new file mode 100644 index 0000000..d3cf1f2 --- /dev/null +++ b/packages/expo-example/yarn.lock @@ -0,0 +1,6331 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@0no-co/graphql.web@npm:^1.0.13, @0no-co/graphql.web@npm:^1.0.8": + version: 1.2.0 + resolution: "@0no-co/graphql.web@npm:1.2.0" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 + peerDependenciesMeta: + graphql: + optional: true + checksum: 10c0/4eed600962bfab42afb49cddcfb31a47b00502f59707609cf160559920ce0f5cf8874791e4cafc465ede30ae291992f3f892bc757b2a989e80e50e358f71c518 + languageName: node + linkType: hard + +"@babel/code-frame@npm:7.10.4, @babel/code-frame@npm:~7.10.4": + version: 7.10.4 + resolution: "@babel/code-frame@npm:7.10.4" + dependencies: + "@babel/highlight": "npm:^7.10.4" + checksum: 10c0/69e0f52986a1f40231d891224f420436629b6678711b68c088e97b7bdba1607aeb5eb9cfb070275c433f0bf43c37c134845db80d1cdbf5ac88a69b0bdcce9402 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.20.0, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/code-frame@npm:7.28.6" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.28.5" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.1.1" + checksum: 10c0/ed5d57f99455e3b1c23e75ebb8430c6b9800b4ecd0121b4348b97cecb65406a47778d6db61f0d538a4958bb01b4b277e90348a68d39bd3beff1d7c940ed6dd66 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.27.7, @babel/compat-data@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/compat-data@npm:7.28.6" + checksum: 10c0/2d047431041281eaf33e9943d1a269d3374dbc9b498cafe6a18f5ee9aee7bb96f7f6cac0304eab4d13c41fc4db00fe4ca16c7aa44469ca6a211b8b6343b78fc4 + languageName: node + linkType: hard + +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.20.0, @babel/core@npm:^7.25.2": + version: 7.28.6 + resolution: "@babel/core@npm:7.28.6" + dependencies: + "@babel/code-frame": "npm:^7.28.6" + "@babel/generator": "npm:^7.28.6" + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-module-transforms": "npm:^7.28.6" + "@babel/helpers": "npm:^7.28.6" + "@babel/parser": "npm:^7.28.6" + "@babel/template": "npm:^7.28.6" + "@babel/traverse": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + "@jridgewell/remapping": "npm:^2.3.5" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/716b88b1ab057aa53ffa40f2b2fb7e4ab7a35cd6a065fa60e55ca13d2a666672592329f7ea9269aec17e90cc7ce29f42eda566d07859bfd998329a9f283faadb + languageName: node + linkType: hard + +"@babel/generator@npm:^7.20.5, @babel/generator@npm:^7.25.0, @babel/generator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/generator@npm:7.28.6" + dependencies: + "@babel/parser": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + "@jridgewell/gen-mapping": "npm:^0.3.12" + "@jridgewell/trace-mapping": "npm:^0.3.28" + jsesc: "npm:^3.0.2" + checksum: 10c0/162fa358484a9a18e8da1235d998f10ea77c63bab408c8d3e327d5833f120631a77ff022c5ed1d838ee00523f8bb75df1f08196d3657d0bca9f2cfeb8503cc12 + languageName: node + linkType: hard + +"@babel/helper-annotate-as-pure@npm:^7.27.1, @babel/helper-annotate-as-pure@npm:^7.27.3": + version: 7.27.3 + resolution: "@babel/helper-annotate-as-pure@npm:7.27.3" + dependencies: + "@babel/types": "npm:^7.27.3" + checksum: 10c0/94996ce0a05b7229f956033e6dcd69393db2b0886d0db6aff41e704390402b8cdcca11f61449cb4f86cfd9e61b5ad3a73e4fa661eeed7846b125bd1c33dbc633 + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.27.1, @babel/helper-compilation-targets@npm:^7.27.2, @babel/helper-compilation-targets@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-compilation-targets@npm:7.28.6" + dependencies: + "@babel/compat-data": "npm:^7.28.6" + "@babel/helper-validator-option": "npm:^7.27.1" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/3fcdf3b1b857a1578e99d20508859dbd3f22f3c87b8a0f3dc540627b4be539bae7f6e61e49d931542fe5b557545347272bbdacd7f58a5c77025a18b745593a50 + languageName: node + linkType: hard + +"@babel/helper-create-class-features-plugin@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-create-class-features-plugin@npm:7.28.6" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-member-expression-to-functions": "npm:^7.28.5" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.28.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.6" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/0b62b46717891f4366006b88c9b7f277980d4f578c4c3789b7a4f5a2e09e121de4cda9a414ab403986745cd3ad1af3fe2d948c9f78ab80d4dc085afc9602af50 + languageName: node + linkType: hard + +"@babel/helper-create-regexp-features-plugin@npm:^7.27.1": + version: 7.28.5 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.28.5" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + regexpu-core: "npm:^6.3.1" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/7af3d604cadecdb2b0d2cedd696507f02a53a58be0523281c2d6766211443b55161dde1e6c0d96ab16ddfd82a2607a2f792390caa24797e9733631f8aa86859f + languageName: node + linkType: hard + +"@babel/helper-define-polyfill-provider@npm:^0.6.5": + version: 0.6.5 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.5" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-plugin-utils": "npm:^7.27.1" + debug: "npm:^4.4.1" + lodash.debounce: "npm:^4.0.8" + resolve: "npm:^1.22.10" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/4886a068d9ca1e70af395340656a9dda33c50502c67eed39ff6451785f370bdfc6e57095b90cb92678adcd4a111ca60909af53d3a741120719c5604346ae409e + languageName: node + linkType: hard + +"@babel/helper-globals@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/helper-globals@npm:7.28.0" + checksum: 10c0/5a0cd0c0e8c764b5f27f2095e4243e8af6fa145daea2b41b53c0c1414fe6ff139e3640f4e2207ae2b3d2153a1abd346f901c26c290ee7cb3881dd922d4ee9232 + languageName: node + linkType: hard + +"@babel/helper-member-expression-to-functions@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-member-expression-to-functions@npm:7.28.5" + dependencies: + "@babel/traverse": "npm:^7.28.5" + "@babel/types": "npm:^7.28.5" + checksum: 10c0/4e6e05fbf4dffd0bc3e55e28fcaab008850be6de5a7013994ce874ec2beb90619cda4744b11607a60f8aae0227694502908add6188ceb1b5223596e765b44814 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.25.9, @babel/helper-module-imports@npm:^7.27.1, @babel/helper-module-imports@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-module-imports@npm:7.28.6" + dependencies: + "@babel/traverse": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/b49d8d8f204d9dbfd5ac70c54e533e5269afb3cea966a9d976722b13e9922cc773a653405f53c89acb247d5aebdae4681d631a3ae3df77ec046b58da76eda2ac + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-module-transforms@npm:7.28.6" + dependencies: + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-validator-identifier": "npm:^7.28.5" + "@babel/traverse": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/6f03e14fc30b287ce0b839474b5f271e72837d0cafe6b172d759184d998fbee3903a035e81e07c2c596449e504f453463d58baa65b6f40a37ded5bec74620b2b + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-optimise-call-expression@npm:7.27.1" + dependencies: + "@babel/types": "npm:^7.27.1" + checksum: 10c0/6b861e7fcf6031b9c9fc2de3cd6c005e94a459d6caf3621d93346b52774925800ca29d4f64595a5ceacf4d161eb0d27649ae385110ed69491d9776686fa488e6 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.28.6, @babel/helper-plugin-utils@npm:^7.8.0": + version: 7.28.6 + resolution: "@babel/helper-plugin-utils@npm:7.28.6" + checksum: 10c0/3f5f8acc152fdbb69a84b8624145ff4f9b9f6e776cb989f9f968f8606eb7185c5c3cfcf3ba08534e37e1e0e1c118ac67080610333f56baa4f7376c99b5f1143d + languageName: node + linkType: hard + +"@babel/helper-remap-async-to-generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-remap-async-to-generator@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-wrap-function": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/5ba6258f4bb57c7c9fa76b55f416b2d18c867b48c1af4f9f2f7cd7cc933fe6da7514811d08ceb4972f1493be46f4b69c40282b811d1397403febae13c2ec57b5 + languageName: node + linkType: hard + +"@babel/helper-replace-supers@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-replace-supers@npm:7.28.6" + dependencies: + "@babel/helper-member-expression-to-functions": "npm:^7.28.5" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/04663c6389551b99b8c3e7ba4e2638b8ca2a156418c26771516124c53083aa8e74b6a45abe5dd46360af79709a0e9c6b72c076d0eab9efecdd5aaf836e79d8d5 + languageName: node + linkType: hard + +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.27.1" + dependencies: + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/f625013bcdea422c470223a2614e90d2c1cc9d832e97f32ca1b4f82b34bb4aa67c3904cb4b116375d3b5b753acfb3951ed50835a1e832e7225295c7b0c24dff7 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-string-parser@npm:7.27.1" + checksum: 10c0/8bda3448e07b5583727c103560bcf9c4c24b3c1051a4c516d4050ef69df37bb9a4734a585fe12725b8c2763de0a265aa1e909b485a4e3270b7cfd3e4dbe4b602 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.25.9, @babel/helper-validator-identifier@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-validator-identifier@npm:7.28.5" + checksum: 10c0/42aaebed91f739a41f3d80b72752d1f95fd7c72394e8e4bd7cdd88817e0774d80a432451bcba17c2c642c257c483bf1d409dd4548883429ea9493a3bc4ab0847 + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-option@npm:7.27.1" + checksum: 10c0/6fec5f006eba40001a20f26b1ef5dbbda377b7b68c8ad518c05baa9af3f396e780bdfded24c4eef95d14bb7b8fd56192a6ed38d5d439b97d10efc5f1a191d148 + languageName: node + linkType: hard + +"@babel/helper-wrap-function@npm:^7.27.1": + version: 7.28.6 + resolution: "@babel/helper-wrap-function@npm:7.28.6" + dependencies: + "@babel/template": "npm:^7.28.6" + "@babel/traverse": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/110674c7aa705dd8cc34f278628f540b37a4cb35e81fcaf557772e026a6fd95f571feb51a8efb146e4e91bbf567dc9dd7f534f78da80f55f4be2ec842f36b678 + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helpers@npm:7.28.6" + dependencies: + "@babel/template": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/c4a779c66396bb0cf619402d92f1610601ff3832db2d3b86b9c9dd10983bf79502270e97ac6d5280cea1b1a37de2f06ecbac561bd2271545270407fbe64027cb + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.10.4": + version: 7.25.9 + resolution: "@babel/highlight@npm:7.25.9" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.25.9" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.0.0" + checksum: 10c0/ae0ed93c151b85a07df42936117fa593ce91563a22dfc8944a90ae7088c9679645c33e00dcd20b081c1979665d65f986241172dae1fc9e5922692fc3ff685a49 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/parser@npm:7.28.6" + dependencies: + "@babel/types": "npm:^7.28.6" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/d6bfe8aa8e067ef58909e9905496157312372ca65d8d2a4f2b40afbea48d59250163755bba8ae626a615da53d192b084bcfc8c9dad8b01e315b96967600de581 + languageName: node + linkType: hard + +"@babel/plugin-proposal-decorators@npm:^7.12.9": + version: 7.28.6 + resolution: "@babel/plugin-proposal-decorators@npm:7.28.6" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/plugin-syntax-decorators": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e2a4fa4e487ca4c794105c26743ace37cdcb5c67e7290584e7d9d349b3f81c813452a7f9ecfb4263de2d699db9e428558221da84c25e7621f90165266e853552 + languageName: node + linkType: hard + +"@babel/plugin-proposal-export-default-from@npm:^7.24.7": + version: 7.27.1 + resolution: "@babel/plugin-proposal-export-default-from@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/6e0756e0692245854028caea113dad2dc11fcdd479891a59d9a614a099e7e321f2bd25a1e3dd6f3b36ba9506a76f072f63adbf676e5ed51e7eeac277612e3db2 + languageName: node + linkType: hard + +"@babel/plugin-syntax-async-generators@npm:^7.8.4": + version: 7.8.4 + resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d13efb282838481348c71073b6be6245b35d4f2f964a8f71e4174f235009f929ef7613df25f8d2338e2d3e44bc4265a9f8638c6aaa136d7a61fe95985f9725c8 + languageName: node + linkType: hard + +"@babel/plugin-syntax-bigint@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/686891b81af2bc74c39013655da368a480f17dd237bf9fbc32048e5865cb706d5a8f65438030da535b332b1d6b22feba336da8fa931f663b6b34e13147d12dde + languageName: node + linkType: hard + +"@babel/plugin-syntax-class-properties@npm:^7.12.13": + version: 7.12.13 + resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.12.13" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/95168fa186416195280b1264fb18afcdcdcea780b3515537b766cb90de6ce042d42dd6a204a39002f794ae5845b02afb0fd4861a3308a861204a55e68310a120 + languageName: node + linkType: hard + +"@babel/plugin-syntax-class-static-block@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4464bf9115f4a2d02ce1454411baf9cfb665af1da53709c5c56953e5e2913745b0fcce82982a00463d6facbdd93445c691024e310b91431a1e2f024b158f6371 + languageName: node + linkType: hard + +"@babel/plugin-syntax-decorators@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-syntax-decorators@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/bd12119646f65e156709d1d6f4949758de36a4192c5c3057b5a5972b896386da5411a763aba087691edf539808616b254b84084b3340cff6e7968f9cab5004dd + languageName: node + linkType: hard + +"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/9c50927bf71adf63f60c75370e2335879402648f468d0172bc912e303c6a3876927d8eb35807331b57f415392732ed05ab9b42c68ac30a936813ab549e0246c5 + languageName: node + linkType: hard + +"@babel/plugin-syntax-export-default-from@npm:^7.24.7": + version: 7.28.6 + resolution: "@babel/plugin-syntax-export-default-from@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/7d01ef992ab7e1c8a08c9e5ebacc2ff82e10592d9bc7964c9903a6766f01d371e45c25848f793393795d603d63f54dd0626b0a148df003f2a234a0a90bb31e93 + languageName: node + linkType: hard + +"@babel/plugin-syntax-flow@npm:^7.12.1, @babel/plugin-syntax-flow@npm:^7.27.1": + version: 7.28.6 + resolution: "@babel/plugin-syntax-flow@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a00114adcbbdaef07638f6a2e8c3ea63d65b3d27f088e8e53c5f35b8dc50813c0e1006fac4fb109782f9cdd41ad2f1cb9838359fecbb3d1f6141b4002358f52c + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-attributes@npm:^7.24.7": + version: 7.28.6 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/1be160e2c426faa74e5be2e30e39e8d0d8c543063bd5d06cd804f8751b8fbcb82ce824ca7f9ce4b09c003693f6c06a11ce503b7e34d85e1a259631e4c3f72ad2 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-meta@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/0b08b5e4c3128523d8e346f8cfc86824f0da2697b1be12d71af50a31aff7a56ceb873ed28779121051475010c28d6146a6bfea8518b150b71eeb4e46190172ee + languageName: node + linkType: hard + +"@babel/plugin-syntax-json-strings@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e98f31b2ec406c57757d115aac81d0336e8434101c224edd9a5c93cefa53faf63eacc69f3138960c8b25401315af03df37f68d316c151c4b933136716ed6906e + languageName: node + linkType: hard + +"@babel/plugin-syntax-jsx@npm:^7.27.1, @babel/plugin-syntax-jsx@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-syntax-jsx@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b98fc3cd75e4ca3d5ca1162f610c286e14ede1486e0d297c13a5eb0ac85680ac9656d17d348bddd9160a54d797a08cea5eaac02b9330ddebb7b26732b7b99fb5 + languageName: node + linkType: hard + +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/2594cfbe29411ad5bc2ad4058de7b2f6a8c5b86eda525a993959438615479e59c012c14aec979e538d60a584a1a799b60d1b8942c3b18468cb9d99b8fd34cd0b + languageName: node + linkType: hard + +"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/2024fbb1162899094cfc81152449b12bd0cc7053c6d4bda8ac2852545c87d0a851b1b72ed9560673cbf3ef6248257262c3c04aabf73117215c1b9cc7dd2542ce + languageName: node + linkType: hard + +"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c55a82b3113480942c6aa2fcbe976ff9caa74b7b1109ff4369641dfbc88d1da348aceb3c31b6ed311c84d1e7c479440b961906c735d0ab494f688bf2fd5b9bb9 + languageName: node + linkType: hard + +"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/ee1eab52ea6437e3101a0a7018b0da698545230015fc8ab129d292980ec6dff94d265e9e90070e8ae5fed42f08f1622c14c94552c77bcac784b37f503a82ff26 + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/27e2493ab67a8ea6d693af1287f7e9acec206d1213ff107a928e85e173741e1d594196f99fec50e9dde404b09164f39dec5864c767212154ffe1caa6af0bc5af + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/46edddf2faa6ebf94147b8e8540dfc60a5ab718e2de4d01b2c0bdf250a4d642c2bd47cbcbb739febcb2bf75514dbcefad3c52208787994b8d0f8822490f55e81 + languageName: node + linkType: hard + +"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/69822772561706c87f0a65bc92d0772cea74d6bc0911537904a676d5ff496a6d3ac4e05a166d8125fce4a16605bace141afc3611074e170a994e66e5397787f3 + languageName: node + linkType: hard + +"@babel/plugin-syntax-top-level-await@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/14bf6e65d5bc1231ffa9def5f0ef30b19b51c218fcecaa78cd1bdf7939dfdf23f90336080b7f5196916368e399934ce5d581492d8292b46a2fb569d8b2da106f + languageName: node + linkType: hard + +"@babel/plugin-syntax-typescript@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-syntax-typescript@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b0c392a35624883ac480277401ac7d92d8646b66e33639f5d350de7a6723924265985ae11ab9ebd551740ded261c443eaa9a87ea19def9763ca1e0d78c97dea8 + languageName: node + linkType: hard + +"@babel/plugin-transform-arrow-functions@npm:^7.24.7": + version: 7.27.1 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/19abd7a7d11eef58c9340408a4c2594503f6c4eaea1baa7b0e5fbdda89df097e50663edb3448ad2300170b39efca98a75e5767af05cad3b0facb4944326896a3 + languageName: node + linkType: hard + +"@babel/plugin-transform-async-generator-functions@npm:^7.25.4": + version: 7.28.6 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-remap-async-to-generator": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/eddb94b0b990d8057c9c3587db3453eb586d1835626a9d683e6e8bef0ac5f708a76002951fb9cca80c902b3074b21b3a81b8af9090492561d9179862ce5716d8 + languageName: node + linkType: hard + +"@babel/plugin-transform-async-to-generator@npm:^7.24.7": + version: 7.28.6 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.28.6" + dependencies: + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-remap-async-to-generator": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/2eb0826248587df6e50038f36194a138771a7df22581020451c7779edeaf9ef39bf47c5b7a20ae2645af6416e8c896feeca273317329652e84abd79a4ab920ad + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoping@npm:^7.25.0": + version: 7.28.6 + resolution: "@babel/plugin-transform-block-scoping@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/2e3e09e1f9770b56cef4dcbffddf262508fd03416072f815ac66b2b224a3a12cd285cfec12fc067f1add414e7db5ce6dafb5164a6e0fb1a728e6a97d0c6f6e9d + languageName: node + linkType: hard + +"@babel/plugin-transform-class-properties@npm:^7.25.4": + version: 7.28.6 + resolution: "@babel/plugin-transform-class-properties@npm:7.28.6" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c4327fcd730c239d9f173f9b695b57b801729e273b4848aef1f75818069dfd31d985d75175db188d947b9b1bbe5353dae298849042026a5e4fcf07582ff3f9f1 + languageName: node + linkType: hard + +"@babel/plugin-transform-class-static-block@npm:^7.27.1": + version: 7.28.6 + resolution: "@babel/plugin-transform-class-static-block@npm:7.28.6" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.12.0 + checksum: 10c0/dbe9b1fd302ae41b73186e17ac8d8ecf625ebc2416a91f2dc8013977a1bdf21e6ea288a83f084752b412242f3866e789d4fddeb428af323fe35b60e0fae4f98c + languageName: node + linkType: hard + +"@babel/plugin-transform-classes@npm:^7.25.4": + version: 7.28.6 + resolution: "@babel/plugin-transform-classes@npm:7.28.6" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-replace-supers": "npm:^7.28.6" + "@babel/traverse": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/dc22f1f6eadab17305128fbf9cc5f30e87a51a77dd0a6d5498097994e8a9b9a90ab298c11edf2342acbeaac9edc9c601cad72eedcf4b592cd465a787d7f41490 + languageName: node + linkType: hard + +"@babel/plugin-transform-computed-properties@npm:^7.24.7": + version: 7.28.6 + resolution: "@babel/plugin-transform-computed-properties@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/template": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/1e9893503ae6d651125701cc29450e87c0b873c8febebff19da75da9c40cfb7968c52c28bf948244e461110aeb7b3591f2cc199b7406ff74a24c50c7a5729f39 + languageName: node + linkType: hard + +"@babel/plugin-transform-destructuring@npm:^7.24.8, @babel/plugin-transform-destructuring@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-transform-destructuring@npm:7.28.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/288207f488412b23bb206c7c01ba143714e2506b72a9ec09e993f28366cc8188d121bde714659b3437984a86d2881d9b1b06de3089d5582823ccf2f3b3eaa2c4 + languageName: node + linkType: hard + +"@babel/plugin-transform-export-namespace-from@npm:^7.25.9": + version: 7.27.1 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d7165cad11f571a54c8d9263d6c6bf2b817aff4874f747cb51e6e49efb32f2c9b37a6850cdb5e3b81e0b638141bb77dc782a6ec1a94128859fbdf7767581e07c + languageName: node + linkType: hard + +"@babel/plugin-transform-flow-strip-types@npm:^7.25.2": + version: 7.27.1 + resolution: "@babel/plugin-transform-flow-strip-types@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/plugin-syntax-flow": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c61c43244aacdcd479ad9ba618e1c095a5db7e4eadc3d19249602febc4e97153230273c014933f5fe4e92062fa56dab9bed4bc430197d5b2ffeb2158a4bf6786 + languageName: node + linkType: hard + +"@babel/plugin-transform-for-of@npm:^7.24.7": + version: 7.27.1 + resolution: "@babel/plugin-transform-for-of@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4635763173a23aae24480681f2b0996b4f54a0cb2368880301a1801638242e263132d1e8adbe112ab272913d1d900ee0d6f7dea79443aef9d3325168cd88b3fb + languageName: node + linkType: hard + +"@babel/plugin-transform-function-name@npm:^7.25.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-function-name@npm:7.27.1" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5abdc7b5945fbd807269dcc6e76e52b69235056023b0b35d311e8f5dfd6c09d9f225839798998fc3b663f50cf701457ddb76517025a0d7a5474f3fe56e567a4c + languageName: node + linkType: hard + +"@babel/plugin-transform-literals@npm:^7.25.2": + version: 7.27.1 + resolution: "@babel/plugin-transform-literals@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c40dc3eb2f45a92ee476412314a40e471af51a0f51a24e91b85cef5fc59f4fe06758088f541643f07f949d2c67ee7bdce10e11c5ec56791ae09b15c3b451eeca + languageName: node + linkType: hard + +"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.7": + version: 7.28.6 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4632a35453d2131f0be466681d0a33e3db44d868ff51ec46cd87e0ebd1e47c6a39b894f7d1c9b06f931addf6efa9d30e60c4cdedeb4f69d426f683e11f8490cf + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-commonjs@npm:^7.24.8, @babel/plugin-transform-modules-commonjs@npm:^7.27.1": + version: 7.28.6 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.28.6" + dependencies: + "@babel/helper-module-transforms": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/7c45992797c6150644c8552feff4a016ba7bd6d59ff2b039ed969a9c5b20a6804cd9d21db5045fc8cca8ca7f08262497e354e93f8f2be6a1cdf3fbfa8c31a9b6 + languageName: node + linkType: hard + +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.24.7": + version: 7.27.1 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/8eaa8c9aee00a00f3bd8bd8b561d3f569644d98cb2cfe3026d7398aabf9b29afd62f24f142b4112fa1f572d9b0e1928291b099cde59f56d6b59f4d565e58abf2 + languageName: node + linkType: hard + +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7": + version: 7.28.6 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/6607f2201d66ccb688f0b1db09475ef995837df19f14705da41f693b669f834c206147a854864ab107913d7b4f4748878b0cd9fe9ca8bfd1bee0c206fc027b49 + languageName: node + linkType: hard + +"@babel/plugin-transform-numeric-separator@npm:^7.24.7": + version: 7.28.6 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/191097d8d2753cdd16d1acca65a945d1645ab20b65655c2f5b030a9e38967a52e093dcb21ebf391e342222705c6ffe5dea15dafd6257f7b51b77fb64a830b637 + languageName: node + linkType: hard + +"@babel/plugin-transform-object-rest-spread@npm:^7.24.7": + version: 7.28.6 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.28.6" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/plugin-transform-destructuring": "npm:^7.28.5" + "@babel/plugin-transform-parameters": "npm:^7.27.7" + "@babel/traverse": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f55334352d4fcde385f2e8a58836687e71ff668c9b6e4c34d52575bf2789cdde92d9d3116edba13647ac0bc3e51fb2a6d1e8fb822dce7e8123334b82600bc4c3 + languageName: node + linkType: hard + +"@babel/plugin-transform-optional-catch-binding@npm:^7.24.7": + version: 7.28.6 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/36e8face000ee65e478a55febf687ce9be7513ad498c60dfe585851555565e0c28e7cb891b3c59709318539ce46f7697d5f42130eb18f385cd47e47cfa297446 + languageName: node + linkType: hard + +"@babel/plugin-transform-optional-chaining@npm:^7.24.8": + version: 7.28.6 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c159cc74115c2266be21791f192dd079e2aeb65c8731157e53b80fcefa41e8e28ad370021d4dfbdb31f25e5afa0322669a8eb2d032cd96e65ac37e020324c763 + languageName: node + linkType: hard + +"@babel/plugin-transform-parameters@npm:^7.24.7, @babel/plugin-transform-parameters@npm:^7.27.7": + version: 7.27.7 + resolution: "@babel/plugin-transform-parameters@npm:7.27.7" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f2da3804e047d9f1cfb27be6c014e2c7f6cf5e1e38290d1cb3cb2607859e3d6facb4ee8c8c1e336e9fbb440091a174ce95ce156582d7e8bf9c0e735d11681f0f + languageName: node + linkType: hard + +"@babel/plugin-transform-private-methods@npm:^7.24.7": + version: 7.28.6 + resolution: "@babel/plugin-transform-private-methods@npm:7.28.6" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/fb504e2bfdcf3f734d2a90ab20d61427c58385f57f950d3de6ff4e6d12dd4aa7d552147312d218367e129b7920dccfc3230ba554de861986cda38921bad84067 + languageName: node + linkType: hard + +"@babel/plugin-transform-private-property-in-object@npm:^7.24.7": + version: 7.28.6 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.28.6" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/0f6bbc6ec3f93b556d3de7d56bf49335255fc4c43488e51a5025d6ee0286183fd3cf950ffcac1bbeed8a45777f860a49996455c8d3b4a04c3b1a5f28e697fe31 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-display-name@npm:^7.24.7, @babel/plugin-transform-react-display-name@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-react-display-name@npm:7.28.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f5f86d2ad92be3e962158f344c2e385e23e2dfae7c8c7dc32138fb2cc46f63f5e50386c9f6c6fc16dbf1792c7bb650ad92c18203d0c2c0bd875bc28b0b80ef30 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-development@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-jsx-development@npm:7.27.1" + dependencies: + "@babel/plugin-transform-react-jsx": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/eb8c4b6a79dc5c49b41e928e2037e1ee0bbfa722e4fd74c0b7c0d11103c82c2c25c434000e1b051d534c7261ab5c92b6d1e85313bf1b26e37db3f051ae217b58 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-self@npm:^7.24.7": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-jsx-self@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/00a4f917b70a608f9aca2fb39aabe04a60aa33165a7e0105fd44b3a8531630eb85bf5572e9f242f51e6ad2fa38c2e7e780902176c863556c58b5ba6f6e164031 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-source@npm:^7.24.7": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-jsx-source@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5e67b56c39c4d03e59e03ba80692b24c5a921472079b63af711b1d250fc37c1733a17069b63537f750f3e937ec44a42b1ee6a46cd23b1a0df5163b17f741f7f2 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx@npm:^7.25.2, @babel/plugin-transform-react-jsx@npm:^7.27.1": + version: 7.28.6 + resolution: "@babel/plugin-transform-react-jsx@npm:7.28.6" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/plugin-syntax-jsx": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/cc75b9bb3997751df6cf7e86afe1b3fa33130b5031a412f6f12cc5faec083650fe852de0af5ec8f88d3588cc3428a3f514d3bc1f423d26f8b014cc5dff9f15a7 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-pure-annotations@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/34bc090f4a7e460d82a851971b4d0f32e4bb519bafb927154f4174506283fe02b0f471fc20655c6050a8bf7b748bfa31c7e8f7d688849476d8266623554fbb28 + languageName: node + linkType: hard + +"@babel/plugin-transform-regenerator@npm:^7.24.7": + version: 7.28.6 + resolution: "@babel/plugin-transform-regenerator@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/dbb65b7444548807aee558cdaf23996e7a0f6c3bced09c6b5d177734b3addcaf417532186e330341758979651e2af8cb98ae572f794f05c0e2e201e5593a5ffe + languageName: node + linkType: hard + +"@babel/plugin-transform-runtime@npm:^7.24.7": + version: 7.28.5 + resolution: "@babel/plugin-transform-runtime@npm:7.28.5" + dependencies: + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + babel-plugin-polyfill-corejs2: "npm:^0.4.14" + babel-plugin-polyfill-corejs3: "npm:^0.13.0" + babel-plugin-polyfill-regenerator: "npm:^0.6.5" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d20901d179a7044327dec7b37dd4fadbc4c1c0dc1cb6a3dd69e67166b43b06c262dd0f2e70aedf1c0dab42044c0c063468d99019ae1c9290312b6b8802c502f9 + languageName: node + linkType: hard + +"@babel/plugin-transform-shorthand-properties@npm:^7.24.7": + version: 7.27.1 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/bd5544b89520a22c41a6df5ddac9039821d3334c0ef364d18b0ba9674c5071c223bcc98be5867dc3865cb10796882b7594e2c40dedaff38e1b1273913fe353e1 + languageName: node + linkType: hard + +"@babel/plugin-transform-spread@npm:^7.24.7": + version: 7.28.6 + resolution: "@babel/plugin-transform-spread@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/bcac50e558d6f0c501cbce19ec197af558cef51fe3b3a6eba27276e323e57a5be28109b4264a5425ac12a67bf95d6af9c2a42b05e79c522ce913fb9529259d76 + languageName: node + linkType: hard + +"@babel/plugin-transform-sticky-regex@npm:^7.24.7": + version: 7.27.1 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5698df2d924f0b1b7bdb7ef370e83f99ed3f0964eb3b9c27d774d021bee7f6d45f9a73e2be369d90b4aff1603ce29827f8743f091789960e7669daf9c3cda850 + languageName: node + linkType: hard + +"@babel/plugin-transform-typescript@npm:^7.25.2, @babel/plugin-transform-typescript@npm:^7.28.5": + version: 7.28.6 + resolution: "@babel/plugin-transform-typescript@npm:7.28.6" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/plugin-syntax-typescript": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/72dbfd3e5f71c4e30445e610758ec0eef65347fafd72bd46f4903733df0d537663a72a81c1626f213a0feab7afc68ba83f1648ffece888dd0868115c9cb748f6 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-regex@npm:^7.24.7": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/6abda1bcffb79feba6f5c691859cdbe984cc96481ea65d5af5ba97c2e843154005f0886e25006a37a2d213c0243506a06eaeafd93a040dbe1f79539016a0d17a + languageName: node + linkType: hard + +"@babel/preset-react@npm:^7.22.15": + version: 7.28.5 + resolution: "@babel/preset-react@npm:7.28.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-transform-react-display-name": "npm:^7.28.0" + "@babel/plugin-transform-react-jsx": "npm:^7.27.1" + "@babel/plugin-transform-react-jsx-development": "npm:^7.27.1" + "@babel/plugin-transform-react-pure-annotations": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/0d785e708ff301f4102bd4738b77e550e32f981e54dfd3de1191b4d68306bbb934d2d465fc78a6bc22fff0a6b3ce3195a53984f52755c4349e7264c7e01e8c7c + languageName: node + linkType: hard + +"@babel/preset-typescript@npm:^7.23.0": + version: 7.28.5 + resolution: "@babel/preset-typescript@npm:7.28.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-syntax-jsx": "npm:^7.27.1" + "@babel/plugin-transform-modules-commonjs": "npm:^7.27.1" + "@babel/plugin-transform-typescript": "npm:^7.28.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b3d55548854c105085dd80f638147aa8295bc186d70492289242d6c857cb03a6c61ec15186440ea10ed4a71cdde7d495f5eb3feda46273f36b0ac926e8409629 + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.20.0, @babel/runtime@npm:^7.25.0": + version: 7.28.6 + resolution: "@babel/runtime@npm:7.28.6" + checksum: 10c0/358cf2429992ac1c466df1a21c1601d595c46930a13c1d4662fde908d44ee78ec3c183aaff513ecb01ef8c55c3624afe0309eeeb34715672dbfadb7feedb2c0d + languageName: node + linkType: hard + +"@babel/template@npm:^7.25.0, @babel/template@npm:^7.28.6, @babel/template@npm:^7.3.3": + version: 7.28.6 + resolution: "@babel/template@npm:7.28.6" + dependencies: + "@babel/code-frame": "npm:^7.28.6" + "@babel/parser": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/66d87225ed0bc77f888181ae2d97845021838c619944877f7c4398c6748bcf611f216dfd6be74d39016af502bca876e6ce6873db3c49e4ac354c56d34d57e9f5 + languageName: node + linkType: hard + +"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3, @babel/traverse@npm:^7.25.3, @babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.5, @babel/traverse@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/traverse@npm:7.28.6" + dependencies: + "@babel/code-frame": "npm:^7.28.6" + "@babel/generator": "npm:^7.28.6" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/parser": "npm:^7.28.6" + "@babel/template": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + debug: "npm:^4.3.1" + checksum: 10c0/ed5deb9c3f03e2d1ad2d44b9c92c84cce24593245c3f7871ce27ee1b36d98034e6cd895fa98a94eb44ebabe1d22f51b10b09432939d1c51a0fcaab98f17a97bc + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.2, @babel/types@npm:^7.26.0, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.5, @babel/types@npm:^7.28.6, @babel/types@npm:^7.3.3": + version: 7.28.6 + resolution: "@babel/types@npm:7.28.6" + dependencies: + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.28.5" + checksum: 10c0/54a6a9813e48ef6f35aa73c03b3c1572cad7fa32b61b35dd07e4230bc77b559194519c8a4d8106a041a27cc7a94052579e238a30a32d5509aa4da4d6fd83d990 + languageName: node + linkType: hard + +"@bernagl/react-native-date@npm:*": + version: 1.0.0 + resolution: "@bernagl/react-native-date@npm:1.0.0" + peerDependencies: + react: "*" + react-native: "*" + react-native-nitro-modules: ^0.31.10 + checksum: 10c0/46afa86f63e2300aee8832a0157206f4eaf399a74627ecf5234465716beaba88ea199f0ef500fb5ba2305a9299450d228f07a4f2bbc088794c228e9d337603ce + languageName: node + linkType: hard + +"@expo/cli@npm:54.0.21": + version: 54.0.21 + resolution: "@expo/cli@npm:54.0.21" + dependencies: + "@0no-co/graphql.web": "npm:^1.0.8" + "@expo/code-signing-certificates": "npm:^0.0.6" + "@expo/config": "npm:~12.0.13" + "@expo/config-plugins": "npm:~54.0.4" + "@expo/devcert": "npm:^1.2.1" + "@expo/env": "npm:~2.0.8" + "@expo/image-utils": "npm:^0.8.8" + "@expo/json-file": "npm:^10.0.8" + "@expo/metro": "npm:~54.2.0" + "@expo/metro-config": "npm:~54.0.13" + "@expo/osascript": "npm:^2.3.8" + "@expo/package-manager": "npm:^1.9.9" + "@expo/plist": "npm:^0.4.8" + "@expo/prebuild-config": "npm:^54.0.8" + "@expo/schema-utils": "npm:^0.1.8" + "@expo/spawn-async": "npm:^1.7.2" + "@expo/ws-tunnel": "npm:^1.0.1" + "@expo/xcpretty": "npm:^4.3.0" + "@react-native/dev-middleware": "npm:0.81.5" + "@urql/core": "npm:^5.0.6" + "@urql/exchange-retry": "npm:^1.3.0" + accepts: "npm:^1.3.8" + arg: "npm:^5.0.2" + better-opn: "npm:~3.0.2" + bplist-creator: "npm:0.1.0" + bplist-parser: "npm:^0.3.1" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.3.0" + compression: "npm:^1.7.4" + connect: "npm:^3.7.0" + debug: "npm:^4.3.4" + env-editor: "npm:^0.4.1" + expo-server: "npm:^1.0.5" + freeport-async: "npm:^2.0.0" + getenv: "npm:^2.0.0" + glob: "npm:^13.0.0" + lan-network: "npm:^0.1.6" + minimatch: "npm:^9.0.0" + node-forge: "npm:^1.3.3" + npm-package-arg: "npm:^11.0.0" + ora: "npm:^3.4.0" + picomatch: "npm:^3.0.1" + pretty-bytes: "npm:^5.6.0" + pretty-format: "npm:^29.7.0" + progress: "npm:^2.0.3" + prompts: "npm:^2.3.2" + qrcode-terminal: "npm:0.11.0" + require-from-string: "npm:^2.0.2" + requireg: "npm:^0.2.2" + resolve: "npm:^1.22.2" + resolve-from: "npm:^5.0.0" + resolve.exports: "npm:^2.0.3" + semver: "npm:^7.6.0" + send: "npm:^0.19.0" + slugify: "npm:^1.3.4" + source-map-support: "npm:~0.5.21" + stacktrace-parser: "npm:^0.1.10" + structured-headers: "npm:^0.4.1" + tar: "npm:^7.5.2" + terminal-link: "npm:^2.1.1" + undici: "npm:^6.18.2" + wrap-ansi: "npm:^7.0.0" + ws: "npm:^8.12.1" + peerDependencies: + expo: "*" + expo-router: "*" + react-native: "*" + peerDependenciesMeta: + expo-router: + optional: true + react-native: + optional: true + bin: + expo-internal: build/bin/cli + checksum: 10c0/3d4c8b7fa9a8934bf029f8b918b6dd6cd240f0120163b765fc733262caf63981d07e62a967734d793c9511363513005ad6d45d4e03546ba594bbdb6a0a81ce3e + languageName: node + linkType: hard + +"@expo/code-signing-certificates@npm:^0.0.6": + version: 0.0.6 + resolution: "@expo/code-signing-certificates@npm:0.0.6" + dependencies: + node-forge: "npm:^1.3.3" + checksum: 10c0/3c60be55fb056ccebf7355c1dbe959cee191eaa1c33c6ff5a7331c1ffe1cfa66edc6b62e8005b4a9023bbd40462d81d35284e79eaa8893facb2493801685bbea + languageName: node + linkType: hard + +"@expo/config-plugins@npm:~54.0.4": + version: 54.0.4 + resolution: "@expo/config-plugins@npm:54.0.4" + dependencies: + "@expo/config-types": "npm:^54.0.10" + "@expo/json-file": "npm:~10.0.8" + "@expo/plist": "npm:^0.4.8" + "@expo/sdk-runtime-versions": "npm:^1.0.0" + chalk: "npm:^4.1.2" + debug: "npm:^4.3.5" + getenv: "npm:^2.0.0" + glob: "npm:^13.0.0" + resolve-from: "npm:^5.0.0" + semver: "npm:^7.5.4" + slash: "npm:^3.0.0" + slugify: "npm:^1.6.6" + xcode: "npm:^3.0.1" + xml2js: "npm:0.6.0" + checksum: 10c0/c7537485a0e883d8a98f1fb93335a1f56d4be2c2a4b5676ba09a8e9253190996241022f841c437e64578fa63b20b6ecf843d88b52930b890fa199d7aa188253f + languageName: node + linkType: hard + +"@expo/config-types@npm:^54.0.10": + version: 54.0.10 + resolution: "@expo/config-types@npm:54.0.10" + checksum: 10c0/a304e18314937cbe3a146fe7daf23d5b78049676dabc14b1e181330f9e74ab2f4ada288f23999f254b59ee7c59380f895ffcb536f537e9039cd10336b1c1d7bc + languageName: node + linkType: hard + +"@expo/config@npm:~12.0.13": + version: 12.0.13 + resolution: "@expo/config@npm:12.0.13" + dependencies: + "@babel/code-frame": "npm:~7.10.4" + "@expo/config-plugins": "npm:~54.0.4" + "@expo/config-types": "npm:^54.0.10" + "@expo/json-file": "npm:^10.0.8" + deepmerge: "npm:^4.3.1" + getenv: "npm:^2.0.0" + glob: "npm:^13.0.0" + require-from-string: "npm:^2.0.2" + resolve-from: "npm:^5.0.0" + resolve-workspace-root: "npm:^2.0.0" + semver: "npm:^7.6.0" + slugify: "npm:^1.3.4" + sucrase: "npm:~3.35.1" + checksum: 10c0/c81494670424251b629f3c1a3ff8eb76e40b51838dbeaa793f6f763d0252fa506d5c7bf60dc358555a64bded7e9c33731169675a56604ff439510359e41b6d10 + languageName: node + linkType: hard + +"@expo/devcert@npm:^1.2.1": + version: 1.2.1 + resolution: "@expo/devcert@npm:1.2.1" + dependencies: + "@expo/sudo-prompt": "npm:^9.3.1" + debug: "npm:^3.1.0" + checksum: 10c0/7c5cb4fa74a14702a44b4772a56f27fd191b6cd08988f3da01323f6d592623c80247171b7d66b2c0a32408f48a0814162dbb2764042444887f27e38b89ad1051 + languageName: node + linkType: hard + +"@expo/devtools@npm:0.1.8": + version: 0.1.8 + resolution: "@expo/devtools@npm:0.1.8" + dependencies: + chalk: "npm:^4.1.2" + peerDependencies: + react: "*" + react-native: "*" + peerDependenciesMeta: + react: + optional: true + react-native: + optional: true + checksum: 10c0/dc4e095e5f4508370ae2258f23370a295b9400c87f29aee2338caa3ca3733d789ba3ff1bfafbf5fa285ac6974aec89b3cbf363fca5885eb9be3973ac1a7d7fa8 + languageName: node + linkType: hard + +"@expo/env@npm:~2.0.8": + version: 2.0.8 + resolution: "@expo/env@npm:2.0.8" + dependencies: + chalk: "npm:^4.0.0" + debug: "npm:^4.3.4" + dotenv: "npm:~16.4.5" + dotenv-expand: "npm:~11.0.6" + getenv: "npm:^2.0.0" + checksum: 10c0/e6e4cd1be45a6873f5ad4a6a2176957897159b08104f04ea8f28a9d9f38abe0d109ded76ac197c0edba1ac606c14a034be19cfda75b44111be85b78a2d209375 + languageName: node + linkType: hard + +"@expo/fingerprint@npm:0.15.4": + version: 0.15.4 + resolution: "@expo/fingerprint@npm:0.15.4" + dependencies: + "@expo/spawn-async": "npm:^1.7.2" + arg: "npm:^5.0.2" + chalk: "npm:^4.1.2" + debug: "npm:^4.3.4" + getenv: "npm:^2.0.0" + glob: "npm:^13.0.0" + ignore: "npm:^5.3.1" + minimatch: "npm:^9.0.0" + p-limit: "npm:^3.1.0" + resolve-from: "npm:^5.0.0" + semver: "npm:^7.6.0" + bin: + fingerprint: bin/cli.js + checksum: 10c0/fe5aa9eff4f649cc58aa0b67cd6b93845ddc81b49a61f03c50632405bf2b99fc83ecbb15c527bfddc0156f8fad297f066dd46edf4cfa17580025fb192d7a98ee + languageName: node + linkType: hard + +"@expo/image-utils@npm:^0.8.8": + version: 0.8.8 + resolution: "@expo/image-utils@npm:0.8.8" + dependencies: + "@expo/spawn-async": "npm:^1.7.2" + chalk: "npm:^4.0.0" + getenv: "npm:^2.0.0" + jimp-compact: "npm:0.16.1" + parse-png: "npm:^2.1.0" + resolve-from: "npm:^5.0.0" + resolve-global: "npm:^1.0.0" + semver: "npm:^7.6.0" + temp-dir: "npm:~2.0.0" + unique-string: "npm:~2.0.0" + checksum: 10c0/d08a93036d865b52d1a4848597bd872192c7023d415f62ed744e9ff20fd9e68308ade06b39c25b0eabbc04745ffa68c4b5a8d79883adb0c32738e1a414d7d62e + languageName: node + linkType: hard + +"@expo/json-file@npm:^10.0.8, @expo/json-file@npm:~10.0.8": + version: 10.0.8 + resolution: "@expo/json-file@npm:10.0.8" + dependencies: + "@babel/code-frame": "npm:~7.10.4" + json5: "npm:^2.2.3" + checksum: 10c0/dddd7ef7966fe0d29d1cad5a1d517d01c4e6a7b55cd15e901b947e7832d613aa1b982de5336d1305a3714bb4b5e3d78110c0ff799ca33fd54a8cd887f8ba533d + languageName: node + linkType: hard + +"@expo/metro-config@npm:54.0.13": + version: 54.0.13 + resolution: "@expo/metro-config@npm:54.0.13" + dependencies: + "@babel/code-frame": "npm:^7.20.0" + "@babel/core": "npm:^7.20.0" + "@babel/generator": "npm:^7.20.5" + "@expo/config": "npm:~12.0.13" + "@expo/env": "npm:~2.0.8" + "@expo/json-file": "npm:~10.0.8" + "@expo/metro": "npm:~54.2.0" + "@expo/spawn-async": "npm:^1.7.2" + browserslist: "npm:^4.25.0" + chalk: "npm:^4.1.0" + debug: "npm:^4.3.2" + dotenv: "npm:~16.4.5" + dotenv-expand: "npm:~11.0.6" + getenv: "npm:^2.0.0" + glob: "npm:^13.0.0" + hermes-parser: "npm:^0.29.1" + jsc-safe-url: "npm:^0.2.4" + lightningcss: "npm:^1.30.1" + minimatch: "npm:^9.0.0" + postcss: "npm:~8.4.32" + resolve-from: "npm:^5.0.0" + peerDependencies: + expo: "*" + peerDependenciesMeta: + expo: + optional: true + checksum: 10c0/9876b9ef40742c879e94e80386d5238e9f4954d752d72251ade4e9bdf944ae5afdcc5ce877bffdf461ebec8775faed7b04d084ac1ac52283e64f86a122780d4e + languageName: node + linkType: hard + +"@expo/metro-config@npm:~54.0.13": + version: 54.0.14 + resolution: "@expo/metro-config@npm:54.0.14" + dependencies: + "@babel/code-frame": "npm:^7.20.0" + "@babel/core": "npm:^7.20.0" + "@babel/generator": "npm:^7.20.5" + "@expo/config": "npm:~12.0.13" + "@expo/env": "npm:~2.0.8" + "@expo/json-file": "npm:~10.0.8" + "@expo/metro": "npm:~54.2.0" + "@expo/spawn-async": "npm:^1.7.2" + browserslist: "npm:^4.25.0" + chalk: "npm:^4.1.0" + debug: "npm:^4.3.2" + dotenv: "npm:~16.4.5" + dotenv-expand: "npm:~11.0.6" + getenv: "npm:^2.0.0" + glob: "npm:^13.0.0" + hermes-parser: "npm:^0.29.1" + jsc-safe-url: "npm:^0.2.4" + lightningcss: "npm:^1.30.1" + minimatch: "npm:^9.0.0" + postcss: "npm:~8.4.32" + resolve-from: "npm:^5.0.0" + peerDependencies: + expo: "*" + peerDependenciesMeta: + expo: + optional: true + checksum: 10c0/a8213d3167c39ff3fd7973e4de35fc12ee0b56564ff9f8def3b92ec7204a92174f6bbd7036bc87c893d0a82583c92c7f81271c58f366c26e4c11ab2b86642fb7 + languageName: node + linkType: hard + +"@expo/metro@npm:~54.2.0": + version: 54.2.0 + resolution: "@expo/metro@npm:54.2.0" + dependencies: + metro: "npm:0.83.3" + metro-babel-transformer: "npm:0.83.3" + metro-cache: "npm:0.83.3" + metro-cache-key: "npm:0.83.3" + metro-config: "npm:0.83.3" + metro-core: "npm:0.83.3" + metro-file-map: "npm:0.83.3" + metro-minify-terser: "npm:0.83.3" + metro-resolver: "npm:0.83.3" + metro-runtime: "npm:0.83.3" + metro-source-map: "npm:0.83.3" + metro-symbolicate: "npm:0.83.3" + metro-transform-plugins: "npm:0.83.3" + metro-transform-worker: "npm:0.83.3" + checksum: 10c0/5114ac19021094e19fcbd383778748451bdf78c904cb9be831b04d44880b4ca05071c1e045e5ccf8076418e32a87de2e5163529f1d91fed4bdda2184958e8a61 + languageName: node + linkType: hard + +"@expo/osascript@npm:^2.3.8": + version: 2.3.8 + resolution: "@expo/osascript@npm:2.3.8" + dependencies: + "@expo/spawn-async": "npm:^1.7.2" + exec-async: "npm:^2.2.0" + checksum: 10c0/5991c363fb33fb1f740eb8bfdb7ccafd1944a6d89a644ec20dd76b546ffa995a3963727150155391287536046f5f47c7efae003a27a86299224d55191e2f65cb + languageName: node + linkType: hard + +"@expo/package-manager@npm:^1.9.9": + version: 1.9.10 + resolution: "@expo/package-manager@npm:1.9.10" + dependencies: + "@expo/json-file": "npm:^10.0.8" + "@expo/spawn-async": "npm:^1.7.2" + chalk: "npm:^4.0.0" + npm-package-arg: "npm:^11.0.0" + ora: "npm:^3.4.0" + resolve-workspace-root: "npm:^2.0.0" + checksum: 10c0/6095a02b3f8d4b9d152a08202cbf8d647bc2d29a08686332c4d80cd1c579ac8880fa87847d70a938b58a66e334fbc4c0f86a463f0a33bcf3811e77dda2cba1aa + languageName: node + linkType: hard + +"@expo/plist@npm:^0.4.8": + version: 0.4.8 + resolution: "@expo/plist@npm:0.4.8" + dependencies: + "@xmldom/xmldom": "npm:^0.8.8" + base64-js: "npm:^1.2.3" + xmlbuilder: "npm:^15.1.1" + checksum: 10c0/5bacdb6f8c5e0e56da07f4504290036e3a5433164a29bea7857e72234137d8eaa04adb319221fcc1ec7f931d40d7f9f6fc9528fa601ed18c308a4cf8179f7783 + languageName: node + linkType: hard + +"@expo/prebuild-config@npm:^54.0.8": + version: 54.0.8 + resolution: "@expo/prebuild-config@npm:54.0.8" + dependencies: + "@expo/config": "npm:~12.0.13" + "@expo/config-plugins": "npm:~54.0.4" + "@expo/config-types": "npm:^54.0.10" + "@expo/image-utils": "npm:^0.8.8" + "@expo/json-file": "npm:^10.0.8" + "@react-native/normalize-colors": "npm:0.81.5" + debug: "npm:^4.3.1" + resolve-from: "npm:^5.0.0" + semver: "npm:^7.6.0" + xml2js: "npm:0.6.0" + peerDependencies: + expo: "*" + checksum: 10c0/70bef3fe360a7035b449e9f137e5046c6fe9137f2220f87bb563af2c34de4593034cd68cea5716ae98930e43a63331659795d1ec2af0f9a905565f2086f7c1a1 + languageName: node + linkType: hard + +"@expo/schema-utils@npm:^0.1.8": + version: 0.1.8 + resolution: "@expo/schema-utils@npm:0.1.8" + checksum: 10c0/9a600ac858bcd1bd24ccac3e86cbef996c2c58cb20ce61fb1fc753f36dce4a000510e61b803ad5cb221a16caa38b54b243f08ac08e0de69e4aa556798d877f02 + languageName: node + linkType: hard + +"@expo/sdk-runtime-versions@npm:^1.0.0": + version: 1.0.0 + resolution: "@expo/sdk-runtime-versions@npm:1.0.0" + checksum: 10c0/f80ae78a294daf396f3eff2eb412948ced5501395a6d3b88058866da9c5135dbacbb2804f8d062222e7452159a61eebefd2f548a2939f539f0f0efe8145588a2 + languageName: node + linkType: hard + +"@expo/spawn-async@npm:^1.7.2": + version: 1.7.2 + resolution: "@expo/spawn-async@npm:1.7.2" + dependencies: + cross-spawn: "npm:^7.0.3" + checksum: 10c0/0548c4e95ee39393c2f3919bc605f21eba4f0a8ba66fa82fbbc4b1b624e0054526918489227b924f03af5bc156a011f39a2472c223c0d2237fb7afd8dedd5357 + languageName: node + linkType: hard + +"@expo/sudo-prompt@npm:^9.3.1": + version: 9.3.2 + resolution: "@expo/sudo-prompt@npm:9.3.2" + checksum: 10c0/032652bf1c3f326c9c194f336de5821b9ece9d48b22e3e277950d939fcd728c85459680a9771705904d375f128221cca2e1e91c5d7a85cf3c07fe6f88c361e9d + languageName: node + linkType: hard + +"@expo/vector-icons@npm:^15.0.3": + version: 15.0.3 + resolution: "@expo/vector-icons@npm:15.0.3" + peerDependencies: + expo-font: ">=14.0.4" + react: "*" + react-native: "*" + checksum: 10c0/f33274dede267c713618512969afdee28e47e97ba8a7ee7e1d0ab18b417683ace7c4a1b79152d6ec2d254420a23a685582fd956f6cd83a2120514d9efbab1109 + languageName: node + linkType: hard + +"@expo/ws-tunnel@npm:^1.0.1": + version: 1.0.6 + resolution: "@expo/ws-tunnel@npm:1.0.6" + checksum: 10c0/050eb7fbd54b636c97c818e7ec5402ce616cae655290386a51600b200947e281cdd12d182251c07fab449e11a732135d61429b738cd03945e94757061e652ecd + languageName: node + linkType: hard + +"@expo/xcpretty@npm:^4.3.0": + version: 4.3.2 + resolution: "@expo/xcpretty@npm:4.3.2" + dependencies: + "@babel/code-frame": "npm:7.10.4" + chalk: "npm:^4.1.0" + find-up: "npm:^5.0.0" + js-yaml: "npm:^4.1.0" + bin: + excpretty: build/cli.js + checksum: 10c0/e524817b2e42fb8c8914fca7e8f7c2f723f4f6d338a57b7ae97cd3e76da8108af63a22d4c7dc2e96a192a248a242f6e0f8056f0ca53bc4fb5cd2e5ae428e0891 + languageName: node + linkType: hard + +"@isaacs/balanced-match@npm:^4.0.1": + version: 4.0.1 + resolution: "@isaacs/balanced-match@npm:4.0.1" + checksum: 10c0/7da011805b259ec5c955f01cee903da72ad97c5e6f01ca96197267d3f33103d5b2f8a1af192140f3aa64526c593c8d098ae366c2b11f7f17645d12387c2fd420 + languageName: node + linkType: hard + +"@isaacs/brace-expansion@npm:^5.0.0": + version: 5.0.0 + resolution: "@isaacs/brace-expansion@npm:5.0.0" + dependencies: + "@isaacs/balanced-match": "npm:^4.0.1" + checksum: 10c0/b4d4812f4be53afc2c5b6c545001ff7a4659af68d4484804e9d514e183d20269bb81def8682c01a22b17c4d6aed14292c8494f7d2ac664e547101c1a905aa977 + languageName: node + linkType: hard + +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + languageName: node + linkType: hard + +"@isaacs/ttlcache@npm:^1.4.1": + version: 1.4.1 + resolution: "@isaacs/ttlcache@npm:1.4.1" + checksum: 10c0/6921de516917b02673a58e543c2b06fd04237cbf6d089ca22d6e98defa4b1e9a48258cb071d6b581284bb497bea687320788830541511297eecbe6e93a665bbf + languageName: node + linkType: hard + +"@istanbuljs/load-nyc-config@npm:^1.0.0": + version: 1.1.0 + resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" + dependencies: + camelcase: "npm:^5.3.1" + find-up: "npm:^4.1.0" + get-package-type: "npm:^0.1.0" + js-yaml: "npm:^3.13.1" + resolve-from: "npm:^5.0.0" + checksum: 10c0/dd2a8b094887da5a1a2339543a4933d06db2e63cbbc2e288eb6431bd832065df0c099d091b6a67436e71b7d6bf85f01ce7c15f9253b4cbebcc3b9a496165ba42 + languageName: node + linkType: hard + +"@istanbuljs/schema@npm:^0.1.2": + version: 0.1.3 + resolution: "@istanbuljs/schema@npm:0.1.3" + checksum: 10c0/61c5286771676c9ca3eb2bd8a7310a9c063fb6e0e9712225c8471c582d157392c88f5353581c8c9adbe0dff98892317d2fdfc56c3499aa42e0194405206a963a + languageName: node + linkType: hard + +"@jest/create-cache-key-function@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/create-cache-key-function@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + checksum: 10c0/5c47ef62205264adf77b1ff26b969ce9fe84920b8275c3c5e83f4236859d6ae5e4e7027af99eef04a8e334c4e424d44af3e167972083406070aca733ac2a2795 + languageName: node + linkType: hard + +"@jest/environment@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/environment@npm:29.7.0" + dependencies: + "@jest/fake-timers": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + jest-mock: "npm:^29.7.0" + checksum: 10c0/c7b1b40c618f8baf4d00609022d2afa086d9c6acc706f303a70bb4b67275868f620ad2e1a9efc5edd418906157337cce50589a627a6400bbdf117d351b91ef86 + languageName: node + linkType: hard + +"@jest/fake-timers@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/fake-timers@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@sinonjs/fake-timers": "npm:^10.0.2" + "@types/node": "npm:*" + jest-message-util: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + checksum: 10c0/cf0a8bcda801b28dc2e2b2ba36302200ee8104a45ad7a21e6c234148932f826cb3bc57c8df3b7b815aeea0861d7b6ca6f0d4778f93b9219398ef28749e03595c + languageName: node + linkType: hard + +"@jest/schemas@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/schemas@npm:29.6.3" + dependencies: + "@sinclair/typebox": "npm:^0.27.8" + checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be + languageName: node + linkType: hard + +"@jest/transform@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/transform@npm:29.7.0" + dependencies: + "@babel/core": "npm:^7.11.6" + "@jest/types": "npm:^29.6.3" + "@jridgewell/trace-mapping": "npm:^0.3.18" + babel-plugin-istanbul: "npm:^6.1.1" + chalk: "npm:^4.0.0" + convert-source-map: "npm:^2.0.0" + fast-json-stable-stringify: "npm:^2.1.0" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + jest-regex-util: "npm:^29.6.3" + jest-util: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + pirates: "npm:^4.0.4" + slash: "npm:^3.0.0" + write-file-atomic: "npm:^4.0.2" + checksum: 10c0/7f4a7f73dcf45dfdf280c7aa283cbac7b6e5a904813c3a93ead7e55873761fc20d5c4f0191d2019004fac6f55f061c82eb3249c2901164ad80e362e7a7ede5a6 + languageName: node + linkType: hard + +"@jest/types@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/types@npm:29.6.3" + dependencies: + "@jest/schemas": "npm:^29.6.3" + "@types/istanbul-lib-coverage": "npm:^2.0.0" + "@types/istanbul-reports": "npm:^3.0.0" + "@types/node": "npm:*" + "@types/yargs": "npm:^17.0.8" + chalk: "npm:^4.0.0" + checksum: 10c0/ea4e493dd3fb47933b8ccab201ae573dcc451f951dc44ed2a86123cd8541b82aa9d2b1031caf9b1080d6673c517e2dcc25a44b2dc4f3fbc37bfc965d444888c0 + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.13 + resolution: "@jridgewell/gen-mapping@npm:0.3.13" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/9a7d65fb13bd9aec1fbab74cda08496839b7e2ceb31f5ab922b323e94d7c481ce0fc4fd7e12e2610915ed8af51178bdc61e168e92a8c8b8303b030b03489b13b + languageName: node + linkType: hard + +"@jridgewell/remapping@npm:^2.3.5": + version: 2.3.5 + resolution: "@jridgewell/remapping@npm:2.3.5" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/3de494219ffeb2c5c38711d0d7bb128097edf91893090a2dbc8ee0b55d092bb7347b1fd0f478486c5eab010e855c73927b1666f2107516d472d24a73017d1194 + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e + languageName: node + linkType: hard + +"@jridgewell/source-map@npm:^0.3.3": + version: 0.3.11 + resolution: "@jridgewell/source-map@npm:0.3.11" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + checksum: 10c0/50a4fdafe0b8f655cb2877e59fe81320272eaa4ccdbe6b9b87f10614b2220399ae3e05c16137a59db1f189523b42c7f88bd097ee991dbd7bc0e01113c583e844 + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": + version: 1.5.5 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" + checksum: 10c0/f9e538f302b63c0ebc06eecb1dd9918dd4289ed36147a0ddce35d6ea4d7ebbda243cda7b2213b6a5e1d8087a298d5cf630fb2bd39329cdecb82017023f6081a0 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28": + version: 0.3.31 + resolution: "@jridgewell/trace-mapping@npm:0.3.31" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/4b30ec8cd56c5fd9a661f088230af01e0c1a3888d11ffb6b47639700f71225be21d1f7e168048d6d4f9449207b978a235c07c8f15c07705685d16dc06280e9d9 + languageName: node + linkType: hard + +"@npmcli/agent@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/agent@npm:4.0.0" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^11.2.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 10c0/f7b5ce0f3dd42c3f8c6546e8433573d8049f67ef11ec22aa4704bc41483122f68bf97752e06302c455ead667af5cb753e6a09bff06632bc465c1cfd4c4b75a53 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^5.0.0": + version: 5.0.0 + resolution: "@npmcli/fs@npm:5.0.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/26e376d780f60ff16e874a0ac9bc3399186846baae0b6e1352286385ac134d900cc5dafaded77f38d77f86898fc923ae1cee9d7399f0275b1aa24878915d722b + languageName: node + linkType: hard + +"@react-native/assets-registry@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/assets-registry@npm:0.81.5" + checksum: 10c0/88edc316ccccc9e86f03cb591696b02cac541808d89a7480450fd529b1a7363373411018720b492352805f867003f6a71ac1e6363d7b797d3502ea89bcbb2a47 + languageName: node + linkType: hard + +"@react-native/babel-plugin-codegen@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/babel-plugin-codegen@npm:0.81.5" + dependencies: + "@babel/traverse": "npm:^7.25.3" + "@react-native/codegen": "npm:0.81.5" + checksum: 10c0/54971e723480bf5e169e1075a9525274e024c94c4286953c699ddb5f82e6229895147f19723b9f1319b55e0eaaa10389a19f349b6c0ac8451d72941a7d9f448b + languageName: node + linkType: hard + +"@react-native/babel-preset@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/babel-preset@npm:0.81.5" + dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/plugin-proposal-export-default-from": "npm:^7.24.7" + "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" + "@babel/plugin-syntax-export-default-from": "npm:^7.24.7" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + "@babel/plugin-transform-arrow-functions": "npm:^7.24.7" + "@babel/plugin-transform-async-generator-functions": "npm:^7.25.4" + "@babel/plugin-transform-async-to-generator": "npm:^7.24.7" + "@babel/plugin-transform-block-scoping": "npm:^7.25.0" + "@babel/plugin-transform-class-properties": "npm:^7.25.4" + "@babel/plugin-transform-classes": "npm:^7.25.4" + "@babel/plugin-transform-computed-properties": "npm:^7.24.7" + "@babel/plugin-transform-destructuring": "npm:^7.24.8" + "@babel/plugin-transform-flow-strip-types": "npm:^7.25.2" + "@babel/plugin-transform-for-of": "npm:^7.24.7" + "@babel/plugin-transform-function-name": "npm:^7.25.1" + "@babel/plugin-transform-literals": "npm:^7.25.2" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.7" + "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.24.7" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.24.7" + "@babel/plugin-transform-numeric-separator": "npm:^7.24.7" + "@babel/plugin-transform-object-rest-spread": "npm:^7.24.7" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.24.7" + "@babel/plugin-transform-optional-chaining": "npm:^7.24.8" + "@babel/plugin-transform-parameters": "npm:^7.24.7" + "@babel/plugin-transform-private-methods": "npm:^7.24.7" + "@babel/plugin-transform-private-property-in-object": "npm:^7.24.7" + "@babel/plugin-transform-react-display-name": "npm:^7.24.7" + "@babel/plugin-transform-react-jsx": "npm:^7.25.2" + "@babel/plugin-transform-react-jsx-self": "npm:^7.24.7" + "@babel/plugin-transform-react-jsx-source": "npm:^7.24.7" + "@babel/plugin-transform-regenerator": "npm:^7.24.7" + "@babel/plugin-transform-runtime": "npm:^7.24.7" + "@babel/plugin-transform-shorthand-properties": "npm:^7.24.7" + "@babel/plugin-transform-spread": "npm:^7.24.7" + "@babel/plugin-transform-sticky-regex": "npm:^7.24.7" + "@babel/plugin-transform-typescript": "npm:^7.25.2" + "@babel/plugin-transform-unicode-regex": "npm:^7.24.7" + "@babel/template": "npm:^7.25.0" + "@react-native/babel-plugin-codegen": "npm:0.81.5" + babel-plugin-syntax-hermes-parser: "npm:0.29.1" + babel-plugin-transform-flow-enums: "npm:^0.0.2" + react-refresh: "npm:^0.14.0" + peerDependencies: + "@babel/core": "*" + checksum: 10c0/f3146982c329f7fa7554195e6f8689275cb737856da192a934e7b509f0a5fe07c77c24993801d44914c5c6405799e9b500d227bd1deddf19947c28af6e14ad91 + languageName: node + linkType: hard + +"@react-native/codegen@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/codegen@npm:0.81.5" + dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/parser": "npm:^7.25.3" + glob: "npm:^7.1.1" + hermes-parser: "npm:0.29.1" + invariant: "npm:^2.2.4" + nullthrows: "npm:^1.1.1" + yargs: "npm:^17.6.2" + peerDependencies: + "@babel/core": "*" + checksum: 10c0/047a29fadb51f6c58ff6fbad8be3ffc395c1492a869befacd74e11df5a9fa164b15b135824404e34af409c88f722874f9311966ebe4de3dcf10846abfcce0574 + languageName: node + linkType: hard + +"@react-native/community-cli-plugin@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/community-cli-plugin@npm:0.81.5" + dependencies: + "@react-native/dev-middleware": "npm:0.81.5" + debug: "npm:^4.4.0" + invariant: "npm:^2.2.4" + metro: "npm:^0.83.1" + metro-config: "npm:^0.83.1" + metro-core: "npm:^0.83.1" + semver: "npm:^7.1.3" + peerDependencies: + "@react-native-community/cli": "*" + "@react-native/metro-config": "*" + peerDependenciesMeta: + "@react-native-community/cli": + optional: true + "@react-native/metro-config": + optional: true + checksum: 10c0/754afa13dbaae2892864439878068a5858c88474c5fc041d0d085ac7b2cd1a4b04993d07c6e274790855ed06bba8b08bf0081fb76ab2b08d1aa8d665e58ddaa3 + languageName: node + linkType: hard + +"@react-native/debugger-frontend@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/debugger-frontend@npm:0.81.5" + checksum: 10c0/6c8769526373314956ec53584b49d3ac94aace4232ba77cfdd96edaf346be8a648e2d877c719e7edaa4c1dcd6a09376012f35b25ca6498679b115815cc6940c3 + languageName: node + linkType: hard + +"@react-native/dev-middleware@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/dev-middleware@npm:0.81.5" + dependencies: + "@isaacs/ttlcache": "npm:^1.4.1" + "@react-native/debugger-frontend": "npm:0.81.5" + chrome-launcher: "npm:^0.15.2" + chromium-edge-launcher: "npm:^0.2.0" + connect: "npm:^3.6.5" + debug: "npm:^4.4.0" + invariant: "npm:^2.2.4" + nullthrows: "npm:^1.1.1" + open: "npm:^7.0.3" + serve-static: "npm:^1.16.2" + ws: "npm:^6.2.3" + checksum: 10c0/d057b320940626d41db7f02ac249b9fdba2569ea3167864986bfe61028c4f890cefe24a5b8d4cd1b33c8c33ab547aa361d13a6cdaf991475302eb83a4ab3372a + languageName: node + linkType: hard + +"@react-native/gradle-plugin@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/gradle-plugin@npm:0.81.5" + checksum: 10c0/0acb06543b4a42daa49c437b608170d25efd3214cf01706b4138a7fb52604f590a680c7d4a4574b43983af80406f781bd3ef692208b4f237dc9902aa14037f6b + languageName: node + linkType: hard + +"@react-native/js-polyfills@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/js-polyfills@npm:0.81.5" + checksum: 10c0/337d0f263a94f9f38a39efba5081481fe7ff0b6499f77708d97aa3d18cad527adec7f94a21f9af62ec4d78448a39f545223b52cca8c07c10a52b0468b456dd46 + languageName: node + linkType: hard + +"@react-native/normalize-colors@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/normalize-colors@npm:0.81.5" + checksum: 10c0/827b120eedd0bf90ab3113e5a74900d15f73bfd826451d493f8047f78824894c516ccaf85bb02fcbe5f11b9f8852c1266593f1999e46a5752ff34b0a2db89a97 + languageName: node + linkType: hard + +"@react-native/virtualized-lists@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/virtualized-lists@npm:0.81.5" + dependencies: + invariant: "npm:^2.2.4" + nullthrows: "npm:^1.1.1" + peerDependencies: + "@types/react": ^19.1.0 + react: "*" + react-native: "*" + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/2f38e73d850e4c7f8bf9e6598ebdf97c524d6ddfa720044798e827aaa613ff6dc47dbdb8e440ce370f92f7ff932f0ac3204328287e79d7e3b8ac8db5651d0b4d + languageName: node + linkType: hard + +"@rn-packages/expo-example@workspace:.": + version: 0.0.0-use.local + resolution: "@rn-packages/expo-example@workspace:." + dependencies: + "@bernagl/react-native-date": "npm:*" + "@types/react": "npm:~19.1.0" + expo: "npm:~54.0.31" + expo-status-bar: "npm:~3.0.9" + react: "npm:19.1.0" + react-native: "npm:0.81.5" + react-native-nitro-modules: "npm:^0.31.10" + typescript: "npm:~5.9.2" + languageName: unknown + linkType: soft + +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^3.0.0": + version: 3.0.1 + resolution: "@sinonjs/commons@npm:3.0.1" + dependencies: + type-detect: "npm:4.0.8" + checksum: 10c0/1227a7b5bd6c6f9584274db996d7f8cee2c8c350534b9d0141fc662eaf1f292ea0ae3ed19e5e5271c8fd390d27e492ca2803acd31a1978be2cdc6be0da711403 + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:^10.0.2": + version: 10.3.0 + resolution: "@sinonjs/fake-timers@npm:10.3.0" + dependencies: + "@sinonjs/commons": "npm:^3.0.0" + checksum: 10c0/2e2fb6cc57f227912814085b7b01fede050cd4746ea8d49a1e44d5a0e56a804663b0340ae2f11af7559ea9bf4d087a11f2f646197a660ea3cb04e19efc04aa63 + languageName: node + linkType: hard + +"@types/babel__core@npm:^7.1.14": + version: 7.20.5 + resolution: "@types/babel__core@npm:7.20.5" + dependencies: + "@babel/parser": "npm:^7.20.7" + "@babel/types": "npm:^7.20.7" + "@types/babel__generator": "npm:*" + "@types/babel__template": "npm:*" + "@types/babel__traverse": "npm:*" + checksum: 10c0/bdee3bb69951e833a4b811b8ee9356b69a61ed5b7a23e1a081ec9249769117fa83aaaf023bb06562a038eb5845155ff663e2d5c75dd95c1d5ccc91db012868ff + languageName: node + linkType: hard + +"@types/babel__generator@npm:*": + version: 7.27.0 + resolution: "@types/babel__generator@npm:7.27.0" + dependencies: + "@babel/types": "npm:^7.0.0" + checksum: 10c0/9f9e959a8792df208a9d048092fda7e1858bddc95c6314857a8211a99e20e6830bdeb572e3587ae8be5429e37f2a96fcf222a9f53ad232f5537764c9e13a2bbd + languageName: node + linkType: hard + +"@types/babel__template@npm:*": + version: 7.4.4 + resolution: "@types/babel__template@npm:7.4.4" + dependencies: + "@babel/parser": "npm:^7.1.0" + "@babel/types": "npm:^7.0.0" + checksum: 10c0/cc84f6c6ab1eab1427e90dd2b76ccee65ce940b778a9a67be2c8c39e1994e6f5bbc8efa309f6cea8dc6754994524cd4d2896558df76d92e7a1f46ecffee7112b + languageName: node + linkType: hard + +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": + version: 7.28.0 + resolution: "@types/babel__traverse@npm:7.28.0" + dependencies: + "@babel/types": "npm:^7.28.2" + checksum: 10c0/b52d7d4e8fc6a9018fe7361c4062c1c190f5778cf2466817cb9ed19d69fbbb54f9a85ffedeb748ed8062d2cf7d4cc088ee739848f47c57740de1c48cbf0d0994 + languageName: node + linkType: hard + +"@types/graceful-fs@npm:^4.1.3": + version: 4.1.9 + resolution: "@types/graceful-fs@npm:4.1.9" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/235d2fc69741448e853333b7c3d1180a966dd2b8972c8cbcd6b2a0c6cd7f8d582ab2b8e58219dbc62cce8f1b40aa317ff78ea2201cdd8249da5025adebed6f0b + languageName: node + linkType: hard + +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0": + version: 2.0.6 + resolution: "@types/istanbul-lib-coverage@npm:2.0.6" + checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 + languageName: node + linkType: hard + +"@types/istanbul-lib-report@npm:*": + version: 3.0.3 + resolution: "@types/istanbul-lib-report@npm:3.0.3" + dependencies: + "@types/istanbul-lib-coverage": "npm:*" + checksum: 10c0/247e477bbc1a77248f3c6de5dadaae85ff86ac2d76c5fc6ab1776f54512a745ff2a5f791d22b942e3990ddbd40f3ef5289317c4fca5741bedfaa4f01df89051c + languageName: node + linkType: hard + +"@types/istanbul-reports@npm:^3.0.0": + version: 3.0.4 + resolution: "@types/istanbul-reports@npm:3.0.4" + dependencies: + "@types/istanbul-lib-report": "npm:*" + checksum: 10c0/1647fd402aced5b6edac87274af14ebd6b3a85447ef9ad11853a70fd92a98d35f81a5d3ea9fcb5dbb5834e800c6e35b64475e33fcae6bfa9acc70d61497c54ee + languageName: node + linkType: hard + +"@types/node@npm:*": + version: 25.0.9 + resolution: "@types/node@npm:25.0.9" + dependencies: + undici-types: "npm:~7.16.0" + checksum: 10c0/a757efafe303d9c8833eb53c2e9a0981cd5ac725cdc04c5612a71db86468c938778d4fa328be4231b68fffc68258638764df7b9c69e86cf55f0bb67105eb056f + languageName: node + linkType: hard + +"@types/react@npm:~19.1.0": + version: 19.1.17 + resolution: "@types/react@npm:19.1.17" + dependencies: + csstype: "npm:^3.0.2" + checksum: 10c0/8a8369ea00fc961f0884be4d1da4a039b2b6445de9c8b690ed0ebe15acfb0b1f27005278fef1fe39a1722a30f4415778b790d0089e2b30019371c61355ea316f + languageName: node + linkType: hard + +"@types/stack-utils@npm:^2.0.0": + version: 2.0.3 + resolution: "@types/stack-utils@npm:2.0.3" + checksum: 10c0/1f4658385ae936330581bcb8aa3a066df03867d90281cdf89cc356d404bd6579be0f11902304e1f775d92df22c6dd761d4451c804b0a4fba973e06211e9bd77c + languageName: node + linkType: hard + +"@types/yargs-parser@npm:*": + version: 21.0.3 + resolution: "@types/yargs-parser@npm:21.0.3" + checksum: 10c0/e71c3bd9d0b73ca82e10bee2064c384ab70f61034bbfb78e74f5206283fc16a6d85267b606b5c22cb2a3338373586786fed595b2009825d6a9115afba36560a0 + languageName: node + linkType: hard + +"@types/yargs@npm:^17.0.8": + version: 17.0.35 + resolution: "@types/yargs@npm:17.0.35" + dependencies: + "@types/yargs-parser": "npm:*" + checksum: 10c0/609557826a6b85e73ccf587923f6429850d6dc70e420b455bab4601b670bfadf684b09ae288bccedab042c48ba65f1666133cf375814204b544009f57d6eef63 + languageName: node + linkType: hard + +"@ungap/structured-clone@npm:^1.3.0": + version: 1.3.0 + resolution: "@ungap/structured-clone@npm:1.3.0" + checksum: 10c0/0fc3097c2540ada1fc340ee56d58d96b5b536a2a0dab6e3ec17d4bfc8c4c86db345f61a375a8185f9da96f01c69678f836a2b57eeaa9e4b8eeafd26428e57b0a + languageName: node + linkType: hard + +"@urql/core@npm:^5.0.6, @urql/core@npm:^5.1.2": + version: 5.2.0 + resolution: "@urql/core@npm:5.2.0" + dependencies: + "@0no-co/graphql.web": "npm:^1.0.13" + wonka: "npm:^6.3.2" + checksum: 10c0/1893a7417c6e5e3604fc3bd27e8b63b748d1817fb906fa95beba52be103d18e015d20ca740a9be570bca2bd11e98d34f605e108a4d3428678d9a1e3368ab2275 + languageName: node + linkType: hard + +"@urql/exchange-retry@npm:^1.3.0": + version: 1.3.2 + resolution: "@urql/exchange-retry@npm:1.3.2" + dependencies: + "@urql/core": "npm:^5.1.2" + wonka: "npm:^6.3.2" + peerDependencies: + "@urql/core": ^5.0.0 + checksum: 10c0/3d7e9879aef81714ca04c8b4dc1633d61b2090f5a6d5b8aac538633d41c26e8749e18bf66bed2936b209d038b3acdd21f20bc5ec4229a449b5a0b13d5694effe + languageName: node + linkType: hard + +"@xmldom/xmldom@npm:^0.8.8": + version: 0.8.11 + resolution: "@xmldom/xmldom@npm:0.8.11" + checksum: 10c0/e768623de72c95d3dae6b5da8e33dda0d81665047811b5498d23a328d45b13feb5536fe921d0308b96a4a8dd8addf80b1f6ef466508051c0b581e63e0dc74ed5 + languageName: node + linkType: hard + +"abbrev@npm:^4.0.0": + version: 4.0.0 + resolution: "abbrev@npm:4.0.0" + checksum: 10c0/b4cc16935235e80702fc90192e349e32f8ef0ed151ef506aa78c81a7c455ec18375c4125414b99f84b2e055199d66383e787675f0bcd87da7a4dbd59f9eac1d5 + languageName: node + linkType: hard + +"abort-controller@npm:^3.0.0": + version: 3.0.0 + resolution: "abort-controller@npm:3.0.0" + dependencies: + event-target-shim: "npm:^5.0.0" + checksum: 10c0/90ccc50f010250152509a344eb2e71977fbf8db0ab8f1061197e3275ddf6c61a41a6edfd7b9409c664513131dd96e962065415325ef23efa5db931b382d24ca5 + languageName: node + linkType: hard + +"accepts@npm:^1.3.7, accepts@npm:^1.3.8": + version: 1.3.8 + resolution: "accepts@npm:1.3.8" + dependencies: + mime-types: "npm:~2.1.34" + negotiator: "npm:0.6.3" + checksum: 10c0/3a35c5f5586cfb9a21163ca47a5f77ac34fa8ceb5d17d2fa2c0d81f41cbd7f8c6fa52c77e2c039acc0f4d09e71abdc51144246900f6bef5e3c4b333f77d89362 + languageName: node + linkType: hard + +"acorn@npm:^8.15.0": + version: 8.15.0 + resolution: "acorn@npm:8.15.0" + bin: + acorn: bin/acorn + checksum: 10c0/dec73ff59b7d6628a01eebaece7f2bdb8bb62b9b5926dcad0f8931f2b8b79c2be21f6c68ac095592adb5adb15831a3635d9343e6a91d028bbe85d564875ec3ec + languageName: node + linkType: hard + +"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": + version: 7.1.4 + resolution: "agent-base@npm:7.1.4" + checksum: 10c0/c2c9ab7599692d594b6a161559ada307b7a624fa4c7b03e3afdb5a5e31cd0e53269115b620fcab024c5ac6a6f37fa5eb2e004f076ad30f5f7e6b8b671f7b35fe + languageName: node + linkType: hard + +"anser@npm:^1.4.9": + version: 1.4.10 + resolution: "anser@npm:1.4.10" + checksum: 10c0/ab251c96f6b9b8858e346137b75968ef3d287e10f358cd3981666949093e587defb5f7059a05a929eb44e1b3775bae346a55ab952e74049355e70f81b8b1ef53 + languageName: node + linkType: hard + +"ansi-escapes@npm:^4.2.1": + version: 4.3.2 + resolution: "ansi-escapes@npm:4.3.2" + dependencies: + type-fest: "npm:^0.21.3" + checksum: 10c0/da917be01871525a3dfcf925ae2977bc59e8c513d4423368645634bf5d4ceba5401574eb705c1e92b79f7292af5a656f78c5725a4b0e1cec97c4b413705c1d50 + languageName: node + linkType: hard + +"ansi-regex@npm:^4.1.0": + version: 4.1.1 + resolution: "ansi-regex@npm:4.1.1" + checksum: 10c0/d36d34234d077e8770169d980fed7b2f3724bfa2a01da150ccd75ef9707c80e883d27cdf7a0eac2f145ac1d10a785a8a855cffd05b85f778629a0db62e7033da + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.0, ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-styles@npm:^3.2.1": + version: 3.2.1 + resolution: "ansi-styles@npm:3.2.1" + dependencies: + color-convert: "npm:^1.9.0" + checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + languageName: node + linkType: hard + +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df + languageName: node + linkType: hard + +"any-promise@npm:^1.0.0": + version: 1.3.0 + resolution: "any-promise@npm:1.3.0" + checksum: 10c0/60f0298ed34c74fef50daab88e8dab786036ed5a7fad02e012ab57e376e0a0b4b29e83b95ea9b5e7d89df762f5f25119b83e00706ecaccb22cfbacee98d74889 + languageName: node + linkType: hard + +"anymatch@npm:^3.0.3": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac + languageName: node + linkType: hard + +"arg@npm:^5.0.2": + version: 5.0.2 + resolution: "arg@npm:5.0.2" + checksum: 10c0/ccaf86f4e05d342af6666c569f844bec426595c567d32a8289715087825c2ca7edd8a3d204e4d2fb2aa4602e09a57d0c13ea8c9eea75aac3dbb4af5514e6800e + languageName: node + linkType: hard + +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: "npm:~1.0.2" + checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e + languageName: node + linkType: hard + +"asap@npm:~2.0.6": + version: 2.0.6 + resolution: "asap@npm:2.0.6" + checksum: 10c0/c6d5e39fe1f15e4b87677460bd66b66050cd14c772269cee6688824c1410a08ab20254bb6784f9afb75af9144a9f9a7692d49547f4d19d715aeb7c0318f3136d + languageName: node + linkType: hard + +"async-limiter@npm:~1.0.0": + version: 1.0.1 + resolution: "async-limiter@npm:1.0.1" + checksum: 10c0/0693d378cfe86842a70d4c849595a0bb50dc44c11649640ca982fa90cbfc74e3cc4753b5a0847e51933f2e9c65ce8e05576e75e5e1fd963a086e673735b35969 + languageName: node + linkType: hard + +"babel-jest@npm:^29.7.0": + version: 29.7.0 + resolution: "babel-jest@npm:29.7.0" + dependencies: + "@jest/transform": "npm:^29.7.0" + "@types/babel__core": "npm:^7.1.14" + babel-plugin-istanbul: "npm:^6.1.1" + babel-preset-jest: "npm:^29.6.3" + chalk: "npm:^4.0.0" + graceful-fs: "npm:^4.2.9" + slash: "npm:^3.0.0" + peerDependencies: + "@babel/core": ^7.8.0 + checksum: 10c0/2eda9c1391e51936ca573dd1aedfee07b14c59b33dbe16ef347873ddd777bcf6e2fc739681e9e9661ab54ef84a3109a03725be2ac32cd2124c07ea4401cbe8c1 + languageName: node + linkType: hard + +"babel-plugin-istanbul@npm:^6.1.1": + version: 6.1.1 + resolution: "babel-plugin-istanbul@npm:6.1.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@istanbuljs/load-nyc-config": "npm:^1.0.0" + "@istanbuljs/schema": "npm:^0.1.2" + istanbul-lib-instrument: "npm:^5.0.4" + test-exclude: "npm:^6.0.0" + checksum: 10c0/1075657feb705e00fd9463b329921856d3775d9867c5054b449317d39153f8fbcebd3e02ebf00432824e647faff3683a9ca0a941325ef1afe9b3c4dd51b24beb + languageName: node + linkType: hard + +"babel-plugin-jest-hoist@npm:^29.6.3": + version: 29.6.3 + resolution: "babel-plugin-jest-hoist@npm:29.6.3" + dependencies: + "@babel/template": "npm:^7.3.3" + "@babel/types": "npm:^7.3.3" + "@types/babel__core": "npm:^7.1.14" + "@types/babel__traverse": "npm:^7.0.6" + checksum: 10c0/7e6451caaf7dce33d010b8aafb970e62f1b0c0b57f4978c37b0d457bbcf0874d75a395a102daf0bae0bd14eafb9f6e9a165ee5e899c0a4f1f3bb2e07b304ed2e + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs2@npm:^0.4.14": + version: 0.4.14 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.14" + dependencies: + "@babel/compat-data": "npm:^7.27.7" + "@babel/helper-define-polyfill-provider": "npm:^0.6.5" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/d74cba0600a6508e86d220bde7164eb528755d91be58020e5ea92ea7fbb12c9d8d2c29246525485adfe7f68ae02618ec428f9a589cac6cbedf53cc3972ad7fbe + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs3@npm:^0.13.0": + version: 0.13.0 + resolution: "babel-plugin-polyfill-corejs3@npm:0.13.0" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.5" + core-js-compat: "npm:^3.43.0" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/5d8e228da425edc040d8c868486fd01ba10b0440f841156a30d9f8986f330f723e2ee61553c180929519563ef5b64acce2caac36a5a847f095d708dda5d8206d + languageName: node + linkType: hard + +"babel-plugin-polyfill-regenerator@npm:^0.6.5": + version: 0.6.5 + resolution: "babel-plugin-polyfill-regenerator@npm:0.6.5" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.5" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/63aa8ed716df6a9277c6ab42b887858fa9f57a70cc1d0ae2b91bdf081e45d4502848cba306fb60b02f59f99b32fd02ff4753b373cac48ccdac9b7d19dd56f06d + languageName: node + linkType: hard + +"babel-plugin-react-compiler@npm:^1.0.0": + version: 1.0.0 + resolution: "babel-plugin-react-compiler@npm:1.0.0" + dependencies: + "@babel/types": "npm:^7.26.0" + checksum: 10c0/9406267ada8d7dbdfe8906b40ecadb816a5f4cee2922bee23f7729293b369624ee135b5a9b0f263851c263c9787522ac5d97016c9a2b82d1668300e42b18aff8 + languageName: node + linkType: hard + +"babel-plugin-react-native-web@npm:~0.21.0": + version: 0.21.2 + resolution: "babel-plugin-react-native-web@npm:0.21.2" + checksum: 10c0/45fa9b2fce90cb0d962bbc9c665e944ef6720f5740a573d457adf8e2881bd4112396922d5d5c0ab7cfc706f0c457e3edebddc55289d30924e1f42b4b7d849b8e + languageName: node + linkType: hard + +"babel-plugin-syntax-hermes-parser@npm:0.29.1, babel-plugin-syntax-hermes-parser@npm:^0.29.1": + version: 0.29.1 + resolution: "babel-plugin-syntax-hermes-parser@npm:0.29.1" + dependencies: + hermes-parser: "npm:0.29.1" + checksum: 10c0/a6d95e4a7079976e477636d18509272a7a185930e143c61d0421a36096e85905563630ac4f0f317518b6db37f50daaefc1828d575b3d5fb090a55e9d39d2534c + languageName: node + linkType: hard + +"babel-plugin-transform-flow-enums@npm:^0.0.2": + version: 0.0.2 + resolution: "babel-plugin-transform-flow-enums@npm:0.0.2" + dependencies: + "@babel/plugin-syntax-flow": "npm:^7.12.1" + checksum: 10c0/aa9d022d8d4be0e7c4f1ff7e5308fe7e0ff4d6f9099449913e3a11c1e81916623a8f36432da180a9aa3f53ea534dca4401fe33d6528f043f40357cfa790ee778 + languageName: node + linkType: hard + +"babel-preset-current-node-syntax@npm:^1.0.0": + version: 1.2.0 + resolution: "babel-preset-current-node-syntax@npm:1.2.0" + dependencies: + "@babel/plugin-syntax-async-generators": "npm:^7.8.4" + "@babel/plugin-syntax-bigint": "npm:^7.8.3" + "@babel/plugin-syntax-class-properties": "npm:^7.12.13" + "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" + "@babel/plugin-syntax-import-attributes": "npm:^7.24.7" + "@babel/plugin-syntax-import-meta": "npm:^7.10.4" + "@babel/plugin-syntax-json-strings": "npm:^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" + "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" + "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" + "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0 || ^8.0.0-0 + checksum: 10c0/94a4f81cddf9b051045d08489e4fff7336292016301664c138cfa3d9ffe3fe2ba10a24ad6ae589fd95af1ac72ba0216e1653555c187e694d7b17be0c002bea10 + languageName: node + linkType: hard + +"babel-preset-expo@npm:~54.0.9": + version: 54.0.10 + resolution: "babel-preset-expo@npm:54.0.10" + dependencies: + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/plugin-proposal-decorators": "npm:^7.12.9" + "@babel/plugin-proposal-export-default-from": "npm:^7.24.7" + "@babel/plugin-syntax-export-default-from": "npm:^7.24.7" + "@babel/plugin-transform-class-static-block": "npm:^7.27.1" + "@babel/plugin-transform-export-namespace-from": "npm:^7.25.9" + "@babel/plugin-transform-flow-strip-types": "npm:^7.25.2" + "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8" + "@babel/plugin-transform-object-rest-spread": "npm:^7.24.7" + "@babel/plugin-transform-parameters": "npm:^7.24.7" + "@babel/plugin-transform-private-methods": "npm:^7.24.7" + "@babel/plugin-transform-private-property-in-object": "npm:^7.24.7" + "@babel/plugin-transform-runtime": "npm:^7.24.7" + "@babel/preset-react": "npm:^7.22.15" + "@babel/preset-typescript": "npm:^7.23.0" + "@react-native/babel-preset": "npm:0.81.5" + babel-plugin-react-compiler: "npm:^1.0.0" + babel-plugin-react-native-web: "npm:~0.21.0" + babel-plugin-syntax-hermes-parser: "npm:^0.29.1" + babel-plugin-transform-flow-enums: "npm:^0.0.2" + debug: "npm:^4.3.4" + resolve-from: "npm:^5.0.0" + peerDependencies: + "@babel/runtime": ^7.20.0 + expo: "*" + react-refresh: ">=0.14.0 <1.0.0" + peerDependenciesMeta: + "@babel/runtime": + optional: true + expo: + optional: true + checksum: 10c0/aa3203d30b5c13f79cd4996431e5a1f9a8fd8b225af8ad0f1a5573c72b4fde94bf048d71fa133701b834105900b3870c7d56b5fee91a1c5b7c9c4e9ed5b1e9db + languageName: node + linkType: hard + +"babel-preset-jest@npm:^29.6.3": + version: 29.6.3 + resolution: "babel-preset-jest@npm:29.6.3" + dependencies: + babel-plugin-jest-hoist: "npm:^29.6.3" + babel-preset-current-node-syntax: "npm:^1.0.0" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/ec5fd0276b5630b05f0c14bb97cc3815c6b31600c683ebb51372e54dcb776cff790bdeeabd5b8d01ede375a040337ccbf6a3ccd68d3a34219125945e167ad943 + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee + languageName: node + linkType: hard + +"base64-js@npm:^1.2.3, base64-js@npm:^1.3.1, base64-js@npm:^1.5.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf + languageName: node + linkType: hard + +"baseline-browser-mapping@npm:^2.9.0": + version: 2.9.16 + resolution: "baseline-browser-mapping@npm:2.9.16" + bin: + baseline-browser-mapping: dist/cli.js + checksum: 10c0/96c05a483de92a240b923a3fa5e115647dcab9b5bb86a80837f1f28bc5f41a7597a8ef356b60e8a4b663146e509552ff5c231d99dde4a11da3b82f53e76b16a9 + languageName: node + linkType: hard + +"better-opn@npm:~3.0.2": + version: 3.0.2 + resolution: "better-opn@npm:3.0.2" + dependencies: + open: "npm:^8.0.4" + checksum: 10c0/911ef25d44da75aabfd2444ce7a4294a8000ebcac73068c04a60298b0f7c7506b60421aa4cd02ac82502fb42baaff7e4892234b51e6923eded44c5a11185f2f5 + languageName: node + linkType: hard + +"big-integer@npm:1.6.x": + version: 1.6.52 + resolution: "big-integer@npm:1.6.52" + checksum: 10c0/9604224b4c2ab3c43c075d92da15863077a9f59e5d4205f4e7e76acd0cd47e8d469ec5e5dba8d9b32aa233951893b29329ca56ac80c20ce094b4a647a66abae0 + languageName: node + linkType: hard + +"bplist-creator@npm:0.1.0": + version: 0.1.0 + resolution: "bplist-creator@npm:0.1.0" + dependencies: + stream-buffers: "npm:2.2.x" + checksum: 10c0/86f5fe95f34abd369b381abf0f726e220ecebd60a3d932568ae94895ccf1989a87553e4aee9ab3cfb4f35e6f72319f52aa73028165eec82819ed39f15189d493 + languageName: node + linkType: hard + +"bplist-creator@npm:0.1.1": + version: 0.1.1 + resolution: "bplist-creator@npm:0.1.1" + dependencies: + stream-buffers: "npm:2.2.x" + checksum: 10c0/427ec37263ce0e8c68a83f595fc9889a9cbf2e6fda2de18e1f8ef7f0c6ce68c0cdbb7c9c1f3bb3f2d217407af8cffbdf254bf0f71c99f2186175d07752f08a47 + languageName: node + linkType: hard + +"bplist-parser@npm:0.3.2, bplist-parser@npm:^0.3.1": + version: 0.3.2 + resolution: "bplist-parser@npm:0.3.2" + dependencies: + big-integer: "npm:1.6.x" + checksum: 10c0/4dc307c11d2511a01255e87e370d4ab6f1962b35fdc27605fd4ce9a557a259c2dc9f87822617ddb1f7aa062a71e30ef20d6103329ac7ce235628f637fb0ed763 + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.12 + resolution: "brace-expansion@npm:1.1.12" + dependencies: + balanced-match: "npm:^1.0.0" + concat-map: "npm:0.0.1" + checksum: 10c0/975fecac2bb7758c062c20d0b3b6288c7cc895219ee25f0a64a9de662dbac981ff0b6e89909c3897c1f84fa353113a721923afdec5f8b2350255b097f12b1f73 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.2 + resolution: "brace-expansion@npm:2.0.2" + dependencies: + balanced-match: "npm:^1.0.0" + checksum: 10c0/6d117a4c793488af86b83172deb6af143e94c17bc53b0b3cec259733923b4ca84679d506ac261f4ba3c7ed37c46018e2ff442f9ce453af8643ecd64f4a54e6cf + languageName: node + linkType: hard + +"braces@npm:^3.0.3": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + +"browserslist@npm:^4.24.0, browserslist@npm:^4.25.0, browserslist@npm:^4.28.0": + version: 4.28.1 + resolution: "browserslist@npm:4.28.1" + dependencies: + baseline-browser-mapping: "npm:^2.9.0" + caniuse-lite: "npm:^1.0.30001759" + electron-to-chromium: "npm:^1.5.263" + node-releases: "npm:^2.0.27" + update-browserslist-db: "npm:^1.2.0" + bin: + browserslist: cli.js + checksum: 10c0/545a5fa9d7234e3777a7177ec1e9134bb2ba60a69e6b95683f6982b1473aad347c77c1264ccf2ac5dea609a9731fbfbda6b85782bdca70f80f86e28a402504bd + languageName: node + linkType: hard + +"bser@npm:2.1.1": + version: 2.1.1 + resolution: "bser@npm:2.1.1" + dependencies: + node-int64: "npm:^0.4.0" + checksum: 10c0/24d8dfb7b6d457d73f32744e678a60cc553e4ec0e9e1a01cf614b44d85c3c87e188d3cc78ef0442ce5032ee6818de20a0162ba1074725c0d08908f62ea979227 + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 + languageName: node + linkType: hard + +"buffer@npm:^5.4.3": + version: 5.7.1 + resolution: "buffer@npm:5.7.1" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.1.13" + checksum: 10c0/27cac81cff434ed2876058d72e7c4789d11ff1120ef32c9de48f59eab58179b66710c488987d295ae89a228f835fc66d088652dffeb8e3ba8659f80eb091d55e + languageName: node + linkType: hard + +"bytes@npm:3.1.2": + version: 3.1.2 + resolution: "bytes@npm:3.1.2" + checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e + languageName: node + linkType: hard + +"cacache@npm:^20.0.1": + version: 20.0.3 + resolution: "cacache@npm:20.0.3" + dependencies: + "@npmcli/fs": "npm:^5.0.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^13.0.0" + lru-cache: "npm:^11.1.0" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^7.0.2" + ssri: "npm:^13.0.0" + unique-filename: "npm:^5.0.0" + checksum: 10c0/c7da1ca694d20e8f8aedabd21dc11518f809a7d2b59aa76a1fc655db5a9e62379e465c157ddd2afe34b19230808882288effa6911b2de26a088a6d5645123462 + languageName: node + linkType: hard + +"camelcase@npm:^5.3.1": + version: 5.3.1 + resolution: "camelcase@npm:5.3.1" + checksum: 10c0/92ff9b443bfe8abb15f2b1513ca182d16126359ad4f955ebc83dc4ddcc4ef3fdd2c078bc223f2673dc223488e75c99b16cc4d056624374b799e6a1555cf61b23 + languageName: node + linkType: hard + +"camelcase@npm:^6.2.0": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001759": + version: 1.0.30001765 + resolution: "caniuse-lite@npm:1.0.30001765" + checksum: 10c0/2bab28b322ec040dde2b6f56019ffd1e0bbd719111e45f58cb0fb06a783812d8ba8df65755320fd253aa1926dffc7bf0864adc11f6b231ac2b3a5b8221199c29 + languageName: node + linkType: hard + +"chalk@npm:^2.0.1, chalk@npm:^2.4.2": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" + dependencies: + ansi-styles: "npm:^3.2.1" + escape-string-regexp: "npm:^1.0.5" + supports-color: "npm:^5.3.0" + checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 + languageName: node + linkType: hard + +"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.2": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 + languageName: node + linkType: hard + +"chrome-launcher@npm:^0.15.2": + version: 0.15.2 + resolution: "chrome-launcher@npm:0.15.2" + dependencies: + "@types/node": "npm:*" + escape-string-regexp: "npm:^4.0.0" + is-wsl: "npm:^2.2.0" + lighthouse-logger: "npm:^1.0.0" + bin: + print-chrome-path: bin/print-chrome-path.js + checksum: 10c0/fc01abc19af753bb089744362c0de48707f32ea15779407b06fb569e029a6b1fbaa78107165539d768915cf54b5c38594e73d95563c34127873e3826fb43c636 + languageName: node + linkType: hard + +"chromium-edge-launcher@npm:^0.2.0": + version: 0.2.0 + resolution: "chromium-edge-launcher@npm:0.2.0" + dependencies: + "@types/node": "npm:*" + escape-string-regexp: "npm:^4.0.0" + is-wsl: "npm:^2.2.0" + lighthouse-logger: "npm:^1.0.0" + mkdirp: "npm:^1.0.4" + rimraf: "npm:^3.0.2" + checksum: 10c0/880972816dd9b95c0eb77d1f707569667a8cce7cc29fe9c8d199c47fdfbe4971e9da3e5a29f61c4ecec29437ac7cebbbb5afc30bec96306579d1121e7340606a + languageName: node + linkType: hard + +"ci-info@npm:^2.0.0": + version: 2.0.0 + resolution: "ci-info@npm:2.0.0" + checksum: 10c0/8c5fa3830a2bcee2b53c2e5018226f0141db9ec9f7b1e27a5c57db5512332cde8a0beb769bcbaf0d8775a78afbf2bb841928feca4ea6219638a5b088f9884b46 + languageName: node + linkType: hard + +"ci-info@npm:^3.2.0, ci-info@npm:^3.3.0": + version: 3.9.0 + resolution: "ci-info@npm:3.9.0" + checksum: 10c0/6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a + languageName: node + linkType: hard + +"cli-cursor@npm:^2.1.0": + version: 2.1.0 + resolution: "cli-cursor@npm:2.1.0" + dependencies: + restore-cursor: "npm:^2.0.0" + checksum: 10c0/09ee6d8b5b818d840bf80ec9561eaf696672197d3a02a7daee2def96d5f52ce6e0bbe7afca754ccf14f04830b5a1b4556273e983507d5029f95bba3016618eda + languageName: node + linkType: hard + +"cli-spinners@npm:^2.0.0": + version: 2.9.2 + resolution: "cli-spinners@npm:2.9.2" + checksum: 10c0/907a1c227ddf0d7a101e7ab8b300affc742ead4b4ebe920a5bf1bc6d45dce2958fcd195eb28fa25275062fe6fa9b109b93b63bc8033396ed3bcb50297008b3a3 + languageName: node + linkType: hard + +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5 + languageName: node + linkType: hard + +"clone@npm:^1.0.2": + version: 1.0.4 + resolution: "clone@npm:1.0.4" + checksum: 10c0/2176952b3649293473999a95d7bebfc9dc96410f6cbd3d2595cf12fd401f63a4bf41a7adbfd3ab2ff09ed60cb9870c58c6acdd18b87767366fabfc163700f13b + languageName: node + linkType: hard + +"color-convert@npm:^1.9.0": + version: 1.9.3 + resolution: "color-convert@npm:1.9.3" + dependencies: + color-name: "npm:1.1.3" + checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + languageName: node + linkType: hard + +"color-name@npm:1.1.3": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"commander@npm:^12.0.0": + version: 12.1.0 + resolution: "commander@npm:12.1.0" + checksum: 10c0/6e1996680c083b3b897bfc1cfe1c58dfbcd9842fd43e1aaf8a795fbc237f65efcc860a3ef457b318e73f29a4f4a28f6403c3d653d021d960e4632dd45bde54a9 + languageName: node + linkType: hard + +"commander@npm:^2.20.0": + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: 10c0/74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288 + languageName: node + linkType: hard + +"commander@npm:^4.0.0": + version: 4.1.1 + resolution: "commander@npm:4.1.1" + checksum: 10c0/84a76c08fe6cc08c9c93f62ac573d2907d8e79138999312c92d4155bc2325d487d64d13f669b2000c9f8caf70493c1be2dac74fec3c51d5a04f8bc3ae1830bab + languageName: node + linkType: hard + +"commander@npm:^7.2.0": + version: 7.2.0 + resolution: "commander@npm:7.2.0" + checksum: 10c0/8d690ff13b0356df7e0ebbe6c59b4712f754f4b724d4f473d3cc5b3fdcf978e3a5dc3078717858a2ceb50b0f84d0660a7f22a96cdc50fb877d0c9bb31593d23a + languageName: node + linkType: hard + +"compressible@npm:~2.0.18": + version: 2.0.18 + resolution: "compressible@npm:2.0.18" + dependencies: + mime-db: "npm:>= 1.43.0 < 2" + checksum: 10c0/8a03712bc9f5b9fe530cc5a79e164e665550d5171a64575d7dcf3e0395d7b4afa2d79ab176c61b5b596e28228b350dd07c1a2a6ead12fd81d1b6cd632af2fef7 + languageName: node + linkType: hard + +"compression@npm:^1.7.4": + version: 1.8.1 + resolution: "compression@npm:1.8.1" + dependencies: + bytes: "npm:3.1.2" + compressible: "npm:~2.0.18" + debug: "npm:2.6.9" + negotiator: "npm:~0.6.4" + on-headers: "npm:~1.1.0" + safe-buffer: "npm:5.2.1" + vary: "npm:~1.1.2" + checksum: 10c0/85114b0b91c16594dc8c671cd9b05ef5e465066a60e5a4ed8b4551661303559a896ed17bb72c4234c04064e078f6ca86a34b8690349499a43f6fc4b844475da4 + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f + languageName: node + linkType: hard + +"connect@npm:^3.6.5, connect@npm:^3.7.0": + version: 3.7.0 + resolution: "connect@npm:3.7.0" + dependencies: + debug: "npm:2.6.9" + finalhandler: "npm:1.1.2" + parseurl: "npm:~1.3.3" + utils-merge: "npm:1.0.1" + checksum: 10c0/f120c6116bb16a0a7d2703c0b4a0cd7ed787dc5ec91978097bf62aa967289020a9f41a9cd3c3276a7b92aaa36f382d2cd35fed7138fd466a55c8e9fdbed11ca8 + languageName: node + linkType: hard + +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b + languageName: node + linkType: hard + +"core-js-compat@npm:^3.43.0": + version: 3.47.0 + resolution: "core-js-compat@npm:3.47.0" + dependencies: + browserslist: "npm:^4.28.0" + checksum: 10c0/71da415899633120db7638dd7b250eee56031f63c4560dcba8eeeafd1168fae171d59b223e3fd2e0aa543a490d64bac7d946764721e2c05897056fdfb22cce33 + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.3": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 + languageName: node + linkType: hard + +"crypto-random-string@npm:^2.0.0": + version: 2.0.0 + resolution: "crypto-random-string@npm:2.0.0" + checksum: 10c0/288589b2484fe787f9e146f56c4be90b940018f17af1b152e4dde12309042ff5a2bf69e949aab8b8ac253948381529cc6f3e5a2427b73643a71ff177fa122b37 + languageName: node + linkType: hard + +"csstype@npm:^3.0.2": + version: 3.2.3 + resolution: "csstype@npm:3.2.3" + checksum: 10c0/cd29c51e70fa822f1cecd8641a1445bed7063697469d35633b516e60fe8c1bde04b08f6c5b6022136bb669b64c63d4173af54864510fbb4ee23281801841a3ce + languageName: node + linkType: hard + +"debug@npm:2.6.9, debug@npm:^2.6.9": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: "npm:2.0.0" + checksum: 10c0/121908fb839f7801180b69a7e218a40b5a0b718813b886b7d6bdb82001b931c938e2941d1e4450f33a1b1df1da653f5f7a0440c197f29fbf8a6e9d45ff6ef589 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.4.0, debug@npm:^4.4.1": + version: 4.4.3 + resolution: "debug@npm:4.4.3" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/d79136ec6c83ecbefd0f6a5593da6a9c91ec4d7ddc4b54c883d6e71ec9accb5f67a1a5e96d00a328196b5b5c86d365e98d8a3a70856aaf16b4e7b1985e67f5a6 + languageName: node + linkType: hard + +"debug@npm:^3.1.0": + version: 3.2.7 + resolution: "debug@npm:3.2.7" + dependencies: + ms: "npm:^2.1.1" + checksum: 10c0/37d96ae42cbc71c14844d2ae3ba55adf462ec89fd3a999459dec3833944cd999af6007ff29c780f1c61153bcaaf2c842d1e4ce1ec621e4fc4923244942e4a02a + languageName: node + linkType: hard + +"deep-extend@npm:^0.6.0": + version: 0.6.0 + resolution: "deep-extend@npm:0.6.0" + checksum: 10c0/1c6b0abcdb901e13a44c7d699116d3d4279fdb261983122a3783e7273844d5f2537dc2e1c454a23fcf645917f93fbf8d07101c1d03c015a87faa662755212566 + languageName: node + linkType: hard + +"deepmerge@npm:^4.3.1": + version: 4.3.1 + resolution: "deepmerge@npm:4.3.1" + checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 + languageName: node + linkType: hard + +"defaults@npm:^1.0.3": + version: 1.0.4 + resolution: "defaults@npm:1.0.4" + dependencies: + clone: "npm:^1.0.2" + checksum: 10c0/9cfbe498f5c8ed733775db62dfd585780387d93c17477949e1670bfcfb9346e0281ce8c4bf9f4ac1fc0f9b851113bd6dc9e41182ea1644ccd97de639fa13c35a + languageName: node + linkType: hard + +"define-lazy-prop@npm:^2.0.0": + version: 2.0.0 + resolution: "define-lazy-prop@npm:2.0.0" + checksum: 10c0/db6c63864a9d3b7dc9def55d52764968a5af296de87c1b2cc71d8be8142e445208071953649e0386a8cc37cfcf9a2067a47207f1eb9ff250c2a269658fdae422 + languageName: node + linkType: hard + +"depd@npm:2.0.0, depd@npm:~2.0.0": + version: 2.0.0 + resolution: "depd@npm:2.0.0" + checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c + languageName: node + linkType: hard + +"destroy@npm:1.2.0": + version: 1.2.0 + resolution: "destroy@npm:1.2.0" + checksum: 10c0/bd7633942f57418f5a3b80d5cb53898127bcf53e24cdf5d5f4396be471417671f0fee48a4ebe9a1e9defbde2a31280011af58a57e090ff822f589b443ed4e643 + languageName: node + linkType: hard + +"detect-libc@npm:^2.0.3": + version: 2.1.2 + resolution: "detect-libc@npm:2.1.2" + checksum: 10c0/acc675c29a5649fa1fb6e255f993b8ee829e510b6b56b0910666949c80c364738833417d0edb5f90e4e46be17228b0f2b66a010513984e18b15deeeac49369c4 + languageName: node + linkType: hard + +"dotenv-expand@npm:~11.0.6": + version: 11.0.7 + resolution: "dotenv-expand@npm:11.0.7" + dependencies: + dotenv: "npm:^16.4.5" + checksum: 10c0/d80b8a7be085edf351270b96ac0e794bc3ddd7f36157912939577cb4d33ba6492ebee349d59798b71b90e36f498d24a2a564fb4aa00073b2ef4c2a3a49c467b1 + languageName: node + linkType: hard + +"dotenv@npm:^16.4.5": + version: 16.6.1 + resolution: "dotenv@npm:16.6.1" + checksum: 10c0/15ce56608326ea0d1d9414a5c8ee6dcf0fffc79d2c16422b4ac2268e7e2d76ff5a572d37ffe747c377de12005f14b3cc22361e79fc7f1061cce81f77d2c973dc + languageName: node + linkType: hard + +"dotenv@npm:~16.4.5": + version: 16.4.7 + resolution: "dotenv@npm:16.4.7" + checksum: 10c0/be9f597e36a8daf834452daa1f4cc30e5375a5968f98f46d89b16b983c567398a330580c88395069a77473943c06b877d1ca25b4afafcdd6d4adb549e8293462 + languageName: node + linkType: hard + +"ee-first@npm:1.1.1": + version: 1.1.1 + resolution: "ee-first@npm:1.1.1" + checksum: 10c0/b5bb125ee93161bc16bfe6e56c6b04de5ad2aa44234d8f644813cc95d861a6910903132b05093706de2b706599367c4130eb6d170f6b46895686b95f87d017b7 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.5.263": + version: 1.5.267 + resolution: "electron-to-chromium@npm:1.5.267" + checksum: 10c0/0732bdb891b657f2e43266a3db8cf86fff6cecdcc8d693a92beff214e136cb5c2ee7dc5945ed75fa1db16e16bad0c38695527a020d15f39e79084e0b2e447621 + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"encodeurl@npm:~1.0.2": + version: 1.0.2 + resolution: "encodeurl@npm:1.0.2" + checksum: 10c0/f6c2387379a9e7c1156c1c3d4f9cb7bb11cf16dd4c1682e1f6746512564b053df5781029b6061296832b59fb22f459dbe250386d217c2f6e203601abb2ee0bec + languageName: node + linkType: hard + +"encodeurl@npm:~2.0.0": + version: 2.0.0 + resolution: "encodeurl@npm:2.0.0" + checksum: 10c0/5d317306acb13e6590e28e27924c754163946a2480de11865c991a3a7eed4315cd3fba378b543ca145829569eefe9b899f3d84bb09870f675ae60bc924b01ceb + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + languageName: node + linkType: hard + +"env-editor@npm:^0.4.1": + version: 0.4.2 + resolution: "env-editor@npm:0.4.2" + checksum: 10c0/edb33583b0ae5197535905cbcefca424796f6afec799604f7578428ee523245edcd7df48d582fdab67dbcc697ed39070057f512e72f94c91ceefdcb432f5eadb + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 + languageName: node + linkType: hard + +"error-stack-parser@npm:^2.0.6": + version: 2.1.4 + resolution: "error-stack-parser@npm:2.1.4" + dependencies: + stackframe: "npm:^1.3.4" + checksum: 10c0/7679b780043c98b01fc546725484e0cfd3071bf5c906bbe358722972f04abf4fc3f0a77988017665bab367f6ef3fc2d0185f7528f45966b83e7c99c02d5509b9 + languageName: node + linkType: hard + +"escalade@npm:^3.1.1, escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 + languageName: node + linkType: hard + +"escape-html@npm:~1.0.3": + version: 1.0.3 + resolution: "escape-html@npm:1.0.3" + checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^2.0.0": + version: 2.0.0 + resolution: "escape-string-regexp@npm:2.0.0" + checksum: 10c0/2530479fe8db57eace5e8646c9c2a9c80fa279614986d16dcc6bcaceb63ae77f05a851ba6c43756d816c61d7f4534baf56e3c705e3e0d884818a46808811c507 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 + languageName: node + linkType: hard + +"esprima@npm:^4.0.0": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 + languageName: node + linkType: hard + +"etag@npm:~1.8.1": + version: 1.8.1 + resolution: "etag@npm:1.8.1" + checksum: 10c0/12be11ef62fb9817314d790089a0a49fae4e1b50594135dcb8076312b7d7e470884b5100d249b28c18581b7fd52f8b485689ffae22a11ed9ec17377a33a08f84 + languageName: node + linkType: hard + +"event-target-shim@npm:^5.0.0": + version: 5.0.1 + resolution: "event-target-shim@npm:5.0.1" + checksum: 10c0/0255d9f936215fd206156fd4caa9e8d35e62075d720dc7d847e89b417e5e62cf1ce6c9b4e0a1633a9256de0efefaf9f8d26924b1f3c8620cffb9db78e7d3076b + languageName: node + linkType: hard + +"exec-async@npm:^2.2.0": + version: 2.2.0 + resolution: "exec-async@npm:2.2.0" + checksum: 10c0/9c70693a3d9f53e19cc8ecf26c3b3fc7125bf40051a71cba70d71161d065a6091d3ab1924c56ac1edd68cb98b9fbef29f83e45dcf67ee6b6c4826e0f898ac039 + languageName: node + linkType: hard + +"expo-asset@npm:~12.0.12": + version: 12.0.12 + resolution: "expo-asset@npm:12.0.12" + dependencies: + "@expo/image-utils": "npm:^0.8.8" + expo-constants: "npm:~18.0.12" + peerDependencies: + expo: "*" + react: "*" + react-native: "*" + checksum: 10c0/303b7e08126edbddd3235a6803ffa6ff98b1cc0fb7bfa019d1ad891560bbbe9a9b84db7275ced33011330a8f4f225175d3780f4771a925d8e1c3782a343b9796 + languageName: node + linkType: hard + +"expo-constants@npm:~18.0.12, expo-constants@npm:~18.0.13": + version: 18.0.13 + resolution: "expo-constants@npm:18.0.13" + dependencies: + "@expo/config": "npm:~12.0.13" + "@expo/env": "npm:~2.0.8" + peerDependencies: + expo: "*" + react-native: "*" + checksum: 10c0/bbe33c0611b8085ecd965434d71d27f065427146fe23f3162d170812f8c917b032604c79e0cd129f39147f58f7dc581ee3c6b64a84bf865dd325595289dc77e6 + languageName: node + linkType: hard + +"expo-file-system@npm:~19.0.21": + version: 19.0.21 + resolution: "expo-file-system@npm:19.0.21" + peerDependencies: + expo: "*" + react-native: "*" + checksum: 10c0/0ece34f86beda2048f8bf1f3218e57f6c7c14a875fe8be0f0dd2704d968ee61f979ddf0561b8769f4d46cfeb77ac759da0a030c5a77128cf2a06ce0bb9e3959b + languageName: node + linkType: hard + +"expo-font@npm:~14.0.10": + version: 14.0.11 + resolution: "expo-font@npm:14.0.11" + dependencies: + fontfaceobserver: "npm:^2.1.0" + peerDependencies: + expo: "*" + react: "*" + react-native: "*" + checksum: 10c0/ba74ff17b01dedc4a8145170b7098a95e037a7bd8ac0b8d0bf80bf28589383c22ba1a3f8ab68d901eafa75e311eb2fcd9edc414c18957a8827063623e2af9e0f + languageName: node + linkType: hard + +"expo-keep-awake@npm:~15.0.8": + version: 15.0.8 + resolution: "expo-keep-awake@npm:15.0.8" + peerDependencies: + expo: "*" + react: "*" + checksum: 10c0/23064b18285498e70be0aa525dc875cc809fc723b9a101d51e4721a09b1460eb041c73ebeb6d51e9175bb4c9b7a668bc08a48b99ebddac4cfaadb5a47194d329 + languageName: node + linkType: hard + +"expo-modules-autolinking@npm:3.0.24": + version: 3.0.24 + resolution: "expo-modules-autolinking@npm:3.0.24" + dependencies: + "@expo/spawn-async": "npm:^1.7.2" + chalk: "npm:^4.1.0" + commander: "npm:^7.2.0" + require-from-string: "npm:^2.0.2" + resolve-from: "npm:^5.0.0" + bin: + expo-modules-autolinking: bin/expo-modules-autolinking.js + checksum: 10c0/cdd59e3aa1aca61955eabc25d21dc3c0a8971fffd234cb491245bc3eac96b45f197dce723089b5760c968ad309e9deb75660e6810c6c58b8a629b83a7e2abc76 + languageName: node + linkType: hard + +"expo-modules-core@npm:3.0.29": + version: 3.0.29 + resolution: "expo-modules-core@npm:3.0.29" + dependencies: + invariant: "npm:^2.2.4" + peerDependencies: + react: "*" + react-native: "*" + checksum: 10c0/e32a87b06aa772f523afa5a995523848c61c06370085ae9e724ad24432cac38925ff69976f58b2c562828c2cefba6df00cfef2dbb206111413890ce1c2baee19 + languageName: node + linkType: hard + +"expo-server@npm:^1.0.5": + version: 1.0.5 + resolution: "expo-server@npm:1.0.5" + checksum: 10c0/0da974f733235d457f7ce51e5452f48f203378687f821bdab7159617a491c0192251423a17a7a3a118486e1cbfffff5d5ad31aeeedcf2cfad6412a1bd7e86877 + languageName: node + linkType: hard + +"expo-status-bar@npm:~3.0.9": + version: 3.0.9 + resolution: "expo-status-bar@npm:3.0.9" + dependencies: + react-native-is-edge-to-edge: "npm:^1.2.1" + peerDependencies: + react: "*" + react-native: "*" + checksum: 10c0/b35ed996a3da45a657075447bbf687dad4e7d5321129182e58737ea0fa4aeb8bb145bbe20967abd6823587a738e4c6fd62c41d18d8c11094ff926e2079c02fc2 + languageName: node + linkType: hard + +"expo@npm:~54.0.31": + version: 54.0.31 + resolution: "expo@npm:54.0.31" + dependencies: + "@babel/runtime": "npm:^7.20.0" + "@expo/cli": "npm:54.0.21" + "@expo/config": "npm:~12.0.13" + "@expo/config-plugins": "npm:~54.0.4" + "@expo/devtools": "npm:0.1.8" + "@expo/fingerprint": "npm:0.15.4" + "@expo/metro": "npm:~54.2.0" + "@expo/metro-config": "npm:54.0.13" + "@expo/vector-icons": "npm:^15.0.3" + "@ungap/structured-clone": "npm:^1.3.0" + babel-preset-expo: "npm:~54.0.9" + expo-asset: "npm:~12.0.12" + expo-constants: "npm:~18.0.13" + expo-file-system: "npm:~19.0.21" + expo-font: "npm:~14.0.10" + expo-keep-awake: "npm:~15.0.8" + expo-modules-autolinking: "npm:3.0.24" + expo-modules-core: "npm:3.0.29" + pretty-format: "npm:^29.7.0" + react-refresh: "npm:^0.14.2" + whatwg-url-without-unicode: "npm:8.0.0-3" + 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 + bin: + expo: bin/cli + expo-modules-autolinking: bin/autolinking + fingerprint: bin/fingerprint + checksum: 10c0/57a65b709ac16e44cf235e279c2fb56b130487074971f17b201fa8bb528998e536af764b59c2f7483ff5a4fa5cdb785f3fd031a251fa69c563433128677bf571 + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.3 + resolution: "exponential-backoff@npm:3.1.3" + checksum: 10c0/77e3ae682b7b1f4972f563c6dbcd2b0d54ac679e62d5d32f3e5085feba20483cf28bd505543f520e287a56d4d55a28d7874299941faf637e779a1aa5994d1267 + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:^2.1.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b + languageName: node + linkType: hard + +"fb-watchman@npm:^2.0.0": + version: 2.0.2 + resolution: "fb-watchman@npm:2.0.2" + dependencies: + bser: "npm:2.1.1" + checksum: 10c0/feae89ac148adb8f6ae8ccd87632e62b13563e6fb114cacb5265c51f585b17e2e268084519fb2edd133872f1d47a18e6bfd7e5e08625c0d41b93149694187581 + languageName: node + linkType: hard + +"fdir@npm:^6.5.0": + version: 6.5.0 + resolution: "fdir@npm:6.5.0" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/e345083c4306b3aed6cb8ec551e26c36bab5c511e99ea4576a16750ddc8d3240e63826cc624f5ae17ad4dc82e68a253213b60d556c11bfad064b7607847ed07f + languageName: node + linkType: hard + +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + languageName: node + linkType: hard + +"finalhandler@npm:1.1.2": + version: 1.1.2 + resolution: "finalhandler@npm:1.1.2" + dependencies: + debug: "npm:2.6.9" + encodeurl: "npm:~1.0.2" + escape-html: "npm:~1.0.3" + on-finished: "npm:~2.3.0" + parseurl: "npm:~1.3.3" + statuses: "npm:~1.5.0" + unpipe: "npm:~1.0.0" + checksum: 10c0/6a96e1f5caab085628c11d9fdceb82ba608d5e426c6913d4d918409baa271037a47f28fbba73279e8ad614f0b8fa71ea791d265e408d760793829edd8c2f4584 + languageName: node + linkType: hard + +"find-up@npm:^4.1.0": + version: 4.1.0 + resolution: "find-up@npm:4.1.0" + dependencies: + locate-path: "npm:^5.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/0406ee89ebeefa2d507feb07ec366bebd8a6167ae74aa4e34fb4c4abd06cf782a3ce26ae4194d70706f72182841733f00551c209fe575cb00bd92104056e78c1 + languageName: node + linkType: hard + +"find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: "npm:^6.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a + languageName: node + linkType: hard + +"flow-enums-runtime@npm:^0.0.6": + version: 0.0.6 + resolution: "flow-enums-runtime@npm:0.0.6" + checksum: 10c0/f0b9ca52dbf9cf30264ebf1af034ac7b80fb5e5ef009efc789b89a90aa17349a3ff5672b3b27c6eb89d5e02808fc0dfb7effbfc5a793451694d6cce48774d51e + languageName: node + linkType: hard + +"fontfaceobserver@npm:^2.1.0": + version: 2.3.0 + resolution: "fontfaceobserver@npm:2.3.0" + checksum: 10c0/9b539d5021757d3ed73c355bdb839296d6654de473a992aa98993ef46d951f0361545323de68f6d70c5334d7e3e9f409c1ae7a03c168b00cb0f6c5dea6c77bfa + languageName: node + linkType: hard + +"freeport-async@npm:^2.0.0": + version: 2.0.0 + resolution: "freeport-async@npm:2.0.0" + checksum: 10c0/421828d1a689695b6c8122d310fd8941af99ebe0b5793e3f8d49aa5923ce580b6c4dd6b7470d46983e60839c302f6c793a8541dbab80817396cdde2b04c83c90 + languageName: node + linkType: hard + +"fresh@npm:~0.5.2": + version: 0.5.2 + resolution: "fresh@npm:0.5.2" + checksum: 10c0/c6d27f3ed86cc5b601404822f31c900dd165ba63fff8152a3ef714e2012e7535027063bc67ded4cb5b3a49fa596495d46cacd9f47d6328459cf570f08b7d9e5a + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 + languageName: node + linkType: hard + +"fsevents@npm:^2.3.2": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: 10c0/782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8 + languageName: node + linkType: hard + +"get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde + languageName: node + linkType: hard + +"get-package-type@npm:^0.1.0": + version: 0.1.0 + resolution: "get-package-type@npm:0.1.0" + checksum: 10c0/e34cdf447fdf1902a1f6d5af737eaadf606d2ee3518287abde8910e04159368c268568174b2e71102b87b26c2020486f126bfca9c4fb1ceb986ff99b52ecd1be + languageName: node + linkType: hard + +"getenv@npm:^2.0.0": + version: 2.0.0 + resolution: "getenv@npm:2.0.0" + checksum: 10c0/397ff641dd70cd78e414430258651e9a2228d3c5553a8cf15ae7840f75d3f10dfcb83f668f84829e84ea665b0fce2f08a9eddda3c9dcd7faa2d3da1c182c1854 + languageName: node + linkType: hard + +"glob@npm:^13.0.0": + version: 13.0.0 + resolution: "glob@npm:13.0.0" + dependencies: + minimatch: "npm:^10.1.1" + minipass: "npm:^7.1.2" + path-scurry: "npm:^2.0.0" + checksum: 10c0/8e2f5821f3f7c312dd102e23a15b80c79e0837a9872784293ba2e15ec73b3f3749a49a42a31bfcb4e52c84820a474e92331c2eebf18819d20308f5c33876630a + languageName: node + linkType: hard + +"glob@npm:^7.1.1, glob@npm:^7.1.3, glob@npm:^7.1.4": + version: 7.2.3 + resolution: "glob@npm:7.2.3" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^3.1.1" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe + languageName: node + linkType: hard + +"global-dirs@npm:^0.1.1": + version: 0.1.1 + resolution: "global-dirs@npm:0.1.1" + dependencies: + ini: "npm:^1.3.4" + checksum: 10c0/3608072e58962396c124ad5a1cfb3f99ee76c998654a3432d82977b3c3eeb09dc8a5a2a9849b2b8113906c8d0aad89ce362c22e97cec5fe34405bbf4f3cdbe7a + languageName: node + linkType: hard + +"graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"has-flag@npm:^3.0.0": + version: 3.0.0 + resolution: "has-flag@npm:3.0.0" + checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + +"hasown@npm:^2.0.2": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 + languageName: node + linkType: hard + +"hermes-estree@npm:0.29.1": + version: 0.29.1 + resolution: "hermes-estree@npm:0.29.1" + checksum: 10c0/e6b01f79ba708697d61a74b871d5ebae5f863c6d782657d8e2d2256eb838f1eb86ff9c34773a81d9cc69e54be3a5059c686e0ab54a4afba903b40dde92dd0ccb + languageName: node + linkType: hard + +"hermes-estree@npm:0.32.0": + version: 0.32.0 + resolution: "hermes-estree@npm:0.32.0" + checksum: 10c0/3b67d1fe44336240ef7f9c40ecbf363279ba263d51efe120570c3862cc109e652fc09aebddfe6b73d0f0246610bee130e4064c359f1f4cbf002bdb1d99717ef2 + languageName: node + linkType: hard + +"hermes-parser@npm:0.29.1, hermes-parser@npm:^0.29.1": + version: 0.29.1 + resolution: "hermes-parser@npm:0.29.1" + dependencies: + hermes-estree: "npm:0.29.1" + checksum: 10c0/7f40d9bdfb5acaa700f333a24c644b17f5f8d0e823b1e7a9fb6dcf253a54d54716ae63c74effa023688ee4f09013c80188c40d601570fee256a44954e04c2926 + languageName: node + linkType: hard + +"hermes-parser@npm:0.32.0": + version: 0.32.0 + resolution: "hermes-parser@npm:0.32.0" + dependencies: + hermes-estree: "npm:0.32.0" + checksum: 10c0/5902d2c5d347c0629fba07a47eaad5569590ac69bc8bfb2e454e08d2dfbe1ebd989d88518dca2cba64061689b5eac5960ae6bd15a4a66600bbf377498a3234b7 + languageName: node + linkType: hard + +"hosted-git-info@npm:^7.0.0": + version: 7.0.2 + resolution: "hosted-git-info@npm:7.0.2" + dependencies: + lru-cache: "npm:^10.0.1" + checksum: 10c0/b19dbd92d3c0b4b0f1513cf79b0fc189f54d6af2129eeb201de2e9baaa711f1936929c848b866d9c8667a0f956f34bf4f07418c12be1ee9ca74fd9246335ca1f + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.1": + version: 4.2.0 + resolution: "http-cache-semantics@npm:4.2.0" + checksum: 10c0/45b66a945cf13ec2d1f29432277201313babf4a01d9e52f44b31ca923434083afeca03f18417f599c9ab3d0e7b618ceb21257542338b57c54b710463b4a53e37 + languageName: node + linkType: hard + +"http-errors@npm:~2.0.1": + version: 2.0.1 + resolution: "http-errors@npm:2.0.1" + dependencies: + depd: "npm:~2.0.0" + inherits: "npm:~2.0.4" + setprototypeof: "npm:~1.2.0" + statuses: "npm:~2.0.2" + toidentifier: "npm:~1.0.1" + checksum: 10c0/fb38906cef4f5c83952d97661fe14dc156cb59fe54812a42cd448fa57b5c5dfcb38a40a916957737bd6b87aab257c0648d63eb5b6a9ca9f548e105b6072712d4 + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.5": + version: 7.0.6 + resolution: "https-proxy-agent@npm:7.0.6" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:4" + checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac + languageName: node + linkType: hard + +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + +"ieee754@npm:^1.1.13": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb + languageName: node + linkType: hard + +"ignore@npm:^5.3.1": + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 + languageName: node + linkType: hard + +"image-size@npm:^1.0.2": + version: 1.2.1 + resolution: "image-size@npm:1.2.1" + dependencies: + queue: "npm:6.0.2" + bin: + image-size: bin/image-size.js + checksum: 10c0/f8b3c19d4476513f1d7e55c3e6db80997b315444743e2040d545cbcaee59be03d2eb40c46be949a8372697b7003fdb0c04925d704390a7f606bc8181e25c0ed4 + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: "npm:^1.3.0" + wrappy: "npm:1" + checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:~2.0.3, inherits@npm:~2.0.4": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 + languageName: node + linkType: hard + +"ini@npm:^1.3.4, ini@npm:~1.3.0": + version: 1.3.8 + resolution: "ini@npm:1.3.8" + checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a + languageName: node + linkType: hard + +"invariant@npm:^2.2.4": + version: 2.2.4 + resolution: "invariant@npm:2.2.4" + dependencies: + loose-envify: "npm:^1.0.0" + checksum: 10c0/5af133a917c0bcf65e84e7f23e779e7abc1cd49cb7fdc62d00d1de74b0d8c1b5ee74ac7766099fb3be1b05b26dfc67bab76a17030d2fe7ea2eef867434362dfc + languageName: node + linkType: hard + +"ip-address@npm:^10.0.1": + version: 10.1.0 + resolution: "ip-address@npm:10.1.0" + checksum: 10c0/0103516cfa93f6433b3bd7333fa876eb21263912329bfa47010af5e16934eeeff86f3d2ae700a3744a137839ddfad62b900c7a445607884a49b5d1e32a3d7566 + languageName: node + linkType: hard + +"is-core-module@npm:^2.16.1": + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" + dependencies: + hasown: "npm:^2.0.2" + checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd + languageName: node + linkType: hard + +"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": + version: 2.2.1 + resolution: "is-docker@npm:2.2.1" + bin: + is-docker: cli.js + checksum: 10c0/e828365958d155f90c409cdbe958f64051d99e8aedc2c8c4cd7c89dcf35329daed42f7b99346f7828df013e27deb8f721cf9408ba878c76eb9e8290235fbcdcc + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-wsl@npm:^2.1.1, is-wsl@npm:^2.2.0": + version: 2.2.0 + resolution: "is-wsl@npm:2.2.0" + dependencies: + is-docker: "npm:^2.0.0" + checksum: 10c0/a6fa2d370d21be487c0165c7a440d567274fbba1a817f2f0bfa41cc5e3af25041d84267baa22df66696956038a43973e72fca117918c91431920bdef490fa25e + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard + +"istanbul-lib-coverage@npm:^3.2.0": + version: 3.2.2 + resolution: "istanbul-lib-coverage@npm:3.2.2" + checksum: 10c0/6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^5.0.4": + version: 5.2.1 + resolution: "istanbul-lib-instrument@npm:5.2.1" + dependencies: + "@babel/core": "npm:^7.12.3" + "@babel/parser": "npm:^7.14.7" + "@istanbuljs/schema": "npm:^0.1.2" + istanbul-lib-coverage: "npm:^3.2.0" + semver: "npm:^6.3.0" + checksum: 10c0/8a1bdf3e377dcc0d33ec32fe2b6ecacdb1e4358fd0eb923d4326bb11c67622c0ceb99600a680f3dad5d29c66fc1991306081e339b4d43d0b8a2ab2e1d910a6ee + languageName: node + linkType: hard + +"jest-environment-node@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-environment-node@npm:29.7.0" + dependencies: + "@jest/environment": "npm:^29.7.0" + "@jest/fake-timers": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + jest-mock: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + checksum: 10c0/61f04fec077f8b1b5c1a633e3612fc0c9aa79a0ab7b05600683428f1e01a4d35346c474bde6f439f9fcc1a4aa9a2861ff852d079a43ab64b02105d1004b2592b + languageName: node + linkType: hard + +"jest-get-type@npm:^29.6.3": + version: 29.6.3 + resolution: "jest-get-type@npm:29.6.3" + checksum: 10c0/552e7a97a983d3c2d4e412a44eb7de0430ff773dd99f7500962c268d6dfbfa431d7d08f919c9d960530e5f7f78eb47f267ad9b318265e5092b3ff9ede0db7c2b + languageName: node + linkType: hard + +"jest-haste-map@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-haste-map@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/graceful-fs": "npm:^4.1.3" + "@types/node": "npm:*" + anymatch: "npm:^3.0.3" + fb-watchman: "npm:^2.0.0" + fsevents: "npm:^2.3.2" + graceful-fs: "npm:^4.2.9" + jest-regex-util: "npm:^29.6.3" + jest-util: "npm:^29.7.0" + jest-worker: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + walker: "npm:^1.0.8" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/2683a8f29793c75a4728787662972fedd9267704c8f7ef9d84f2beed9a977f1cf5e998c07b6f36ba5603f53cb010c911fe8cd0ac9886e073fe28ca66beefd30c + languageName: node + linkType: hard + +"jest-message-util@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-message-util@npm:29.7.0" + dependencies: + "@babel/code-frame": "npm:^7.12.13" + "@jest/types": "npm:^29.6.3" + "@types/stack-utils": "npm:^2.0.0" + chalk: "npm:^4.0.0" + graceful-fs: "npm:^4.2.9" + micromatch: "npm:^4.0.4" + pretty-format: "npm:^29.7.0" + slash: "npm:^3.0.0" + stack-utils: "npm:^2.0.3" + checksum: 10c0/850ae35477f59f3e6f27efac5215f706296e2104af39232bb14e5403e067992afb5c015e87a9243ec4d9df38525ef1ca663af9f2f4766aa116f127247008bd22 + languageName: node + linkType: hard + +"jest-mock@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-mock@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + jest-util: "npm:^29.7.0" + checksum: 10c0/7b9f8349ee87695a309fe15c46a74ab04c853369e5c40952d68061d9dc3159a0f0ed73e215f81b07ee97a9faaf10aebe5877a9d6255068a0977eae6a9ff1d5ac + languageName: node + linkType: hard + +"jest-regex-util@npm:^29.6.3": + version: 29.6.3 + resolution: "jest-regex-util@npm:29.6.3" + checksum: 10c0/4e33fb16c4f42111159cafe26397118dcfc4cf08bc178a67149fb05f45546a91928b820894572679d62559839d0992e21080a1527faad65daaae8743a5705a3b + languageName: node + linkType: hard + +"jest-util@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-util@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.2.0" + graceful-fs: "npm:^4.2.9" + picomatch: "npm:^2.2.3" + checksum: 10c0/bc55a8f49fdbb8f51baf31d2a4f312fb66c9db1483b82f602c9c990e659cdd7ec529c8e916d5a89452ecbcfae4949b21b40a7a59d4ffc0cd813a973ab08c8150 + languageName: node + linkType: hard + +"jest-validate@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-validate@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + camelcase: "npm:^6.2.0" + chalk: "npm:^4.0.0" + jest-get-type: "npm:^29.6.3" + leven: "npm:^3.1.0" + pretty-format: "npm:^29.7.0" + checksum: 10c0/a20b930480c1ed68778c739f4739dce39423131bc070cd2505ddede762a5570a256212e9c2401b7ae9ba4d7b7c0803f03c5b8f1561c62348213aba18d9dbece2 + languageName: node + linkType: hard + +"jest-worker@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-worker@npm:29.7.0" + dependencies: + "@types/node": "npm:*" + jest-util: "npm:^29.7.0" + merge-stream: "npm:^2.0.0" + supports-color: "npm:^8.0.0" + checksum: 10c0/5570a3a005b16f46c131968b8a5b56d291f9bbb85ff4217e31c80bd8a02e7de799e59a54b95ca28d5c302f248b54cbffde2d177c2f0f52ffcee7504c6eabf660 + languageName: node + linkType: hard + +"jimp-compact@npm:0.16.1": + version: 0.16.1 + resolution: "jimp-compact@npm:0.16.1" + checksum: 10c0/2d73bb927d840ce6dc093d089d770eddbb81472635ced7cad1d7c4545d8734aecf5bd3dedf7178a6cfab4d06c9d6cbbf59e5cb274ed99ca11cd4835a6374f16c + languageName: node + linkType: hard + +"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed + languageName: node + linkType: hard + +"js-yaml@npm:^3.13.1": + version: 3.14.2 + resolution: "js-yaml@npm:3.14.2" + dependencies: + argparse: "npm:^1.0.7" + esprima: "npm:^4.0.0" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/3261f25912f5dd76605e5993d0a126c2b6c346311885d3c483706cd722efe34f697ea0331f654ce27c00a42b426e524518ec89d65ed02ea47df8ad26dcc8ce69 + languageName: node + linkType: hard + +"js-yaml@npm:^4.1.0": + version: 4.1.1 + resolution: "js-yaml@npm:4.1.1" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/561c7d7088c40a9bb53cc75becbfb1df6ae49b34b5e6e5a81744b14ae8667ec564ad2527709d1a6e7d5e5fa6d483aa0f373a50ad98d42fde368ec4a190d4fae7 + languageName: node + linkType: hard + +"jsc-safe-url@npm:^0.2.2, jsc-safe-url@npm:^0.2.4": + version: 0.2.4 + resolution: "jsc-safe-url@npm:0.2.4" + checksum: 10c0/429bd645f8a35938f08f5b01c282e5ef55ed8be30a9ca23517b7ca01dcbf84b4b0632042caceab50f8f5c0c1e76816fe3c74de3e59be84da7f89ae1503bd3c68 + languageName: node + linkType: hard + +"jsesc@npm:^3.0.2, jsesc@npm:~3.1.0": + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" + bin: + jsesc: bin/jsesc + checksum: 10c0/531779df5ec94f47e462da26b4cbf05eb88a83d9f08aac2ba04206508fc598527a153d08bd462bae82fc78b3eaa1a908e1a4a79f886e9238641c4cdefaf118b1 + languageName: node + linkType: hard + +"json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c + languageName: node + linkType: hard + +"kleur@npm:^3.0.3": + version: 3.0.3 + resolution: "kleur@npm:3.0.3" + checksum: 10c0/cd3a0b8878e7d6d3799e54340efe3591ca787d9f95f109f28129bdd2915e37807bf8918bb295ab86afb8c82196beec5a1adcaf29042ce3f2bd932b038fe3aa4b + languageName: node + linkType: hard + +"lan-network@npm:^0.1.6": + version: 0.1.7 + resolution: "lan-network@npm:0.1.7" + bin: + lan-network: dist/lan-network-cli.js + checksum: 10c0/7afd3a7159bb65ff40bded481e4d522b1faa6b65e8b69d6404651d87fe800a35510aff9b913bb90def4f66ca886e28907492b8323f8c568830b42d28f521fb18 + languageName: node + linkType: hard + +"leven@npm:^3.1.0": + version: 3.1.0 + resolution: "leven@npm:3.1.0" + checksum: 10c0/cd778ba3fbab0f4d0500b7e87d1f6e1f041507c56fdcd47e8256a3012c98aaee371d4c15e0a76e0386107af2d42e2b7466160a2d80688aaa03e66e49949f42df + languageName: node + linkType: hard + +"lighthouse-logger@npm:^1.0.0": + version: 1.4.2 + resolution: "lighthouse-logger@npm:1.4.2" + dependencies: + debug: "npm:^2.6.9" + marky: "npm:^1.2.2" + checksum: 10c0/090431db34e9ce01b03b2a03b39e998807a7a86214f2e8da2ba9588c36841caf4474f96ef1b2deaf9fe58f2e00f9f51618e0b98edecc2d8c9dfc13185bf0adc8 + languageName: node + linkType: hard + +"lightningcss-android-arm64@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-android-arm64@npm:1.31.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-darwin-arm64@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-darwin-arm64@npm:1.31.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-darwin-x64@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-darwin-x64@npm:1.31.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"lightningcss-freebsd-x64@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-freebsd-x64@npm:1.31.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"lightningcss-linux-arm-gnueabihf@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-linux-arm-gnueabihf@npm:1.31.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"lightningcss-linux-arm64-gnu@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-linux-arm64-gnu@npm:1.31.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-arm64-musl@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-linux-arm64-musl@npm:1.31.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-linux-x64-gnu@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-linux-x64-gnu@npm:1.31.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-x64-musl@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-linux-x64-musl@npm:1.31.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-win32-arm64-msvc@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-win32-arm64-msvc@npm:1.31.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-win32-x64-msvc@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-win32-x64-msvc@npm:1.31.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"lightningcss@npm:^1.30.1": + version: 1.31.1 + resolution: "lightningcss@npm:1.31.1" + dependencies: + detect-libc: "npm:^2.0.3" + lightningcss-android-arm64: "npm:1.31.1" + lightningcss-darwin-arm64: "npm:1.31.1" + lightningcss-darwin-x64: "npm:1.31.1" + lightningcss-freebsd-x64: "npm:1.31.1" + lightningcss-linux-arm-gnueabihf: "npm:1.31.1" + lightningcss-linux-arm64-gnu: "npm:1.31.1" + lightningcss-linux-arm64-musl: "npm:1.31.1" + lightningcss-linux-x64-gnu: "npm:1.31.1" + lightningcss-linux-x64-musl: "npm:1.31.1" + lightningcss-win32-arm64-msvc: "npm:1.31.1" + lightningcss-win32-x64-msvc: "npm:1.31.1" + dependenciesMeta: + lightningcss-android-arm64: + optional: true + lightningcss-darwin-arm64: + optional: true + lightningcss-darwin-x64: + optional: true + lightningcss-freebsd-x64: + optional: true + lightningcss-linux-arm-gnueabihf: + optional: true + lightningcss-linux-arm64-gnu: + optional: true + lightningcss-linux-arm64-musl: + optional: true + lightningcss-linux-x64-gnu: + optional: true + lightningcss-linux-x64-musl: + optional: true + lightningcss-win32-arm64-msvc: + optional: true + lightningcss-win32-x64-msvc: + optional: true + checksum: 10c0/c6754b305d4a73652e472fc0d7d65384a6e16c336ea61068eca60de2a45bd5c30abbf012358b82eac56ee98b5d88028932cda5268ff61967cffa400b9e7ee2ba + languageName: node + linkType: hard + +"lines-and-columns@npm:^1.1.6": + version: 1.2.4 + resolution: "lines-and-columns@npm:1.2.4" + checksum: 10c0/3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d + languageName: node + linkType: hard + +"locate-path@npm:^5.0.0": + version: 5.0.0 + resolution: "locate-path@npm:5.0.0" + dependencies: + p-locate: "npm:^4.1.0" + checksum: 10c0/33a1c5247e87e022f9713e6213a744557a3e9ec32c5d0b5efb10aa3a38177615bf90221a5592674857039c1a0fd2063b82f285702d37b792d973e9e72ace6c59 + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: "npm:^5.0.0" + checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 + languageName: node + linkType: hard + +"lodash.debounce@npm:^4.0.8": + version: 4.0.8 + resolution: "lodash.debounce@npm:4.0.8" + checksum: 10c0/762998a63e095412b6099b8290903e0a8ddcb353ac6e2e0f2d7e7d03abd4275fe3c689d88960eb90b0dde4f177554d51a690f22a343932ecbc50a5d111849987 + languageName: node + linkType: hard + +"lodash.throttle@npm:^4.1.1": + version: 4.1.1 + resolution: "lodash.throttle@npm:4.1.1" + checksum: 10c0/14628013e9e7f65ac904fc82fd8ecb0e55a9c4c2416434b1dd9cf64ae70a8937f0b15376a39a68248530adc64887ed0fe2b75204b2c9ec3eea1cb2d66ddd125d + languageName: node + linkType: hard + +"log-symbols@npm:^2.2.0": + version: 2.2.0 + resolution: "log-symbols@npm:2.2.0" + dependencies: + chalk: "npm:^2.0.1" + checksum: 10c0/574eb4205f54f0605021aa67ebb372c30ca64e8ddd439efeb8507af83c776dce789e83614e80059014d9e48dcc94c4b60cef2e85f0dc944eea27c799cec62353 + languageName: node + linkType: hard + +"loose-envify@npm:^1.0.0": + version: 1.4.0 + resolution: "loose-envify@npm:1.4.0" + dependencies: + js-tokens: "npm:^3.0.0 || ^4.0.0" + bin: + loose-envify: cli.js + checksum: 10c0/655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.1": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb + languageName: node + linkType: hard + +"lru-cache@npm:^11.0.0, lru-cache@npm:^11.1.0, lru-cache@npm:^11.2.1": + version: 11.2.4 + resolution: "lru-cache@npm:11.2.4" + checksum: 10c0/4a24f9b17537619f9144d7b8e42cd5a225efdfd7076ebe7b5e7dc02b860a818455201e67fbf000765233fe7e339d3c8229fc815e9b58ee6ede511e07608c19b2 + languageName: node + linkType: hard + +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: "npm:^3.0.2" + checksum: 10c0/89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482 + languageName: node + linkType: hard + +"make-fetch-happen@npm:^15.0.0": + version: 15.0.3 + resolution: "make-fetch-happen@npm:15.0.3" + dependencies: + "@npmcli/agent": "npm:^4.0.0" + cacache: "npm:^20.0.1" + http-cache-semantics: "npm:^4.1.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^5.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^1.0.0" + proc-log: "npm:^6.0.0" + promise-retry: "npm:^2.0.1" + ssri: "npm:^13.0.0" + checksum: 10c0/525f74915660be60b616bcbd267c4a5b59481b073ba125e45c9c3a041bb1a47a2bd0ae79d028eb6f5f95bf9851a4158423f5068539c3093621abb64027e8e461 + languageName: node + linkType: hard + +"makeerror@npm:1.0.12": + version: 1.0.12 + resolution: "makeerror@npm:1.0.12" + dependencies: + tmpl: "npm:1.0.5" + checksum: 10c0/b0e6e599780ce6bab49cc413eba822f7d1f0dfebd1c103eaa3785c59e43e22c59018323cf9e1708f0ef5329e94a745d163fcbb6bff8e4c6742f9be9e86f3500c + languageName: node + linkType: hard + +"marky@npm:^1.2.2": + version: 1.3.0 + resolution: "marky@npm:1.3.0" + checksum: 10c0/6619cdb132fdc4f7cd3e2bed6eebf81a38e50ff4b426bbfb354db68731e4adfebf35ebfd7c8e5a6e846cbf9b872588c4f76db25782caee8c1529ec9d483bf98b + languageName: node + linkType: hard + +"memoize-one@npm:^5.0.0": + version: 5.2.1 + resolution: "memoize-one@npm:5.2.1" + checksum: 10c0/fd22dbe9a978a2b4f30d6a491fc02fb90792432ad0dab840dc96c1734d2bd7c9cdeb6a26130ec60507eb43230559523615873168bcbe8fafab221c30b11d54c1 + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 + languageName: node + linkType: hard + +"metro-babel-transformer@npm:0.83.3": + version: 0.83.3 + resolution: "metro-babel-transformer@npm:0.83.3" + dependencies: + "@babel/core": "npm:^7.25.2" + flow-enums-runtime: "npm:^0.0.6" + hermes-parser: "npm:0.32.0" + nullthrows: "npm:^1.1.1" + checksum: 10c0/b0107f86cdc9ef9419d669b5b3dac22e35b02c67c480563a63d98f5fb50953587938769efc854bfc09c225557790cd6488dbe3fed6f05c2b3f322cfb2e5ff577 + languageName: node + linkType: hard + +"metro-cache-key@npm:0.83.3": + version: 0.83.3 + resolution: "metro-cache-key@npm:0.83.3" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + checksum: 10c0/403a2ca5b5bbb31a979effaa31fba0c47e2eb3830428c39c99db58aa0739a6fcc386f5a56c91495c53a4569065f0bda29e3038e9c41ca17af443971395f257dc + languageName: node + linkType: hard + +"metro-cache@npm:0.83.3": + version: 0.83.3 + resolution: "metro-cache@npm:0.83.3" + dependencies: + exponential-backoff: "npm:^3.1.1" + flow-enums-runtime: "npm:^0.0.6" + https-proxy-agent: "npm:^7.0.5" + metro-core: "npm:0.83.3" + checksum: 10c0/608e85d819092c0b472c9adabb5de58e88355739de71833230626c1af7f3ce5dd1dca9f1ff3a836d995201f717315fd769c4c646a818c1f490ea2ec29417e32a + languageName: node + linkType: hard + +"metro-config@npm:0.83.3, metro-config@npm:^0.83.1": + version: 0.83.3 + resolution: "metro-config@npm:0.83.3" + dependencies: + connect: "npm:^3.6.5" + flow-enums-runtime: "npm:^0.0.6" + jest-validate: "npm:^29.7.0" + metro: "npm:0.83.3" + metro-cache: "npm:0.83.3" + metro-core: "npm:0.83.3" + metro-runtime: "npm:0.83.3" + yaml: "npm:^2.6.1" + checksum: 10c0/c53e4a061cfc776a65cdb5055c0be840055f9741dae25e7d407835988618b15f1407270dbd957c7333d01e9c79eccbf8e6bcb76421b2145bd134b53df459a033 + languageName: node + linkType: hard + +"metro-core@npm:0.83.3, metro-core@npm:^0.83.1": + version: 0.83.3 + resolution: "metro-core@npm:0.83.3" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + lodash.throttle: "npm:^4.1.1" + metro-resolver: "npm:0.83.3" + checksum: 10c0/d44c1f117c4b27f18abd27110e9536abf3105733e8fccaa522bd0e008248cce0260130517840c4914d7ce5df498f39ecfd43b6046a0f0b1c0f8ada7de38e52c4 + languageName: node + linkType: hard + +"metro-file-map@npm:0.83.3": + version: 0.83.3 + resolution: "metro-file-map@npm:0.83.3" + dependencies: + debug: "npm:^4.4.0" + fb-watchman: "npm:^2.0.0" + flow-enums-runtime: "npm:^0.0.6" + graceful-fs: "npm:^4.2.4" + invariant: "npm:^2.2.4" + jest-worker: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + nullthrows: "npm:^1.1.1" + walker: "npm:^1.0.7" + checksum: 10c0/4bf9c0fcdb5a5c08851f7370d6427fb68a770f156c4eabbddf20bd3583fb25ae428507eaeb8dc525e792db41d048620209750f33735055863abc909cbb6ef71a + languageName: node + linkType: hard + +"metro-minify-terser@npm:0.83.3": + version: 0.83.3 + resolution: "metro-minify-terser@npm:0.83.3" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + terser: "npm:^5.15.0" + checksum: 10c0/9158e3199c0ea647776a7ed5c68ec1bb493f5347ac979f1ca75020cf1c39f907bd29983d60f8cb24dca17053d6b5c35f140c6d720fad0bd0fa9728e8c51e95c6 + languageName: node + linkType: hard + +"metro-resolver@npm:0.83.3": + version: 0.83.3 + resolution: "metro-resolver@npm:0.83.3" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + checksum: 10c0/1d6c030a00b987fbee38e5c632219b2be602e38c9aa9628bb4b591f646e64130d08adb8dcb35076c5c8cc151135557b655f3dee514c0df9f26d3416629eb006b + languageName: node + linkType: hard + +"metro-runtime@npm:0.83.3, metro-runtime@npm:^0.83.1": + version: 0.83.3 + resolution: "metro-runtime@npm:0.83.3" + dependencies: + "@babel/runtime": "npm:^7.25.0" + flow-enums-runtime: "npm:^0.0.6" + checksum: 10c0/1d788483b6c2f13e0ea9ff4564996154754d3de84f683812ac848053eaea9243144adee3e8ffe90789e6c253f7402211d72b1b5ebf09e6c23841bc956a680253 + languageName: node + linkType: hard + +"metro-source-map@npm:0.83.3, metro-source-map@npm:^0.83.1": + version: 0.83.3 + resolution: "metro-source-map@npm:0.83.3" + dependencies: + "@babel/traverse": "npm:^7.25.3" + "@babel/traverse--for-generate-function-map": "npm:@babel/traverse@^7.25.3" + "@babel/types": "npm:^7.25.2" + flow-enums-runtime: "npm:^0.0.6" + invariant: "npm:^2.2.4" + metro-symbolicate: "npm:0.83.3" + nullthrows: "npm:^1.1.1" + ob1: "npm:0.83.3" + source-map: "npm:^0.5.6" + vlq: "npm:^1.0.0" + checksum: 10c0/47e984bde1f8f06348298771f44b5803657c9cfa387df8ff36a359cc72ae3bc0e9c4ea6141345609b183ac8c63dcc997000d3626006e388c24779abb57c6f82c + languageName: node + linkType: hard + +"metro-symbolicate@npm:0.83.3": + version: 0.83.3 + resolution: "metro-symbolicate@npm:0.83.3" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + invariant: "npm:^2.2.4" + metro-source-map: "npm:0.83.3" + nullthrows: "npm:^1.1.1" + source-map: "npm:^0.5.6" + vlq: "npm:^1.0.0" + bin: + metro-symbolicate: src/index.js + checksum: 10c0/bd3d234c7581466a9a78f952caa25816666753f6b560fe41502727b3e59931ac65225c9909635dc7c25d4dfaf392631366ef3ec5fa8490413385d60f8d900112 + languageName: node + linkType: hard + +"metro-transform-plugins@npm:0.83.3": + version: 0.83.3 + resolution: "metro-transform-plugins@npm:0.83.3" + dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/generator": "npm:^7.25.0" + "@babel/template": "npm:^7.25.0" + "@babel/traverse": "npm:^7.25.3" + flow-enums-runtime: "npm:^0.0.6" + nullthrows: "npm:^1.1.1" + checksum: 10c0/df3c6db6a69d4888e1b6aad40d48ffec0c3c3faa38e89c07633432fc107ef12c47d55598904c91aadfe0751c5bcb7ec191f8a5ee70c18d253201150fc617ca37 + languageName: node + linkType: hard + +"metro-transform-worker@npm:0.83.3": + version: 0.83.3 + resolution: "metro-transform-worker@npm:0.83.3" + dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/generator": "npm:^7.25.0" + "@babel/parser": "npm:^7.25.3" + "@babel/types": "npm:^7.25.2" + flow-enums-runtime: "npm:^0.0.6" + metro: "npm:0.83.3" + metro-babel-transformer: "npm:0.83.3" + metro-cache: "npm:0.83.3" + metro-cache-key: "npm:0.83.3" + metro-minify-terser: "npm:0.83.3" + metro-source-map: "npm:0.83.3" + metro-transform-plugins: "npm:0.83.3" + nullthrows: "npm:^1.1.1" + checksum: 10c0/bea0cbcc7d13cd2b97a2159257b3a53b9ecfb15da18ace82ae05bf2d0ac7cc1806c0bd77ed3b8f4c82c9532773fb99f3938e4b1480e2673f5eda69575ee1d7ef + languageName: node + linkType: hard + +"metro@npm:0.83.3, metro@npm:^0.83.1": + version: 0.83.3 + resolution: "metro@npm:0.83.3" + dependencies: + "@babel/code-frame": "npm:^7.24.7" + "@babel/core": "npm:^7.25.2" + "@babel/generator": "npm:^7.25.0" + "@babel/parser": "npm:^7.25.3" + "@babel/template": "npm:^7.25.0" + "@babel/traverse": "npm:^7.25.3" + "@babel/types": "npm:^7.25.2" + accepts: "npm:^1.3.7" + chalk: "npm:^4.0.0" + ci-info: "npm:^2.0.0" + connect: "npm:^3.6.5" + debug: "npm:^4.4.0" + error-stack-parser: "npm:^2.0.6" + flow-enums-runtime: "npm:^0.0.6" + graceful-fs: "npm:^4.2.4" + hermes-parser: "npm:0.32.0" + image-size: "npm:^1.0.2" + invariant: "npm:^2.2.4" + jest-worker: "npm:^29.7.0" + jsc-safe-url: "npm:^0.2.2" + lodash.throttle: "npm:^4.1.1" + metro-babel-transformer: "npm:0.83.3" + metro-cache: "npm:0.83.3" + metro-cache-key: "npm:0.83.3" + metro-config: "npm:0.83.3" + metro-core: "npm:0.83.3" + metro-file-map: "npm:0.83.3" + metro-resolver: "npm:0.83.3" + metro-runtime: "npm:0.83.3" + metro-source-map: "npm:0.83.3" + metro-symbolicate: "npm:0.83.3" + metro-transform-plugins: "npm:0.83.3" + metro-transform-worker: "npm:0.83.3" + mime-types: "npm:^2.1.27" + nullthrows: "npm:^1.1.1" + serialize-error: "npm:^2.1.0" + source-map: "npm:^0.5.6" + throat: "npm:^5.0.0" + ws: "npm:^7.5.10" + yargs: "npm:^17.6.2" + bin: + metro: src/cli.js + checksum: 10c0/9513c05725c3984ce3b72896c4f7d019ad4fd024a1231b8b84c5c655a0563fc7f26725f28c20c5d3511e3825d64fec3a1e68621f6a6af34d785c5e714ed7da89 + languageName: node + linkType: hard + +"micromatch@npm:^4.0.4": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 + languageName: node + linkType: hard + +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-db@npm:>= 1.43.0 < 2": + version: 1.54.0 + resolution: "mime-db@npm:1.54.0" + checksum: 10c0/8d907917bc2a90fa2df842cdf5dfeaf509adc15fe0531e07bb2f6ab15992416479015828d6a74200041c492e42cce3ebf78e5ce714388a0a538ea9c53eece284 + languageName: node + linkType: hard + +"mime-types@npm:^2.1.27, mime-types@npm:~2.1.34": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard + +"mime@npm:1.6.0": + version: 1.6.0 + resolution: "mime@npm:1.6.0" + bin: + mime: cli.js + checksum: 10c0/b92cd0adc44888c7135a185bfd0dddc42c32606401c72896a842ae15da71eb88858f17669af41e498b463cd7eb998f7b48939a25b08374c7924a9c8a6f8a81b0 + languageName: node + linkType: hard + +"mimic-fn@npm:^1.0.0": + version: 1.2.0 + resolution: "mimic-fn@npm:1.2.0" + checksum: 10c0/ad55214aec6094c0af4c0beec1a13787556f8116ed88807cf3f05828500f21f93a9482326bcd5a077ae91e3e8795b4e76b5b4c8bb12237ff0e4043a365516cba + languageName: node + linkType: hard + +"minimatch@npm:^10.1.1": + version: 10.1.1 + resolution: "minimatch@npm:10.1.1" + dependencies: + "@isaacs/brace-expansion": "npm:^5.0.0" + checksum: 10c0/c85d44821c71973d636091fddbfbffe62370f5ee3caf0241c5b60c18cd289e916200acb2361b7e987558cd06896d153e25d505db9fc1e43e6b4b6752e2702902 + languageName: node + linkType: hard + +"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 + languageName: node + linkType: hard + +"minimatch@npm:^9.0.0": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed + languageName: node + linkType: hard + +"minimist@npm:^1.2.0": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 + languageName: node + linkType: hard + +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e + languageName: node + linkType: hard + +"minipass-fetch@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass-fetch@npm:5.0.0" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^3.0.1" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/9443aab5feab190972f84b64116e54e58dd87a58e62399cae0a4a7461b80568281039b7c3a38ba96453431ebc799d1e26999e548540156216729a4967cd5ef06 + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + languageName: node + linkType: hard + +"minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 + languageName: node + linkType: hard + +"minizlib@npm:^3.0.1, minizlib@npm:^3.1.0": + version: 3.1.0 + resolution: "minizlib@npm:3.1.0" + dependencies: + minipass: "npm:^7.1.2" + checksum: 10c0/5aad75ab0090b8266069c9aabe582c021ae53eb33c6c691054a13a45db3b4f91a7fb1bd79151e6b4e9e9a86727b522527c0a06ec7d45206b745d54cd3097bcec + languageName: node + linkType: hard + +"mkdirp@npm:^1.0.4": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 10c0/f8fda810b39fd7255bbdc451c46286e549794fcc700dc9cd1d25658bbc4dc2563a5de6fe7c60f798a16a60c6ceb53f033cb353f493f0cf63e5199b702943159d + languageName: node + linkType: hard + +"ms@npm:2.1.3, ms@npm:^2.1.1, ms@npm:^2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"mz@npm:^2.7.0": + version: 2.7.0 + resolution: "mz@npm:2.7.0" + dependencies: + any-promise: "npm:^1.0.0" + object-assign: "npm:^4.0.1" + thenify-all: "npm:^1.0.0" + checksum: 10c0/103114e93f87362f0b56ab5b2e7245051ad0276b646e3902c98397d18bb8f4a77f2ea4a2c9d3ad516034ea3a56553b60d3f5f78220001ca4c404bd711bd0af39 + languageName: node + linkType: hard + +"nanoid@npm:^3.3.7": + version: 3.3.11 + resolution: "nanoid@npm:3.3.11" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/40e7f70b3d15f725ca072dfc4f74e81fcf1fbb02e491cf58ac0c79093adc9b0a73b152bcde57df4b79cd097e13023d7504acb38404a4da7bc1cd8e887b82fe0b + languageName: node + linkType: hard + +"negotiator@npm:0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 + languageName: node + linkType: hard + +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b + languageName: node + linkType: hard + +"negotiator@npm:~0.6.4": + version: 0.6.4 + resolution: "negotiator@npm:0.6.4" + checksum: 10c0/3e677139c7fb7628a6f36335bf11a885a62c21d5390204590a1a214a5631fcbe5ea74ef6a610b60afe84b4d975cbe0566a23f20ee17c77c73e74b80032108dea + languageName: node + linkType: hard + +"nested-error-stacks@npm:~2.0.1": + version: 2.0.1 + resolution: "nested-error-stacks@npm:2.0.1" + checksum: 10c0/125049632bc3ca2252e994ca07f27d795c0e6decc4077f0f4163348d30d7cb95409ceff6184284c95396aa5ea8ff5010673063db7674058b966b4f0228d4981c + languageName: node + linkType: hard + +"node-forge@npm:^1.3.3": + version: 1.3.3 + resolution: "node-forge@npm:1.3.3" + checksum: 10c0/9c6f53b0ebb34865872cf62a35b0aef8fb337e2efc766626c2e3a0040f4c02933bf29a62ba999eb44a2aca73bd512c4eda22705a47b94654b9fb8ed53db9a1db + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 12.1.0 + resolution: "node-gyp@npm:12.1.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^15.0.0" + nopt: "npm:^9.0.0" + proc-log: "npm:^6.0.0" + semver: "npm:^7.3.5" + tar: "npm:^7.5.2" + tinyglobby: "npm:^0.2.12" + which: "npm:^6.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/f43efea8aaf0beb6b2f6184e533edad779b2ae38062953e21951f46221dd104006cc574154f2ad4a135467a5aae92c49e84ef289311a82e08481c5df0e8dc495 + languageName: node + linkType: hard + +"node-int64@npm:^0.4.0": + version: 0.4.0 + resolution: "node-int64@npm:0.4.0" + checksum: 10c0/a6a4d8369e2f2720e9c645255ffde909c0fbd41c92ea92a5607fc17055955daac99c1ff589d421eee12a0d24e99f7bfc2aabfeb1a4c14742f6c099a51863f31a + languageName: node + linkType: hard + +"node-releases@npm:^2.0.27": + version: 2.0.27 + resolution: "node-releases@npm:2.0.27" + checksum: 10c0/f1e6583b7833ea81880627748d28a3a7ff5703d5409328c216ae57befbced10ce2c991bea86434e8ec39003bd017f70481e2e5f8c1f7e0a7663241f81d6e00e2 + languageName: node + linkType: hard + +"nopt@npm:^9.0.0": + version: 9.0.0 + resolution: "nopt@npm:9.0.0" + dependencies: + abbrev: "npm:^4.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/1822eb6f9b020ef6f7a7516d7b64a8036e09666ea55ac40416c36e4b2b343122c3cff0e2f085675f53de1d2db99a2a89a60ccea1d120bcd6a5347bf6ceb4a7fd + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 + languageName: node + linkType: hard + +"npm-package-arg@npm:^11.0.0": + version: 11.0.3 + resolution: "npm-package-arg@npm:11.0.3" + dependencies: + hosted-git-info: "npm:^7.0.0" + proc-log: "npm:^4.0.0" + semver: "npm:^7.3.5" + validate-npm-package-name: "npm:^5.0.0" + checksum: 10c0/e18333485e05c3a8774f4b5701ef74f4799533e650b70a68ca8dd697666c9a8d46932cb765fc593edce299521033bd4025a40323d5240cea8a393c784c0c285a + languageName: node + linkType: hard + +"nullthrows@npm:^1.1.1": + version: 1.1.1 + resolution: "nullthrows@npm:1.1.1" + checksum: 10c0/56f34bd7c3dcb3bd23481a277fa22918120459d3e9d95ca72976c72e9cac33a97483f0b95fc420e2eb546b9fe6db398273aba9a938650cdb8c98ee8f159dcb30 + languageName: node + linkType: hard + +"ob1@npm:0.83.3": + version: 0.83.3 + resolution: "ob1@npm:0.83.3" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + checksum: 10c0/9231315de39cf0612a01e283c7d7ef31d16618e598de96e44ae1ab3007629296ce1a3d5d02ef60ff22d9fefe33050358c10e7fcba8278861157b89befe13cb3d + languageName: node + linkType: hard + +"object-assign@npm:^4.0.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 + languageName: node + linkType: hard + +"on-finished@npm:~2.3.0": + version: 2.3.0 + resolution: "on-finished@npm:2.3.0" + dependencies: + ee-first: "npm:1.1.1" + checksum: 10c0/c904f9e518b11941eb60279a3cbfaf1289bd0001f600a950255b1dede9fe3df8cd74f38483550b3bb9485165166acb5db500c3b4c4337aec2815c88c96fcc2ea + languageName: node + linkType: hard + +"on-finished@npm:~2.4.1": + version: 2.4.1 + resolution: "on-finished@npm:2.4.1" + dependencies: + ee-first: "npm:1.1.1" + checksum: 10c0/46fb11b9063782f2d9968863d9cbba33d77aa13c17f895f56129c274318b86500b22af3a160fe9995aa41317efcd22941b6eba747f718ced08d9a73afdb087b4 + languageName: node + linkType: hard + +"on-headers@npm:~1.1.0": + version: 1.1.0 + resolution: "on-headers@npm:1.1.0" + checksum: 10c0/2c3b6b0d68ec9adbd561dc2d61c9b14da8ac03d8a2f0fd9e97bdf0600c887d5d97f664ff3be6876cf40cda6e3c587d73a4745e10b426ac50c7664fc5a0dfc0a1 + languageName: node + linkType: hard + +"once@npm:^1.3.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: "npm:1" + checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 + languageName: node + linkType: hard + +"onetime@npm:^2.0.0": + version: 2.0.1 + resolution: "onetime@npm:2.0.1" + dependencies: + mimic-fn: "npm:^1.0.0" + checksum: 10c0/b4e44a8c34e70e02251bfb578a6e26d6de6eedbed106cd78211d2fd64d28b6281d54924696554e4e966559644243753ac5df73c87f283b0927533d3315696215 + languageName: node + linkType: hard + +"open@npm:^7.0.3": + version: 7.4.2 + resolution: "open@npm:7.4.2" + dependencies: + is-docker: "npm:^2.0.0" + is-wsl: "npm:^2.1.1" + checksum: 10c0/77573a6a68f7364f3a19a4c80492712720746b63680ee304555112605ead196afe91052bd3c3d165efdf4e9d04d255e87de0d0a77acec11ef47fd5261251813f + languageName: node + linkType: hard + +"open@npm:^8.0.4": + version: 8.4.2 + resolution: "open@npm:8.4.2" + dependencies: + define-lazy-prop: "npm:^2.0.0" + is-docker: "npm:^2.1.1" + is-wsl: "npm:^2.2.0" + checksum: 10c0/bb6b3a58401dacdb0aad14360626faf3fb7fba4b77816b373495988b724fb48941cad80c1b65d62bb31a17609b2cd91c41a181602caea597ca80dfbcc27e84c9 + languageName: node + linkType: hard + +"ora@npm:^3.4.0": + version: 3.4.0 + resolution: "ora@npm:3.4.0" + dependencies: + chalk: "npm:^2.4.2" + cli-cursor: "npm:^2.1.0" + cli-spinners: "npm:^2.0.0" + log-symbols: "npm:^2.2.0" + strip-ansi: "npm:^5.2.0" + wcwidth: "npm:^1.0.1" + checksum: 10c0/04cb375f222c36a16a95e6c39c473644a99a42fc34d35c37507cb836ea0a71f4d831fcd53198a460869114b2730891d63cc1047304afe5ddb078974d468edfb1 + languageName: node + linkType: hard + +"p-limit@npm:^2.2.0": + version: 2.3.0 + resolution: "p-limit@npm:2.3.0" + dependencies: + p-try: "npm:^2.0.0" + checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 + languageName: node + linkType: hard + +"p-limit@npm:^3.0.2, p-limit@npm:^3.1.0": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: "npm:^0.1.0" + checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + languageName: node + linkType: hard + +"p-locate@npm:^4.1.0": + version: 4.1.0 + resolution: "p-locate@npm:4.1.0" + dependencies: + p-limit: "npm:^2.2.0" + checksum: 10c0/1b476ad69ad7f6059744f343b26d51ce091508935c1dbb80c4e0a2f397ffce0ca3a1f9f5cd3c7ce19d7929a09719d5c65fe70d8ee289c3f267cd36f2881813e9 + languageName: node + linkType: hard + +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: "npm:^3.0.2" + checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a + languageName: node + linkType: hard + +"p-map@npm:^7.0.2": + version: 7.0.4 + resolution: "p-map@npm:7.0.4" + checksum: 10c0/a5030935d3cb2919d7e89454d1ce82141e6f9955413658b8c9403cfe379283770ed3048146b44cde168aa9e8c716505f196d5689db0ae3ce9a71521a2fef3abd + languageName: node + linkType: hard + +"p-try@npm:^2.0.0": + version: 2.2.0 + resolution: "p-try@npm:2.2.0" + checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f + languageName: node + linkType: hard + +"parse-png@npm:^2.1.0": + version: 2.1.0 + resolution: "parse-png@npm:2.1.0" + dependencies: + pngjs: "npm:^3.3.0" + checksum: 10c0/5157a8bbb976ae1ca990fc53c7014d42aac0967cb30e2daf36c3fef1876c8db0d551e695400c904f33c5c5add76a572c65b5044721d62417d8cc7abe4c4ffa41 + languageName: node + linkType: hard + +"parseurl@npm:~1.3.3": + version: 1.3.3 + resolution: "parseurl@npm:1.3.3" + checksum: 10c0/90dd4760d6f6174adb9f20cf0965ae12e23879b5f5464f38e92fce8073354341e4b3b76fa3d878351efe7d01e617121955284cfd002ab087fba1a0726ec0b4f5 + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 + languageName: node + linkType: hard + +"path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-parse@npm:^1.0.5, path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 + languageName: node + linkType: hard + +"path-scurry@npm:^2.0.0": + version: 2.0.1 + resolution: "path-scurry@npm:2.0.1" + dependencies: + lru-cache: "npm:^11.0.0" + minipass: "npm:^7.1.2" + checksum: 10c0/2a16ed0e81fbc43513e245aa5763354e25e787dab0d539581a6c3f0f967461a159ed6236b2559de23aa5b88e7dc32b469b6c47568833dd142a4b24b4f5cd2620 + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"picomatch@npm:^3.0.1": + version: 3.0.1 + resolution: "picomatch@npm:3.0.1" + checksum: 10c0/70ec738569f1864658378b7abdab8939d15dae0718c1df994eae3346fd33daf6a3c1ff4e0c1a0cd1e2c0319130985b63a2cff34d192f2f2acbb78aca76111736 + languageName: node + linkType: hard + +"picomatch@npm:^4.0.3": + version: 4.0.3 + resolution: "picomatch@npm:4.0.3" + checksum: 10c0/9582c951e95eebee5434f59e426cddd228a7b97a0161a375aed4be244bd3fe8e3a31b846808ea14ef2c8a2527a6eeab7b3946a67d5979e81694654f939473ae2 + languageName: node + linkType: hard + +"pirates@npm:^4.0.1, pirates@npm:^4.0.4": + version: 4.0.7 + resolution: "pirates@npm:4.0.7" + checksum: 10c0/a51f108dd811beb779d58a76864bbd49e239fa40c7984cd11596c75a121a8cc789f1c8971d8bb15f0dbf9d48b76c05bb62fcbce840f89b688c0fa64b37e8478a + languageName: node + linkType: hard + +"plist@npm:^3.0.5": + version: 3.1.0 + resolution: "plist@npm:3.1.0" + dependencies: + "@xmldom/xmldom": "npm:^0.8.8" + base64-js: "npm:^1.5.1" + xmlbuilder: "npm:^15.1.1" + checksum: 10c0/db19ba50faafc4103df8e79bcd6b08004a56db2a9dd30b3e5c8b0ef30398ef44344a674e594d012c8fc39e539a2b72cb58c60a76b4b4401cbbc7c8f6b028d93d + languageName: node + linkType: hard + +"pngjs@npm:^3.3.0": + version: 3.4.0 + resolution: "pngjs@npm:3.4.0" + checksum: 10c0/88ee73e2ad3f736e0b2573722309eb80bd2aa28916f0862379b4fd0f904751b4f61bb6bd1ecd7d4242d331f2b5c28c13309dd4b7d89a9b78306e35122fdc5011 + languageName: node + linkType: hard + +"postcss@npm:~8.4.32": + version: 8.4.49 + resolution: "postcss@npm:8.4.49" + dependencies: + nanoid: "npm:^3.3.7" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/f1b3f17aaf36d136f59ec373459f18129908235e65dbdc3aee5eef8eba0756106f52de5ec4682e29a2eab53eb25170e7e871b3e4b52a8f1de3d344a514306be3 + languageName: node + linkType: hard + +"pretty-bytes@npm:^5.6.0": + version: 5.6.0 + resolution: "pretty-bytes@npm:5.6.0" + checksum: 10c0/f69f494dcc1adda98dbe0e4a36d301e8be8ff99bfde7a637b2ee2820e7cb583b0fc0f3a63b0e3752c01501185a5cf38602c7be60da41bdf84ef5b70e89c370f3 + languageName: node + linkType: hard + +"pretty-format@npm:^29.7.0": + version: 29.7.0 + resolution: "pretty-format@npm:29.7.0" + dependencies: + "@jest/schemas": "npm:^29.6.3" + ansi-styles: "npm:^5.0.0" + react-is: "npm:^18.0.0" + checksum: 10c0/edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f + languageName: node + linkType: hard + +"proc-log@npm:^4.0.0": + version: 4.2.0 + resolution: "proc-log@npm:4.2.0" + checksum: 10c0/17db4757c2a5c44c1e545170e6c70a26f7de58feb985091fb1763f5081cab3d01b181fb2dd240c9f4a4255a1d9227d163d5771b7e69c9e49a561692db865efb9 + languageName: node + linkType: hard + +"proc-log@npm:^6.0.0": + version: 6.1.0 + resolution: "proc-log@npm:6.1.0" + checksum: 10c0/4f178d4062733ead9d71a9b1ab24ebcecdfe2250916a5b1555f04fe2eda972a0ec76fbaa8df1ad9c02707add6749219d118a4fc46dc56bdfe4dde4b47d80bb82 + languageName: node + linkType: hard + +"progress@npm:^2.0.3": + version: 2.0.3 + resolution: "progress@npm:2.0.3" + checksum: 10c0/1697e07cb1068055dbe9fe858d242368ff5d2073639e652b75a7eb1f2a1a8d4afd404d719de23c7b48481a6aa0040686310e2dac2f53d776daa2176d3f96369c + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 + languageName: node + linkType: hard + +"promise@npm:^8.3.0": + version: 8.3.0 + resolution: "promise@npm:8.3.0" + dependencies: + asap: "npm:~2.0.6" + checksum: 10c0/6fccae27a10bcce7442daf090279968086edd2e3f6cebe054b71816403e2526553edf510d13088a4d0f14d7dfa9b9dfb188cab72d6f942e186a4353b6a29c8bf + languageName: node + linkType: hard + +"prompts@npm:^2.3.2": + version: 2.4.2 + resolution: "prompts@npm:2.4.2" + dependencies: + kleur: "npm:^3.0.3" + sisteransi: "npm:^1.0.5" + checksum: 10c0/16f1ac2977b19fe2cf53f8411cc98db7a3c8b115c479b2ca5c82b5527cd937aa405fa04f9a5960abeb9daef53191b53b4d13e35c1f5d50e8718c76917c5f1ea4 + languageName: node + linkType: hard + +"punycode@npm:^2.1.1": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 + languageName: node + linkType: hard + +"qrcode-terminal@npm:0.11.0": + version: 0.11.0 + resolution: "qrcode-terminal@npm:0.11.0" + bin: + qrcode-terminal: ./bin/qrcode-terminal.js + checksum: 10c0/7561a649d21d7672d451ada5f2a2b393f586627cea75670c97141dc2b4b4145db547e1fddf512a3552e7fb54de530d513a736cd604c840adb908ed03c32312ad + languageName: node + linkType: hard + +"queue@npm:6.0.2": + version: 6.0.2 + resolution: "queue@npm:6.0.2" + dependencies: + inherits: "npm:~2.0.3" + checksum: 10c0/cf987476cc72e7d3aaabe23ccefaab1cd757a2b5e0c8d80b67c9575a6b5e1198807ffd4f0948a3f118b149d1111d810ee773473530b77a5c606673cac2c9c996 + languageName: node + linkType: hard + +"range-parser@npm:~1.2.1": + version: 1.2.1 + resolution: "range-parser@npm:1.2.1" + checksum: 10c0/96c032ac2475c8027b7a4e9fe22dc0dfe0f6d90b85e496e0f016fbdb99d6d066de0112e680805075bd989905e2123b3b3d002765149294dce0c1f7f01fcc2ea0 + languageName: node + linkType: hard + +"rc@npm:~1.2.7": + version: 1.2.8 + resolution: "rc@npm:1.2.8" + dependencies: + deep-extend: "npm:^0.6.0" + ini: "npm:~1.3.0" + minimist: "npm:^1.2.0" + strip-json-comments: "npm:~2.0.1" + bin: + rc: ./cli.js + checksum: 10c0/24a07653150f0d9ac7168e52943cc3cb4b7a22c0e43c7dff3219977c2fdca5a2760a304a029c20811a0e79d351f57d46c9bde216193a0f73978496afc2b85b15 + languageName: node + linkType: hard + +"react-devtools-core@npm:^6.1.5": + version: 6.1.5 + resolution: "react-devtools-core@npm:6.1.5" + dependencies: + shell-quote: "npm:^1.6.1" + ws: "npm:^7" + checksum: 10c0/7ef95213d06ad4b294f5dca73736641e2d8ff46861d3deacdc56a143b27de60ac6310898a52c7efd9fbd1bdef20c09305d05be80e6beb560f0f975aad6afbc5e + languageName: node + linkType: hard + +"react-is@npm:^18.0.0": + version: 18.3.1 + resolution: "react-is@npm:18.3.1" + checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 + languageName: node + linkType: hard + +"react-native-is-edge-to-edge@npm:^1.2.1": + version: 1.2.1 + resolution: "react-native-is-edge-to-edge@npm:1.2.1" + peerDependencies: + react: "*" + react-native: "*" + checksum: 10c0/87d20b900aded7d44c90afb946a7aa03c23a94ca3dd547bdddc2303b85357e4aab22567a57b19f1558d6c8be7058e3dcf34faa1e15182d1604f90974266d9a1d + languageName: node + linkType: hard + +"react-native-nitro-modules@npm:^0.31.10": + version: 0.31.10 + resolution: "react-native-nitro-modules@npm:0.31.10" + peerDependencies: + react: "*" + react-native: "*" + checksum: 10c0/0acc6ca5f12e24a6601e682070f257a771b95214c11fba911b342af705071234544c93076900f43400c8ae2f1a6738011b120e4425813968102997860ffd7626 + languageName: node + linkType: hard + +"react-native@npm:0.81.5": + version: 0.81.5 + resolution: "react-native@npm:0.81.5" + dependencies: + "@jest/create-cache-key-function": "npm:^29.7.0" + "@react-native/assets-registry": "npm:0.81.5" + "@react-native/codegen": "npm:0.81.5" + "@react-native/community-cli-plugin": "npm:0.81.5" + "@react-native/gradle-plugin": "npm:0.81.5" + "@react-native/js-polyfills": "npm:0.81.5" + "@react-native/normalize-colors": "npm:0.81.5" + "@react-native/virtualized-lists": "npm:0.81.5" + abort-controller: "npm:^3.0.0" + anser: "npm:^1.4.9" + ansi-regex: "npm:^5.0.0" + babel-jest: "npm:^29.7.0" + babel-plugin-syntax-hermes-parser: "npm:0.29.1" + base64-js: "npm:^1.5.1" + commander: "npm:^12.0.0" + flow-enums-runtime: "npm:^0.0.6" + glob: "npm:^7.1.1" + invariant: "npm:^2.2.4" + jest-environment-node: "npm:^29.7.0" + memoize-one: "npm:^5.0.0" + metro-runtime: "npm:^0.83.1" + metro-source-map: "npm:^0.83.1" + nullthrows: "npm:^1.1.1" + pretty-format: "npm:^29.7.0" + promise: "npm:^8.3.0" + react-devtools-core: "npm:^6.1.5" + react-refresh: "npm:^0.14.0" + regenerator-runtime: "npm:^0.13.2" + scheduler: "npm:0.26.0" + semver: "npm:^7.1.3" + stacktrace-parser: "npm:^0.1.10" + whatwg-fetch: "npm:^3.0.0" + ws: "npm:^6.2.3" + yargs: "npm:^17.6.2" + peerDependencies: + "@types/react": ^19.1.0 + react: ^19.1.0 + peerDependenciesMeta: + "@types/react": + optional: true + bin: + react-native: cli.js + checksum: 10c0/59b861b461e47a476dfe546b305f1b68b5248bedf2174f32c8aa02b0d1da8dc44fe8d0d60b426532353ff2b61d06d40a32a01dcc53043a3425e29b346065d159 + languageName: node + linkType: hard + +"react-refresh@npm:^0.14.0, react-refresh@npm:^0.14.2": + version: 0.14.2 + resolution: "react-refresh@npm:0.14.2" + checksum: 10c0/875b72ef56b147a131e33f2abd6ec059d1989854b3ff438898e4f9310bfcc73acff709445b7ba843318a953cb9424bcc2c05af2b3d80011cee28f25aef3e2ebb + languageName: node + linkType: hard + +"react@npm:19.1.0": + version: 19.1.0 + resolution: "react@npm:19.1.0" + checksum: 10c0/530fb9a62237d54137a13d2cfb67a7db6a2156faed43eecc423f4713d9b20c6f2728b026b45e28fcd72e8eadb9e9ed4b089e99f5e295d2f0ad3134251bdd3698 + languageName: node + linkType: hard + +"regenerate-unicode-properties@npm:^10.2.2": + version: 10.2.2 + resolution: "regenerate-unicode-properties@npm:10.2.2" + dependencies: + regenerate: "npm:^1.4.2" + checksum: 10c0/66a1d6a1dbacdfc49afd88f20b2319a4c33cee56d245163e4d8f5f283e0f45d1085a78f7f7406dd19ea3a5dd7a7799cd020cd817c97464a7507f9d10fbdce87c + languageName: node + linkType: hard + +"regenerate@npm:^1.4.2": + version: 1.4.2 + resolution: "regenerate@npm:1.4.2" + checksum: 10c0/f73c9eba5d398c818edc71d1c6979eaa05af7a808682749dd079f8df2a6d91a9b913db216c2c9b03e0a8ba2bba8701244a93f45211afbff691c32c7b275db1b8 + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.13.2": + version: 0.13.11 + resolution: "regenerator-runtime@npm:0.13.11" + checksum: 10c0/12b069dc774001fbb0014f6a28f11c09ebfe3c0d984d88c9bced77fdb6fedbacbca434d24da9ae9371bfbf23f754869307fb51a4c98a8b8b18e5ef748677ca24 + languageName: node + linkType: hard + +"regexpu-core@npm:^6.3.1": + version: 6.4.0 + resolution: "regexpu-core@npm:6.4.0" + dependencies: + regenerate: "npm:^1.4.2" + regenerate-unicode-properties: "npm:^10.2.2" + regjsgen: "npm:^0.8.0" + regjsparser: "npm:^0.13.0" + unicode-match-property-ecmascript: "npm:^2.0.0" + unicode-match-property-value-ecmascript: "npm:^2.2.1" + checksum: 10c0/1eed9783c023dd06fb1f3ce4b6e3fdf0bc1e30cb036f30aeb2019b351e5e0b74355b40462282ea5db092c79a79331c374c7e9897e44a5ca4509e9f0b570263de + languageName: node + linkType: hard + +"regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "regjsgen@npm:0.8.0" + checksum: 10c0/44f526c4fdbf0b29286101a282189e4dbb303f4013cf3fea058668d96d113b9180d3d03d1e13f6d4cbde38b7728bf951aecd9dc199938c080093a9a6f0d7a6bd + languageName: node + linkType: hard + +"regjsparser@npm:^0.13.0": + version: 0.13.0 + resolution: "regjsparser@npm:0.13.0" + dependencies: + jsesc: "npm:~3.1.0" + bin: + regjsparser: bin/parser + checksum: 10c0/4702f85cda09f67747c1b2fb673a0f0e5d1ba39d55f177632265a0be471ba59e3f320623f411649141f752b126b8126eac3ff4c62d317921e430b0472bfc6071 + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 + languageName: node + linkType: hard + +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 + languageName: node + linkType: hard + +"requireg@npm:^0.2.2": + version: 0.2.2 + resolution: "requireg@npm:0.2.2" + dependencies: + nested-error-stacks: "npm:~2.0.1" + rc: "npm:~1.2.7" + resolve: "npm:~1.7.1" + checksum: 10c0/806cff08d8fa63f2ec9c74fa9602c86b56627a824d0a188bf777c8d82ba012a1b3c01ab6e88ffcf610713b6bc5ec8a9f9e55dc941b7606ce735e72c4d9daa059 + languageName: node + linkType: hard + +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 10c0/b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 + languageName: node + linkType: hard + +"resolve-global@npm:^1.0.0": + version: 1.0.0 + resolution: "resolve-global@npm:1.0.0" + dependencies: + global-dirs: "npm:^0.1.1" + checksum: 10c0/fda6ba81a07a0124756ce956dd871ca83763973326d8617143dab38d9c9afc666926604bfe8f0bfd046a9a285347568f32ceb3d4c55a1cb9de5614cca001a21c + languageName: node + linkType: hard + +"resolve-workspace-root@npm:^2.0.0": + version: 2.0.1 + resolution: "resolve-workspace-root@npm:2.0.1" + checksum: 10c0/83104ea8476ba451a4bac32db42cf1dc79a7b98810764e507830a2f63af20cfb00fe7da5b0c324d77d4fcfda7a24e9e17895690d6f6a498735b633fd7fc372ca + languageName: node + linkType: hard + +"resolve.exports@npm:^2.0.3": + version: 2.0.3 + resolution: "resolve.exports@npm:2.0.3" + checksum: 10c0/1ade1493f4642a6267d0a5e68faeac20b3d220f18c28b140343feb83694d8fed7a286852aef43689d16042c61e2ddb270be6578ad4a13990769e12065191200d + languageName: node + linkType: hard + +"resolve@npm:^1.22.10, resolve@npm:^1.22.2": + version: 1.22.11 + resolution: "resolve@npm:1.22.11" + dependencies: + is-core-module: "npm:^2.16.1" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/f657191507530f2cbecb5815b1ee99b20741ea6ee02a59c57028e9ec4c2c8d7681afcc35febbd554ac0ded459db6f2d8153382c53a2f266cee2575e512674409 + languageName: node + linkType: hard + +"resolve@npm:~1.7.1": + version: 1.7.1 + resolution: "resolve@npm:1.7.1" + dependencies: + path-parse: "npm:^1.0.5" + checksum: 10c0/6e9e29185ac57801aff013849e9717c769ef0a27eac30b6492405ba3d61db73d8967023b96578f4b2deba4ef5fb11fc4f0a4db47c0f536890ced5c014e94fbde + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^1.22.10#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin": + version: 1.22.11 + resolution: "resolve@patch:resolve@npm%3A1.22.11#optional!builtin::version=1.22.11&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.16.1" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/ee5b182f2e37cb1165465e58c6abc797fec0a80b5ba3231607beb4677db0c9291ac010c47cf092b6daa2b7f518d69a0e21888e7e2b633f68d501a874212a8c63 + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A~1.7.1#optional!builtin": + version: 1.7.1 + resolution: "resolve@patch:resolve@npm%3A1.7.1#optional!builtin::version=1.7.1&hash=3bafbf" + dependencies: + path-parse: "npm:^1.0.5" + checksum: 10c0/1301dba7c12cd9dab2ab4eee8518089f25bb7480db34b746a923ded472c4c0600ebb1ba9b8028ca843f7c6017ac76524355800c52b82633e53bd601ca288b4de + languageName: node + linkType: hard + +"restore-cursor@npm:^2.0.0": + version: 2.0.0 + resolution: "restore-cursor@npm:2.0.0" + dependencies: + onetime: "npm:^2.0.0" + signal-exit: "npm:^3.0.2" + checksum: 10c0/f5b335bee06f440445e976a7031a3ef53691f9b7c4a9d42a469a0edaf8a5508158a0d561ff2b26a1f4f38783bcca2c0e5c3a44f927326f6694d5b44d7a4993e6 + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe + languageName: node + linkType: hard + +"rimraf@npm:^3.0.2": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" + dependencies: + glob: "npm:^7.1.3" + bin: + rimraf: bin.js + checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 + languageName: node + linkType: hard + +"safe-buffer@npm:5.2.1": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"sax@npm:>=0.6.0": + version: 1.4.4 + resolution: "sax@npm:1.4.4" + checksum: 10c0/acb642f2de02ad6ae157cbf91fb026acea80cdf92e88c0aec2aa350c7db3479f62a7365c34a58e3b70a72ce11fa856a02c38cfd27f49e83c18c9c7e1d52aee55 + languageName: node + linkType: hard + +"scheduler@npm:0.26.0": + version: 0.26.0 + resolution: "scheduler@npm:0.26.0" + checksum: 10c0/5b8d5bfddaae3513410eda54f2268e98a376a429931921a81b5c3a2873aab7ca4d775a8caac5498f8cbc7d0daeab947cf923dbd8e215d61671f9f4e392d34356 + languageName: node + linkType: hard + +"semver@npm:^6.3.0, semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + languageName: node + linkType: hard + +"semver@npm:^7.1.3, semver@npm:^7.3.5, semver@npm:^7.5.4, semver@npm:^7.6.0": + version: 7.7.3 + resolution: "semver@npm:7.7.3" + bin: + semver: bin/semver.js + checksum: 10c0/4afe5c986567db82f44c8c6faef8fe9df2a9b1d98098fc1721f57c696c4c21cebd572f297fc21002f81889492345b8470473bc6f4aff5fb032a6ea59ea2bc45e + languageName: node + linkType: hard + +"send@npm:^0.19.0, send@npm:~0.19.1": + version: 0.19.2 + resolution: "send@npm:0.19.2" + dependencies: + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + fresh: "npm:~0.5.2" + http-errors: "npm:~2.0.1" + mime: "npm:1.6.0" + ms: "npm:2.1.3" + on-finished: "npm:~2.4.1" + range-parser: "npm:~1.2.1" + statuses: "npm:~2.0.2" + checksum: 10c0/20c2389fe0fdf3fc499938cac598bc32272287e993c4960717381a10de8550028feadfb9076f959a3a3ebdea42e1f690e116f0d16468fa56b9fd41866d3dc267 + languageName: node + linkType: hard + +"serialize-error@npm:^2.1.0": + version: 2.1.0 + resolution: "serialize-error@npm:2.1.0" + checksum: 10c0/919c40d293cd36b16bb3fce38a3a460e0c51a34cf0ee59815bbeec7c48ffe0a66ea2dec08aa5340ef6dfc1f22e7317f6e1ed76cdbb2ec3c494c0c4debfb344f8 + languageName: node + linkType: hard + +"serve-static@npm:^1.16.2": + version: 1.16.3 + resolution: "serve-static@npm:1.16.3" + dependencies: + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + parseurl: "npm:~1.3.3" + send: "npm:~0.19.1" + checksum: 10c0/36320397a073c71bedf58af48a4a100fe6d93f07459af4d6f08b9a7217c04ce2a4939e0effd842dc7bece93ffcd59eb52f58c4fff2a8e002dc29ae6b219cd42b + languageName: node + linkType: hard + +"setprototypeof@npm:~1.2.0": + version: 1.2.0 + resolution: "setprototypeof@npm:1.2.0" + checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"shell-quote@npm:^1.6.1": + version: 1.8.3 + resolution: "shell-quote@npm:1.8.3" + checksum: 10c0/bee87c34e1e986cfb4c30846b8e6327d18874f10b535699866f368ade11ea4ee45433d97bf5eada22c4320c27df79c3a6a7eb1bf3ecfc47f2c997d9e5e2672fd + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.7": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 + languageName: node + linkType: hard + +"simple-plist@npm:^1.1.0": + version: 1.4.0 + resolution: "simple-plist@npm:1.4.0" + dependencies: + bplist-creator: "npm:0.1.1" + bplist-parser: "npm:0.3.2" + plist: "npm:^3.0.5" + checksum: 10c0/226c283492d8518d715e4133d94bdbd15c0619561bcde583b4807b36cde106c0078c615b9b4e25c0e8758a4ae4e79ed5dd76e57cd528d8b7001ecab5ad35e343 + languageName: node + linkType: hard + +"sisteransi@npm:^1.0.5": + version: 1.0.5 + resolution: "sisteransi@npm:1.0.5" + checksum: 10c0/230ac975cca485b7f6fe2b96a711aa62a6a26ead3e6fb8ba17c5a00d61b8bed0d7adc21f5626b70d7c33c62ff4e63933017a6462942c719d1980bb0b1207ad46 + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b + languageName: node + linkType: hard + +"slugify@npm:^1.3.4, slugify@npm:^1.6.6": + version: 1.6.6 + resolution: "slugify@npm:1.6.6" + checksum: 10c0/e7e63f08f389a371d6228bc19d64ec84360bf0a538333446cc49dbbf3971751a6d180d2f31551188dd007a65ca771e69f574e0283290a7825a818e90b75ef44d + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^8.0.3": + version: 8.0.5 + resolution: "socks-proxy-agent@npm:8.0.5" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:^4.3.4" + socks: "npm:^2.8.3" + checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 + languageName: node + linkType: hard + +"socks@npm:^2.8.3": + version: 2.8.7 + resolution: "socks@npm:2.8.7" + dependencies: + ip-address: "npm:^10.0.1" + smart-buffer: "npm:^4.2.0" + checksum: 10c0/2805a43a1c4bcf9ebf6e018268d87b32b32b06fbbc1f9282573583acc155860dc361500f89c73bfbb157caa1b4ac78059eac0ef15d1811eb0ca75e0bdadbc9d2 + languageName: node + linkType: hard + +"source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf + languageName: node + linkType: hard + +"source-map-support@npm:~0.5.20, source-map-support@npm:~0.5.21": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d + languageName: node + linkType: hard + +"source-map@npm:^0.5.6": + version: 0.5.7 + resolution: "source-map@npm:0.5.7" + checksum: 10c0/904e767bb9c494929be013017380cbba013637da1b28e5943b566031e29df04fba57edf3f093e0914be094648b577372bd8ad247fa98cfba9c600794cd16b599 + languageName: node + linkType: hard + +"source-map@npm:^0.6.0": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 + languageName: node + linkType: hard + +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb + languageName: node + linkType: hard + +"ssri@npm:^13.0.0": + version: 13.0.0 + resolution: "ssri@npm:13.0.0" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/405f3a531cd98b013cecb355d63555dca42fd12c7bc6671738aaa9a82882ff41cdf0ef9a2b734ca4f9a760338f114c29d01d9238a65db3ccac27929bd6e6d4b2 + languageName: node + linkType: hard + +"stack-utils@npm:^2.0.3": + version: 2.0.6 + resolution: "stack-utils@npm:2.0.6" + dependencies: + escape-string-regexp: "npm:^2.0.0" + checksum: 10c0/651c9f87667e077584bbe848acaecc6049bc71979f1e9a46c7b920cad4431c388df0f51b8ad7cfd6eed3db97a2878d0fc8b3122979439ea8bac29c61c95eec8a + languageName: node + linkType: hard + +"stackframe@npm:^1.3.4": + version: 1.3.4 + resolution: "stackframe@npm:1.3.4" + checksum: 10c0/18410f7a1e0c5d211a4effa83bdbf24adbe8faa8c34db52e1cd3e89837518c592be60b60d8b7270ac53eeeb8b807cd11b399a41667f6c9abb41059c3ccc8a989 + languageName: node + linkType: hard + +"stacktrace-parser@npm:^0.1.10": + version: 0.1.11 + resolution: "stacktrace-parser@npm:0.1.11" + dependencies: + type-fest: "npm:^0.7.1" + checksum: 10c0/4633d9afe8cd2f6c7fb2cebdee3cc8de7fd5f6f9736645fd08c0f66872a303061ce9cc0ccf46f4216dc94a7941b56e331012398dc0024dc25e46b5eb5d4ff018 + languageName: node + linkType: hard + +"statuses@npm:~1.5.0": + version: 1.5.0 + resolution: "statuses@npm:1.5.0" + checksum: 10c0/e433900956357b3efd79b1c547da4d291799ac836960c016d10a98f6a810b1b5c0dcc13b5a7aa609a58239b5190e1ea176ad9221c2157d2fd1c747393e6b2940 + languageName: node + linkType: hard + +"statuses@npm:~2.0.2": + version: 2.0.2 + resolution: "statuses@npm:2.0.2" + checksum: 10c0/a9947d98ad60d01f6b26727570f3bcceb6c8fa789da64fe6889908fe2e294d57503b14bf2b5af7605c2d36647259e856635cd4c49eab41667658ec9d0080ec3f + languageName: node + linkType: hard + +"stream-buffers@npm:2.2.x": + version: 2.2.0 + resolution: "stream-buffers@npm:2.2.0" + checksum: 10c0/14a351f0a066eaa08c8c64a74f4aedd87dd7a8e59d4be224703da33dca3eb370828ee6c0ae3fff59a9c743e8098728fc95c5f052ae7741672a31e6b1430ba50a + languageName: node + linkType: hard + +"string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"strip-ansi@npm:^5.2.0": + version: 5.2.0 + resolution: "strip-ansi@npm:5.2.0" + dependencies: + ansi-regex: "npm:^4.1.0" + checksum: 10c0/de4658c8a097ce3b15955bc6008f67c0790f85748bdc025b7bc8c52c7aee94bc4f9e50624516150ed173c3db72d851826cd57e7a85fe4e4bb6dbbebd5d297fdf + languageName: node + linkType: hard + +"strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: "npm:^5.0.1" + checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"strip-json-comments@npm:~2.0.1": + version: 2.0.1 + resolution: "strip-json-comments@npm:2.0.1" + checksum: 10c0/b509231cbdee45064ff4f9fd73609e2bcc4e84a4d508e9dd0f31f70356473fde18abfb5838c17d56fb236f5a06b102ef115438de0600b749e818a35fbbc48c43 + languageName: node + linkType: hard + +"structured-headers@npm:^0.4.1": + version: 0.4.1 + resolution: "structured-headers@npm:0.4.1" + checksum: 10c0/b7d326f6fec7e7f7901d1e0542577293b5d029bf3e1fb84995e33d9aabe47d03259f64ca2d778ef5c427f6f00c78bafa051b6f233131e1556f8bb9102b11ed64 + languageName: node + linkType: hard + +"sucrase@npm:~3.35.1": + version: 3.35.1 + resolution: "sucrase@npm:3.35.1" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.2" + commander: "npm:^4.0.0" + lines-and-columns: "npm:^1.1.6" + mz: "npm:^2.7.0" + pirates: "npm:^4.0.1" + tinyglobby: "npm:^0.2.11" + ts-interface-checker: "npm:^0.1.9" + bin: + sucrase: bin/sucrase + sucrase-node: bin/sucrase-node + checksum: 10c0/6fa22329c261371feb9560630d961ad0d0b9c87dce21ea74557c5f3ffbe5c1ee970ea8bcce9962ae9c90c3c47165ffa7dd41865c7414f5d8ea7a40755d612c5c + languageName: node + linkType: hard + +"supports-color@npm:^5.3.0": + version: 5.5.0 + resolution: "supports-color@npm:5.5.0" + dependencies: + has-flag: "npm:^3.0.0" + checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 + languageName: node + linkType: hard + +"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + languageName: node + linkType: hard + +"supports-color@npm:^8.0.0": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 + languageName: node + linkType: hard + +"supports-hyperlinks@npm:^2.0.0": + version: 2.3.0 + resolution: "supports-hyperlinks@npm:2.3.0" + dependencies: + has-flag: "npm:^4.0.0" + supports-color: "npm:^7.0.0" + checksum: 10c0/4057f0d86afb056cd799602f72d575b8fdd79001c5894bcb691176f14e870a687e7981e50bc1484980e8b688c6d5bcd4931e1609816abb5a7dc1486b7babf6a1 + languageName: node + linkType: hard + +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 + languageName: node + linkType: hard + +"tar@npm:^7.5.2": + version: 7.5.6 + resolution: "tar@npm:7.5.6" + dependencies: + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.1.0" + yallist: "npm:^5.0.0" + checksum: 10c0/08af3807035957650ad5f2a300c49ca4fe0566ac0ea5a23741a5b5103c6da42891a9eeaed39bc1fbcf21c5cac4dc846828a004727fb08b9d946322d3144d1fd2 + languageName: node + linkType: hard + +"temp-dir@npm:~2.0.0": + version: 2.0.0 + resolution: "temp-dir@npm:2.0.0" + checksum: 10c0/b1df969e3f3f7903f3426861887ed76ba3b495f63f6d0c8e1ce22588679d9384d336df6064210fda14e640ed422e2a17d5c40d901f60e161c99482d723f4d309 + languageName: node + linkType: hard + +"terminal-link@npm:^2.1.1": + version: 2.1.1 + resolution: "terminal-link@npm:2.1.1" + dependencies: + ansi-escapes: "npm:^4.2.1" + supports-hyperlinks: "npm:^2.0.0" + checksum: 10c0/947458a5cd5408d2ffcdb14aee50bec8fb5022ae683b896b2f08ed6db7b2e7d42780d5c8b51e930e9c322bd7c7a517f4fa7c76983d0873c83245885ac5ee13e3 + languageName: node + linkType: hard + +"terser@npm:^5.15.0": + version: 5.46.0 + resolution: "terser@npm:5.46.0" + dependencies: + "@jridgewell/source-map": "npm:^0.3.3" + acorn: "npm:^8.15.0" + commander: "npm:^2.20.0" + source-map-support: "npm:~0.5.20" + bin: + terser: bin/terser + checksum: 10c0/93ad468f13187c4f66b609bbfc00a6aee752007779ca3157f2c1ee063697815748d6010fd449a16c30be33213748431d5f54cc0224ba6a3fbbf5acd3582a4356 + languageName: node + linkType: hard + +"test-exclude@npm:^6.0.0": + version: 6.0.0 + resolution: "test-exclude@npm:6.0.0" + dependencies: + "@istanbuljs/schema": "npm:^0.1.2" + glob: "npm:^7.1.4" + minimatch: "npm:^3.0.4" + checksum: 10c0/019d33d81adff3f9f1bfcff18125fb2d3c65564f437d9be539270ee74b994986abb8260c7c2ce90e8f30162178b09dbbce33c6389273afac4f36069c48521f57 + languageName: node + linkType: hard + +"thenify-all@npm:^1.0.0": + version: 1.6.0 + resolution: "thenify-all@npm:1.6.0" + dependencies: + thenify: "npm:>= 3.1.0 < 4" + checksum: 10c0/9b896a22735e8122754fe70f1d65f7ee691c1d70b1f116fda04fea103d0f9b356e3676cb789506e3909ae0486a79a476e4914b0f92472c2e093d206aed4b7d6b + languageName: node + linkType: hard + +"thenify@npm:>= 3.1.0 < 4": + version: 3.3.1 + resolution: "thenify@npm:3.3.1" + dependencies: + any-promise: "npm:^1.0.0" + checksum: 10c0/f375aeb2b05c100a456a30bc3ed07ef03a39cbdefe02e0403fb714b8c7e57eeaad1a2f5c4ecfb9ce554ce3db9c2b024eba144843cd9e344566d9fcee73b04767 + languageName: node + linkType: hard + +"throat@npm:^5.0.0": + version: 5.0.0 + resolution: "throat@npm:5.0.0" + checksum: 10c0/1b9c661dabf93ff9026fecd781ccfd9b507c41b9d5e581614884fffd09f3f9ebfe26d3be668ccf904fd324dd3f6efe1a3ec7f83e91b1dff9fdcc6b7d39b8bfe3 + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.11, tinyglobby@npm:^0.2.12": + version: 0.2.15 + resolution: "tinyglobby@npm:0.2.15" + dependencies: + fdir: "npm:^6.5.0" + picomatch: "npm:^4.0.3" + checksum: 10c0/869c31490d0d88eedb8305d178d4c75e7463e820df5a9b9d388291daf93e8b1eb5de1dad1c1e139767e4269fe75f3b10d5009b2cc14db96ff98986920a186844 + languageName: node + linkType: hard + +"tmpl@npm:1.0.5": + version: 1.0.5 + resolution: "tmpl@npm:1.0.5" + checksum: 10c0/f935537799c2d1922cb5d6d3805f594388f75338fe7a4a9dac41504dd539704ca4db45b883b52e7b0aa5b2fd5ddadb1452bf95cd23a69da2f793a843f9451cc9 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"toidentifier@npm:~1.0.1": + version: 1.0.1 + resolution: "toidentifier@npm:1.0.1" + checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 + languageName: node + linkType: hard + +"ts-interface-checker@npm:^0.1.9": + version: 0.1.13 + resolution: "ts-interface-checker@npm:0.1.13" + checksum: 10c0/232509f1b84192d07b81d1e9b9677088e590ac1303436da1e92b296e9be8e31ea042e3e1fd3d29b1742ad2c959e95afe30f63117b8f1bc3a3850070a5142fea7 + languageName: node + linkType: hard + +"type-detect@npm:4.0.8": + version: 4.0.8 + resolution: "type-detect@npm:4.0.8" + checksum: 10c0/8fb9a51d3f365a7de84ab7f73b653534b61b622aa6800aecdb0f1095a4a646d3f5eb295322127b6573db7982afcd40ab492d038cf825a42093a58b1e1353e0bd + languageName: node + linkType: hard + +"type-fest@npm:^0.21.3": + version: 0.21.3 + resolution: "type-fest@npm:0.21.3" + checksum: 10c0/902bd57bfa30d51d4779b641c2bc403cdf1371fb9c91d3c058b0133694fcfdb817aef07a47f40faf79039eecbaa39ee9d3c532deff244f3a19ce68cea71a61e8 + languageName: node + linkType: hard + +"type-fest@npm:^0.7.1": + version: 0.7.1 + resolution: "type-fest@npm:0.7.1" + checksum: 10c0/ce6b5ef806a76bf08d0daa78d65e61f24d9a0380bd1f1df36ffb61f84d14a0985c3a921923cf4b97831278cb6fa9bf1b89c751df09407e0510b14e8c081e4e0f + languageName: node + linkType: hard + +"typescript@npm:~5.9.2": + version: 5.9.3 + resolution: "typescript@npm:5.9.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/6bd7552ce39f97e711db5aa048f6f9995b53f1c52f7d8667c1abdc1700c68a76a308f579cd309ce6b53646deb4e9a1be7c813a93baaf0a28ccd536a30270e1c5 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A~5.9.2#optional!builtin": + version: 5.9.3 + resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=5786d5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/ad09fdf7a756814dce65bc60c1657b40d44451346858eea230e10f2e95a289d9183b6e32e5c11e95acc0ccc214b4f36289dcad4bf1886b0adb84d711d336a430 + languageName: node + linkType: hard + +"undici-types@npm:~7.16.0": + version: 7.16.0 + resolution: "undici-types@npm:7.16.0" + checksum: 10c0/3033e2f2b5c9f1504bdc5934646cb54e37ecaca0f9249c983f7b1fc2e87c6d18399ebb05dc7fd5419e02b2e915f734d872a65da2e3eeed1813951c427d33cc9a + languageName: node + linkType: hard + +"undici@npm:^6.18.2": + version: 6.23.0 + resolution: "undici@npm:6.23.0" + checksum: 10c0/d846b3fdfd05aa6081ba1eab5db6bbc21b283042c7a43722b86d1ee2bf749d7c990ceac0c809f9a07ffd88b1b0f4c0f548a8362c035088cb1997d63abdda499c + languageName: node + linkType: hard + +"unicode-canonical-property-names-ecmascript@npm:^2.0.0": + version: 2.0.1 + resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" + checksum: 10c0/f83bc492fdbe662860795ef37a85910944df7310cac91bd778f1c19ebc911e8b9cde84e703de631e5a2fcca3905e39896f8fc5fc6a44ddaf7f4aff1cda24f381 + languageName: node + linkType: hard + +"unicode-match-property-ecmascript@npm:^2.0.0": + version: 2.0.0 + resolution: "unicode-match-property-ecmascript@npm:2.0.0" + dependencies: + unicode-canonical-property-names-ecmascript: "npm:^2.0.0" + unicode-property-aliases-ecmascript: "npm:^2.0.0" + checksum: 10c0/4d05252cecaf5c8e36d78dc5332e03b334c6242faf7cf16b3658525441386c0a03b5f603d42cbec0f09bb63b9fd25c9b3b09667aee75463cac3efadae2cd17ec + languageName: node + linkType: hard + +"unicode-match-property-value-ecmascript@npm:^2.2.1": + version: 2.2.1 + resolution: "unicode-match-property-value-ecmascript@npm:2.2.1" + checksum: 10c0/93acd1ad9496b600e5379d1aaca154cf551c5d6d4a0aefaf0984fc2e6288e99220adbeb82c935cde461457fb6af0264a1774b8dfd4d9a9e31548df3352a4194d + languageName: node + linkType: hard + +"unicode-property-aliases-ecmascript@npm:^2.0.0": + version: 2.2.0 + resolution: "unicode-property-aliases-ecmascript@npm:2.2.0" + checksum: 10c0/b338529831c988ac696f2bdbcd4579d1c5cc844b24eda7269973c457fa81989bdb49a366af37a448eb1a60f1dae89559ea2a5854db2797e972a0162eee0778c6 + languageName: node + linkType: hard + +"unique-filename@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-filename@npm:5.0.0" + dependencies: + unique-slug: "npm:^6.0.0" + checksum: 10c0/afb897e9cf4c2fb622ea716f7c2bb462001928fc5f437972213afdf1cc32101a230c0f1e9d96fc91ee5185eca0f2feb34127145874975f347be52eb91d6ccc2c + languageName: node + linkType: hard + +"unique-slug@npm:^6.0.0": + version: 6.0.0 + resolution: "unique-slug@npm:6.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/da7ade4cb04eb33ad0499861f82fe95ce9c7c878b7139dc54d140ecfb6a6541c18a5c8dac16188b8b379fe62c0c1f1b710814baac910cde5f4fec06212126c6a + languageName: node + linkType: hard + +"unique-string@npm:~2.0.0": + version: 2.0.0 + resolution: "unique-string@npm:2.0.0" + dependencies: + crypto-random-string: "npm:^2.0.0" + checksum: 10c0/11820db0a4ba069d174bedfa96c588fc2c96b083066fafa186851e563951d0de78181ac79c744c1ed28b51f9d82ac5b8196ff3e4560d0178046ef455d8c2244b + languageName: node + linkType: hard + +"unpipe@npm:~1.0.0": + version: 1.0.0 + resolution: "unpipe@npm:1.0.0" + checksum: 10c0/193400255bd48968e5c5383730344fbb4fa114cdedfab26e329e50dd2d81b134244bb8a72c6ac1b10ab0281a58b363d06405632c9d49ca9dfd5e90cbd7d0f32c + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.2.0": + version: 1.2.3 + resolution: "update-browserslist-db@npm:1.2.3" + dependencies: + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.1" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10c0/13a00355ea822388f68af57410ce3255941d5fb9b7c49342c4709a07c9f230bbef7f7499ae0ca7e0de532e79a82cc0c4edbd125f1a323a1845bf914efddf8bec + languageName: node + linkType: hard + +"utils-merge@npm:1.0.1": + version: 1.0.1 + resolution: "utils-merge@npm:1.0.1" + checksum: 10c0/02ba649de1b7ca8854bfe20a82f1dfbdda3fb57a22ab4a8972a63a34553cf7aa51bc9081cf7e001b035b88186d23689d69e71b510e610a09a4c66f68aa95b672 + languageName: node + linkType: hard + +"uuid@npm:^7.0.3": + version: 7.0.3 + resolution: "uuid@npm:7.0.3" + bin: + uuid: dist/bin/uuid + checksum: 10c0/2eee5723b0fcce8256f5bfd3112af6c453b5471db00af9c3533e3d5a6e57de83513f9a145a570890457bd7abf2c2aa05797291d950ac666e5a074895dc63168b + languageName: node + linkType: hard + +"validate-npm-package-name@npm:^5.0.0": + version: 5.0.1 + resolution: "validate-npm-package-name@npm:5.0.1" + checksum: 10c0/903e738f7387404bb72f7ac34e45d7010c877abd2803dc2d614612527927a40a6d024420033132e667b1bade94544b8a1f65c9431a4eb30d0ce0d80093cd1f74 + languageName: node + linkType: hard + +"vary@npm:~1.1.2": + version: 1.1.2 + resolution: "vary@npm:1.1.2" + checksum: 10c0/f15d588d79f3675135ba783c91a4083dcd290a2a5be9fcb6514220a1634e23df116847b1cc51f66bfb0644cf9353b2abb7815ae499bab06e46dd33c1a6bf1f4f + languageName: node + linkType: hard + +"vlq@npm:^1.0.0": + version: 1.0.1 + resolution: "vlq@npm:1.0.1" + checksum: 10c0/a8ec5c95d747c840198f20b4973327fa317b98397f341e7a2f352bfcf385aeb73c0eea01cc6d406c20169298375397e259efc317aec53c8ffc001ec998204aed + languageName: node + linkType: hard + +"walker@npm:^1.0.7, walker@npm:^1.0.8": + version: 1.0.8 + resolution: "walker@npm:1.0.8" + dependencies: + makeerror: "npm:1.0.12" + checksum: 10c0/a17e037bccd3ca8a25a80cb850903facdfed0de4864bd8728f1782370715d679fa72e0a0f5da7c1c1379365159901e5935f35be531229da53bbfc0efdabdb48e + languageName: node + linkType: hard + +"wcwidth@npm:^1.0.1": + version: 1.0.1 + resolution: "wcwidth@npm:1.0.1" + dependencies: + defaults: "npm:^1.0.3" + checksum: 10c0/5b61ca583a95e2dd85d7078400190efd452e05751a64accb8c06ce4db65d7e0b0cde9917d705e826a2e05cc2548f61efde115ffa374c3e436d04be45c889e5b4 + languageName: node + linkType: hard + +"webidl-conversions@npm:^5.0.0": + version: 5.0.0 + resolution: "webidl-conversions@npm:5.0.0" + checksum: 10c0/bf31df332ed11e1114bfcae7712d9ab2c37e7faa60ba32d8fdbee785937c0b012eee235c19d2b5d84f5072db84a160e8d08dd382da7f850feec26a4f46add8ff + languageName: node + linkType: hard + +"whatwg-fetch@npm:^3.0.0": + version: 3.6.20 + resolution: "whatwg-fetch@npm:3.6.20" + checksum: 10c0/fa972dd14091321d38f36a4d062298df58c2248393ef9e8b154493c347c62e2756e25be29c16277396046d6eaa4b11bd174f34e6403fff6aaca9fb30fa1ff46d + languageName: node + linkType: hard + +"whatwg-url-without-unicode@npm:8.0.0-3": + version: 8.0.0-3 + resolution: "whatwg-url-without-unicode@npm:8.0.0-3" + dependencies: + buffer: "npm:^5.4.3" + punycode: "npm:^2.1.1" + webidl-conversions: "npm:^5.0.0" + checksum: 10c0/c27a637ab7d01981b2e2f576fde2113b9c42247500e093d2f5ba94b515d5c86dbcf70e5cad4b21b8813185f21fa1b4846f53c79fa87995293457e28c889cc0fd + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^6.0.0": + version: 6.0.0 + resolution: "which@npm:6.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10c0/fe9d6463fe44a76232bb6e3b3181922c87510a5b250a98f1e43a69c99c079b3f42ddeca7e03d3e5f2241bf2d334f5a7657cfa868b97c109f3870625842f4cc15 + languageName: node + linkType: hard + +"wonka@npm:^6.3.2": + version: 6.3.5 + resolution: "wonka@npm:6.3.5" + checksum: 10c0/044fe5ae26c0a32b0a1603cc0ed71ede8c9febe5bb3adab4fad5e088ceee600a84a08d0deb95a72189bbaf0d510282d183b6fb7b6e9837e7a1c9b209f788dd07 + languageName: node + linkType: hard + +"wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 + languageName: node + linkType: hard + +"write-file-atomic@npm:^4.0.2": + version: 4.0.2 + resolution: "write-file-atomic@npm:4.0.2" + dependencies: + imurmurhash: "npm:^0.1.4" + signal-exit: "npm:^3.0.7" + checksum: 10c0/a2c282c95ef5d8e1c27b335ae897b5eca00e85590d92a3fd69a437919b7b93ff36a69ea04145da55829d2164e724bc62202cdb5f4b208b425aba0807889375c7 + languageName: node + linkType: hard + +"ws@npm:^6.2.3": + version: 6.2.3 + resolution: "ws@npm:6.2.3" + dependencies: + async-limiter: "npm:~1.0.0" + checksum: 10c0/56a35b9799993cea7ce2260197e7879f21bbbb194a967f31acbbda6f7f46ecda4365951966fb062044c95197e19fb2f053be6f65c172435455186835f494de41 + languageName: node + linkType: hard + +"ws@npm:^7, ws@npm:^7.5.10": + version: 7.5.10 + resolution: "ws@npm:7.5.10" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/bd7d5f4aaf04fae7960c23dcb6c6375d525e00f795dd20b9385902bd008c40a94d3db3ce97d878acc7573df852056ca546328b27b39f47609f80fb22a0a9b61d + languageName: node + linkType: hard + +"ws@npm:^8.12.1": + version: 8.19.0 + resolution: "ws@npm:8.19.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/4741d9b9bc3f9c791880882414f96e36b8b254e34d4b503279d6400d9a4b87a033834856dbdd94ee4b637944df17ea8afc4bce0ff4a1560d2166be8855da5b04 + languageName: node + linkType: hard + +"xcode@npm:^3.0.1": + version: 3.0.1 + resolution: "xcode@npm:3.0.1" + dependencies: + simple-plist: "npm:^1.1.0" + uuid: "npm:^7.0.3" + checksum: 10c0/51bf35cee52909aeb18f868ecf9828f93b8042fadf968159320f9f11e757a52e43f6563a53b586986cfe5a34d576f3300c4c0cf1e14300084344ae206eaa53c3 + languageName: node + linkType: hard + +"xml2js@npm:0.6.0": + version: 0.6.0 + resolution: "xml2js@npm:0.6.0" + dependencies: + sax: "npm:>=0.6.0" + xmlbuilder: "npm:~11.0.0" + checksum: 10c0/db1ad659210eda4b77929aa692271308ec7e04830112161b8c707f3bcc7138947409c8461ae5c8bcb36b378d62594a8d1cb78770ff5c3dc46a68c67a0838b486 + languageName: node + linkType: hard + +"xmlbuilder@npm:^15.1.1": + version: 15.1.1 + resolution: "xmlbuilder@npm:15.1.1" + checksum: 10c0/665266a8916498ff8d82b3d46d3993913477a254b98149ff7cff060d9b7cc0db7cf5a3dae99aed92355254a808c0e2e3ec74ad1b04aa1061bdb8dfbea26c18b8 + languageName: node + linkType: hard + +"xmlbuilder@npm:~11.0.0": + version: 11.0.1 + resolution: "xmlbuilder@npm:11.0.1" + checksum: 10c0/74b979f89a0a129926bc786b913459bdbcefa809afaa551c5ab83f89b1915bdaea14c11c759284bb9b931e3b53004dbc2181e21d3ca9553eeb0b2a7b4e40c35b + languageName: node + linkType: hard + +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 + languageName: node + linkType: hard + +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 10c0/c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a + languageName: node + linkType: hard + +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 + languageName: node + linkType: hard + +"yaml@npm:^2.6.1": + version: 2.8.2 + resolution: "yaml@npm:2.8.2" + bin: + yaml: bin.mjs + checksum: 10c0/703e4dc1e34b324aa66876d63618dcacb9ed49f7e7fe9b70f1e703645be8d640f68ab84f12b86df8ac960bac37acf5513e115de7c970940617ce0343c8c9cd96 + languageName: node + linkType: hard + +"yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 + languageName: node + linkType: hard + +"yargs@npm:^17.6.2": + version: 17.7.2 + resolution: "yargs@npm:17.7.2" + dependencies: + cliui: "npm:^8.0.1" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.3" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^21.1.1" + checksum: 10c0/ccd7e723e61ad5965fffbb791366db689572b80cca80e0f96aad968dfff4156cd7cd1ad18607afe1046d8241e6fb2d6c08bf7fa7bfb5eaec818735d8feac8f05 + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard diff --git a/packages/native-date-examples/package.json b/packages/native-date-examples/package.json new file mode 100644 index 0000000..1b66c65 --- /dev/null +++ b/packages/native-date-examples/package.json @@ -0,0 +1,27 @@ +{ + "name": "@rn-packages/native-date-examples", + "version": "0.0.1", + "private": true, + "description": "Shared example screens for react-native-date testing", + "main": "src/index.ts", + "peerDependencies": { + "@bernagl/react-native-date": "*", + "react": "*", + "react-native": "*" + }, + "peerDependenciesMeta": { + "@date-fns/tz": { + "optional": true + }, + "date-fns": { + "optional": true + }, + "dayjs": { + "optional": true + } + }, + "devDependencies": { + "@types/react": "^19.1.0", + "typescript": "^5.0.0" + } +} diff --git a/packages/native-date/example/src/ComparisonScreen.tsx b/packages/native-date-examples/src/ComparisonScreen.tsx similarity index 100% rename from packages/native-date/example/src/ComparisonScreen.tsx rename to packages/native-date-examples/src/ComparisonScreen.tsx diff --git a/packages/native-date/example/src/NativeTestScreen.tsx b/packages/native-date-examples/src/NativeTestScreen.tsx similarity index 100% rename from packages/native-date/example/src/NativeTestScreen.tsx rename to packages/native-date-examples/src/NativeTestScreen.tsx diff --git a/packages/native-date-examples/src/index.ts b/packages/native-date-examples/src/index.ts new file mode 100644 index 0000000..9a4b175 --- /dev/null +++ b/packages/native-date-examples/src/index.ts @@ -0,0 +1,2 @@ +export { NativeTestScreen } from './NativeTestScreen'; +export { default as ComparisonScreen } from './ComparisonScreen'; diff --git a/packages/native-date/cpp/HybridNativeDate.cpp b/packages/native-date/cpp/HybridNativeDate.cpp index d935e24..f017445 100644 --- a/packages/native-date/cpp/HybridNativeDate.cpp +++ b/packages/native-date/cpp/HybridNativeDate.cpp @@ -1463,7 +1463,7 @@ std::shared_ptr>> HybridNativeDate::formatManyA results.reserve(timestamps.size()); for (double timestamp : timestamps) { - InternalDateComponents dc = timestampToComponents(timestamp); + InternalDateComponents dc = timestampToComponents(timestamp, false); // local time std::string result = pattern; @@ -1498,8 +1498,7 @@ std::shared_ptr>> HybridNativeDate::getCompo results.reserve(timestamps.size()); for (double timestamp : timestamps) { - InternalDateComponents dc = timestampToComponents(timestamp); - int dayOfWeek = getDayOfWeek(timestamp); + InternalDateComponents dc = timestampToComponents(timestamp, false); // local time results.push_back(DateComponents( static_cast(dc.year), @@ -1509,7 +1508,7 @@ std::shared_ptr>> HybridNativeDate::getCompo static_cast(dc.minute), static_cast(dc.second), static_cast(dc.millisecond), - static_cast(dayOfWeek) + static_cast(dc.dayOfWeek) )); } diff --git a/packages/native-date/example/.bundle/config b/packages/native-date/example/.bundle/config deleted file mode 100644 index 848943b..0000000 --- a/packages/native-date/example/.bundle/config +++ /dev/null @@ -1,2 +0,0 @@ -BUNDLE_PATH: "vendor/bundle" -BUNDLE_FORCE_RUBY_PLATFORM: 1 diff --git a/packages/native-date/example/metro.config.js b/packages/native-date/example/metro.config.js deleted file mode 100644 index 4ed1512..0000000 --- a/packages/native-date/example/metro.config.js +++ /dev/null @@ -1,31 +0,0 @@ -const path = require('path'); -const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config'); - -// Monorepo root -const monorepoRoot = path.resolve(__dirname, '../../..'); -// Library root -const libraryRoot = path.resolve(__dirname, '..'); - -/** - * Metro configuration - * https://facebook.github.io/metro/docs/configuration - * - * @type {import('metro-config').MetroConfig} - */ -const config = { - watchFolders: [monorepoRoot, libraryRoot], - resolver: { - nodeModulesPaths: [ - path.resolve(__dirname, 'node_modules'), - path.resolve(libraryRoot, 'node_modules'), - path.resolve(monorepoRoot, 'node_modules'), - ], - // Ensure we use the monorepo's react-native - extraNodeModules: { - 'react-native': path.resolve(monorepoRoot, 'node_modules/react-native'), - 'react': path.resolve(monorepoRoot, 'node_modules/react'), - }, - }, -}; - -module.exports = mergeConfig(getDefaultConfig(__dirname), config); diff --git a/packages/native-date/expo-example/App.tsx b/packages/native-date/expo-example/App.tsx deleted file mode 100644 index 0f6bd51..0000000 --- a/packages/native-date/expo-example/App.tsx +++ /dev/null @@ -1,369 +0,0 @@ -import { useState } from 'react'; -import { StatusBar } from 'expo-status-bar'; -import { - StyleSheet, - Text, - View, - ScrollView, - TouchableOpacity, - SafeAreaView, -} from 'react-native'; -import { - now, - parse, - format, - getYear, - getMonth, - getDate, - addDays, - startOfMonth, - endOfMonth, - isToday, - formatDistance, - getTimezone, -} from '@bernagl/react-native-date'; - -type TestResult = { - name: string; - passed: boolean; - expected: string; - actual: string; -}; - -export default function App() { - const [results, setResults] = useState([]); - const [loading, setLoading] = useState(false); - - const runTests = () => { - setLoading(true); - const testResults: TestResult[] = []; - - // Test: now() - try { - const timestamp = now(); - const isValid = typeof timestamp === 'number' && timestamp > 0; - testResults.push({ - name: 'now() returns valid timestamp', - passed: isValid, - expected: 'number > 0', - actual: String(timestamp), - }); - } catch (e) { - testResults.push({ - name: 'now() returns valid timestamp', - passed: false, - expected: 'number > 0', - actual: `Error: ${e}`, - }); - } - - // Test: parse() - try { - const ts = parse('2024-06-15'); - const year = getYear(ts); - testResults.push({ - name: 'parse() + getYear()', - passed: year === 2024, - expected: '2024', - actual: String(year), - }); - } catch (e) { - testResults.push({ - name: 'parse() + getYear()', - passed: false, - expected: '2024', - actual: `Error: ${e}`, - }); - } - - // Test: format() - try { - const ts = parse('2024-06-15'); - const formatted = format(ts, 'yyyy-MM-dd'); - testResults.push({ - name: 'format() yyyy-MM-dd', - passed: formatted === '2024-06-15', - expected: '2024-06-15', - actual: formatted, - }); - } catch (e) { - testResults.push({ - name: 'format() yyyy-MM-dd', - passed: false, - expected: '2024-06-15', - actual: `Error: ${e}`, - }); - } - - // Test: getMonth() - try { - const ts = parse('2024-06-15'); - const month = getMonth(ts); - testResults.push({ - name: 'getMonth() returns 6 (June)', - passed: month === 6, - expected: '6', - actual: String(month), - }); - } catch (e) { - testResults.push({ - name: 'getMonth() returns 6 (June)', - passed: false, - expected: '6', - actual: `Error: ${e}`, - }); - } - - // Test: getDate() - try { - const ts = parse('2024-06-15'); - const day = getDate(ts); - testResults.push({ - name: 'getDate() returns 15', - passed: day === 15, - expected: '15', - actual: String(day), - }); - } catch (e) { - testResults.push({ - name: 'getDate() returns 15', - passed: false, - expected: '15', - actual: `Error: ${e}`, - }); - } - - // Test: addDays() - try { - const ts = parse('2024-06-15'); - const newTs = addDays(ts, 5); - const day = getDate(newTs); - testResults.push({ - name: 'addDays(5) → day 20', - passed: day === 20, - expected: '20', - actual: String(day), - }); - } catch (e) { - testResults.push({ - name: 'addDays(5) → day 20', - passed: false, - expected: '20', - actual: `Error: ${e}`, - }); - } - - // Test: startOfMonth() - try { - const ts = parse('2024-06-15'); - const start = startOfMonth(ts); - const day = getDate(start); - testResults.push({ - name: 'startOfMonth() → day 1', - passed: day === 1, - expected: '1', - actual: String(day), - }); - } catch (e) { - testResults.push({ - name: 'startOfMonth() → day 1', - passed: false, - expected: '1', - actual: `Error: ${e}`, - }); - } - - // Test: endOfMonth() - try { - const ts = parse('2024-06-15'); - const end = endOfMonth(ts); - const day = getDate(end); - testResults.push({ - name: 'endOfMonth() June → day 30', - passed: day === 30, - expected: '30', - actual: String(day), - }); - } catch (e) { - testResults.push({ - name: 'endOfMonth() June → day 30', - passed: false, - expected: '30', - actual: `Error: ${e}`, - }); - } - - // Test: isToday() - try { - const todayTs = now(); - const result = isToday(todayTs); - testResults.push({ - name: 'isToday(now()) = true', - passed: result === true, - expected: 'true', - actual: String(result), - }); - } catch (e) { - testResults.push({ - name: 'isToday(now()) = true', - passed: false, - expected: 'true', - actual: `Error: ${e}`, - }); - } - - // Test: formatDistance() - try { - const past = parse('2024-01-01'); - const future = parse('2024-01-10'); - const distance = formatDistance(past, future, true); - const hasText = typeof distance === 'string' && distance.length > 0; - testResults.push({ - name: 'formatDistance() returns string', - passed: hasText, - expected: 'non-empty string', - actual: distance, - }); - } catch (e) { - testResults.push({ - name: 'formatDistance() returns string', - passed: false, - expected: 'non-empty string', - actual: `Error: ${e}`, - }); - } - - // Test: getTimezone() - try { - const tz = getTimezone(); - const isValid = typeof tz === 'string' && tz.length > 0; - testResults.push({ - name: 'getTimezone() returns string', - passed: isValid, - expected: 'non-empty string', - actual: tz, - }); - } catch (e) { - testResults.push({ - name: 'getTimezone() returns string', - passed: false, - expected: 'non-empty string', - actual: `Error: ${e}`, - }); - } - - setResults(testResults); - setLoading(false); - }; - - const passedCount = results.filter((r) => r.passed).length; - const failedCount = results.filter((r) => !r.passed).length; - - return ( - - - Expo + react-native-date - Testing Nitro Modules compatibility - - - - {loading ? 'Running...' : 'Run Tests'} - - - - {results.length > 0 && ( - - - ✅ {passedCount} passed | ❌ {failedCount} failed - - - )} - - - {results.map((result, index) => ( - - - {result.passed ? '✅' : '❌'} {result.name} - - {!result.passed && ( - - Expected: {result.expected} | Actual: {result.actual} - - )} - - ))} - - - ); -} - -const styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: '#f5f5f5', - paddingTop: 20, - }, - title: { - fontSize: 24, - fontWeight: 'bold', - textAlign: 'center', - marginBottom: 4, - }, - subtitle: { - fontSize: 14, - color: '#666', - textAlign: 'center', - marginBottom: 20, - }, - button: { - backgroundColor: '#007AFF', - paddingVertical: 12, - paddingHorizontal: 24, - borderRadius: 8, - marginHorizontal: 20, - alignItems: 'center', - }, - buttonText: { - color: '#fff', - fontSize: 16, - fontWeight: '600', - }, - summary: { - padding: 16, - alignItems: 'center', - }, - summaryText: { - fontSize: 16, - fontWeight: '600', - }, - results: { - flex: 1, - paddingHorizontal: 16, - }, - resultItem: { - padding: 12, - borderRadius: 8, - marginBottom: 8, - }, - passed: { - backgroundColor: '#d4edda', - }, - failed: { - backgroundColor: '#f8d7da', - }, - resultName: { - fontSize: 14, - fontWeight: '500', - }, - resultDetails: { - fontSize: 12, - color: '#666', - marginTop: 4, - }, -}); diff --git a/packages/native-date/expo-example/yarn.lock b/packages/native-date/expo-example/yarn.lock deleted file mode 100644 index e69de29..0000000 diff --git a/yarn.lock b/yarn.lock index 810babf..e252185 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,6 +5,18 @@ __metadata: version: 8 cacheKey: 10c0 +"@0no-co/graphql.web@npm:^1.0.13, @0no-co/graphql.web@npm:^1.0.8": + version: 1.2.0 + resolution: "@0no-co/graphql.web@npm:1.2.0" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 + peerDependenciesMeta: + graphql: + optional: true + checksum: 10c0/4eed600962bfab42afb49cddcfb31a47b00502f59707609cf160559920ce0f5cf8874791e4cafc465ede30ae291992f3f892bc757b2a989e80e50e358f71c518 + languageName: node + linkType: hard + "@algolia/abtesting@npm:1.12.3": version: 1.12.3 resolution: "@algolia/abtesting@npm:1.12.3" @@ -218,7 +230,16 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.27.1, @babel/code-frame@npm:^7.28.6": +"@babel/code-frame@npm:7.10.4, @babel/code-frame@npm:~7.10.4": + version: 7.10.4 + resolution: "@babel/code-frame@npm:7.10.4" + dependencies: + "@babel/highlight": "npm:^7.10.4" + checksum: 10c0/69e0f52986a1f40231d891224f420436629b6678711b68c088e97b7bdba1607aeb5eb9cfb070275c433f0bf43c37c134845db80d1cdbf5ac88a69b0bdcce9402 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.20.0, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.27.1, @babel/code-frame@npm:^7.28.6": version: 7.28.6 resolution: "@babel/code-frame@npm:7.28.6" dependencies: @@ -236,7 +257,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.9, @babel/core@npm:^7.25.2, @babel/core@npm:^7.27.4": +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.20.0, @babel/core@npm:^7.23.9, @babel/core@npm:^7.25.2, @babel/core@npm:^7.27.4": version: 7.28.6 resolution: "@babel/core@npm:7.28.6" dependencies: @@ -273,7 +294,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.25.0, @babel/generator@npm:^7.27.5, @babel/generator@npm:^7.28.6": +"@babel/generator@npm:^7.20.5, @babel/generator@npm:^7.25.0, @babel/generator@npm:^7.27.5, @babel/generator@npm:^7.28.6": version: 7.28.6 resolution: "@babel/generator@npm:7.28.6" dependencies: @@ -370,7 +391,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.27.1, @babel/helper-module-imports@npm:^7.28.6": +"@babel/helper-module-imports@npm:^7.25.9, @babel/helper-module-imports@npm:^7.27.1, @babel/helper-module-imports@npm:^7.28.6": version: 7.28.6 resolution: "@babel/helper-module-imports@npm:7.28.6" dependencies: @@ -452,7 +473,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.28.5": +"@babel/helper-validator-identifier@npm:^7.25.9, @babel/helper-validator-identifier@npm:^7.28.5": version: 7.28.5 resolution: "@babel/helper-validator-identifier@npm:7.28.5" checksum: 10c0/42aaebed91f739a41f3d80b72752d1f95fd7c72394e8e4bd7cdd88817e0774d80a432451bcba17c2c642c257c483bf1d409dd4548883429ea9493a3bc4ab0847 @@ -487,6 +508,18 @@ __metadata: languageName: node linkType: hard +"@babel/highlight@npm:^7.10.4": + version: 7.25.9 + resolution: "@babel/highlight@npm:7.25.9" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.25.9" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.0.0" + checksum: 10c0/ae0ed93c151b85a07df42936117fa593ce91563a22dfc8944a90ae7088c9679645c33e00dcd20b081c1979665d65f986241172dae1fc9e5922692fc3ff685a49 + languageName: node + linkType: hard + "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.28.5, @babel/parser@npm:^7.28.6": version: 7.28.6 resolution: "@babel/parser@npm:7.28.6" @@ -557,6 +590,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-proposal-decorators@npm:^7.12.9": + version: 7.28.6 + resolution: "@babel/plugin-proposal-decorators@npm:7.28.6" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/plugin-syntax-decorators": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e2a4fa4e487ca4c794105c26743ace37cdcb5c67e7290584e7d9d349b3f81c813452a7f9ecfb4263de2d699db9e428558221da84c25e7621f90165266e853552 + languageName: node + linkType: hard + "@babel/plugin-proposal-export-default-from@npm:^7.24.7": version: 7.27.1 resolution: "@babel/plugin-proposal-export-default-from@npm:7.27.1" @@ -621,6 +667,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-decorators@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-syntax-decorators@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/bd12119646f65e156709d1d6f4949758de36a4192c5c3057b5a5972b896386da5411a763aba087691edf539808616b254b84084b3340cff6e7968f9cab5004dd + languageName: node + linkType: hard + "@babel/plugin-syntax-dynamic-import@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" @@ -891,7 +948,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.28.6": +"@babel/plugin-transform-class-static-block@npm:^7.27.1, @babel/plugin-transform-class-static-block@npm:^7.28.6": version: 7.28.6 resolution: "@babel/plugin-transform-class-static-block@npm:7.28.6" dependencies: @@ -1012,7 +1069,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.27.1": +"@babel/plugin-transform-export-namespace-from@npm:^7.25.9, @babel/plugin-transform-export-namespace-from@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-export-namespace-from@npm:7.27.1" dependencies: @@ -1639,7 +1696,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-react@npm:^7.24.7": +"@babel/preset-react@npm:^7.22.15, @babel/preset-react@npm:^7.24.7": version: 7.28.5 resolution: "@babel/preset-react@npm:7.28.5" dependencies: @@ -1655,7 +1712,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-typescript@npm:^7.24.7": +"@babel/preset-typescript@npm:^7.23.0, @babel/preset-typescript@npm:^7.24.7": version: 7.28.5 resolution: "@babel/preset-typescript@npm:7.28.5" dependencies: @@ -1670,7 +1727,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.25.0": +"@babel/runtime@npm:^7.20.0, @babel/runtime@npm:^7.25.0": version: 7.28.6 resolution: "@babel/runtime@npm:7.28.6" checksum: 10c0/358cf2429992ac1c466df1a21c1601d595c46930a13c1d4662fde908d44ee78ec3c183aaff513ecb01ef8c55c3624afe0309eeeb34715672dbfadb7feedb2c0d @@ -1703,7 +1760,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.2, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.5, @babel/types@npm:^7.28.6, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.2, @babel/types@npm:^7.26.0, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.5, @babel/types@npm:^7.28.6, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": version: 7.28.6 resolution: "@babel/types@npm:7.28.6" dependencies: @@ -1720,7 +1777,7 @@ __metadata: languageName: node linkType: hard -"@bernagl/react-native-date@workspace:packages/native-date": +"@bernagl/react-native-date@npm:*, @bernagl/react-native-date@workspace:packages/native-date": version: 0.0.0-use.local resolution: "@bernagl/react-native-date@workspace:packages/native-date" dependencies: @@ -2284,6 +2341,443 @@ __metadata: languageName: node linkType: hard +"@expo/cli@npm:54.0.21": + version: 54.0.21 + resolution: "@expo/cli@npm:54.0.21" + dependencies: + "@0no-co/graphql.web": "npm:^1.0.8" + "@expo/code-signing-certificates": "npm:^0.0.6" + "@expo/config": "npm:~12.0.13" + "@expo/config-plugins": "npm:~54.0.4" + "@expo/devcert": "npm:^1.2.1" + "@expo/env": "npm:~2.0.8" + "@expo/image-utils": "npm:^0.8.8" + "@expo/json-file": "npm:^10.0.8" + "@expo/metro": "npm:~54.2.0" + "@expo/metro-config": "npm:~54.0.13" + "@expo/osascript": "npm:^2.3.8" + "@expo/package-manager": "npm:^1.9.9" + "@expo/plist": "npm:^0.4.8" + "@expo/prebuild-config": "npm:^54.0.8" + "@expo/schema-utils": "npm:^0.1.8" + "@expo/spawn-async": "npm:^1.7.2" + "@expo/ws-tunnel": "npm:^1.0.1" + "@expo/xcpretty": "npm:^4.3.0" + "@react-native/dev-middleware": "npm:0.81.5" + "@urql/core": "npm:^5.0.6" + "@urql/exchange-retry": "npm:^1.3.0" + accepts: "npm:^1.3.8" + arg: "npm:^5.0.2" + better-opn: "npm:~3.0.2" + bplist-creator: "npm:0.1.0" + bplist-parser: "npm:^0.3.1" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.3.0" + compression: "npm:^1.7.4" + connect: "npm:^3.7.0" + debug: "npm:^4.3.4" + env-editor: "npm:^0.4.1" + expo-server: "npm:^1.0.5" + freeport-async: "npm:^2.0.0" + getenv: "npm:^2.0.0" + glob: "npm:^13.0.0" + lan-network: "npm:^0.1.6" + minimatch: "npm:^9.0.0" + node-forge: "npm:^1.3.3" + npm-package-arg: "npm:^11.0.0" + ora: "npm:^3.4.0" + picomatch: "npm:^3.0.1" + pretty-bytes: "npm:^5.6.0" + pretty-format: "npm:^29.7.0" + progress: "npm:^2.0.3" + prompts: "npm:^2.3.2" + qrcode-terminal: "npm:0.11.0" + require-from-string: "npm:^2.0.2" + requireg: "npm:^0.2.2" + resolve: "npm:^1.22.2" + resolve-from: "npm:^5.0.0" + resolve.exports: "npm:^2.0.3" + semver: "npm:^7.6.0" + send: "npm:^0.19.0" + slugify: "npm:^1.3.4" + source-map-support: "npm:~0.5.21" + stacktrace-parser: "npm:^0.1.10" + structured-headers: "npm:^0.4.1" + tar: "npm:^7.5.2" + terminal-link: "npm:^2.1.1" + undici: "npm:^6.18.2" + wrap-ansi: "npm:^7.0.0" + ws: "npm:^8.12.1" + peerDependencies: + expo: "*" + expo-router: "*" + react-native: "*" + peerDependenciesMeta: + expo-router: + optional: true + react-native: + optional: true + bin: + expo-internal: build/bin/cli + checksum: 10c0/3d4c8b7fa9a8934bf029f8b918b6dd6cd240f0120163b765fc733262caf63981d07e62a967734d793c9511363513005ad6d45d4e03546ba594bbdb6a0a81ce3e + languageName: node + linkType: hard + +"@expo/code-signing-certificates@npm:^0.0.6": + version: 0.0.6 + resolution: "@expo/code-signing-certificates@npm:0.0.6" + dependencies: + node-forge: "npm:^1.3.3" + checksum: 10c0/3c60be55fb056ccebf7355c1dbe959cee191eaa1c33c6ff5a7331c1ffe1cfa66edc6b62e8005b4a9023bbd40462d81d35284e79eaa8893facb2493801685bbea + languageName: node + linkType: hard + +"@expo/config-plugins@npm:~54.0.4": + version: 54.0.4 + resolution: "@expo/config-plugins@npm:54.0.4" + dependencies: + "@expo/config-types": "npm:^54.0.10" + "@expo/json-file": "npm:~10.0.8" + "@expo/plist": "npm:^0.4.8" + "@expo/sdk-runtime-versions": "npm:^1.0.0" + chalk: "npm:^4.1.2" + debug: "npm:^4.3.5" + getenv: "npm:^2.0.0" + glob: "npm:^13.0.0" + resolve-from: "npm:^5.0.0" + semver: "npm:^7.5.4" + slash: "npm:^3.0.0" + slugify: "npm:^1.6.6" + xcode: "npm:^3.0.1" + xml2js: "npm:0.6.0" + checksum: 10c0/c7537485a0e883d8a98f1fb93335a1f56d4be2c2a4b5676ba09a8e9253190996241022f841c437e64578fa63b20b6ecf843d88b52930b890fa199d7aa188253f + languageName: node + linkType: hard + +"@expo/config-types@npm:^54.0.10": + version: 54.0.10 + resolution: "@expo/config-types@npm:54.0.10" + checksum: 10c0/a304e18314937cbe3a146fe7daf23d5b78049676dabc14b1e181330f9e74ab2f4ada288f23999f254b59ee7c59380f895ffcb536f537e9039cd10336b1c1d7bc + languageName: node + linkType: hard + +"@expo/config@npm:~12.0.13": + version: 12.0.13 + resolution: "@expo/config@npm:12.0.13" + dependencies: + "@babel/code-frame": "npm:~7.10.4" + "@expo/config-plugins": "npm:~54.0.4" + "@expo/config-types": "npm:^54.0.10" + "@expo/json-file": "npm:^10.0.8" + deepmerge: "npm:^4.3.1" + getenv: "npm:^2.0.0" + glob: "npm:^13.0.0" + require-from-string: "npm:^2.0.2" + resolve-from: "npm:^5.0.0" + resolve-workspace-root: "npm:^2.0.0" + semver: "npm:^7.6.0" + slugify: "npm:^1.3.4" + sucrase: "npm:~3.35.1" + checksum: 10c0/c81494670424251b629f3c1a3ff8eb76e40b51838dbeaa793f6f763d0252fa506d5c7bf60dc358555a64bded7e9c33731169675a56604ff439510359e41b6d10 + languageName: node + linkType: hard + +"@expo/devcert@npm:^1.2.1": + version: 1.2.1 + resolution: "@expo/devcert@npm:1.2.1" + dependencies: + "@expo/sudo-prompt": "npm:^9.3.1" + debug: "npm:^3.1.0" + checksum: 10c0/7c5cb4fa74a14702a44b4772a56f27fd191b6cd08988f3da01323f6d592623c80247171b7d66b2c0a32408f48a0814162dbb2764042444887f27e38b89ad1051 + languageName: node + linkType: hard + +"@expo/devtools@npm:0.1.8": + version: 0.1.8 + resolution: "@expo/devtools@npm:0.1.8" + dependencies: + chalk: "npm:^4.1.2" + peerDependencies: + react: "*" + react-native: "*" + peerDependenciesMeta: + react: + optional: true + react-native: + optional: true + checksum: 10c0/dc4e095e5f4508370ae2258f23370a295b9400c87f29aee2338caa3ca3733d789ba3ff1bfafbf5fa285ac6974aec89b3cbf363fca5885eb9be3973ac1a7d7fa8 + languageName: node + linkType: hard + +"@expo/env@npm:~2.0.8": + version: 2.0.8 + resolution: "@expo/env@npm:2.0.8" + dependencies: + chalk: "npm:^4.0.0" + debug: "npm:^4.3.4" + dotenv: "npm:~16.4.5" + dotenv-expand: "npm:~11.0.6" + getenv: "npm:^2.0.0" + checksum: 10c0/e6e4cd1be45a6873f5ad4a6a2176957897159b08104f04ea8f28a9d9f38abe0d109ded76ac197c0edba1ac606c14a034be19cfda75b44111be85b78a2d209375 + languageName: node + linkType: hard + +"@expo/fingerprint@npm:0.15.4": + version: 0.15.4 + resolution: "@expo/fingerprint@npm:0.15.4" + dependencies: + "@expo/spawn-async": "npm:^1.7.2" + arg: "npm:^5.0.2" + chalk: "npm:^4.1.2" + debug: "npm:^4.3.4" + getenv: "npm:^2.0.0" + glob: "npm:^13.0.0" + ignore: "npm:^5.3.1" + minimatch: "npm:^9.0.0" + p-limit: "npm:^3.1.0" + resolve-from: "npm:^5.0.0" + semver: "npm:^7.6.0" + bin: + fingerprint: bin/cli.js + checksum: 10c0/fe5aa9eff4f649cc58aa0b67cd6b93845ddc81b49a61f03c50632405bf2b99fc83ecbb15c527bfddc0156f8fad297f066dd46edf4cfa17580025fb192d7a98ee + languageName: node + linkType: hard + +"@expo/image-utils@npm:^0.8.8": + version: 0.8.8 + resolution: "@expo/image-utils@npm:0.8.8" + dependencies: + "@expo/spawn-async": "npm:^1.7.2" + chalk: "npm:^4.0.0" + getenv: "npm:^2.0.0" + jimp-compact: "npm:0.16.1" + parse-png: "npm:^2.1.0" + resolve-from: "npm:^5.0.0" + resolve-global: "npm:^1.0.0" + semver: "npm:^7.6.0" + temp-dir: "npm:~2.0.0" + unique-string: "npm:~2.0.0" + checksum: 10c0/d08a93036d865b52d1a4848597bd872192c7023d415f62ed744e9ff20fd9e68308ade06b39c25b0eabbc04745ffa68c4b5a8d79883adb0c32738e1a414d7d62e + languageName: node + linkType: hard + +"@expo/json-file@npm:^10.0.8, @expo/json-file@npm:~10.0.8": + version: 10.0.8 + resolution: "@expo/json-file@npm:10.0.8" + dependencies: + "@babel/code-frame": "npm:~7.10.4" + json5: "npm:^2.2.3" + checksum: 10c0/dddd7ef7966fe0d29d1cad5a1d517d01c4e6a7b55cd15e901b947e7832d613aa1b982de5336d1305a3714bb4b5e3d78110c0ff799ca33fd54a8cd887f8ba533d + languageName: node + linkType: hard + +"@expo/metro-config@npm:54.0.13": + version: 54.0.13 + resolution: "@expo/metro-config@npm:54.0.13" + dependencies: + "@babel/code-frame": "npm:^7.20.0" + "@babel/core": "npm:^7.20.0" + "@babel/generator": "npm:^7.20.5" + "@expo/config": "npm:~12.0.13" + "@expo/env": "npm:~2.0.8" + "@expo/json-file": "npm:~10.0.8" + "@expo/metro": "npm:~54.2.0" + "@expo/spawn-async": "npm:^1.7.2" + browserslist: "npm:^4.25.0" + chalk: "npm:^4.1.0" + debug: "npm:^4.3.2" + dotenv: "npm:~16.4.5" + dotenv-expand: "npm:~11.0.6" + getenv: "npm:^2.0.0" + glob: "npm:^13.0.0" + hermes-parser: "npm:^0.29.1" + jsc-safe-url: "npm:^0.2.4" + lightningcss: "npm:^1.30.1" + minimatch: "npm:^9.0.0" + postcss: "npm:~8.4.32" + resolve-from: "npm:^5.0.0" + peerDependencies: + expo: "*" + peerDependenciesMeta: + expo: + optional: true + checksum: 10c0/9876b9ef40742c879e94e80386d5238e9f4954d752d72251ade4e9bdf944ae5afdcc5ce877bffdf461ebec8775faed7b04d084ac1ac52283e64f86a122780d4e + languageName: node + linkType: hard + +"@expo/metro-config@npm:~54.0.13": + version: 54.0.14 + resolution: "@expo/metro-config@npm:54.0.14" + dependencies: + "@babel/code-frame": "npm:^7.20.0" + "@babel/core": "npm:^7.20.0" + "@babel/generator": "npm:^7.20.5" + "@expo/config": "npm:~12.0.13" + "@expo/env": "npm:~2.0.8" + "@expo/json-file": "npm:~10.0.8" + "@expo/metro": "npm:~54.2.0" + "@expo/spawn-async": "npm:^1.7.2" + browserslist: "npm:^4.25.0" + chalk: "npm:^4.1.0" + debug: "npm:^4.3.2" + dotenv: "npm:~16.4.5" + dotenv-expand: "npm:~11.0.6" + getenv: "npm:^2.0.0" + glob: "npm:^13.0.0" + hermes-parser: "npm:^0.29.1" + jsc-safe-url: "npm:^0.2.4" + lightningcss: "npm:^1.30.1" + minimatch: "npm:^9.0.0" + postcss: "npm:~8.4.32" + resolve-from: "npm:^5.0.0" + peerDependencies: + expo: "*" + peerDependenciesMeta: + expo: + optional: true + checksum: 10c0/a8213d3167c39ff3fd7973e4de35fc12ee0b56564ff9f8def3b92ec7204a92174f6bbd7036bc87c893d0a82583c92c7f81271c58f366c26e4c11ab2b86642fb7 + languageName: node + linkType: hard + +"@expo/metro@npm:~54.2.0": + version: 54.2.0 + resolution: "@expo/metro@npm:54.2.0" + dependencies: + metro: "npm:0.83.3" + metro-babel-transformer: "npm:0.83.3" + metro-cache: "npm:0.83.3" + metro-cache-key: "npm:0.83.3" + metro-config: "npm:0.83.3" + metro-core: "npm:0.83.3" + metro-file-map: "npm:0.83.3" + metro-minify-terser: "npm:0.83.3" + metro-resolver: "npm:0.83.3" + metro-runtime: "npm:0.83.3" + metro-source-map: "npm:0.83.3" + metro-symbolicate: "npm:0.83.3" + metro-transform-plugins: "npm:0.83.3" + metro-transform-worker: "npm:0.83.3" + checksum: 10c0/5114ac19021094e19fcbd383778748451bdf78c904cb9be831b04d44880b4ca05071c1e045e5ccf8076418e32a87de2e5163529f1d91fed4bdda2184958e8a61 + languageName: node + linkType: hard + +"@expo/osascript@npm:^2.3.8": + version: 2.3.8 + resolution: "@expo/osascript@npm:2.3.8" + dependencies: + "@expo/spawn-async": "npm:^1.7.2" + exec-async: "npm:^2.2.0" + checksum: 10c0/5991c363fb33fb1f740eb8bfdb7ccafd1944a6d89a644ec20dd76b546ffa995a3963727150155391287536046f5f47c7efae003a27a86299224d55191e2f65cb + languageName: node + linkType: hard + +"@expo/package-manager@npm:^1.9.9": + version: 1.9.10 + resolution: "@expo/package-manager@npm:1.9.10" + dependencies: + "@expo/json-file": "npm:^10.0.8" + "@expo/spawn-async": "npm:^1.7.2" + chalk: "npm:^4.0.0" + npm-package-arg: "npm:^11.0.0" + ora: "npm:^3.4.0" + resolve-workspace-root: "npm:^2.0.0" + checksum: 10c0/6095a02b3f8d4b9d152a08202cbf8d647bc2d29a08686332c4d80cd1c579ac8880fa87847d70a938b58a66e334fbc4c0f86a463f0a33bcf3811e77dda2cba1aa + languageName: node + linkType: hard + +"@expo/plist@npm:^0.4.8": + version: 0.4.8 + resolution: "@expo/plist@npm:0.4.8" + dependencies: + "@xmldom/xmldom": "npm:^0.8.8" + base64-js: "npm:^1.2.3" + xmlbuilder: "npm:^15.1.1" + checksum: 10c0/5bacdb6f8c5e0e56da07f4504290036e3a5433164a29bea7857e72234137d8eaa04adb319221fcc1ec7f931d40d7f9f6fc9528fa601ed18c308a4cf8179f7783 + languageName: node + linkType: hard + +"@expo/prebuild-config@npm:^54.0.8": + version: 54.0.8 + resolution: "@expo/prebuild-config@npm:54.0.8" + dependencies: + "@expo/config": "npm:~12.0.13" + "@expo/config-plugins": "npm:~54.0.4" + "@expo/config-types": "npm:^54.0.10" + "@expo/image-utils": "npm:^0.8.8" + "@expo/json-file": "npm:^10.0.8" + "@react-native/normalize-colors": "npm:0.81.5" + debug: "npm:^4.3.1" + resolve-from: "npm:^5.0.0" + semver: "npm:^7.6.0" + xml2js: "npm:0.6.0" + peerDependencies: + expo: "*" + checksum: 10c0/70bef3fe360a7035b449e9f137e5046c6fe9137f2220f87bb563af2c34de4593034cd68cea5716ae98930e43a63331659795d1ec2af0f9a905565f2086f7c1a1 + languageName: node + linkType: hard + +"@expo/schema-utils@npm:^0.1.8": + version: 0.1.8 + resolution: "@expo/schema-utils@npm:0.1.8" + checksum: 10c0/9a600ac858bcd1bd24ccac3e86cbef996c2c58cb20ce61fb1fc753f36dce4a000510e61b803ad5cb221a16caa38b54b243f08ac08e0de69e4aa556798d877f02 + languageName: node + linkType: hard + +"@expo/sdk-runtime-versions@npm:^1.0.0": + version: 1.0.0 + resolution: "@expo/sdk-runtime-versions@npm:1.0.0" + checksum: 10c0/f80ae78a294daf396f3eff2eb412948ced5501395a6d3b88058866da9c5135dbacbb2804f8d062222e7452159a61eebefd2f548a2939f539f0f0efe8145588a2 + languageName: node + linkType: hard + +"@expo/spawn-async@npm:^1.7.2": + version: 1.7.2 + resolution: "@expo/spawn-async@npm:1.7.2" + dependencies: + cross-spawn: "npm:^7.0.3" + checksum: 10c0/0548c4e95ee39393c2f3919bc605f21eba4f0a8ba66fa82fbbc4b1b624e0054526918489227b924f03af5bc156a011f39a2472c223c0d2237fb7afd8dedd5357 + languageName: node + linkType: hard + +"@expo/sudo-prompt@npm:^9.3.1": + version: 9.3.2 + resolution: "@expo/sudo-prompt@npm:9.3.2" + checksum: 10c0/032652bf1c3f326c9c194f336de5821b9ece9d48b22e3e277950d939fcd728c85459680a9771705904d375f128221cca2e1e91c5d7a85cf3c07fe6f88c361e9d + languageName: node + linkType: hard + +"@expo/vector-icons@npm:^15.0.3": + version: 15.0.3 + resolution: "@expo/vector-icons@npm:15.0.3" + peerDependencies: + expo-font: ">=14.0.4" + react: "*" + react-native: "*" + checksum: 10c0/f33274dede267c713618512969afdee28e47e97ba8a7ee7e1d0ab18b417683ace7c4a1b79152d6ec2d254420a23a685582fd956f6cd83a2120514d9efbab1109 + languageName: node + linkType: hard + +"@expo/ws-tunnel@npm:^1.0.1": + version: 1.0.6 + resolution: "@expo/ws-tunnel@npm:1.0.6" + checksum: 10c0/050eb7fbd54b636c97c818e7ec5402ce616cae655290386a51600b200947e281cdd12d182251c07fab449e11a732135d61429b738cd03945e94757061e652ecd + languageName: node + linkType: hard + +"@expo/xcpretty@npm:^4.3.0": + version: 4.3.2 + resolution: "@expo/xcpretty@npm:4.3.2" + dependencies: + "@babel/code-frame": "npm:7.10.4" + chalk: "npm:^4.1.0" + find-up: "npm:^5.0.0" + js-yaml: "npm:^4.1.0" + bin: + excpretty: build/cli.js + checksum: 10c0/e524817b2e42fb8c8914fca7e8f7c2f723f4f6d338a57b7ae97cd3e76da8108af63a22d4c7dc2e96a192a248a242f6e0f8056f0ca53bc4fb5cd2e5ae428e0891 + languageName: node + linkType: hard + "@hapi/hoek@npm:^9.0.0, @hapi/hoek@npm:^9.3.0": version: 9.3.0 resolution: "@hapi/hoek@npm:9.3.0" @@ -2760,7 +3254,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.5": +"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.13 resolution: "@jridgewell/gen-mapping@npm:0.3.13" dependencies: @@ -3082,6 +3576,13 @@ __metadata: languageName: node linkType: hard +"@react-native/assets-registry@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/assets-registry@npm:0.81.5" + checksum: 10c0/88edc316ccccc9e86f03cb591696b02cac541808d89a7480450fd529b1a7363373411018720b492352805f867003f6a71ac1e6363d7b797d3502ea89bcbb2a47 + languageName: node + linkType: hard + "@react-native/babel-plugin-codegen@npm:0.81.1": version: 0.81.1 resolution: "@react-native/babel-plugin-codegen@npm:0.81.1" @@ -3092,6 +3593,16 @@ __metadata: languageName: node linkType: hard +"@react-native/babel-plugin-codegen@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/babel-plugin-codegen@npm:0.81.5" + dependencies: + "@babel/traverse": "npm:^7.25.3" + "@react-native/codegen": "npm:0.81.5" + checksum: 10c0/54971e723480bf5e169e1075a9525274e024c94c4286953c699ddb5f82e6229895147f19723b9f1319b55e0eaaa10389a19f349b6c0ac8451d72941a7d9f448b + languageName: node + linkType: hard + "@react-native/babel-preset@npm:0.81.1": version: 0.81.1 resolution: "@react-native/babel-preset@npm:0.81.1" @@ -3147,28 +3658,100 @@ __metadata: languageName: node linkType: hard -"@react-native/codegen@npm:0.81.1": - version: 0.81.1 - resolution: "@react-native/codegen@npm:0.81.1" +"@react-native/babel-preset@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/babel-preset@npm:0.81.5" dependencies: "@babel/core": "npm:^7.25.2" - "@babel/parser": "npm:^7.25.3" - glob: "npm:^7.1.1" - hermes-parser: "npm:0.29.1" - invariant: "npm:^2.2.4" - nullthrows: "npm:^1.1.1" - yargs: "npm:^17.6.2" - peerDependencies: - "@babel/core": "*" - checksum: 10c0/d0910a99e4174f7aaec5328a92a56c70fa0acf84062282f56dcf1ac3389e9d5b21a16b049049a79648e1b632f11872c2dca6be9670593b92ccb656922485ca2b - languageName: node - linkType: hard - -"@react-native/community-cli-plugin@npm:0.81.1": - version: 0.81.1 - resolution: "@react-native/community-cli-plugin@npm:0.81.1" - dependencies: - "@react-native/dev-middleware": "npm:0.81.1" + "@babel/plugin-proposal-export-default-from": "npm:^7.24.7" + "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" + "@babel/plugin-syntax-export-default-from": "npm:^7.24.7" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + "@babel/plugin-transform-arrow-functions": "npm:^7.24.7" + "@babel/plugin-transform-async-generator-functions": "npm:^7.25.4" + "@babel/plugin-transform-async-to-generator": "npm:^7.24.7" + "@babel/plugin-transform-block-scoping": "npm:^7.25.0" + "@babel/plugin-transform-class-properties": "npm:^7.25.4" + "@babel/plugin-transform-classes": "npm:^7.25.4" + "@babel/plugin-transform-computed-properties": "npm:^7.24.7" + "@babel/plugin-transform-destructuring": "npm:^7.24.8" + "@babel/plugin-transform-flow-strip-types": "npm:^7.25.2" + "@babel/plugin-transform-for-of": "npm:^7.24.7" + "@babel/plugin-transform-function-name": "npm:^7.25.1" + "@babel/plugin-transform-literals": "npm:^7.25.2" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.7" + "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.24.7" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.24.7" + "@babel/plugin-transform-numeric-separator": "npm:^7.24.7" + "@babel/plugin-transform-object-rest-spread": "npm:^7.24.7" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.24.7" + "@babel/plugin-transform-optional-chaining": "npm:^7.24.8" + "@babel/plugin-transform-parameters": "npm:^7.24.7" + "@babel/plugin-transform-private-methods": "npm:^7.24.7" + "@babel/plugin-transform-private-property-in-object": "npm:^7.24.7" + "@babel/plugin-transform-react-display-name": "npm:^7.24.7" + "@babel/plugin-transform-react-jsx": "npm:^7.25.2" + "@babel/plugin-transform-react-jsx-self": "npm:^7.24.7" + "@babel/plugin-transform-react-jsx-source": "npm:^7.24.7" + "@babel/plugin-transform-regenerator": "npm:^7.24.7" + "@babel/plugin-transform-runtime": "npm:^7.24.7" + "@babel/plugin-transform-shorthand-properties": "npm:^7.24.7" + "@babel/plugin-transform-spread": "npm:^7.24.7" + "@babel/plugin-transform-sticky-regex": "npm:^7.24.7" + "@babel/plugin-transform-typescript": "npm:^7.25.2" + "@babel/plugin-transform-unicode-regex": "npm:^7.24.7" + "@babel/template": "npm:^7.25.0" + "@react-native/babel-plugin-codegen": "npm:0.81.5" + babel-plugin-syntax-hermes-parser: "npm:0.29.1" + babel-plugin-transform-flow-enums: "npm:^0.0.2" + react-refresh: "npm:^0.14.0" + peerDependencies: + "@babel/core": "*" + checksum: 10c0/f3146982c329f7fa7554195e6f8689275cb737856da192a934e7b509f0a5fe07c77c24993801d44914c5c6405799e9b500d227bd1deddf19947c28af6e14ad91 + languageName: node + linkType: hard + +"@react-native/codegen@npm:0.81.1": + version: 0.81.1 + resolution: "@react-native/codegen@npm:0.81.1" + dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/parser": "npm:^7.25.3" + glob: "npm:^7.1.1" + hermes-parser: "npm:0.29.1" + invariant: "npm:^2.2.4" + nullthrows: "npm:^1.1.1" + yargs: "npm:^17.6.2" + peerDependencies: + "@babel/core": "*" + checksum: 10c0/d0910a99e4174f7aaec5328a92a56c70fa0acf84062282f56dcf1ac3389e9d5b21a16b049049a79648e1b632f11872c2dca6be9670593b92ccb656922485ca2b + languageName: node + linkType: hard + +"@react-native/codegen@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/codegen@npm:0.81.5" + dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/parser": "npm:^7.25.3" + glob: "npm:^7.1.1" + hermes-parser: "npm:0.29.1" + invariant: "npm:^2.2.4" + nullthrows: "npm:^1.1.1" + yargs: "npm:^17.6.2" + peerDependencies: + "@babel/core": "*" + checksum: 10c0/047a29fadb51f6c58ff6fbad8be3ffc395c1492a869befacd74e11df5a9fa164b15b135824404e34af409c88f722874f9311966ebe4de3dcf10846abfcce0574 + languageName: node + linkType: hard + +"@react-native/community-cli-plugin@npm:0.81.1": + version: 0.81.1 + resolution: "@react-native/community-cli-plugin@npm:0.81.1" + dependencies: + "@react-native/dev-middleware": "npm:0.81.1" debug: "npm:^4.4.0" invariant: "npm:^2.2.4" metro: "npm:^0.83.1" @@ -3187,6 +3770,29 @@ __metadata: languageName: node linkType: hard +"@react-native/community-cli-plugin@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/community-cli-plugin@npm:0.81.5" + dependencies: + "@react-native/dev-middleware": "npm:0.81.5" + debug: "npm:^4.4.0" + invariant: "npm:^2.2.4" + metro: "npm:^0.83.1" + metro-config: "npm:^0.83.1" + metro-core: "npm:^0.83.1" + semver: "npm:^7.1.3" + peerDependencies: + "@react-native-community/cli": "*" + "@react-native/metro-config": "*" + peerDependenciesMeta: + "@react-native-community/cli": + optional: true + "@react-native/metro-config": + optional: true + checksum: 10c0/754afa13dbaae2892864439878068a5858c88474c5fc041d0d085ac7b2cd1a4b04993d07c6e274790855ed06bba8b08bf0081fb76ab2b08d1aa8d665e58ddaa3 + languageName: node + linkType: hard + "@react-native/debugger-frontend@npm:0.81.1": version: 0.81.1 resolution: "@react-native/debugger-frontend@npm:0.81.1" @@ -3194,6 +3800,13 @@ __metadata: languageName: node linkType: hard +"@react-native/debugger-frontend@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/debugger-frontend@npm:0.81.5" + checksum: 10c0/6c8769526373314956ec53584b49d3ac94aace4232ba77cfdd96edaf346be8a648e2d877c719e7edaa4c1dcd6a09376012f35b25ca6498679b115815cc6940c3 + languageName: node + linkType: hard + "@react-native/dev-middleware@npm:0.81.1": version: 0.81.1 resolution: "@react-native/dev-middleware@npm:0.81.1" @@ -3213,6 +3826,25 @@ __metadata: languageName: node linkType: hard +"@react-native/dev-middleware@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/dev-middleware@npm:0.81.5" + dependencies: + "@isaacs/ttlcache": "npm:^1.4.1" + "@react-native/debugger-frontend": "npm:0.81.5" + chrome-launcher: "npm:^0.15.2" + chromium-edge-launcher: "npm:^0.2.0" + connect: "npm:^3.6.5" + debug: "npm:^4.4.0" + invariant: "npm:^2.2.4" + nullthrows: "npm:^1.1.1" + open: "npm:^7.0.3" + serve-static: "npm:^1.16.2" + ws: "npm:^6.2.3" + checksum: 10c0/d057b320940626d41db7f02ac249b9fdba2569ea3167864986bfe61028c4f890cefe24a5b8d4cd1b33c8c33ab547aa361d13a6cdaf991475302eb83a4ab3372a + languageName: node + linkType: hard + "@react-native/eslint-config@npm:^0.81.1": version: 0.81.5 resolution: "@react-native/eslint-config@npm:0.81.5" @@ -3250,6 +3882,13 @@ __metadata: languageName: node linkType: hard +"@react-native/gradle-plugin@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/gradle-plugin@npm:0.81.5" + checksum: 10c0/0acb06543b4a42daa49c437b608170d25efd3214cf01706b4138a7fb52604f590a680c7d4a4574b43983af80406f781bd3ef692208b4f237dc9902aa14037f6b + languageName: node + linkType: hard + "@react-native/js-polyfills@npm:0.81.1": version: 0.81.1 resolution: "@react-native/js-polyfills@npm:0.81.1" @@ -3257,6 +3896,13 @@ __metadata: languageName: node linkType: hard +"@react-native/js-polyfills@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/js-polyfills@npm:0.81.5" + checksum: 10c0/337d0f263a94f9f38a39efba5081481fe7ff0b6499f77708d97aa3d18cad527adec7f94a21f9af62ec4d78448a39f545223b52cca8c07c10a52b0468b456dd46 + languageName: node + linkType: hard + "@react-native/metro-babel-transformer@npm:0.81.1": version: 0.81.1 resolution: "@react-native/metro-babel-transformer@npm:0.81.1" @@ -3290,6 +3936,13 @@ __metadata: languageName: node linkType: hard +"@react-native/normalize-colors@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/normalize-colors@npm:0.81.5" + checksum: 10c0/827b120eedd0bf90ab3113e5a74900d15f73bfd826451d493f8047f78824894c516ccaf85bb02fcbe5f11b9f8852c1266593f1999e46a5752ff34b0a2db89a97 + languageName: node + linkType: hard + "@react-native/typescript-config@npm:0.81.1": version: 0.81.1 resolution: "@react-native/typescript-config@npm:0.81.1" @@ -3314,13 +3967,50 @@ __metadata: languageName: node linkType: hard -"@rn-packages/native-date-example@workspace:packages/native-date/example": +"@react-native/virtualized-lists@npm:0.81.5": + version: 0.81.5 + resolution: "@react-native/virtualized-lists@npm:0.81.5" + dependencies: + invariant: "npm:^2.2.4" + nullthrows: "npm:^1.1.1" + peerDependencies: + "@types/react": ^19.1.0 + react: "*" + react-native: "*" + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/2f38e73d850e4c7f8bf9e6598ebdf97c524d6ddfa720044798e827aaa613ff6dc47dbdb8e440ce370f92f7ff932f0ac3204328287e79d7e3b8ac8db5651d0b4d + languageName: node + linkType: hard + +"@rn-packages/expo-example@workspace:packages/expo-example": version: 0.0.0-use.local - resolution: "@rn-packages/native-date-example@workspace:packages/native-date/example" + resolution: "@rn-packages/expo-example@workspace:packages/expo-example" + dependencies: + "@bernagl/react-native-date": "npm:*" + "@date-fns/tz": "npm:^1.4.1" + "@rn-packages/native-date-examples": "npm:*" + "@types/react": "npm:~19.1.0" + date-fns: "npm:^4.1.0" + dayjs: "npm:^1.11.19" + expo: "npm:~54.0.31" + expo-status-bar: "npm:~3.0.9" + react: "npm:19.1.0" + react-native: "npm:0.81.5" + react-native-nitro-modules: "npm:^0.31.10" + typescript: "npm:~5.9.2" + languageName: unknown + linkType: soft + +"@rn-packages/native-date-example@workspace:packages/example": + version: 0.0.0-use.local + resolution: "@rn-packages/native-date-example@workspace:packages/example" dependencies: "@babel/core": "npm:^7.25.2" "@babel/preset-env": "npm:^7.25.3" "@babel/runtime": "npm:^7.25.0" + "@bernagl/react-native-date": "npm:*" "@date-fns/tz": "npm:^1.4.1" "@react-native-community/cli": "npm:20.0.0" "@react-native-community/cli-platform-android": "npm:20.0.0" @@ -3328,6 +4018,7 @@ __metadata: "@react-native/babel-preset": "npm:0.81.1" "@react-native/metro-config": "npm:0.81.1" "@react-native/typescript-config": "npm:0.81.1" + "@rn-packages/native-date-examples": "npm:*" "@types/luxon": "npm:^3.7.1" "@types/react": "npm:^19.1.0" date-fns: "npm:^4.1.0" @@ -3341,6 +4032,26 @@ __metadata: languageName: unknown linkType: soft +"@rn-packages/native-date-examples@npm:*, @rn-packages/native-date-examples@workspace:packages/native-date-examples": + version: 0.0.0-use.local + resolution: "@rn-packages/native-date-examples@workspace:packages/native-date-examples" + dependencies: + "@types/react": "npm:^19.1.0" + typescript: "npm:^5.0.0" + peerDependencies: + "@bernagl/react-native-date": "*" + react: "*" + react-native: "*" + peerDependenciesMeta: + "@date-fns/tz": + optional: true + date-fns: + optional: true + dayjs: + optional: true + languageName: unknown + linkType: soft + "@rollup/rollup-android-arm-eabi@npm:4.55.1": version: 4.55.1 resolution: "@rollup/rollup-android-arm-eabi@npm:4.55.1" @@ -3862,6 +4573,15 @@ __metadata: languageName: node linkType: hard +"@types/react@npm:~19.1.0": + version: 19.1.17 + resolution: "@types/react@npm:19.1.17" + dependencies: + csstype: "npm:^3.0.2" + checksum: 10c0/8a8369ea00fc961f0884be4d1da4a039b2b6445de9c8b690ed0ebe15acfb0b1f27005278fef1fe39a1722a30f4415778b790d0089e2b30019371c61355ea316f + languageName: node + linkType: hard + "@types/semver@npm:^7.3.12": version: 7.7.1 resolution: "@types/semver@npm:7.7.1" @@ -4229,6 +4949,28 @@ __metadata: languageName: node linkType: hard +"@urql/core@npm:^5.0.6, @urql/core@npm:^5.1.2": + version: 5.2.0 + resolution: "@urql/core@npm:5.2.0" + dependencies: + "@0no-co/graphql.web": "npm:^1.0.13" + wonka: "npm:^6.3.2" + checksum: 10c0/1893a7417c6e5e3604fc3bd27e8b63b748d1817fb906fa95beba52be103d18e015d20ca740a9be570bca2bd11e98d34f605e108a4d3428678d9a1e3368ab2275 + languageName: node + linkType: hard + +"@urql/exchange-retry@npm:^1.3.0": + version: 1.3.2 + resolution: "@urql/exchange-retry@npm:1.3.2" + dependencies: + "@urql/core": "npm:^5.1.2" + wonka: "npm:^6.3.2" + peerDependencies: + "@urql/core": ^5.0.0 + checksum: 10c0/3d7e9879aef81714ca04c8b4dc1633d61b2090f5a6d5b8aac538633d41c26e8749e18bf66bed2936b209d038b3acdd21f20bc5ec4229a449b5a0b13d5694effe + languageName: node + linkType: hard + "@vitejs/plugin-vue@npm:^5.2.1": version: 5.2.4 resolution: "@vitejs/plugin-vue@npm:5.2.4" @@ -4456,6 +5198,13 @@ __metadata: languageName: node linkType: hard +"@xmldom/xmldom@npm:^0.8.8": + version: 0.8.11 + resolution: "@xmldom/xmldom@npm:0.8.11" + checksum: 10c0/e768623de72c95d3dae6b5da8e33dda0d81665047811b5498d23a328d45b13feb5536fe921d0308b96a4a8dd8addf80b1f6ef466508051c0b581e63e0dc74ed5 + languageName: node + linkType: hard + "JSONStream@npm:^1.3.5": version: 1.3.5 resolution: "JSONStream@npm:1.3.5" @@ -4484,7 +5233,7 @@ __metadata: languageName: node linkType: hard -"accepts@npm:^1.3.7, accepts@npm:~1.3.8": +"accepts@npm:^1.3.7, accepts@npm:^1.3.8, accepts@npm:~1.3.8": version: 1.3.8 resolution: "accepts@npm:1.3.8" dependencies: @@ -4582,7 +5331,7 @@ __metadata: languageName: node linkType: hard -"ansi-escapes@npm:^4.3.2": +"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.2": version: 4.3.2 resolution: "ansi-escapes@npm:4.3.2" dependencies: @@ -4623,7 +5372,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^3.2.0": +"ansi-styles@npm:^3.2.0, ansi-styles@npm:^3.2.1": version: 3.2.1 resolution: "ansi-styles@npm:3.2.1" dependencies: @@ -4655,6 +5404,13 @@ __metadata: languageName: node linkType: hard +"any-promise@npm:^1.0.0": + version: 1.3.0 + resolution: "any-promise@npm:1.3.0" + checksum: 10c0/60f0298ed34c74fef50daab88e8dab786036ed5a7fad02e012ab57e376e0a0b4b29e83b95ea9b5e7d89df762f5f25119b83e00706ecaccb22cfbacee98d74889 + languageName: node + linkType: hard + "anymatch@npm:^3.0.3, anymatch@npm:^3.1.3": version: 3.1.3 resolution: "anymatch@npm:3.1.3" @@ -4672,6 +5428,13 @@ __metadata: languageName: node linkType: hard +"arg@npm:^5.0.2": + version: 5.0.2 + resolution: "arg@npm:5.0.2" + checksum: 10c0/ccaf86f4e05d342af6666c569f844bec426595c567d32a8289715087825c2ca7edd8a3d204e4d2fb2aa4602e09a57d0c13ea8c9eea75aac3dbb4af5514e6800e + languageName: node + linkType: hard + "argparse@npm:^1.0.7": version: 1.0.10 resolution: "argparse@npm:1.0.10" @@ -4975,7 +5738,23 @@ __metadata: languageName: node linkType: hard -"babel-plugin-syntax-hermes-parser@npm:0.29.1": +"babel-plugin-react-compiler@npm:^1.0.0": + version: 1.0.0 + resolution: "babel-plugin-react-compiler@npm:1.0.0" + dependencies: + "@babel/types": "npm:^7.26.0" + checksum: 10c0/9406267ada8d7dbdfe8906b40ecadb816a5f4cee2922bee23f7729293b369624ee135b5a9b0f263851c263c9787522ac5d97016c9a2b82d1668300e42b18aff8 + languageName: node + linkType: hard + +"babel-plugin-react-native-web@npm:~0.21.0": + version: 0.21.2 + resolution: "babel-plugin-react-native-web@npm:0.21.2" + checksum: 10c0/45fa9b2fce90cb0d962bbc9c665e944ef6720f5740a573d457adf8e2881bd4112396922d5d5c0ab7cfc706f0c457e3edebddc55289d30924e1f42b4b7d849b8e + languageName: node + linkType: hard + +"babel-plugin-syntax-hermes-parser@npm:0.29.1, babel-plugin-syntax-hermes-parser@npm:^0.29.1": version: 0.29.1 resolution: "babel-plugin-syntax-hermes-parser@npm:0.29.1" dependencies: @@ -5027,6 +5806,45 @@ __metadata: languageName: node linkType: hard +"babel-preset-expo@npm:~54.0.9": + version: 54.0.10 + resolution: "babel-preset-expo@npm:54.0.10" + dependencies: + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/plugin-proposal-decorators": "npm:^7.12.9" + "@babel/plugin-proposal-export-default-from": "npm:^7.24.7" + "@babel/plugin-syntax-export-default-from": "npm:^7.24.7" + "@babel/plugin-transform-class-static-block": "npm:^7.27.1" + "@babel/plugin-transform-export-namespace-from": "npm:^7.25.9" + "@babel/plugin-transform-flow-strip-types": "npm:^7.25.2" + "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8" + "@babel/plugin-transform-object-rest-spread": "npm:^7.24.7" + "@babel/plugin-transform-parameters": "npm:^7.24.7" + "@babel/plugin-transform-private-methods": "npm:^7.24.7" + "@babel/plugin-transform-private-property-in-object": "npm:^7.24.7" + "@babel/plugin-transform-runtime": "npm:^7.24.7" + "@babel/preset-react": "npm:^7.22.15" + "@babel/preset-typescript": "npm:^7.23.0" + "@react-native/babel-preset": "npm:0.81.5" + babel-plugin-react-compiler: "npm:^1.0.0" + babel-plugin-react-native-web: "npm:~0.21.0" + babel-plugin-syntax-hermes-parser: "npm:^0.29.1" + babel-plugin-transform-flow-enums: "npm:^0.0.2" + debug: "npm:^4.3.4" + resolve-from: "npm:^5.0.0" + peerDependencies: + "@babel/runtime": ^7.20.0 + expo: "*" + react-refresh: ">=0.14.0 <1.0.0" + peerDependenciesMeta: + "@babel/runtime": + optional: true + expo: + optional: true + checksum: 10c0/aa3203d30b5c13f79cd4996431e5a1f9a8fd8b225af8ad0f1a5573c72b4fde94bf048d71fa133701b834105900b3870c7d56b5fee91a1c5b7c9c4e9ed5b1e9db + languageName: node + linkType: hard + "babel-preset-jest@npm:30.2.0": version: 30.2.0 resolution: "babel-preset-jest@npm:30.2.0" @@ -5058,7 +5876,7 @@ __metadata: languageName: node linkType: hard -"base64-js@npm:^1.3.1, base64-js@npm:^1.5.1": +"base64-js@npm:^1.2.3, base64-js@npm:^1.3.1, base64-js@npm:^1.5.1": version: 1.5.1 resolution: "base64-js@npm:1.5.1" checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf @@ -5074,6 +5892,22 @@ __metadata: languageName: node linkType: hard +"better-opn@npm:~3.0.2": + version: 3.0.2 + resolution: "better-opn@npm:3.0.2" + dependencies: + open: "npm:^8.0.4" + checksum: 10c0/911ef25d44da75aabfd2444ce7a4294a8000ebcac73068c04a60298b0f7c7506b60421aa4cd02ac82502fb42baaff7e4892234b51e6923eded44c5a11185f2f5 + languageName: node + linkType: hard + +"big-integer@npm:1.6.x": + version: 1.6.52 + resolution: "big-integer@npm:1.6.52" + checksum: 10c0/9604224b4c2ab3c43c075d92da15863077a9f59e5d4205f4e7e76acd0cd47e8d469ec5e5dba8d9b32aa233951893b29329ca56ac80c20ce094b4a647a66abae0 + languageName: node + linkType: hard + "birpc@npm:^2.3.0": version: 2.9.0 resolution: "birpc@npm:2.9.0" @@ -5112,6 +5946,33 @@ __metadata: languageName: node linkType: hard +"bplist-creator@npm:0.1.0": + version: 0.1.0 + resolution: "bplist-creator@npm:0.1.0" + dependencies: + stream-buffers: "npm:2.2.x" + checksum: 10c0/86f5fe95f34abd369b381abf0f726e220ecebd60a3d932568ae94895ccf1989a87553e4aee9ab3cfb4f35e6f72319f52aa73028165eec82819ed39f15189d493 + languageName: node + linkType: hard + +"bplist-creator@npm:0.1.1": + version: 0.1.1 + resolution: "bplist-creator@npm:0.1.1" + dependencies: + stream-buffers: "npm:2.2.x" + checksum: 10c0/427ec37263ce0e8c68a83f595fc9889a9cbf2e6fda2de18e1f8ef7f0c6ce68c0cdbb7c9c1f3bb3f2d217407af8cffbdf254bf0f71c99f2186175d07752f08a47 + languageName: node + linkType: hard + +"bplist-parser@npm:0.3.2, bplist-parser@npm:^0.3.1": + version: 0.3.2 + resolution: "bplist-parser@npm:0.3.2" + dependencies: + big-integer: "npm:1.6.x" + checksum: 10c0/4dc307c11d2511a01255e87e370d4ab6f1962b35fdc27605fd4ce9a557a259c2dc9f87822617ddb1f7aa062a71e30ef20d6103329ac7ce235628f637fb0ed763 + languageName: node + linkType: hard + "brace-expansion@npm:^1.1.7": version: 1.1.12 resolution: "brace-expansion@npm:1.1.12" @@ -5140,7 +6001,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.20.4, browserslist@npm:^4.24.0, browserslist@npm:^4.28.0": +"browserslist@npm:^4.20.4, browserslist@npm:^4.24.0, browserslist@npm:^4.25.0, browserslist@npm:^4.28.0": version: 4.28.1 resolution: "browserslist@npm:4.28.1" dependencies: @@ -5180,7 +6041,7 @@ __metadata: languageName: node linkType: hard -"buffer@npm:^5.5.0": +"buffer@npm:^5.4.3, buffer@npm:^5.5.0": version: 5.7.1 resolution: "buffer@npm:5.7.1" dependencies: @@ -5283,6 +6144,17 @@ __metadata: languageName: node linkType: hard +"chalk@npm:^2.0.1, chalk@npm:^2.4.2": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" + dependencies: + ansi-styles: "npm:^3.2.1" + escape-string-regexp: "npm:^1.0.5" + supports-color: "npm:^5.3.0" + checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 + languageName: node + linkType: hard + "chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.2": version: 4.1.2 resolution: "chalk@npm:4.1.2" @@ -5363,7 +6235,7 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:^3.2.0": +"ci-info@npm:^3.2.0, ci-info@npm:^3.3.0": version: 3.9.0 resolution: "ci-info@npm:3.9.0" checksum: 10c0/6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a @@ -5391,6 +6263,15 @@ __metadata: languageName: node linkType: hard +"cli-cursor@npm:^2.1.0": + version: 2.1.0 + resolution: "cli-cursor@npm:2.1.0" + dependencies: + restore-cursor: "npm:^2.0.0" + checksum: 10c0/09ee6d8b5b818d840bf80ec9561eaf696672197d3a02a7daee2def96d5f52ce6e0bbe7afca754ccf14f04830b5a1b4556273e983507d5029f95bba3016618eda + languageName: node + linkType: hard + "cli-cursor@npm:^3.1.0": version: 3.1.0 resolution: "cli-cursor@npm:3.1.0" @@ -5400,7 +6281,7 @@ __metadata: languageName: node linkType: hard -"cli-spinners@npm:^2.5.0": +"cli-spinners@npm:^2.0.0, cli-spinners@npm:^2.5.0": version: 2.9.2 resolution: "cli-spinners@npm:2.9.2" checksum: 10c0/907a1c227ddf0d7a101e7ab8b300affc742ead4b4ebe920a5bf1bc6d45dce2958fcd195eb28fa25275062fe6fa9b109b93b63bc8033396ed3bcb50297008b3a3 @@ -5535,6 +6416,20 @@ __metadata: languageName: node linkType: hard +"commander@npm:^4.0.0": + version: 4.1.1 + resolution: "commander@npm:4.1.1" + checksum: 10c0/84a76c08fe6cc08c9c93f62ac573d2907d8e79138999312c92d4155bc2325d487d64d13f669b2000c9f8caf70493c1be2dac74fec3c51d5a04f8bc3ae1830bab + languageName: node + linkType: hard + +"commander@npm:^7.2.0": + version: 7.2.0 + resolution: "commander@npm:7.2.0" + checksum: 10c0/8d690ff13b0356df7e0ebbe6c59b4712f754f4b724d4f473d3cc5b3fdcf978e3a5dc3078717858a2ceb50b0f84d0660a7f22a96cdc50fb877d0c9bb31593d23a + languageName: node + linkType: hard + "commander@npm:^9.4.1": version: 9.5.0 resolution: "commander@npm:9.5.0" @@ -5573,7 +6468,7 @@ __metadata: languageName: node linkType: hard -"compression@npm:^1.7.1": +"compression@npm:^1.7.1, compression@npm:^1.7.4": version: 1.8.1 resolution: "compression@npm:1.8.1" dependencies: @@ -5595,7 +6490,7 @@ __metadata: languageName: node linkType: hard -"connect@npm:^3.6.5": +"connect@npm:^3.6.5, connect@npm:^3.7.0": version: 3.7.0 resolution: "connect@npm:3.7.0" dependencies: @@ -5712,7 +6607,14 @@ __metadata: languageName: node linkType: hard -"csstype@npm:^3.2.2, csstype@npm:^3.2.3": +"crypto-random-string@npm:^2.0.0": + version: 2.0.0 + resolution: "crypto-random-string@npm:2.0.0" + checksum: 10c0/288589b2484fe787f9e146f56c4be90b940018f17af1b152e4dde12309042ff5a2bf69e949aab8b8ac253948381529cc6f3e5a2427b73643a71ff177fa122b37 + languageName: node + linkType: hard + +"csstype@npm:^3.0.2, csstype@npm:^3.2.2, csstype@npm:^3.2.3": version: 3.2.3 resolution: "csstype@npm:3.2.3" checksum: 10c0/cd29c51e70fa822f1cecd8641a1445bed7063697469d35633b516e60fe8c1bde04b08f6c5b6022136bb669b64c63d4173af54864510fbb4ee23281801841a3ce @@ -5782,7 +6684,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.4.0, debug@npm:^4.4.1": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.4.0, debug@npm:^4.4.1": version: 4.4.3 resolution: "debug@npm:4.4.3" dependencies: @@ -5794,6 +6696,15 @@ __metadata: languageName: node linkType: hard +"debug@npm:^3.1.0": + version: 3.2.7 + resolution: "debug@npm:3.2.7" + dependencies: + ms: "npm:^2.1.1" + checksum: 10c0/37d96ae42cbc71c14844d2ae3ba55adf462ec89fd3a999459dec3833944cd999af6007ff29c780f1c61153bcaaf2c842d1e4ce1ec621e4fc4923244942e4a02a + languageName: node + linkType: hard + "decamelize@npm:^1.2.0": version: 1.2.0 resolution: "decamelize@npm:1.2.0" @@ -5820,6 +6731,13 @@ __metadata: languageName: node linkType: hard +"deep-extend@npm:^0.6.0": + version: 0.6.0 + resolution: "deep-extend@npm:0.6.0" + checksum: 10c0/1c6b0abcdb901e13a44c7d699116d3d4279fdb261983122a3783e7273844d5f2537dc2e1c454a23fcf645917f93fbf8d07101c1d03c015a87faa662755212566 + languageName: node + linkType: hard + "deep-is@npm:^0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" @@ -5854,6 +6772,13 @@ __metadata: languageName: node linkType: hard +"define-lazy-prop@npm:^2.0.0": + version: 2.0.0 + resolution: "define-lazy-prop@npm:2.0.0" + checksum: 10c0/db6c63864a9d3b7dc9def55d52764968a5af296de87c1b2cc71d8be8142e445208071953649e0386a8cc37cfcf9a2067a47207f1eb9ff250c2a269658fdae422 + languageName: node + linkType: hard + "define-properties@npm:^1.1.3, define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" @@ -5930,6 +6855,13 @@ __metadata: languageName: node linkType: hard +"detect-libc@npm:^2.0.3": + version: 2.1.2 + resolution: "detect-libc@npm:2.1.2" + checksum: 10c0/acc675c29a5649fa1fb6e255f993b8ee829e510b6b56b0910666949c80c364738833417d0edb5f90e4e46be17228b0f2b66a010513984e18b15deeeac49369c4 + languageName: node + linkType: hard + "detect-newline@npm:^3.1.0": version: 3.1.0 resolution: "detect-newline@npm:3.1.0" @@ -5973,6 +6905,29 @@ __metadata: languageName: node linkType: hard +"dotenv-expand@npm:~11.0.6": + version: 11.0.7 + resolution: "dotenv-expand@npm:11.0.7" + dependencies: + dotenv: "npm:^16.4.5" + checksum: 10c0/d80b8a7be085edf351270b96ac0e794bc3ddd7f36157912939577cb4d33ba6492ebee349d59798b71b90e36f498d24a2a564fb4aa00073b2ef4c2a3a49c467b1 + languageName: node + linkType: hard + +"dotenv@npm:^16.4.5": + version: 16.6.1 + resolution: "dotenv@npm:16.6.1" + checksum: 10c0/15ce56608326ea0d1d9414a5c8ee6dcf0fffc79d2c16422b4ac2268e7e2d76ff5a572d37ffe747c377de12005f14b3cc22361e79fc7f1061cce81f77d2c973dc + languageName: node + linkType: hard + +"dotenv@npm:~16.4.5": + version: 16.4.7 + resolution: "dotenv@npm:16.4.7" + checksum: 10c0/be9f597e36a8daf834452daa1f4cc30e5375a5968f98f46d89b16b983c567398a330580c88395069a77473943c06b877d1ca25b4afafcdd6d4adb549e8293462 + languageName: node + linkType: hard + "dunder-proto@npm:^1.0.0, dunder-proto@npm:^1.0.1": version: 1.0.1 resolution: "dunder-proto@npm:1.0.1" @@ -6079,6 +7034,13 @@ __metadata: languageName: node linkType: hard +"env-editor@npm:^0.4.1": + version: 0.4.2 + resolution: "env-editor@npm:0.4.2" + checksum: 10c0/edb33583b0ae5197535905cbcefca424796f6afec799604f7578428ee523245edcd7df48d582fdab67dbcc697ed39070057f512e72f94c91ceefdcb432f5eadb + languageName: node + linkType: hard + "env-paths@npm:^2.2.0, env-paths@npm:^2.2.1": version: 2.2.1 resolution: "env-paths@npm:2.2.1" @@ -6704,6 +7666,13 @@ __metadata: languageName: node linkType: hard +"exec-async@npm:^2.2.0": + version: 2.2.0 + resolution: "exec-async@npm:2.2.0" + checksum: 10c0/9c70693a3d9f53e19cc8ecf26c3b3fc7125bf40051a71cba70d71161d065a6091d3ab1924c56ac1edd68cb98b9fbef29f83e45dcf67ee6b6c4826e0f898ac039 + languageName: node + linkType: hard + "execa@npm:^4.0.3": version: 4.1.0 resolution: "execa@npm:4.1.0" @@ -6759,6 +7728,158 @@ __metadata: languageName: node linkType: hard +"expo-asset@npm:~12.0.12": + version: 12.0.12 + resolution: "expo-asset@npm:12.0.12" + dependencies: + "@expo/image-utils": "npm:^0.8.8" + expo-constants: "npm:~18.0.12" + peerDependencies: + expo: "*" + react: "*" + react-native: "*" + checksum: 10c0/303b7e08126edbddd3235a6803ffa6ff98b1cc0fb7bfa019d1ad891560bbbe9a9b84db7275ced33011330a8f4f225175d3780f4771a925d8e1c3782a343b9796 + languageName: node + linkType: hard + +"expo-constants@npm:~18.0.12, expo-constants@npm:~18.0.13": + version: 18.0.13 + resolution: "expo-constants@npm:18.0.13" + dependencies: + "@expo/config": "npm:~12.0.13" + "@expo/env": "npm:~2.0.8" + peerDependencies: + expo: "*" + react-native: "*" + checksum: 10c0/bbe33c0611b8085ecd965434d71d27f065427146fe23f3162d170812f8c917b032604c79e0cd129f39147f58f7dc581ee3c6b64a84bf865dd325595289dc77e6 + languageName: node + linkType: hard + +"expo-file-system@npm:~19.0.21": + version: 19.0.21 + resolution: "expo-file-system@npm:19.0.21" + peerDependencies: + expo: "*" + react-native: "*" + checksum: 10c0/0ece34f86beda2048f8bf1f3218e57f6c7c14a875fe8be0f0dd2704d968ee61f979ddf0561b8769f4d46cfeb77ac759da0a030c5a77128cf2a06ce0bb9e3959b + languageName: node + linkType: hard + +"expo-font@npm:~14.0.10": + version: 14.0.11 + resolution: "expo-font@npm:14.0.11" + dependencies: + fontfaceobserver: "npm:^2.1.0" + peerDependencies: + expo: "*" + react: "*" + react-native: "*" + checksum: 10c0/ba74ff17b01dedc4a8145170b7098a95e037a7bd8ac0b8d0bf80bf28589383c22ba1a3f8ab68d901eafa75e311eb2fcd9edc414c18957a8827063623e2af9e0f + languageName: node + linkType: hard + +"expo-keep-awake@npm:~15.0.8": + version: 15.0.8 + resolution: "expo-keep-awake@npm:15.0.8" + peerDependencies: + expo: "*" + react: "*" + checksum: 10c0/23064b18285498e70be0aa525dc875cc809fc723b9a101d51e4721a09b1460eb041c73ebeb6d51e9175bb4c9b7a668bc08a48b99ebddac4cfaadb5a47194d329 + languageName: node + linkType: hard + +"expo-modules-autolinking@npm:3.0.24": + version: 3.0.24 + resolution: "expo-modules-autolinking@npm:3.0.24" + dependencies: + "@expo/spawn-async": "npm:^1.7.2" + chalk: "npm:^4.1.0" + commander: "npm:^7.2.0" + require-from-string: "npm:^2.0.2" + resolve-from: "npm:^5.0.0" + bin: + expo-modules-autolinking: bin/expo-modules-autolinking.js + checksum: 10c0/cdd59e3aa1aca61955eabc25d21dc3c0a8971fffd234cb491245bc3eac96b45f197dce723089b5760c968ad309e9deb75660e6810c6c58b8a629b83a7e2abc76 + languageName: node + linkType: hard + +"expo-modules-core@npm:3.0.29": + version: 3.0.29 + resolution: "expo-modules-core@npm:3.0.29" + dependencies: + invariant: "npm:^2.2.4" + peerDependencies: + react: "*" + react-native: "*" + checksum: 10c0/e32a87b06aa772f523afa5a995523848c61c06370085ae9e724ad24432cac38925ff69976f58b2c562828c2cefba6df00cfef2dbb206111413890ce1c2baee19 + languageName: node + linkType: hard + +"expo-server@npm:^1.0.5": + version: 1.0.5 + resolution: "expo-server@npm:1.0.5" + checksum: 10c0/0da974f733235d457f7ce51e5452f48f203378687f821bdab7159617a491c0192251423a17a7a3a118486e1cbfffff5d5ad31aeeedcf2cfad6412a1bd7e86877 + languageName: node + linkType: hard + +"expo-status-bar@npm:~3.0.9": + version: 3.0.9 + resolution: "expo-status-bar@npm:3.0.9" + dependencies: + react-native-is-edge-to-edge: "npm:^1.2.1" + peerDependencies: + react: "*" + react-native: "*" + checksum: 10c0/b35ed996a3da45a657075447bbf687dad4e7d5321129182e58737ea0fa4aeb8bb145bbe20967abd6823587a738e4c6fd62c41d18d8c11094ff926e2079c02fc2 + languageName: node + linkType: hard + +"expo@npm:~54.0.31": + version: 54.0.31 + resolution: "expo@npm:54.0.31" + dependencies: + "@babel/runtime": "npm:^7.20.0" + "@expo/cli": "npm:54.0.21" + "@expo/config": "npm:~12.0.13" + "@expo/config-plugins": "npm:~54.0.4" + "@expo/devtools": "npm:0.1.8" + "@expo/fingerprint": "npm:0.15.4" + "@expo/metro": "npm:~54.2.0" + "@expo/metro-config": "npm:54.0.13" + "@expo/vector-icons": "npm:^15.0.3" + "@ungap/structured-clone": "npm:^1.3.0" + babel-preset-expo: "npm:~54.0.9" + expo-asset: "npm:~12.0.12" + expo-constants: "npm:~18.0.13" + expo-file-system: "npm:~19.0.21" + expo-font: "npm:~14.0.10" + expo-keep-awake: "npm:~15.0.8" + expo-modules-autolinking: "npm:3.0.24" + expo-modules-core: "npm:3.0.29" + pretty-format: "npm:^29.7.0" + react-refresh: "npm:^0.14.2" + whatwg-url-without-unicode: "npm:8.0.0-3" + 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 + bin: + expo: bin/cli + expo-modules-autolinking: bin/autolinking + fingerprint: bin/fingerprint + checksum: 10c0/57a65b709ac16e44cf235e279c2fb56b130487074971f17b201fa8bb528998e536af764b59c2f7483ff5a4fa5cdb785f3fd031a251fa69c563433128677bf571 + languageName: node + linkType: hard + "exponential-backoff@npm:^3.1.1": version: 3.1.3 resolution: "exponential-backoff@npm:3.1.3" @@ -6952,6 +8073,13 @@ __metadata: languageName: node linkType: hard +"fontfaceobserver@npm:^2.1.0": + version: 2.3.0 + resolution: "fontfaceobserver@npm:2.3.0" + checksum: 10c0/9b539d5021757d3ed73c355bdb839296d6654de473a992aa98993ef46d951f0361545323de68f6d70c5334d7e3e9f409c1ae7a03c168b00cb0f6c5dea6c77bfa + languageName: node + linkType: hard + "for-each@npm:^0.3.3, for-each@npm:^0.3.5": version: 0.3.5 resolution: "for-each@npm:0.3.5" @@ -6971,6 +8099,13 @@ __metadata: languageName: node linkType: hard +"freeport-async@npm:^2.0.0": + version: 2.0.0 + resolution: "freeport-async@npm:2.0.0" + checksum: 10c0/421828d1a689695b6c8122d310fd8941af99ebe0b5793e3f8d49aa5923ce580b6c4dd6b7470d46983e60839c302f6c793a8541dbab80817396cdde2b04c83c90 + languageName: node + linkType: hard + "fresh@npm:~0.5.2": version: 0.5.2 resolution: "fresh@npm:0.5.2" @@ -7156,6 +8291,13 @@ __metadata: languageName: node linkType: hard +"getenv@npm:^2.0.0": + version: 2.0.0 + resolution: "getenv@npm:2.0.0" + checksum: 10c0/397ff641dd70cd78e414430258651e9a2228d3c5553a8cf15ae7840f75d3f10dfcb83f668f84829e84ea665b0fce2f08a9eddda3c9dcd7faa2d3da1c182c1854 + languageName: node + linkType: hard + "git-raw-commits@npm:^4.0.0": version: 4.0.0 resolution: "git-raw-commits@npm:4.0.0" @@ -7237,6 +8379,15 @@ __metadata: languageName: node linkType: hard +"global-dirs@npm:^0.1.1": + version: 0.1.1 + resolution: "global-dirs@npm:0.1.1" + dependencies: + ini: "npm:^1.3.4" + checksum: 10c0/3608072e58962396c124ad5a1cfb3f99ee76c998654a3432d82977b3c3eeb09dc8a5a2a9849b2b8113906c8d0aad89ce362c22e97cec5fe34405bbf4f3cdbe7a + languageName: node + linkType: hard + "globals@npm:^14.0.0": version: 14.0.0 resolution: "globals@npm:14.0.0" @@ -7328,6 +8479,13 @@ __metadata: languageName: node linkType: hard +"has-flag@npm:^3.0.0": + version: 3.0.0 + resolution: "has-flag@npm:3.0.0" + checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 + languageName: node + linkType: hard + "has-flag@npm:^4.0.0": version: 4.0.0 resolution: "has-flag@npm:4.0.0" @@ -7436,7 +8594,7 @@ __metadata: languageName: node linkType: hard -"hermes-parser@npm:0.29.1": +"hermes-parser@npm:0.29.1, hermes-parser@npm:^0.29.1": version: 0.29.1 resolution: "hermes-parser@npm:0.29.1" dependencies: @@ -7461,6 +8619,15 @@ __metadata: languageName: node linkType: hard +"hosted-git-info@npm:^7.0.0": + version: 7.0.2 + resolution: "hosted-git-info@npm:7.0.2" + dependencies: + lru-cache: "npm:^10.0.1" + checksum: 10c0/b19dbd92d3c0b4b0f1513cf79b0fc189f54d6af2129eeb201de2e9baaa711f1936929c848b866d9c8667a0f956f34bf4f07418c12be1ee9ca74fd9246335ca1f + languageName: node + linkType: hard + "html-escaper@npm:^2.0.0": version: 2.0.2 resolution: "html-escaper@npm:2.0.2" @@ -7646,6 +8813,13 @@ __metadata: languageName: node linkType: hard +"ini@npm:^1.3.4, ini@npm:~1.3.0": + version: 1.3.8 + resolution: "ini@npm:1.3.8" + checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a + languageName: node + linkType: hard + "internal-slot@npm:^1.1.0": version: 1.1.0 resolution: "internal-slot@npm:1.1.0" @@ -7770,7 +8944,7 @@ __metadata: languageName: node linkType: hard -"is-docker@npm:^2.0.0": +"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": version: 2.2.1 resolution: "is-docker@npm:2.2.1" bin: @@ -8756,6 +9930,13 @@ __metadata: languageName: node linkType: hard +"jimp-compact@npm:0.16.1": + version: 0.16.1 + resolution: "jimp-compact@npm:0.16.1" + checksum: 10c0/2d73bb927d840ce6dc093d089d770eddbb81472635ced7cad1d7c4545d8734aecf5bd3dedf7178a6cfab4d06c9d6cbbf59e5cb274ed99ca11cd4835a6374f16c + languageName: node + linkType: hard + "jiti@npm:^2.6.1": version: 2.6.1 resolution: "jiti@npm:2.6.1" @@ -8808,7 +9989,7 @@ __metadata: languageName: node linkType: hard -"jsc-safe-url@npm:^0.2.2": +"jsc-safe-url@npm:^0.2.2, jsc-safe-url@npm:^0.2.4": version: 0.2.4 resolution: "jsc-safe-url@npm:0.2.4" checksum: 10c0/429bd645f8a35938f08f5b01c282e5ef55ed8be30a9ca23517b7ca01dcbf84b4b0632042caceab50f8f5c0c1e76816fe3c74de3e59be84da7f89ae1503bd3c68 @@ -8935,6 +10116,15 @@ __metadata: languageName: node linkType: hard +"lan-network@npm:^0.1.6": + version: 0.1.7 + resolution: "lan-network@npm:0.1.7" + bin: + lan-network: dist/lan-network-cli.js + checksum: 10c0/7afd3a7159bb65ff40bded481e4d522b1faa6b65e8b69d6404651d87fe800a35510aff9b913bb90def4f66ca886e28907492b8323f8c568830b42d28f521fb18 + languageName: node + linkType: hard + "launch-editor@npm:^2.9.1": version: 2.12.0 resolution: "launch-editor@npm:2.12.0" @@ -9083,6 +10273,126 @@ __metadata: languageName: node linkType: hard +"lightningcss-android-arm64@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-android-arm64@npm:1.31.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-darwin-arm64@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-darwin-arm64@npm:1.31.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-darwin-x64@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-darwin-x64@npm:1.31.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"lightningcss-freebsd-x64@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-freebsd-x64@npm:1.31.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"lightningcss-linux-arm-gnueabihf@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-linux-arm-gnueabihf@npm:1.31.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"lightningcss-linux-arm64-gnu@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-linux-arm64-gnu@npm:1.31.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-arm64-musl@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-linux-arm64-musl@npm:1.31.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-linux-x64-gnu@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-linux-x64-gnu@npm:1.31.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-x64-musl@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-linux-x64-musl@npm:1.31.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-win32-arm64-msvc@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-win32-arm64-msvc@npm:1.31.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-win32-x64-msvc@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-win32-x64-msvc@npm:1.31.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"lightningcss@npm:^1.30.1": + version: 1.31.1 + resolution: "lightningcss@npm:1.31.1" + dependencies: + detect-libc: "npm:^2.0.3" + lightningcss-android-arm64: "npm:1.31.1" + lightningcss-darwin-arm64: "npm:1.31.1" + lightningcss-darwin-x64: "npm:1.31.1" + lightningcss-freebsd-x64: "npm:1.31.1" + lightningcss-linux-arm-gnueabihf: "npm:1.31.1" + lightningcss-linux-arm64-gnu: "npm:1.31.1" + lightningcss-linux-arm64-musl: "npm:1.31.1" + lightningcss-linux-x64-gnu: "npm:1.31.1" + lightningcss-linux-x64-musl: "npm:1.31.1" + lightningcss-win32-arm64-msvc: "npm:1.31.1" + lightningcss-win32-x64-msvc: "npm:1.31.1" + dependenciesMeta: + lightningcss-android-arm64: + optional: true + lightningcss-darwin-arm64: + optional: true + lightningcss-darwin-x64: + optional: true + lightningcss-freebsd-x64: + optional: true + lightningcss-linux-arm-gnueabihf: + optional: true + lightningcss-linux-arm64-gnu: + optional: true + lightningcss-linux-arm64-musl: + optional: true + lightningcss-linux-x64-gnu: + optional: true + lightningcss-linux-x64-musl: + optional: true + lightningcss-win32-arm64-msvc: + optional: true + lightningcss-win32-x64-msvc: + optional: true + checksum: 10c0/c6754b305d4a73652e472fc0d7d65384a6e16c336ea61068eca60de2a45bd5c30abbf012358b82eac56ee98b5d88028932cda5268ff61967cffa400b9e7ee2ba + languageName: node + linkType: hard + "lines-and-columns@npm:^1.1.6": version: 1.2.4 resolution: "lines-and-columns@npm:1.2.4" @@ -9208,6 +10518,15 @@ __metadata: languageName: node linkType: hard +"log-symbols@npm:^2.2.0": + version: 2.2.0 + resolution: "log-symbols@npm:2.2.0" + dependencies: + chalk: "npm:^2.0.1" + checksum: 10c0/574eb4205f54f0605021aa67ebb372c30ca64e8ddd439efeb8507af83c776dce789e83614e80059014d9e48dcc94c4b60cef2e85f0dc944eea27c799cec62353 + languageName: node + linkType: hard + "log-symbols@npm:^4.1.0": version: 4.1.0 resolution: "log-symbols@npm:4.1.0" @@ -9242,7 +10561,7 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^10.2.0": +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb @@ -9723,6 +11042,13 @@ __metadata: languageName: node linkType: hard +"mimic-fn@npm:^1.0.0": + version: 1.2.0 + resolution: "mimic-fn@npm:1.2.0" + checksum: 10c0/ad55214aec6094c0af4c0beec1a13787556f8116ed88807cf3f05828500f21f93a9482326bcd5a077ae91e3e8795b4e76b5b4c8bb12237ff0e4043a365516cba + languageName: node + linkType: hard + "mimic-fn@npm:^2.1.0": version: 2.1.0 resolution: "mimic-fn@npm:2.1.0" @@ -9748,7 +11074,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.4": +"minimatch@npm:^9.0.0, minimatch@npm:^9.0.4": version: 9.0.5 resolution: "minimatch@npm:9.0.5" dependencies: @@ -9757,7 +11083,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.5, minimist@npm:^1.2.8": +"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.8": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 @@ -9870,14 +11196,25 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.3, ms@npm:^2.1.3": +"ms@npm:2.1.3, ms@npm:^2.1.1, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 languageName: node linkType: hard -"nanoid@npm:^3.3.11": +"mz@npm:^2.7.0": + version: 2.7.0 + resolution: "mz@npm:2.7.0" + dependencies: + any-promise: "npm:^1.0.0" + object-assign: "npm:^4.0.1" + thenify-all: "npm:^1.0.0" + checksum: 10c0/103114e93f87362f0b56ab5b2e7245051ad0276b646e3902c98397d18bb8f4a77f2ea4a2c9d3ad516034ea3a56553b60d3f5f78220001ca4c404bd711bd0af39 + languageName: node + linkType: hard + +"nanoid@npm:^3.3.11, nanoid@npm:^3.3.7": version: 3.3.11 resolution: "nanoid@npm:3.3.11" bin: @@ -9930,6 +11267,13 @@ __metadata: languageName: node linkType: hard +"nested-error-stacks@npm:~2.0.1": + version: 2.0.1 + resolution: "nested-error-stacks@npm:2.0.1" + checksum: 10c0/125049632bc3ca2252e994ca07f27d795c0e6decc4077f0f4163348d30d7cb95409ceff6184284c95396aa5ea8ff5010673063db7674058b966b4f0228d4981c + languageName: node + linkType: hard + "nitrogen@npm:^0.31.10": version: 0.31.10 resolution: "nitrogen@npm:0.31.10" @@ -9952,6 +11296,13 @@ __metadata: languageName: node linkType: hard +"node-forge@npm:^1.3.3": + version: 1.3.3 + resolution: "node-forge@npm:1.3.3" + checksum: 10c0/9c6f53b0ebb34865872cf62a35b0aef8fb337e2efc766626c2e3a0040f4c02933bf29a62ba999eb44a2aca73bd512c4eda22705a47b94654b9fb8ed53db9a1db + languageName: node + linkType: hard + "node-gyp@npm:latest": version: 12.1.0 resolution: "node-gyp@npm:12.1.0" @@ -10011,6 +11362,18 @@ __metadata: languageName: node linkType: hard +"npm-package-arg@npm:^11.0.0": + version: 11.0.3 + resolution: "npm-package-arg@npm:11.0.3" + dependencies: + hosted-git-info: "npm:^7.0.0" + proc-log: "npm:^4.0.0" + semver: "npm:^7.3.5" + validate-npm-package-name: "npm:^5.0.0" + checksum: 10c0/e18333485e05c3a8774f4b5701ef74f4799533e650b70a68ca8dd697666c9a8d46932cb765fc593edce299521033bd4025a40323d5240cea8a393c784c0c285a + languageName: node + linkType: hard + "npm-run-path@npm:^4.0.0, npm-run-path@npm:^4.0.1": version: 4.0.1 resolution: "npm-run-path@npm:4.0.1" @@ -10036,7 +11399,7 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4.1.1": +"object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 @@ -10136,8 +11499,17 @@ __metadata: version: 1.4.0 resolution: "once@npm:1.4.0" dependencies: - wrappy: "npm:1" - checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 + wrappy: "npm:1" + checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 + languageName: node + linkType: hard + +"onetime@npm:^2.0.0": + version: 2.0.1 + resolution: "onetime@npm:2.0.1" + dependencies: + mimic-fn: "npm:^1.0.0" + checksum: 10c0/b4e44a8c34e70e02251bfb578a6e26d6de6eedbed106cd78211d2fd64d28b6281d54924696554e4e966559644243753ac5df73c87f283b0927533d3315696215 languageName: node linkType: hard @@ -10180,6 +11552,17 @@ __metadata: languageName: node linkType: hard +"open@npm:^8.0.4": + version: 8.4.2 + resolution: "open@npm:8.4.2" + dependencies: + define-lazy-prop: "npm:^2.0.0" + is-docker: "npm:^2.1.1" + is-wsl: "npm:^2.2.0" + checksum: 10c0/bb6b3a58401dacdb0aad14360626faf3fb7fba4b77816b373495988b724fb48941cad80c1b65d62bb31a17609b2cd91c41a181602caea597ca80dfbcc27e84c9 + languageName: node + linkType: hard + "optionator@npm:^0.9.3": version: 0.9.4 resolution: "optionator@npm:0.9.4" @@ -10194,6 +11577,20 @@ __metadata: languageName: node linkType: hard +"ora@npm:^3.4.0": + version: 3.4.0 + resolution: "ora@npm:3.4.0" + dependencies: + chalk: "npm:^2.4.2" + cli-cursor: "npm:^2.1.0" + cli-spinners: "npm:^2.0.0" + log-symbols: "npm:^2.2.0" + strip-ansi: "npm:^5.2.0" + wcwidth: "npm:^1.0.1" + checksum: 10c0/04cb375f222c36a16a95e6c39c473644a99a42fc34d35c37507cb836ea0a71f4d831fcd53198a460869114b2730891d63cc1047304afe5ddb078974d468edfb1 + languageName: node + linkType: hard + "ora@npm:^5.4.1": version: 5.4.1 resolution: "ora@npm:5.4.1" @@ -10327,6 +11724,15 @@ __metadata: languageName: node linkType: hard +"parse-png@npm:^2.1.0": + version: 2.1.0 + resolution: "parse-png@npm:2.1.0" + dependencies: + pngjs: "npm:^3.3.0" + checksum: 10c0/5157a8bbb976ae1ca990fc53c7014d42aac0967cb30e2daf36c3fef1876c8db0d551e695400c904f33c5c5add76a572c65b5044721d62417d8cc7abe4c4ffa41 + languageName: node + linkType: hard + "parseurl@npm:~1.3.3": version: 1.3.3 resolution: "parseurl@npm:1.3.3" @@ -10369,7 +11775,7 @@ __metadata: languageName: node linkType: hard -"path-parse@npm:^1.0.7": +"path-parse@npm:^1.0.5, path-parse@npm:^1.0.7": version: 1.0.7 resolution: "path-parse@npm:1.0.7" checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 @@ -10417,7 +11823,7 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.1.1": +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 @@ -10431,6 +11837,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^3.0.1": + version: 3.0.1 + resolution: "picomatch@npm:3.0.1" + checksum: 10c0/70ec738569f1864658378b7abdab8939d15dae0718c1df994eae3346fd33daf6a3c1ff4e0c1a0cd1e2c0319130985b63a2cff34d192f2f2acbb78aca76111736 + languageName: node + linkType: hard + "picomatch@npm:^4.0.2, picomatch@npm:^4.0.3": version: 4.0.3 resolution: "picomatch@npm:4.0.3" @@ -10438,7 +11851,7 @@ __metadata: languageName: node linkType: hard -"pirates@npm:^4.0.4, pirates@npm:^4.0.7": +"pirates@npm:^4.0.1, pirates@npm:^4.0.4, pirates@npm:^4.0.7": version: 4.0.7 resolution: "pirates@npm:4.0.7" checksum: 10c0/a51f108dd811beb779d58a76864bbd49e239fa40c7984cd11596c75a121a8cc789f1c8971d8bb15f0dbf9d48b76c05bb62fcbce840f89b688c0fa64b37e8478a @@ -10454,6 +11867,24 @@ __metadata: languageName: node linkType: hard +"plist@npm:^3.0.5": + version: 3.1.0 + resolution: "plist@npm:3.1.0" + dependencies: + "@xmldom/xmldom": "npm:^0.8.8" + base64-js: "npm:^1.5.1" + xmlbuilder: "npm:^15.1.1" + checksum: 10c0/db19ba50faafc4103df8e79bcd6b08004a56db2a9dd30b3e5c8b0ef30398ef44344a674e594d012c8fc39e539a2b72cb58c60a76b4b4401cbbc7c8f6b028d93d + languageName: node + linkType: hard + +"pngjs@npm:^3.3.0": + version: 3.4.0 + resolution: "pngjs@npm:3.4.0" + checksum: 10c0/88ee73e2ad3f736e0b2573722309eb80bd2aa28916f0862379b4fd0f904751b4f61bb6bd1ecd7d4242d331f2b5c28c13309dd4b7d89a9b78306e35122fdc5011 + languageName: node + linkType: hard + "possible-typed-array-names@npm:^1.0.0": version: 1.1.0 resolution: "possible-typed-array-names@npm:1.1.0" @@ -10472,6 +11903,17 @@ __metadata: languageName: node linkType: hard +"postcss@npm:~8.4.32": + version: 8.4.49 + resolution: "postcss@npm:8.4.49" + dependencies: + nanoid: "npm:^3.3.7" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/f1b3f17aaf36d136f59ec373459f18129908235e65dbdc3aee5eef8eba0756106f52de5ec4682e29a2eab53eb25170e7e871b3e4b52a8f1de3d344a514306be3 + languageName: node + linkType: hard + "preact@npm:^10.0.0": version: 10.28.2 resolution: "preact@npm:10.28.2" @@ -10511,6 +11953,13 @@ __metadata: languageName: node linkType: hard +"pretty-bytes@npm:^5.6.0": + version: 5.6.0 + resolution: "pretty-bytes@npm:5.6.0" + checksum: 10c0/f69f494dcc1adda98dbe0e4a36d301e8be8ff99bfde7a637b2ee2820e7cb583b0fc0f3a63b0e3752c01501185a5cf38602c7be60da41bdf84ef5b70e89c370f3 + languageName: node + linkType: hard + "pretty-format@npm:30.2.0, pretty-format@npm:^30.0.0": version: 30.2.0 resolution: "pretty-format@npm:30.2.0" @@ -10533,6 +11982,13 @@ __metadata: languageName: node linkType: hard +"proc-log@npm:^4.0.0": + version: 4.2.0 + resolution: "proc-log@npm:4.2.0" + checksum: 10c0/17db4757c2a5c44c1e545170e6c70a26f7de58feb985091fb1763f5081cab3d01b181fb2dd240c9f4a4255a1d9227d163d5771b7e69c9e49a561692db865efb9 + languageName: node + linkType: hard + "proc-log@npm:^6.0.0": version: 6.1.0 resolution: "proc-log@npm:6.1.0" @@ -10540,6 +11996,13 @@ __metadata: languageName: node linkType: hard +"progress@npm:^2.0.3": + version: 2.0.3 + resolution: "progress@npm:2.0.3" + checksum: 10c0/1697e07cb1068055dbe9fe858d242368ff5d2073639e652b75a7eb1f2a1a8d4afd404d719de23c7b48481a6aa0040686310e2dac2f53d776daa2176d3f96369c + languageName: node + linkType: hard + "promise-retry@npm:^2.0.1": version: 2.0.1 resolution: "promise-retry@npm:2.0.1" @@ -10559,7 +12022,7 @@ __metadata: languageName: node linkType: hard -"prompts@npm:^2.4.2": +"prompts@npm:^2.3.2, prompts@npm:^2.4.2": version: 2.4.2 resolution: "prompts@npm:2.4.2" dependencies: @@ -10597,7 +12060,7 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^2.1.0": +"punycode@npm:^2.1.0, punycode@npm:^2.1.1": version: 2.3.1 resolution: "punycode@npm:2.3.1" checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 @@ -10611,6 +12074,15 @@ __metadata: languageName: node linkType: hard +"qrcode-terminal@npm:0.11.0": + version: 0.11.0 + resolution: "qrcode-terminal@npm:0.11.0" + bin: + qrcode-terminal: ./bin/qrcode-terminal.js + checksum: 10c0/7561a649d21d7672d451ada5f2a2b393f586627cea75670c97141dc2b4b4145db547e1fddf512a3552e7fb54de530d513a736cd604c840adb908ed03c32312ad + languageName: node + linkType: hard + "qs@npm:~6.14.0": version: 6.14.1 resolution: "qs@npm:6.14.1" @@ -10655,6 +12127,20 @@ __metadata: languageName: node linkType: hard +"rc@npm:~1.2.7": + version: 1.2.8 + resolution: "rc@npm:1.2.8" + dependencies: + deep-extend: "npm:^0.6.0" + ini: "npm:~1.3.0" + minimist: "npm:^1.2.0" + strip-json-comments: "npm:~2.0.1" + bin: + rc: ./cli.js + checksum: 10c0/24a07653150f0d9ac7168e52943cc3cb4b7a22c0e43c7dff3219977c2fdca5a2760a304a029c20811a0e79d351f57d46c9bde216193a0f73978496afc2b85b15 + languageName: node + linkType: hard + "react-devtools-core@npm:^6.1.5": version: 6.1.5 resolution: "react-devtools-core@npm:6.1.5" @@ -10711,6 +12197,16 @@ __metadata: languageName: node linkType: hard +"react-native-is-edge-to-edge@npm:^1.2.1": + version: 1.2.1 + resolution: "react-native-is-edge-to-edge@npm:1.2.1" + peerDependencies: + react: "*" + react-native: "*" + checksum: 10c0/87d20b900aded7d44c90afb946a7aa03c23a94ca3dd547bdddc2303b85357e4aab22567a57b19f1558d6c8be7058e3dcf34faa1e15182d1604f90974266d9a1d + languageName: node + linkType: hard + "react-native-monorepo-config@npm:^0.1.9": version: 0.1.10 resolution: "react-native-monorepo-config@npm:0.1.10" @@ -10806,7 +12302,57 @@ __metadata: languageName: node linkType: hard -"react-refresh@npm:^0.14.0": +"react-native@npm:0.81.5": + version: 0.81.5 + resolution: "react-native@npm:0.81.5" + dependencies: + "@jest/create-cache-key-function": "npm:^29.7.0" + "@react-native/assets-registry": "npm:0.81.5" + "@react-native/codegen": "npm:0.81.5" + "@react-native/community-cli-plugin": "npm:0.81.5" + "@react-native/gradle-plugin": "npm:0.81.5" + "@react-native/js-polyfills": "npm:0.81.5" + "@react-native/normalize-colors": "npm:0.81.5" + "@react-native/virtualized-lists": "npm:0.81.5" + abort-controller: "npm:^3.0.0" + anser: "npm:^1.4.9" + ansi-regex: "npm:^5.0.0" + babel-jest: "npm:^29.7.0" + babel-plugin-syntax-hermes-parser: "npm:0.29.1" + base64-js: "npm:^1.5.1" + commander: "npm:^12.0.0" + flow-enums-runtime: "npm:^0.0.6" + glob: "npm:^7.1.1" + invariant: "npm:^2.2.4" + jest-environment-node: "npm:^29.7.0" + memoize-one: "npm:^5.0.0" + metro-runtime: "npm:^0.83.1" + metro-source-map: "npm:^0.83.1" + nullthrows: "npm:^1.1.1" + pretty-format: "npm:^29.7.0" + promise: "npm:^8.3.0" + react-devtools-core: "npm:^6.1.5" + react-refresh: "npm:^0.14.0" + regenerator-runtime: "npm:^0.13.2" + scheduler: "npm:0.26.0" + semver: "npm:^7.1.3" + stacktrace-parser: "npm:^0.1.10" + whatwg-fetch: "npm:^3.0.0" + ws: "npm:^6.2.3" + yargs: "npm:^17.6.2" + peerDependencies: + "@types/react": ^19.1.0 + react: ^19.1.0 + peerDependenciesMeta: + "@types/react": + optional: true + bin: + react-native: cli.js + checksum: 10c0/59b861b461e47a476dfe546b305f1b68b5248bedf2174f32c8aa02b0d1da8dc44fe8d0d60b426532353ff2b61d06d40a32a01dcc53043a3425e29b346065d159 + languageName: node + linkType: hard + +"react-refresh@npm:^0.14.0, react-refresh@npm:^0.14.2": version: 0.14.2 resolution: "react-refresh@npm:0.14.2" checksum: 10c0/875b72ef56b147a131e33f2abd6ec059d1989854b3ff438898e4f9310bfcc73acff709445b7ba843318a953cb9424bcc2c05af2b3d80011cee28f25aef3e2ebb @@ -10962,6 +12508,17 @@ __metadata: languageName: node linkType: hard +"requireg@npm:^0.2.2": + version: 0.2.2 + resolution: "requireg@npm:0.2.2" + dependencies: + nested-error-stacks: "npm:~2.0.1" + rc: "npm:~1.2.7" + resolve: "npm:~1.7.1" + checksum: 10c0/806cff08d8fa63f2ec9c74fa9602c86b56627a824d0a188bf777c8d82ba012a1b3c01ab6e88ffcf610713b6bc5ec8a9f9e55dc941b7606ce735e72c4d9daa059 + languageName: node + linkType: hard + "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -10985,7 +12542,30 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.22.10": +"resolve-global@npm:^1.0.0": + version: 1.0.0 + resolution: "resolve-global@npm:1.0.0" + dependencies: + global-dirs: "npm:^0.1.1" + checksum: 10c0/fda6ba81a07a0124756ce956dd871ca83763973326d8617143dab38d9c9afc666926604bfe8f0bfd046a9a285347568f32ceb3d4c55a1cb9de5614cca001a21c + languageName: node + linkType: hard + +"resolve-workspace-root@npm:^2.0.0": + version: 2.0.1 + resolution: "resolve-workspace-root@npm:2.0.1" + checksum: 10c0/83104ea8476ba451a4bac32db42cf1dc79a7b98810764e507830a2f63af20cfb00fe7da5b0c324d77d4fcfda7a24e9e17895690d6f6a498735b633fd7fc372ca + languageName: node + linkType: hard + +"resolve.exports@npm:^2.0.3": + version: 2.0.3 + resolution: "resolve.exports@npm:2.0.3" + checksum: 10c0/1ade1493f4642a6267d0a5e68faeac20b3d220f18c28b140343feb83694d8fed7a286852aef43689d16042c61e2ddb270be6578ad4a13990769e12065191200d + languageName: node + linkType: hard + +"resolve@npm:^1.22.10, resolve@npm:^1.22.2": version: 1.22.11 resolution: "resolve@npm:1.22.11" dependencies: @@ -11011,7 +12591,16 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.22.10#optional!builtin": +"resolve@npm:~1.7.1": + version: 1.7.1 + resolution: "resolve@npm:1.7.1" + dependencies: + path-parse: "npm:^1.0.5" + checksum: 10c0/6e9e29185ac57801aff013849e9717c769ef0a27eac30b6492405ba3d61db73d8967023b96578f4b2deba4ef5fb11fc4f0a4db47c0f536890ced5c014e94fbde + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^1.22.10#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin": version: 1.22.11 resolution: "resolve@patch:resolve@npm%3A1.22.11#optional!builtin::version=1.22.11&hash=c3c19d" dependencies: @@ -11037,6 +12626,25 @@ __metadata: languageName: node linkType: hard +"resolve@patch:resolve@npm%3A~1.7.1#optional!builtin": + version: 1.7.1 + resolution: "resolve@patch:resolve@npm%3A1.7.1#optional!builtin::version=1.7.1&hash=3bafbf" + dependencies: + path-parse: "npm:^1.0.5" + checksum: 10c0/1301dba7c12cd9dab2ab4eee8518089f25bb7480db34b746a923ded472c4c0600ebb1ba9b8028ca843f7c6017ac76524355800c52b82633e53bd601ca288b4de + languageName: node + linkType: hard + +"restore-cursor@npm:^2.0.0": + version: 2.0.0 + resolution: "restore-cursor@npm:2.0.0" + dependencies: + onetime: "npm:^2.0.0" + signal-exit: "npm:^3.0.2" + checksum: 10c0/f5b335bee06f440445e976a7031a3ef53691f9b7c4a9d42a469a0edaf8a5508158a0d561ff2b26a1f4f38783bcca2c0e5c3a44f927326f6694d5b44d7a4993e6 + languageName: node + linkType: hard + "restore-cursor@npm:^3.1.0": version: 3.1.0 resolution: "restore-cursor@npm:3.1.0" @@ -11226,6 +12834,13 @@ __metadata: languageName: node linkType: hard +"sax@npm:>=0.6.0": + version: 1.4.4 + resolution: "sax@npm:1.4.4" + checksum: 10c0/acb642f2de02ad6ae157cbf91fb026acea80cdf92e88c0aec2aa350c7db3479f62a7365c34a58e3b70a72ce11fa856a02c38cfd27f49e83c18c9c7e1d52aee55 + languageName: node + linkType: hard + "scheduler@npm:0.26.0": version: 0.26.0 resolution: "scheduler@npm:0.26.0" @@ -11251,7 +12866,7 @@ __metadata: languageName: node linkType: hard -"send@npm:~0.19.1": +"send@npm:^0.19.0, send@npm:~0.19.1": version: 0.19.2 resolution: "send@npm:0.19.2" dependencies: @@ -11443,6 +13058,17 @@ __metadata: languageName: node linkType: hard +"simple-plist@npm:^1.1.0": + version: 1.4.0 + resolution: "simple-plist@npm:1.4.0" + dependencies: + bplist-creator: "npm:0.1.1" + bplist-parser: "npm:0.3.2" + plist: "npm:^3.0.5" + checksum: 10c0/226c283492d8518d715e4133d94bdbd15c0619561bcde583b4807b36cde106c0078c615b9b4e25c0e8758a4ae4e79ed5dd76e57cd528d8b7001ecab5ad35e343 + languageName: node + linkType: hard + "sisteransi@npm:^1.0.5": version: 1.0.5 resolution: "sisteransi@npm:1.0.5" @@ -11475,6 +13101,13 @@ __metadata: languageName: node linkType: hard +"slugify@npm:^1.3.4, slugify@npm:^1.6.6": + version: 1.6.6 + resolution: "slugify@npm:1.6.6" + checksum: 10c0/e7e63f08f389a371d6228bc19d64ec84360bf0a538333446cc49dbbf3971751a6d180d2f31551188dd007a65ca771e69f574e0283290a7825a818e90b75ef44d + languageName: node + linkType: hard + "smart-buffer@npm:^4.2.0": version: 4.2.0 resolution: "smart-buffer@npm:4.2.0" @@ -11520,7 +13153,7 @@ __metadata: languageName: node linkType: hard -"source-map-support@npm:~0.5.20": +"source-map-support@npm:~0.5.20, source-map-support@npm:~0.5.21": version: 0.5.21 resolution: "source-map-support@npm:0.5.21" dependencies: @@ -11630,6 +13263,13 @@ __metadata: languageName: node linkType: hard +"stream-buffers@npm:2.2.x": + version: 2.2.0 + resolution: "stream-buffers@npm:2.2.0" + checksum: 10c0/14a351f0a066eaa08c8c64a74f4aedd87dd7a8e59d4be224703da33dca3eb370828ee6c0ae3fff59a9c743e8098728fc95c5f052ae7741672a31e6b1430ba50a + languageName: node + linkType: hard + "string-length@npm:^4.0.2": version: 4.0.2 resolution: "string-length@npm:4.0.2" @@ -11777,7 +13417,7 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^5.0.0": +"strip-ansi@npm:^5.0.0, strip-ansi@npm:^5.2.0": version: 5.2.0 resolution: "strip-ansi@npm:5.2.0" dependencies: @@ -11816,6 +13456,13 @@ __metadata: languageName: node linkType: hard +"strip-json-comments@npm:~2.0.1": + version: 2.0.1 + resolution: "strip-json-comments@npm:2.0.1" + checksum: 10c0/b509231cbdee45064ff4f9fd73609e2bcc4e84a4d508e9dd0f31f70356473fde18abfb5838c17d56fb236f5a06b102ef115438de0600b749e818a35fbbc48c43 + languageName: node + linkType: hard + "strnum@npm:^1.1.1": version: 1.1.2 resolution: "strnum@npm:1.1.2" @@ -11823,6 +13470,31 @@ __metadata: languageName: node linkType: hard +"structured-headers@npm:^0.4.1": + version: 0.4.1 + resolution: "structured-headers@npm:0.4.1" + checksum: 10c0/b7d326f6fec7e7f7901d1e0542577293b5d029bf3e1fb84995e33d9aabe47d03259f64ca2d778ef5c427f6f00c78bafa051b6f233131e1556f8bb9102b11ed64 + languageName: node + linkType: hard + +"sucrase@npm:~3.35.1": + version: 3.35.1 + resolution: "sucrase@npm:3.35.1" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.2" + commander: "npm:^4.0.0" + lines-and-columns: "npm:^1.1.6" + mz: "npm:^2.7.0" + pirates: "npm:^4.0.1" + tinyglobby: "npm:^0.2.11" + ts-interface-checker: "npm:^0.1.9" + bin: + sucrase: bin/sucrase + sucrase-node: bin/sucrase-node + checksum: 10c0/6fa22329c261371feb9560630d961ad0d0b9c87dce21ea74557c5f3ffbe5c1ee970ea8bcce9962ae9c90c3c47165ffa7dd41865c7414f5d8ea7a40755d612c5c + languageName: node + linkType: hard + "superjson@npm:^2.2.2": version: 2.2.6 resolution: "superjson@npm:2.2.6" @@ -11832,7 +13504,16 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^7.1.0": +"supports-color@npm:^5.3.0": + version: 5.5.0 + resolution: "supports-color@npm:5.5.0" + dependencies: + has-flag: "npm:^3.0.0" + checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 + languageName: node + linkType: hard + +"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" dependencies: @@ -11850,6 +13531,16 @@ __metadata: languageName: node linkType: hard +"supports-hyperlinks@npm:^2.0.0": + version: 2.3.0 + resolution: "supports-hyperlinks@npm:2.3.0" + dependencies: + has-flag: "npm:^4.0.0" + supports-color: "npm:^7.0.0" + checksum: 10c0/4057f0d86afb056cd799602f72d575b8fdd79001c5894bcb691176f14e870a687e7981e50bc1484980e8b688c6d5bcd4931e1609816abb5a7dc1486b7babf6a1 + languageName: node + linkType: hard + "supports-preserve-symlinks-flag@npm:^1.0.0": version: 1.0.0 resolution: "supports-preserve-symlinks-flag@npm:1.0.0" @@ -11886,6 +13577,23 @@ __metadata: languageName: node linkType: hard +"temp-dir@npm:~2.0.0": + version: 2.0.0 + resolution: "temp-dir@npm:2.0.0" + checksum: 10c0/b1df969e3f3f7903f3426861887ed76ba3b495f63f6d0c8e1ce22588679d9384d336df6064210fda14e640ed422e2a17d5c40d901f60e161c99482d723f4d309 + languageName: node + linkType: hard + +"terminal-link@npm:^2.1.1": + version: 2.1.1 + resolution: "terminal-link@npm:2.1.1" + dependencies: + ansi-escapes: "npm:^4.2.1" + supports-hyperlinks: "npm:^2.0.0" + checksum: 10c0/947458a5cd5408d2ffcdb14aee50bec8fb5022ae683b896b2f08ed6db7b2e7d42780d5c8b51e930e9c322bd7c7a517f4fa7c76983d0873c83245885ac5ee13e3 + languageName: node + linkType: hard + "terser@npm:^5.15.0": version: 5.44.1 resolution: "terser@npm:5.44.1" @@ -11918,6 +13626,24 @@ __metadata: languageName: node linkType: hard +"thenify-all@npm:^1.0.0": + version: 1.6.0 + resolution: "thenify-all@npm:1.6.0" + dependencies: + thenify: "npm:>= 3.1.0 < 4" + checksum: 10c0/9b896a22735e8122754fe70f1d65f7ee691c1d70b1f116fda04fea103d0f9b356e3676cb789506e3909ae0486a79a476e4914b0f92472c2e093d206aed4b7d6b + languageName: node + linkType: hard + +"thenify@npm:>= 3.1.0 < 4": + version: 3.3.1 + resolution: "thenify@npm:3.3.1" + dependencies: + any-promise: "npm:^1.0.0" + checksum: 10c0/f375aeb2b05c100a456a30bc3ed07ef03a39cbdefe02e0403fb714b8c7e57eeaad1a2f5c4ecfb9ce554ce3db9c2b024eba144843cd9e344566d9fcee73b04767 + languageName: node + linkType: hard + "throat@npm:^5.0.0": version: 5.0.0 resolution: "throat@npm:5.0.0" @@ -11939,7 +13665,7 @@ __metadata: languageName: node linkType: hard -"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.14": +"tinyglobby@npm:^0.2.11, tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.14": version: 0.2.15 resolution: "tinyglobby@npm:0.2.15" dependencies: @@ -11988,6 +13714,13 @@ __metadata: languageName: node linkType: hard +"ts-interface-checker@npm:^0.1.9": + version: 0.1.13 + resolution: "ts-interface-checker@npm:0.1.13" + checksum: 10c0/232509f1b84192d07b81d1e9b9677088e590ac1303436da1e92b296e9be8e31ea042e3e1fd3d29b1742ad2c959e95afe30f63117b8f1bc3a3850070a5142fea7 + languageName: node + linkType: hard + "ts-jest@npm:^29.4.5": version: 29.4.6 resolution: "ts-jest@npm:29.4.6" @@ -12234,7 +13967,7 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.9.2": +"typescript@npm:^5.0.0, typescript@npm:^5.9.2, typescript@npm:~5.9.2": version: 5.9.3 resolution: "typescript@npm:5.9.3" bin: @@ -12244,7 +13977,7 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.9.2#optional!builtin": +"typescript@patch:typescript@npm%3A^5.0.0#optional!builtin, typescript@patch:typescript@npm%3A^5.9.2#optional!builtin, typescript@patch:typescript@npm%3A~5.9.2#optional!builtin": version: 5.9.3 resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=5786d5" bin: @@ -12289,6 +14022,13 @@ __metadata: languageName: node linkType: hard +"undici@npm:^6.18.2": + version: 6.23.0 + resolution: "undici@npm:6.23.0" + checksum: 10c0/d846b3fdfd05aa6081ba1eab5db6bbc21b283042c7a43722b86d1ee2bf749d7c990ceac0c809f9a07ffd88b1b0f4c0f548a8362c035088cb1997d63abdda499c + languageName: node + linkType: hard + "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.1 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" @@ -12352,6 +14092,15 @@ __metadata: languageName: node linkType: hard +"unique-string@npm:~2.0.0": + version: 2.0.0 + resolution: "unique-string@npm:2.0.0" + dependencies: + crypto-random-string: "npm:^2.0.0" + checksum: 10c0/11820db0a4ba069d174bedfa96c588fc2c96b083066fafa186851e563951d0de78181ac79c744c1ed28b51f9d82ac5b8196ff3e4560d0178046ef455d8c2244b + languageName: node + linkType: hard + "unist-util-is@npm:^6.0.0": version: 6.0.1 resolution: "unist-util-is@npm:6.0.1" @@ -12525,6 +14274,15 @@ __metadata: languageName: node linkType: hard +"uuid@npm:^7.0.3": + version: 7.0.3 + resolution: "uuid@npm:7.0.3" + bin: + uuid: dist/bin/uuid + checksum: 10c0/2eee5723b0fcce8256f5bfd3112af6c453b5471db00af9c3533e3d5a6e57de83513f9a145a570890457bd7abf2c2aa05797291d950ac666e5a074895dc63168b + languageName: node + linkType: hard + "v8-to-istanbul@npm:^9.0.1": version: 9.3.0 resolution: "v8-to-istanbul@npm:9.3.0" @@ -12536,6 +14294,13 @@ __metadata: languageName: node linkType: hard +"validate-npm-package-name@npm:^5.0.0": + version: 5.0.1 + resolution: "validate-npm-package-name@npm:5.0.1" + checksum: 10c0/903e738f7387404bb72f7ac34e45d7010c877abd2803dc2d614612527927a40a6d024420033132e667b1bade94544b8a1f65c9431a4eb30d0ce0d80093cd1f74 + languageName: node + linkType: hard + "vary@npm:~1.1.2": version: 1.1.2 resolution: "vary@npm:1.1.2" @@ -12685,6 +14450,13 @@ __metadata: languageName: node linkType: hard +"webidl-conversions@npm:^5.0.0": + version: 5.0.0 + resolution: "webidl-conversions@npm:5.0.0" + checksum: 10c0/bf31df332ed11e1114bfcae7712d9ab2c37e7faa60ba32d8fdbee785937c0b012eee235c19d2b5d84f5072db84a160e8d08dd382da7f850feec26a4f46add8ff + languageName: node + linkType: hard + "whatwg-fetch@npm:^3.0.0": version: 3.6.20 resolution: "whatwg-fetch@npm:3.6.20" @@ -12692,6 +14464,17 @@ __metadata: languageName: node linkType: hard +"whatwg-url-without-unicode@npm:8.0.0-3": + version: 8.0.0-3 + resolution: "whatwg-url-without-unicode@npm:8.0.0-3" + dependencies: + buffer: "npm:^5.4.3" + punycode: "npm:^2.1.1" + webidl-conversions: "npm:^5.0.0" + checksum: 10c0/c27a637ab7d01981b2e2f576fde2113b9c42247500e093d2f5ba94b515d5c86dbcf70e5cad4b21b8813185f21fa1b4846f53c79fa87995293457e28c889cc0fd + languageName: node + linkType: hard + "which-boxed-primitive@npm:^1.1.0, which-boxed-primitive@npm:^1.1.1": version: 1.1.1 resolution: "which-boxed-primitive@npm:1.1.1" @@ -12782,6 +14565,13 @@ __metadata: languageName: node linkType: hard +"wonka@npm:^6.3.2": + version: 6.3.5 + resolution: "wonka@npm:6.3.5" + checksum: 10c0/044fe5ae26c0a32b0a1603cc0ed71ede8c9febe5bb3adab4fad5e088ceee600a84a08d0deb95a72189bbaf0d510282d183b6fb7b6e9837e7a1c9b209f788dd07 + languageName: node + linkType: hard + "word-wrap@npm:^1.2.5": version: 1.2.5 resolution: "word-wrap@npm:1.2.5" @@ -12891,6 +14681,55 @@ __metadata: languageName: node linkType: hard +"ws@npm:^8.12.1": + version: 8.19.0 + resolution: "ws@npm:8.19.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/4741d9b9bc3f9c791880882414f96e36b8b254e34d4b503279d6400d9a4b87a033834856dbdd94ee4b637944df17ea8afc4bce0ff4a1560d2166be8855da5b04 + languageName: node + linkType: hard + +"xcode@npm:^3.0.1": + version: 3.0.1 + resolution: "xcode@npm:3.0.1" + dependencies: + simple-plist: "npm:^1.1.0" + uuid: "npm:^7.0.3" + checksum: 10c0/51bf35cee52909aeb18f868ecf9828f93b8042fadf968159320f9f11e757a52e43f6563a53b586986cfe5a34d576f3300c4c0cf1e14300084344ae206eaa53c3 + languageName: node + linkType: hard + +"xml2js@npm:0.6.0": + version: 0.6.0 + resolution: "xml2js@npm:0.6.0" + dependencies: + sax: "npm:>=0.6.0" + xmlbuilder: "npm:~11.0.0" + checksum: 10c0/db1ad659210eda4b77929aa692271308ec7e04830112161b8c707f3bcc7138947409c8461ae5c8bcb36b378d62594a8d1cb78770ff5c3dc46a68c67a0838b486 + languageName: node + linkType: hard + +"xmlbuilder@npm:^15.1.1": + version: 15.1.1 + resolution: "xmlbuilder@npm:15.1.1" + checksum: 10c0/665266a8916498ff8d82b3d46d3993913477a254b98149ff7cff060d9b7cc0db7cf5a3dae99aed92355254a808c0e2e3ec74ad1b04aa1061bdb8dfbea26c18b8 + languageName: node + linkType: hard + +"xmlbuilder@npm:~11.0.0": + version: 11.0.1 + resolution: "xmlbuilder@npm:11.0.1" + checksum: 10c0/74b979f89a0a129926bc786b913459bdbcefa809afaa551c5ab83f89b1915bdaea14c11c759284bb9b931e3b53004dbc2181e21d3ca9553eeb0b2a7b4e40c35b + languageName: node + linkType: hard + "y18n@npm:^4.0.0": version: 4.0.3 resolution: "y18n@npm:4.0.3" From 65237b32d1e973bf3915c3ddb3a52186659dc464 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Garc=C3=ADa?= Date: Wed, 21 Jan 2026 00:23:17 -0600 Subject: [PATCH 06/18] feat: release v2.0.0 with timezone-aware predicates and setters BREAKING CHANGES: - parse() now uses local time for date-only strings - Getter functions (getYear, getMonth, etc.) now return local time New features: - Timezone-aware predicates: isTodayInTz, isTomorrowInTz, isYesterdayInTz, isSameDayInTz, isSameMonthInTz, isSameYearInTz, startOfDayInTz, endOfDayInTz - Setters: setYear, setMonth, setDate, setHours, setMinutes, setSeconds, setMilliseconds - getOffsetInTimezone utility - Full Expo Dev Client compatibility (SDK 54+) Documentation: - Updated README, api-reference, and docs site - Added RELEASE_NOTES_v2.0.0.md --- docs/api-reference.md | 66 +++++++ docs/index.md | 13 ++ packages/native-date/README.md | 64 +++++- packages/native-date/RELEASE_NOTES_v2.0.0.md | 193 +++++++++++++++++++ packages/native-date/package.json | 2 +- 5 files changed, 336 insertions(+), 2 deletions(-) create mode 100644 packages/native-date/RELEASE_NOTES_v2.0.0.md diff --git a/docs/api-reference.md b/docs/api-reference.md index 7432de6..feb925e 100644 --- a/docs/api-reference.md +++ b/docs/api-reference.md @@ -6,6 +6,13 @@ All functions accept flexible date inputs and return timestamps (milliseconds si type DateInput = number | string | Date; ``` +::: warning v2.0 Breaking Changes +- `parse()` now uses **local time** for date-only strings (was UTC) +- Getter functions now return **local time** components (was UTC) + +See [Release Notes](/RELEASE_NOTES_v2.0.0.md) for migration guide. +::: + ## Parsing | Function | Description | @@ -122,6 +129,32 @@ getComponents(date); // { year: 2025, month: 11, day: 30, ... } --- +## Setters + +Immutable setters that return new timestamps: + +| Function | Description | +|----------|-------------| +| `setYear(date, year)` | Set year | +| `setMonth(date, month)` | Set month (1-12) | +| `setDate(date, day)` | Set day of month | +| `setHours(date, hours)` | Set hours | +| `setMinutes(date, minutes)` | Set minutes | +| `setSeconds(date, seconds)` | Set seconds | +| `setMilliseconds(date, ms)` | Set milliseconds | + +```typescript +setYear(date, 2026); // New timestamp with year 2026 +setMonth(date, 3); // New timestamp with March +setDate(setMonth(date, 3), 15); // March 15th +``` + +::: tip +Setters handle edge cases automatically. Setting month to February when day is 31 will clamp to 28/29. +::: + +--- + ## Arithmetic | Function | Description | @@ -194,6 +227,38 @@ isLeapYear(date); // false --- +## Timezone-Aware Predicates + +Check dates in specific timezones. Essential for global apps where "today" depends on location. + +| Function | Description | +|----------|-------------| +| `isTodayInTz(date, tz)` | Today in timezone? | +| `isTomorrowInTz(date, tz)` | Tomorrow in timezone? | +| `isYesterdayInTz(date, tz)` | Yesterday in timezone? | +| `isSameDayInTz(date1, date2, tz)` | Same day in timezone? | +| `isSameMonthInTz(date1, date2, tz)` | Same month in timezone? | +| `isSameYearInTz(date1, date2, tz)` | Same year in timezone? | +| `startOfDayInTz(date, tz)` | Midnight in timezone | +| `endOfDayInTz(date, tz)` | 23:59:59.999 in timezone | + +```typescript +// Check if timestamp is "today" in Tokyo +isTodayInTz(date, 'Asia/Tokyo'); + +// Get midnight in New York (returns UTC timestamp) +startOfDayInTz(date, 'America/New_York'); + +// Compare two dates in London timezone +isSameDayInTz(date1, date2, 'Europe/London'); +``` + +::: tip Use Case +A global restaurant app needs to check if an order was placed "today" in the restaurant's local timezone, not the user's device timezone. +::: + +--- + ## Boundaries | Function | Description | @@ -259,6 +324,7 @@ formatDuration(3600000); // "1h 0m 0s" | `getTimezone()` | Device timezone ID | | `getTimezoneOffset()` | Offset in minutes | | `getTimezoneOffsetForTimestamp(date)` | Offset at date | +| `getOffsetInTimezone(date, tz)` | Offset for timezone at date | | `toTimezone(date, tz)` | Convert to timezone | | `toUTC(date)` | Convert to UTC | | `getAvailableTimezones()` | All timezone IDs | diff --git a/docs/index.md b/docs/index.md index 0ed5881..6d8f64b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -157,6 +157,8 @@ import { nativeDate } from '@bernagl/react-native-date/chain'; - **Zero-config locales** - Reads from OS, no plugins or imports - **150+ locales** - Every locale supported by iOS/Android - **Timezone support** - Full IANA timezone database from the OS +- **Timezone-aware predicates** - Check "is today in Tokyo?" etc. +- **Expo compatible** - Works with Expo Dev Client (SDK 54+) - **Tiny footprint** - No locale bundles, minimal JS - **Tree-shakeable** - Only bundle what you use - **Type-safe** - Full TypeScript support @@ -180,10 +182,21 @@ import { nativeDate } from '@bernagl/react-native-date/chain'; npm install @bernagl/react-native-date react-native-nitro-modules ``` +### React Native CLI + ```bash cd ios && pod install ``` +### Expo + +Requires Expo Dev Client (not Expo Go): + +```bash +npx expo prebuild +npx expo run:ios +``` + No additional setup. No locale configuration. Just install and use. --- diff --git a/packages/native-date/README.md b/packages/native-date/README.md index 5f1c3c0..2c12527 100644 --- a/packages/native-date/README.md +++ b/packages/native-date/README.md @@ -2,12 +2,16 @@ High-performance native date library for React Native, powered by C++ and [Nitro Modules](https://nitro.margelo.com/). +> **v2.0 Breaking Changes:** `parse()` and getter functions now use local time for date-only strings (previously UTC). See [RELEASE_NOTES_v2.0.0.md](./RELEASE_NOTES_v2.0.0.md) for migration guide. + ## Features - **Native Performance**: C++ implementation with JSI bindings for minimal bridge overhead -- **date-fns-like API**: Familiar functional API with 75+ functions +- **date-fns-like API**: Familiar functional API with 80+ functions - **Timezone Support**: Full IANA timezone support with formatting and conversion +- **Timezone-Aware Predicates**: Check dates in specific timezones (isToday in Tokyo, etc.) - **Async Batch Operations**: Background thread processing for heavy workloads +- **Expo Compatible**: Works with Expo Dev Client (SDK 54+) - **Tree-shakeable**: Import only what you need - **TypeScript First**: Full type definitions included @@ -35,6 +39,17 @@ cd ios && pod install No additional setup required. +### Expo + +Requires Expo Dev Client (not Expo Go): + +```sh +npx expo prebuild +npx expo run:ios +# or +npx expo run:android +``` + ## Quick Start ```typescript @@ -158,6 +173,52 @@ import { nativeDate } from '@bernagl/react-native-date/chain'; | `isPast(timestamp)` | Check if in the past | | `isFuture(timestamp)` | Check if in the future | +### Timezone-Aware Predicates + +Check dates in specific timezones (useful for global apps): + +| Function | Description | +|----------|-------------| +| `isTodayInTz(timestamp, tz)` | Check if today in timezone | +| `isTomorrowInTz(timestamp, tz)` | Check if tomorrow in timezone | +| `isYesterdayInTz(timestamp, tz)` | Check if yesterday in timezone | +| `isSameDayInTz(t1, t2, tz)` | Check if same day in timezone | +| `isSameMonthInTz(t1, t2, tz)` | Check if same month in timezone | +| `isSameYearInTz(t1, t2, tz)` | Check if same year in timezone | +| `startOfDayInTz(timestamp, tz)` | Start of day in timezone | +| `endOfDayInTz(timestamp, tz)` | End of day in timezone | + +```typescript +import { isTodayInTz, startOfDayInTz } from '@bernagl/react-native-date'; + +// Check if a timestamp is "today" in Tokyo +isTodayInTz(timestamp, 'Asia/Tokyo'); + +// Get midnight in New York +startOfDayInTz(timestamp, 'America/New_York'); +``` + +### Setters + +Immutable setters that return new timestamps: + +| Function | Description | +|----------|-------------| +| `setYear(timestamp, year)` | Set year | +| `setMonth(timestamp, month)` | Set month (1-12) | +| `setDate(timestamp, day)` | Set day of month | +| `setHours(timestamp, hours)` | Set hours | +| `setMinutes(timestamp, minutes)` | Set minutes | +| `setSeconds(timestamp, seconds)` | Set seconds | +| `setMilliseconds(timestamp, ms)` | Set milliseconds | + +```typescript +import { setMonth, setDate } from '@bernagl/react-native-date'; + +// Set to March 15th +const newDate = setDate(setMonth(timestamp, 3), 15); +``` + ### Boundaries | Function | Description | @@ -200,6 +261,7 @@ import { nativeDate } from '@bernagl/react-native-date/chain'; |----------|-------------| | `getTimezone()` | Get device timezone | | `getTimezoneOffset()` | Get timezone offset in minutes | +| `getOffsetInTimezone(timestamp, tz)` | Get offset for specific timezone at specific time | | `getAvailableTimezones()` | List all available timezones | | `isValidTimezone(tz)` | Check if timezone is valid | | `toTimezone(timestamp, tz)` | Convert to timezone | diff --git a/packages/native-date/RELEASE_NOTES_v2.0.0.md b/packages/native-date/RELEASE_NOTES_v2.0.0.md new file mode 100644 index 0000000..03c4658 --- /dev/null +++ b/packages/native-date/RELEASE_NOTES_v2.0.0.md @@ -0,0 +1,193 @@ +# Release Notes v2.0.0 + +## Highlights + +This major release brings **timezone-aware predicates**, **consistent local time handling**, a **comprehensive test suite** with 923 Jest tests and 194 device tests, and **Expo compatibility**. + +--- + +## Breaking Changes + +### 1. `parse()` Now Uses Local Time for Date-Only Strings + +```typescript +// v1.x - UTC midnight +parse('2024-06-15') // → 2024-06-15T00:00:00Z + +// v2.0 - Local midnight +parse('2024-06-15') // → 2024-06-15T00:00:00 in user's timezone +``` + +**Migration:** If you need UTC parsing, append `Z`: +```typescript +parse('2024-06-15T00:00:00Z') // Still parses as UTC +``` + +### 2. Getter Functions Now Return Local Time + +All getters now use local time components: +- `getYear()`, `getMonth()`, `getDate()`, `getDay()` +- `getHours()`, `getMinutes()`, `getSeconds()`, `getMilliseconds()` +- `getComponents()` + +**Migration:** Use `formatUTC()` if you need UTC representations: +```typescript +const utcString = formatUTC(timestamp, 'yyyy-MM-dd HH:mm:ss'); +``` + +--- + +## New Features + +### Timezone-Aware Predicates (8 new functions) + +Native C++ functions for timezone-specific date operations: + +```typescript +// Check if date is today/tomorrow/yesterday in a specific timezone +isTodayInTz(date, 'America/New_York') +isTomorrowInTz(date, 'Asia/Tokyo') +isYesterdayInTz(date, 'Europe/London') + +// Compare dates in a specific timezone +isSameDayInTz(date1, date2, 'UTC') +isSameMonthInTz(date1, date2, 'America/Los_Angeles') +isSameYearInTz(date1, date2, 'Europe/Paris') + +// Get day boundaries in a specific timezone +startOfDayInTz(date, 'Asia/Tokyo') // Returns UTC timestamp for midnight in Tokyo +endOfDayInTz(date, 'America/New_York') // Returns UTC timestamp for 23:59:59.999 in NY +``` + +### Timezone Offset Utility + +```typescript +getOffsetInTimezone(date, timezone) // Get timezone offset in minutes for a specific date +``` + +### Expo Compatibility + +- Full support for Expo Dev Client +- Works with Expo SDK 54+ +- Requires `npx expo prebuild` (not Expo Go) + +--- + +## Bug Fixes + +### Fixed `startOfMonth()` / `endOfMonth()` Timezone Issues + +```typescript +// v1.x - In CST (UTC-6), January 1 midnight local was returning December 31 +startOfMonth(parse('2024-01-15')) // ❌ Returned Dec 31, 2023 + +// v2.0 - Uses local time components consistently +startOfMonth(parse('2024-01-15')) // ✅ Returns Jan 1, 2024 midnight local +``` + +### Fixed `endOf()` Functions + +- `endOf('month')` - Now correctly returns last day of month +- `endOf('year')` - Now correctly returns Dec 31 +- `endOf('week')` - Now correctly returns Saturday +- `endOf('day')` - Now uses local time + +### Fixed `tryParse()` for Invalid Strings + +```typescript +// v1.x - Invalid strings returned garbage timestamps +tryParse('invalid-date') // ❌ Returned random number + +// v2.0 - Validates format before parsing +tryParse('invalid-date') // ✅ Returns null +tryParse('2024-06-15') // ✅ Returns timestamp +``` + +### Fixed `toISOString()` Output + +Now uses `formatUTC()` to ensure proper UTC output with 'Z' suffix. + +### Fixed Async Functions Local Time Consistency + +`formatManyAsync()` and `getComponentsManyAsync()` now use local time, consistent with sync versions. + +--- + +## Test Coverage + +### Jest Tests: 923 passing + +| Suite | Tests | +|-------|-------| +| Core | 45 | +| Arithmetic | 92 | +| Boundaries | 156 | +| Comparisons | 48 | +| Predicates | 67 | +| Setters | 34 | +| Timezone | 19 | +| Async | 12 | +| Standards | 35 | +| Library Comparison | ~100 | +| Benchmarks | ~315 | + +### Device Tests: 194 tests + +Run on real devices via the example app's Test tab. + +--- + +## Migration Guide + +### From v1.x to v2.0 + +1. **Date-only parsing behavior changed:** + ```typescript + // If you relied on UTC parsing for date-only strings: + // Before + const ts = parse('2024-06-15'); // Was UTC midnight + + // After - explicitly use UTC if needed + const ts = parse('2024-06-15T00:00:00Z'); // UTC midnight + // Or + const ts = parse('2024-06-15'); // Now local midnight + ``` + +2. **Getter functions return local time:** + ```typescript + // If you expected UTC values from getters, + // use formatUTC() instead for UTC representations + const utcString = formatUTC(timestamp, 'yyyy-MM-dd HH:mm:ss'); + ``` + +3. **New InTz functions available:** + ```typescript + import { isTodayInTz, startOfDayInTz } from '@bernagl/react-native-date'; + ``` + +--- + +## Installation + +```bash +npm install @bernagl/react-native-date@2.0.0 +# or +yarn add @bernagl/react-native-date@2.0.0 +``` + +### iOS +```bash +cd ios && pod install +``` + +### Expo +```bash +npx expo prebuild --clean +npx expo run:ios +``` + +--- + +## Full Changelog + +See [CHANGELOG_v2.md](./CHANGELOG_v2.md) for detailed commit history and file changes. diff --git a/packages/native-date/package.json b/packages/native-date/package.json index 46d1555..3966a53 100644 --- a/packages/native-date/package.json +++ b/packages/native-date/package.json @@ -1,6 +1,6 @@ { "name": "@bernagl/react-native-date", - "version": "1.0.0", + "version": "2.0.0", "description": "The fastest date library for React Native. Powered by C++ and Nitro Modules.", "sideEffects": false, "main": "./lib/module/index.js", From 890564eb8db5f9636ef0c372f47d7f84c6772f54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Garc=C3=ADa?= Date: Wed, 21 Jan 2026 00:27:21 -0600 Subject: [PATCH 07/18] fix(ci): update workspace name and example paths - Change @rn-packages/native-date to @bernagl/react-native-date - Update example paths from packages/native-date/example to packages/example --- .github/workflows/ci.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d50cadc..f882ed2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,16 +24,16 @@ jobs: run: yarn install --immutable - name: Lint - run: yarn workspace @rn-packages/native-date lint + run: yarn workspace @bernagl/react-native-date lint - name: Type check - run: yarn workspace @rn-packages/native-date typecheck + run: yarn workspace @bernagl/react-native-date typecheck - name: Run tests - run: yarn workspace @rn-packages/native-date test + run: yarn workspace @bernagl/react-native-date test - name: Build - run: yarn workspace @rn-packages/native-date prepare + run: yarn workspace @bernagl/react-native-date prepare build-android: runs-on: ubuntu-latest @@ -59,7 +59,7 @@ jobs: run: yarn install --immutable - name: Build library - run: yarn workspace @rn-packages/native-date prepare + run: yarn workspace @bernagl/react-native-date prepare - name: Cache Gradle uses: actions/cache@v4 @@ -72,7 +72,7 @@ jobs: ${{ runner.os }}-gradle- - name: Build Android example - working-directory: packages/native-date/example/android + working-directory: packages/example/android run: ./gradlew assembleDebug --no-daemon build-ios: @@ -93,22 +93,22 @@ jobs: run: yarn install --immutable - name: Build library - run: yarn workspace @rn-packages/native-date prepare + run: yarn workspace @bernagl/react-native-date prepare - name: Cache CocoaPods uses: actions/cache@v4 with: - path: packages/native-date/example/ios/Pods + path: packages/example/ios/Pods key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} restore-keys: | ${{ runner.os }}-pods- - name: Install CocoaPods - working-directory: packages/native-date/example/ios + working-directory: packages/example/ios run: pod install - name: Build iOS example - working-directory: packages/native-date/example/ios + working-directory: packages/example/ios run: | xcodebuild \ -workspace NativeDateExample.xcworkspace \ From 5f97c2df996aeb01f57d28778961e2611f9595e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Garc=C3=ADa?= Date: Wed, 21 Jan 2026 00:29:34 -0600 Subject: [PATCH 08/18] fix(ci): add missing eslint-plugin-eslint-comments Required by @react-native/eslint-config --- packages/native-date/package.json | 1 + yarn.lock | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/native-date/package.json b/packages/native-date/package.json index 3966a53..ede6a8d 100644 --- a/packages/native-date/package.json +++ b/packages/native-date/package.json @@ -93,6 +93,7 @@ "del-cli": "^6.0.0", "eslint": "^9.35.0", "eslint-config-prettier": "^10.1.8", + "eslint-plugin-eslint-comments": "^3.2.0", "eslint-plugin-prettier": "^5.5.4", "lefthook": "^2.0.3", "nitrogen": "^0.31.10", diff --git a/yarn.lock b/yarn.lock index e252185..d089151 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1792,6 +1792,7 @@ __metadata: del-cli: "npm:^6.0.0" eslint: "npm:^9.35.0" eslint-config-prettier: "npm:^10.1.8" + eslint-plugin-eslint-comments: "npm:^3.2.0" eslint-plugin-prettier: "npm:^5.5.4" lefthook: "npm:^2.0.3" nitrogen: "npm:^0.31.10" From ccb9a5d63347b96d51024262cadf1ea70bd8e024 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Garc=C3=ADa?= Date: Wed, 21 Jan 2026 00:32:52 -0600 Subject: [PATCH 09/18] fix(ci): add all required ESLint plugins and fix formatting - Add eslint-plugin-react, eslint-plugin-react-hooks, eslint-plugin-react-native - Add @typescript-eslint/parser, @typescript-eslint/eslint-plugin - Add eslint-plugin-jest, eslint-plugin-ft-flow - Fix prettier formatting issues --- .../__mocks__/react-native-nitro-modules.ts | 43 ++- .../native-date/__tests__/timezone.test.ts | 12 +- packages/native-date/package.json | 7 + packages/native-date/src/NativeDate.nitro.ts | 18 +- packages/native-date/src/index.tsx | 27 +- yarn.lock | 253 +++++++++++++++++- 6 files changed, 329 insertions(+), 31 deletions(-) diff --git a/packages/native-date/__tests__/__mocks__/react-native-nitro-modules.ts b/packages/native-date/__tests__/__mocks__/react-native-nitro-modules.ts index cf355ce..4b9a19a 100644 --- a/packages/native-date/__tests__/__mocks__/react-native-nitro-modules.ts +++ b/packages/native-date/__tests__/__mocks__/react-native-nitro-modules.ts @@ -900,7 +900,8 @@ const mockNativeDate = { getTimezone: () => 'America/New_York', getTimezoneOffset: () => new Date().getTimezoneOffset(), getTimezoneOffsetForTimestamp: () => new Date().getTimezoneOffset(), - getOffsetInTimezone: (ts: number, tz: string) => getTimezoneOffsetForDate(tz, ts), + getOffsetInTimezone: (ts: number, tz: string) => + getTimezoneOffsetForDate(tz, ts), toTimezone: (ts: number, _tz: string) => ts, // Simplified formatInTimezone: (ts: number, pattern: string, tz: string) => { // Apply timezone offset for proper formatting @@ -914,45 +915,63 @@ const mockNativeDate = { // Timezone-aware predicates (InTz) isTodayInTz: (ts: number, tz: string) => { const dateStr = mockNativeDate.formatInTimezone(ts, 'yyyy-MM-dd', tz); - const todayStr = mockNativeDate.formatInTimezone(Date.now(), 'yyyy-MM-dd', tz); + const todayStr = mockNativeDate.formatInTimezone( + Date.now(), + 'yyyy-MM-dd', + tz + ); return dateStr === todayStr; }, isTomorrowInTz: (ts: number, tz: string) => { const dateStr = mockNativeDate.formatInTimezone(ts, 'yyyy-MM-dd', tz); const tomorrowTs = addToDate(Date.now(), 1, 'day'); - const tomorrowStr = mockNativeDate.formatInTimezone(tomorrowTs, 'yyyy-MM-dd', tz); + const tomorrowStr = mockNativeDate.formatInTimezone( + tomorrowTs, + 'yyyy-MM-dd', + tz + ); return dateStr === tomorrowStr; }, isYesterdayInTz: (ts: number, tz: string) => { const dateStr = mockNativeDate.formatInTimezone(ts, 'yyyy-MM-dd', tz); const yesterdayTs = addToDate(Date.now(), -1, 'day'); - const yesterdayStr = mockNativeDate.formatInTimezone(yesterdayTs, 'yyyy-MM-dd', tz); + const yesterdayStr = mockNativeDate.formatInTimezone( + yesterdayTs, + 'yyyy-MM-dd', + tz + ); return dateStr === yesterdayStr; }, isSameDayInTz: (ts1: number, ts2: number, tz: string) => { - return mockNativeDate.formatInTimezone(ts1, 'yyyy-MM-dd', tz) === - mockNativeDate.formatInTimezone(ts2, 'yyyy-MM-dd', tz); + return ( + mockNativeDate.formatInTimezone(ts1, 'yyyy-MM-dd', tz) === + mockNativeDate.formatInTimezone(ts2, 'yyyy-MM-dd', tz) + ); }, isSameMonthInTz: (ts1: number, ts2: number, tz: string) => { - return mockNativeDate.formatInTimezone(ts1, 'yyyy-MM', tz) === - mockNativeDate.formatInTimezone(ts2, 'yyyy-MM', tz); + return ( + mockNativeDate.formatInTimezone(ts1, 'yyyy-MM', tz) === + mockNativeDate.formatInTimezone(ts2, 'yyyy-MM', tz) + ); }, isSameYearInTz: (ts1: number, ts2: number, tz: string) => { - return mockNativeDate.formatInTimezone(ts1, 'yyyy', tz) === - mockNativeDate.formatInTimezone(ts2, 'yyyy', tz); + return ( + mockNativeDate.formatInTimezone(ts1, 'yyyy', tz) === + mockNativeDate.formatInTimezone(ts2, 'yyyy', tz) + ); }, startOfDayInTz: (ts: number, tz: string) => { const dateStr = mockNativeDate.formatInTimezone(ts, 'yyyy-MM-dd', tz); const utcMidnight = parseISO8601(dateStr + 'T00:00:00Z'); const offsetMinutes = getTimezoneOffsetForDate(tz, utcMidnight); - return utcMidnight - (offsetMinutes * 60 * 1000); + return utcMidnight - offsetMinutes * 60 * 1000; }, endOfDayInTz: (ts: number, tz: string) => { const nextDay = addToDate(ts, 1, 'day'); const dateStr = mockNativeDate.formatInTimezone(nextDay, 'yyyy-MM-dd', tz); const utcMidnight = parseISO8601(dateStr + 'T00:00:00Z'); const offsetMinutes = getTimezoneOffsetForDate(tz, utcMidnight); - return utcMidnight - (offsetMinutes * 60 * 1000) - 1; + return utcMidnight - offsetMinutes * 60 * 1000 - 1; }, // Async batch operations diff --git a/packages/native-date/__tests__/timezone.test.ts b/packages/native-date/__tests__/timezone.test.ts index 8cc1c4a..ed15e27 100644 --- a/packages/native-date/__tests__/timezone.test.ts +++ b/packages/native-date/__tests__/timezone.test.ts @@ -226,7 +226,11 @@ describe('Timezone-Aware Predicates (InTz)', () => { it('should return midnight UTC for UTC timezone', () => { const date = parse('2024-06-15T14:30:00Z'); const startOfDay = startOfDayInTz(date, 'UTC'); - const formatted = formatInTimezone(startOfDay, 'yyyy-MM-dd HH:mm:ss', 'UTC'); + const formatted = formatInTimezone( + startOfDay, + 'yyyy-MM-dd HH:mm:ss', + 'UTC' + ); expect(formatted).toBe('2024-06-15 00:00:00'); }); @@ -254,7 +258,11 @@ describe('Timezone-Aware Predicates (InTz)', () => { it('should return end of day in specified timezone', () => { const date = parse('2024-06-15T14:30:00Z'); const endOfDay = endOfDayInTz(date, 'UTC'); - const formatted = formatInTimezone(endOfDay, 'yyyy-MM-dd HH:mm:ss', 'UTC'); + const formatted = formatInTimezone( + endOfDay, + 'yyyy-MM-dd HH:mm:ss', + 'UTC' + ); expect(formatted).toBe('2024-06-15 23:59:59'); }); diff --git a/packages/native-date/package.json b/packages/native-date/package.json index ede6a8d..19b8592 100644 --- a/packages/native-date/package.json +++ b/packages/native-date/package.json @@ -89,12 +89,19 @@ "@react-native/babel-preset": "0.81.1", "@react-native/eslint-config": "^0.81.1", "@types/react": "^19.1.0", + "@typescript-eslint/eslint-plugin": "^8.53.1", + "@typescript-eslint/parser": "^8.53.1", "commitlint": "^19.8.1", "del-cli": "^6.0.0", "eslint": "^9.35.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-ft-flow": "^3.0.11", + "eslint-plugin-jest": "^29.12.1", "eslint-plugin-prettier": "^5.5.4", + "eslint-plugin-react": "^7.37.5", + "eslint-plugin-react-hooks": "^7.0.1", + "eslint-plugin-react-native": "^5.0.0", "lefthook": "^2.0.3", "nitrogen": "^0.31.10", "prettier": "^2.8.8", diff --git a/packages/native-date/src/NativeDate.nitro.ts b/packages/native-date/src/NativeDate.nitro.ts index 04e6a29..ea201b5 100644 --- a/packages/native-date/src/NativeDate.nitro.ts +++ b/packages/native-date/src/NativeDate.nitro.ts @@ -129,9 +129,21 @@ export interface NativeDate isTodayInTz(timestamp: number, timezone: string): boolean; isTomorrowInTz(timestamp: number, timezone: string): boolean; isYesterdayInTz(timestamp: number, timezone: string): boolean; - isSameDayInTz(timestamp1: number, timestamp2: number, timezone: string): boolean; - isSameMonthInTz(timestamp1: number, timestamp2: number, timezone: string): boolean; - isSameYearInTz(timestamp1: number, timestamp2: number, timezone: string): boolean; + isSameDayInTz( + timestamp1: number, + timestamp2: number, + timezone: string + ): boolean; + isSameMonthInTz( + timestamp1: number, + timestamp2: number, + timezone: string + ): boolean; + isSameYearInTz( + timestamp1: number, + timestamp2: number, + timezone: string + ): boolean; startOfDayInTz(timestamp: number, timezone: string): number; endOfDayInTz(timestamp: number, timezone: string): number; diff --git a/packages/native-date/src/index.tsx b/packages/native-date/src/index.tsx index 16194ea..af6ccf4 100644 --- a/packages/native-date/src/index.tsx +++ b/packages/native-date/src/index.tsx @@ -757,7 +757,10 @@ export function getTimezoneOffsetForTimestamp(date: DateInput): number { return NativeDateModule.getTimezoneOffsetForTimestamp(toTimestamp(date)); } -export function getOffsetInTimezone(date: DateInput, timezone: Timezone): number { +export function getOffsetInTimezone( + date: DateInput, + timezone: Timezone +): number { return NativeDateModule.getOffsetInTimezone(toTimestamp(date), timezone); } @@ -1149,13 +1152,21 @@ export function isToday(date: DateInput): boolean { export function isTomorrow(date: DateInput): boolean { const d = getComponents(date); const tomorrow = getComponents(addDays(now(), 1)); - return d.year === tomorrow.year && d.month === tomorrow.month && d.day === tomorrow.day; + return ( + d.year === tomorrow.year && + d.month === tomorrow.month && + d.day === tomorrow.day + ); } export function isYesterday(date: DateInput): boolean { const d = getComponents(date); const yesterday = getComponents(subDays(now(), 1)); - return d.year === yesterday.year && d.month === yesterday.month && d.day === yesterday.day; + return ( + d.year === yesterday.year && + d.month === yesterday.month && + d.day === yesterday.day + ); } export function isPast(date: DateInput): boolean { @@ -1320,7 +1331,15 @@ function fromComponentsLocal(components: { millisecond = 0, } = components; // Use new Date() constructor which interprets as local time (month is 0-indexed) - return new Date(year, month - 1, day, hour, minute, second, millisecond).getTime(); + return new Date( + year, + month - 1, + day, + hour, + minute, + second, + millisecond + ).getTime(); } // Setters (immutable - return new timestamp) diff --git a/yarn.lock b/yarn.lock index d089151..f6ff95e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -257,7 +257,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.20.0, @babel/core@npm:^7.23.9, @babel/core@npm:^7.25.2, @babel/core@npm:^7.27.4": +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.20.0, @babel/core@npm:^7.23.9, @babel/core@npm:^7.24.4, @babel/core@npm:^7.25.2, @babel/core@npm:^7.27.4": version: 7.28.6 resolution: "@babel/core@npm:7.28.6" dependencies: @@ -520,7 +520,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.28.5, @babel/parser@npm:^7.28.6": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.28.5, @babel/parser@npm:^7.28.6": version: 7.28.6 resolution: "@babel/parser@npm:7.28.6" dependencies: @@ -1788,12 +1788,19 @@ __metadata: "@react-native/babel-preset": "npm:0.81.1" "@react-native/eslint-config": "npm:^0.81.1" "@types/react": "npm:^19.1.0" + "@typescript-eslint/eslint-plugin": "npm:^8.53.1" + "@typescript-eslint/parser": "npm:^8.53.1" commitlint: "npm:^19.8.1" del-cli: "npm:^6.0.0" eslint: "npm:^9.35.0" eslint-config-prettier: "npm:^10.1.8" eslint-plugin-eslint-comments: "npm:^3.2.0" + eslint-plugin-ft-flow: "npm:^3.0.11" + eslint-plugin-jest: "npm:^29.12.1" eslint-plugin-prettier: "npm:^5.5.4" + eslint-plugin-react: "npm:^7.37.5" + eslint-plugin-react-hooks: "npm:^7.0.1" + eslint-plugin-react-native: "npm:^5.0.0" lefthook: "npm:^2.0.3" nitrogen: "npm:^0.31.10" prettier: "npm:^2.8.8" @@ -2240,7 +2247,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0, @eslint-community/eslint-utils@npm:^4.8.0": +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0, @eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.1": version: 4.9.1 resolution: "@eslint-community/eslint-utils@npm:4.9.1" dependencies: @@ -2251,7 +2258,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.1": +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.1, @eslint-community/regexpp@npm:^4.12.2": version: 4.12.2 resolution: "@eslint-community/regexpp@npm:4.12.2" checksum: 10c0/fddcbc66851b308478d04e302a4d771d6917a0b3740dc351513c0da9ca2eab8a1adf99f5e0aa7ab8b13fa0df005c81adeee7e63a92f3effd7d367a163b721c2d @@ -4650,6 +4657,26 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/eslint-plugin@npm:^8.53.1": + version: 8.53.1 + resolution: "@typescript-eslint/eslint-plugin@npm:8.53.1" + dependencies: + "@eslint-community/regexpp": "npm:^4.12.2" + "@typescript-eslint/scope-manager": "npm:8.53.1" + "@typescript-eslint/type-utils": "npm:8.53.1" + "@typescript-eslint/utils": "npm:8.53.1" + "@typescript-eslint/visitor-keys": "npm:8.53.1" + ignore: "npm:^7.0.5" + natural-compare: "npm:^1.4.0" + ts-api-utils: "npm:^2.4.0" + peerDependencies: + "@typescript-eslint/parser": ^8.53.1 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/d24e41d0117ef841cc05e4c52d33277de2e57981fa38412f93034082a3467f804201c180f1baca9f967388c7e5965ffcc61e445cf726a0064b8ed71a84f59aa2 + languageName: node + linkType: hard + "@typescript-eslint/parser@npm:^7.1.1": version: 7.18.0 resolution: "@typescript-eslint/parser@npm:7.18.0" @@ -4668,6 +4695,35 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/parser@npm:^8.53.1": + version: 8.53.1 + resolution: "@typescript-eslint/parser@npm:8.53.1" + dependencies: + "@typescript-eslint/scope-manager": "npm:8.53.1" + "@typescript-eslint/types": "npm:8.53.1" + "@typescript-eslint/typescript-estree": "npm:8.53.1" + "@typescript-eslint/visitor-keys": "npm:8.53.1" + debug: "npm:^4.4.3" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/fb7602dc3ea45b838f4da2d0173161b222442ed2007487dfce57d6ce24ff16606ec99de9eb6ac114a815e11a47248303d941dca1a7bf13f70350372cee509886 + languageName: node + linkType: hard + +"@typescript-eslint/project-service@npm:8.53.1": + version: 8.53.1 + resolution: "@typescript-eslint/project-service@npm:8.53.1" + dependencies: + "@typescript-eslint/tsconfig-utils": "npm:^8.53.1" + "@typescript-eslint/types": "npm:^8.53.1" + debug: "npm:^4.4.3" + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/eecc7ad86b45c6969a05e984e645a4ece2a1cc27d825af046efb6ed369cab32062c17f33a1154ab6dcab349099885db7b39945f1b318753395630f3dfa1e5895 + languageName: node + linkType: hard + "@typescript-eslint/scope-manager@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/scope-manager@npm:5.62.0" @@ -4688,6 +4744,25 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:8.53.1": + version: 8.53.1 + resolution: "@typescript-eslint/scope-manager@npm:8.53.1" + dependencies: + "@typescript-eslint/types": "npm:8.53.1" + "@typescript-eslint/visitor-keys": "npm:8.53.1" + checksum: 10c0/d971eb115f2a2c4c25c79df9eee68b93354b32d7cc1174c167241cd2ebbc77858fe7a032c7ecdbacef936b56e8317b56037d21461cb83b4789f7e764e9faa455 + languageName: node + linkType: hard + +"@typescript-eslint/tsconfig-utils@npm:8.53.1, @typescript-eslint/tsconfig-utils@npm:^8.53.1": + version: 8.53.1 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.53.1" + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/e2bfa91f9306dbfa82bdcb64bfcf634fee6313b03e93b35b0010907983c9ffc73c732264deff870896dea18f34b872d39d90d32f7631fd4618e4a6866ffff578 + languageName: node + linkType: hard + "@typescript-eslint/type-utils@npm:7.18.0": version: 7.18.0 resolution: "@typescript-eslint/type-utils@npm:7.18.0" @@ -4705,6 +4780,22 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/type-utils@npm:8.53.1": + version: 8.53.1 + resolution: "@typescript-eslint/type-utils@npm:8.53.1" + dependencies: + "@typescript-eslint/types": "npm:8.53.1" + "@typescript-eslint/typescript-estree": "npm:8.53.1" + "@typescript-eslint/utils": "npm:8.53.1" + debug: "npm:^4.4.3" + ts-api-utils: "npm:^2.4.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/d97ac3bf901eeeb1ad01a423409db654f849d49f8ce7a2b0d482e093d5c8c9cab9ed810554d130a1eaf4921ddb2d98dbe9a8d22bfd08fd6c8ab004fb640a3fbe + languageName: node + linkType: hard + "@typescript-eslint/types@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/types@npm:5.62.0" @@ -4719,6 +4810,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:8.53.1, @typescript-eslint/types@npm:^8.53.1": + version: 8.53.1 + resolution: "@typescript-eslint/types@npm:8.53.1" + checksum: 10c0/fa49f5f60de6851de45a9aff0a3ba3c4d00a0991100414e8af1a5d6f32764a48b6b7c0f65748a651f0da0e57df0745cdb8f11c590fa0fb22dd0e54e4c6b5c878 + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" @@ -4756,6 +4854,25 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:8.53.1": + version: 8.53.1 + resolution: "@typescript-eslint/typescript-estree@npm:8.53.1" + dependencies: + "@typescript-eslint/project-service": "npm:8.53.1" + "@typescript-eslint/tsconfig-utils": "npm:8.53.1" + "@typescript-eslint/types": "npm:8.53.1" + "@typescript-eslint/visitor-keys": "npm:8.53.1" + debug: "npm:^4.4.3" + minimatch: "npm:^9.0.5" + semver: "npm:^7.7.3" + tinyglobby: "npm:^0.2.15" + ts-api-utils: "npm:^2.4.0" + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/e1b48990ba90f0ee5c9630fe91e2d5123c55348e374e586de6cf25e6e03e6e8274bf15317794d171a2e82d9dc663c229807e603ecc661dbe70d61bd23d0c37c4 + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:7.18.0": version: 7.18.0 resolution: "@typescript-eslint/utils@npm:7.18.0" @@ -4770,6 +4887,21 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/utils@npm:8.53.1, @typescript-eslint/utils@npm:^8.0.0": + version: 8.53.1 + resolution: "@typescript-eslint/utils@npm:8.53.1" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.9.1" + "@typescript-eslint/scope-manager": "npm:8.53.1" + "@typescript-eslint/types": "npm:8.53.1" + "@typescript-eslint/typescript-estree": "npm:8.53.1" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/9a2a11c00b97eb9a053782e303cc384649807779e9adeb0b645bc198c83f54431f7ca56d4b38411dcf7ed06a2c2d9aa129874c20c037de2393a4cd0fa3b93c25 + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:^5.10.0": version: 5.62.0 resolution: "@typescript-eslint/utils@npm:5.62.0" @@ -4808,6 +4940,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:8.53.1": + version: 8.53.1 + resolution: "@typescript-eslint/visitor-keys@npm:8.53.1" + dependencies: + "@typescript-eslint/types": "npm:8.53.1" + eslint-visitor-keys: "npm:^4.2.1" + checksum: 10c0/73a21d34052bcb0b46ed738f8fddb76ae8f56a0c27932616b49022cf8603c3e36bb6ab30acd709f9bc05c673708180527b4c4aaffcb858acfc66d8fb39cc6c29 + languageName: node + linkType: hard + "@ungap/structured-clone@npm:^1.0.0, @ungap/structured-clone@npm:^1.3.0": version: 1.3.0 resolution: "@ungap/structured-clone@npm:1.3.0" @@ -6685,7 +6827,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.4.0, debug@npm:^4.4.1": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.4.0, debug@npm:^4.4.1, debug@npm:^4.4.3": version: 4.4.3 resolution: "debug@npm:4.4.3" dependencies: @@ -7403,6 +7545,19 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-ft-flow@npm:^3.0.11": + version: 3.0.11 + resolution: "eslint-plugin-ft-flow@npm:3.0.11" + dependencies: + lodash: "npm:^4.17.21" + string-natural-compare: "npm:^3.0.1" + peerDependencies: + eslint: ^8.56.0 || ^9.0.0 + hermes-eslint: ">=0.15.0" + checksum: 10c0/025b3736d99d2831c6d493421fbfa880b0aeef9752d3b677972c7100e5ba424368525bc15b34604f02d18807bfa7b1bcaa2c3f37552381f2ce45283faa5989d5 + languageName: node + linkType: hard + "eslint-plugin-jest@npm:^27.9.0": version: 27.9.0 resolution: "eslint-plugin-jest@npm:27.9.0" @@ -7421,6 +7576,24 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-jest@npm:^29.12.1": + version: 29.12.1 + resolution: "eslint-plugin-jest@npm:29.12.1" + dependencies: + "@typescript-eslint/utils": "npm:^8.0.0" + peerDependencies: + "@typescript-eslint/eslint-plugin": ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 + jest: "*" + peerDependenciesMeta: + "@typescript-eslint/eslint-plugin": + optional: true + jest: + optional: true + checksum: 10c0/54c149328c97964a34958b7e32c56f24e9c9fb8eeb6892c357ae527d543cc766d960ef024baaa57be603befda8cb1e25f5cb9701993f554655143e199264ba7a + languageName: node + linkType: hard + "eslint-plugin-prettier@npm:^5.5.4": version: 5.5.4 resolution: "eslint-plugin-prettier@npm:5.5.4" @@ -7450,6 +7623,21 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-react-hooks@npm:^7.0.1": + version: 7.0.1 + resolution: "eslint-plugin-react-hooks@npm:7.0.1" + dependencies: + "@babel/core": "npm:^7.24.4" + "@babel/parser": "npm:^7.24.4" + hermes-parser: "npm:^0.25.1" + zod: "npm:^3.25.0 || ^4.0.0" + zod-validation-error: "npm:^3.5.0 || ^4.0.0" + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + checksum: 10c0/1e711d1a9d1fa9cfc51fa1572500656577201199c70c795c6a27adfc1df39e5c598f69aab6aa91117753d23cc1f11388579a2bed14921cf9a4efe60ae8618496 + languageName: node + linkType: hard + "eslint-plugin-react-native-globals@npm:^0.1.1": version: 0.1.2 resolution: "eslint-plugin-react-native-globals@npm:0.1.2" @@ -7468,7 +7656,18 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:^7.30.1": +"eslint-plugin-react-native@npm:^5.0.0": + version: 5.0.0 + resolution: "eslint-plugin-react-native@npm:5.0.0" + dependencies: + eslint-plugin-react-native-globals: "npm:^0.1.1" + peerDependencies: + eslint: ^3.17.0 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 + checksum: 10c0/c7c927bc743abf0cb367cc64fea5b28b28ea0c58be2990cab858a050b4855e89d90513afa44d73012c9fd670810ad0da2ac72e3e4bdfedf0ce0cbb65e901af7f + languageName: node + linkType: hard + +"eslint-plugin-react@npm:^7.30.1, eslint-plugin-react@npm:^7.37.5": version: 7.37.5 resolution: "eslint-plugin-react@npm:7.37.5" dependencies: @@ -8565,6 +8764,13 @@ __metadata: languageName: node linkType: hard +"hermes-estree@npm:0.25.1": + version: 0.25.1 + resolution: "hermes-estree@npm:0.25.1" + checksum: 10c0/48be3b2fa37a0cbc77a112a89096fa212f25d06de92781b163d67853d210a8a5c3784fac23d7d48335058f7ed283115c87b4332c2a2abaaccc76d0ead1a282ac + languageName: node + linkType: hard + "hermes-estree@npm:0.28.1": version: 0.28.1 resolution: "hermes-estree@npm:0.28.1" @@ -8613,6 +8819,15 @@ __metadata: languageName: node linkType: hard +"hermes-parser@npm:^0.25.1": + version: 0.25.1 + resolution: "hermes-parser@npm:0.25.1" + dependencies: + hermes-estree: "npm:0.25.1" + checksum: 10c0/3abaa4c6f1bcc25273f267297a89a4904963ea29af19b8e4f6eabe04f1c2c7e9abd7bfc4730ddb1d58f2ea04b6fee74053d8bddb5656ec6ebf6c79cc8d14202c + languageName: node + linkType: hard + "hookable@npm:^5.5.3": version: 5.5.3 resolution: "hookable@npm:5.5.3" @@ -8729,7 +8944,7 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^7.0.3": +"ignore@npm:^7.0.3, ignore@npm:^7.0.5": version: 7.0.5 resolution: "ignore@npm:7.0.5" checksum: 10c0/ae00db89fe873064a093b8999fe4cc284b13ef2a178636211842cceb650b9c3e390d3339191acb145d81ed5379d2074840cf0c33a20bdbd6f32821f79eb4ad5d @@ -11075,7 +11290,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.0, minimatch@npm:^9.0.4": +"minimatch@npm:^9.0.0, minimatch@npm:^9.0.4, minimatch@npm:^9.0.5": version: 9.0.5 resolution: "minimatch@npm:9.0.5" dependencies: @@ -13666,7 +13881,7 @@ __metadata: languageName: node linkType: hard -"tinyglobby@npm:^0.2.11, tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.14": +"tinyglobby@npm:^0.2.11, tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.15": version: 0.2.15 resolution: "tinyglobby@npm:0.2.15" dependencies: @@ -13715,6 +13930,15 @@ __metadata: languageName: node linkType: hard +"ts-api-utils@npm:^2.4.0": + version: 2.4.0 + resolution: "ts-api-utils@npm:2.4.0" + peerDependencies: + typescript: ">=4.8.4" + checksum: 10c0/ed185861aef4e7124366a3f6561113557a57504267d4d452a51e0ba516a9b6e713b56b4aeaab9fa13de9db9ab755c65c8c13a777dba9133c214632cb7b65c083 + languageName: node + linkType: hard + "ts-interface-checker@npm:^0.1.9": version: 0.1.13 resolution: "ts-interface-checker@npm:0.1.13" @@ -14861,7 +15085,16 @@ __metadata: languageName: node linkType: hard -"zod@npm:^4.0.5": +"zod-validation-error@npm:^3.5.0 || ^4.0.0": + version: 4.0.2 + resolution: "zod-validation-error@npm:4.0.2" + peerDependencies: + zod: ^3.25.0 || ^4.0.0 + checksum: 10c0/0ccfec48c46de1be440b719cd02044d4abb89ed0e14c13e637cd55bf29102f67ccdba373f25def0fc7130e5f15025be4d557a7edcc95d5a3811599aade689e1b + languageName: node + linkType: hard + +"zod@npm:^3.25.0 || ^4.0.0, zod@npm:^4.0.5": version: 4.3.5 resolution: "zod@npm:4.3.5" checksum: 10c0/5a2db7e59177a3d7e202543f5136cb87b97b047b77c8a3d824098d3fa8b80d3aa40a0a5f296965c3b82dfdccdd05dbbfacce91347f16a39c675680fd7b1ab109 From e604b676c20e6021888f39bbcb2ba3eb5edcf831 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Garc=C3=ADa?= Date: Wed, 21 Jan 2026 00:35:52 -0600 Subject: [PATCH 10/18] fix(ci): add @react-native/eslint-plugin and babel dependencies --- packages/native-date/package.json | 4 ++++ yarn.lock | 17 ++++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/packages/native-date/package.json b/packages/native-date/package.json index 19b8592..f905a81 100644 --- a/packages/native-date/package.json +++ b/packages/native-date/package.json @@ -82,12 +82,16 @@ }, "homepage": "https://github.com/bbernag/react-native-date#readme", "devDependencies": { + "@babel/core": "^7.28.6", + "@babel/eslint-parser": "^7.28.6", "@commitlint/config-conventional": "^19.8.1", "@eslint/compat": "^1.3.2", "@eslint/eslintrc": "^3.3.1", "@eslint/js": "^9.35.0", "@react-native/babel-preset": "0.81.1", "@react-native/eslint-config": "^0.81.1", + "@react-native/eslint-plugin": "^0.83.1", + "@types/babel__core": "^7", "@types/react": "^19.1.0", "@typescript-eslint/eslint-plugin": "^8.53.1", "@typescript-eslint/parser": "^8.53.1", diff --git a/yarn.lock b/yarn.lock index f6ff95e..1cc5475 100644 --- a/yarn.lock +++ b/yarn.lock @@ -257,7 +257,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.20.0, @babel/core@npm:^7.23.9, @babel/core@npm:^7.24.4, @babel/core@npm:^7.25.2, @babel/core@npm:^7.27.4": +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.20.0, @babel/core@npm:^7.23.9, @babel/core@npm:^7.24.4, @babel/core@npm:^7.25.2, @babel/core@npm:^7.27.4, @babel/core@npm:^7.28.6": version: 7.28.6 resolution: "@babel/core@npm:7.28.6" dependencies: @@ -280,7 +280,7 @@ __metadata: languageName: node linkType: hard -"@babel/eslint-parser@npm:^7.25.1": +"@babel/eslint-parser@npm:^7.25.1, @babel/eslint-parser@npm:^7.28.6": version: 7.28.6 resolution: "@babel/eslint-parser@npm:7.28.6" dependencies: @@ -1781,12 +1781,16 @@ __metadata: version: 0.0.0-use.local resolution: "@bernagl/react-native-date@workspace:packages/native-date" dependencies: + "@babel/core": "npm:^7.28.6" + "@babel/eslint-parser": "npm:^7.28.6" "@commitlint/config-conventional": "npm:^19.8.1" "@eslint/compat": "npm:^1.3.2" "@eslint/eslintrc": "npm:^3.3.1" "@eslint/js": "npm:^9.35.0" "@react-native/babel-preset": "npm:0.81.1" "@react-native/eslint-config": "npm:^0.81.1" + "@react-native/eslint-plugin": "npm:^0.83.1" + "@types/babel__core": "npm:^7" "@types/react": "npm:^19.1.0" "@typescript-eslint/eslint-plugin": "npm:^8.53.1" "@typescript-eslint/parser": "npm:^8.53.1" @@ -3883,6 +3887,13 @@ __metadata: languageName: node linkType: hard +"@react-native/eslint-plugin@npm:^0.83.1": + version: 0.83.1 + resolution: "@react-native/eslint-plugin@npm:0.83.1" + checksum: 10c0/11ed1b8162d0a31ba854d41e2e9009418cf4a2a85188c542f2491316b2718808e53f788529d79f0a143d5a17d8b6f92c074303b9490ca44f546d7f344b0e925c + languageName: node + linkType: hard + "@react-native/gradle-plugin@npm:0.81.1": version: 0.81.1 resolution: "@react-native/gradle-plugin@npm:0.81.1" @@ -4406,7 +4417,7 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.20.5": +"@types/babel__core@npm:^7, @types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.20.5": version: 7.20.5 resolution: "@types/babel__core@npm:7.20.5" dependencies: From 6abc0a169fd47d9fe0b1149d219b161e059c5ddf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Garc=C3=ADa?= Date: Wed, 21 Jan 2026 00:37:42 -0600 Subject: [PATCH 11/18] fix(ci): add typescript to root for eslint peer dependency resolution --- package.json | 1 + yarn.lock | 1 + 2 files changed, 2 insertions(+) diff --git a/package.json b/package.json index 0f55610..e368998 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "jest": "^30.2.0", "ts-jest": "^29.4.5", "turbo": "^2.0.0", + "typescript": "^5.9.2", "vitepress": "^1.6.4", "vue": "^3.5.25" } diff --git a/yarn.lock b/yarn.lock index 1cc5475..754d350 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12474,6 +12474,7 @@ __metadata: jest: "npm:^30.2.0" ts-jest: "npm:^29.4.5" turbo: "npm:^2.0.0" + typescript: "npm:^5.9.2" vitepress: "npm:^1.6.4" vue: "npm:^3.5.25" languageName: unknown From c8787d183b65f22184057945ee6b7eab6c4bf0ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Garc=C3=ADa?= Date: Wed, 21 Jan 2026 00:40:02 -0600 Subject: [PATCH 12/18] fix(ci): add @types/jest to native-date package for typecheck --- packages/native-date/package.json | 1 + yarn.lock | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/native-date/package.json b/packages/native-date/package.json index f905a81..1b3d294 100644 --- a/packages/native-date/package.json +++ b/packages/native-date/package.json @@ -92,6 +92,7 @@ "@react-native/eslint-config": "^0.81.1", "@react-native/eslint-plugin": "^0.83.1", "@types/babel__core": "^7", + "@types/jest": "^30.0.0", "@types/react": "^19.1.0", "@typescript-eslint/eslint-plugin": "^8.53.1", "@typescript-eslint/parser": "^8.53.1", diff --git a/yarn.lock b/yarn.lock index 754d350..d555b95 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1791,6 +1791,7 @@ __metadata: "@react-native/eslint-config": "npm:^0.81.1" "@react-native/eslint-plugin": "npm:^0.83.1" "@types/babel__core": "npm:^7" + "@types/jest": "npm:^30.0.0" "@types/react": "npm:^19.1.0" "@typescript-eslint/eslint-plugin": "npm:^8.53.1" "@typescript-eslint/parser": "npm:^8.53.1" From c5eed5c504ac1d460803461d02ef5f5b714e2cc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Garc=C3=ADa?= Date: Wed, 21 Jan 2026 00:41:29 -0600 Subject: [PATCH 13/18] fix(ci): add date-fns, dayjs, @types/node for test/benchmark files --- packages/native-date/package.json | 3 +++ yarn.lock | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/packages/native-date/package.json b/packages/native-date/package.json index 1b3d294..34e3376 100644 --- a/packages/native-date/package.json +++ b/packages/native-date/package.json @@ -93,10 +93,13 @@ "@react-native/eslint-plugin": "^0.83.1", "@types/babel__core": "^7", "@types/jest": "^30.0.0", + "@types/node": "^25.0.9", "@types/react": "^19.1.0", "@typescript-eslint/eslint-plugin": "^8.53.1", "@typescript-eslint/parser": "^8.53.1", "commitlint": "^19.8.1", + "date-fns": "^4.1.0", + "dayjs": "^1.11.19", "del-cli": "^6.0.0", "eslint": "^9.35.0", "eslint-config-prettier": "^10.1.8", diff --git a/yarn.lock b/yarn.lock index d555b95..0de9273 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1792,10 +1792,13 @@ __metadata: "@react-native/eslint-plugin": "npm:^0.83.1" "@types/babel__core": "npm:^7" "@types/jest": "npm:^30.0.0" + "@types/node": "npm:^25.0.9" "@types/react": "npm:^19.1.0" "@typescript-eslint/eslint-plugin": "npm:^8.53.1" "@typescript-eslint/parser": "npm:^8.53.1" commitlint: "npm:^19.8.1" + date-fns: "npm:^4.1.0" + dayjs: "npm:^1.11.19" del-cli: "npm:^6.0.0" eslint: "npm:^9.35.0" eslint-config-prettier: "npm:^10.1.8" @@ -4584,6 +4587,15 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:^25.0.9": + version: 25.0.9 + resolution: "@types/node@npm:25.0.9" + dependencies: + undici-types: "npm:~7.16.0" + checksum: 10c0/a757efafe303d9c8833eb53c2e9a0981cd5ac725cdc04c5612a71db86468c938778d4fa328be4231b68fffc68258638764df7b9c69e86cf55f0bb67105eb056f + languageName: node + linkType: hard + "@types/react@npm:^19.1.0": version: 19.2.8 resolution: "@types/react@npm:19.2.8" From bc655a3d8e9fa76ee2132da855a4fc827ff3809b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Garc=C3=ADa?= Date: Wed, 21 Jan 2026 00:46:18 -0600 Subject: [PATCH 14/18] fix(ci): add jest and ts-jest to native-date package --- packages/native-date/package.json | 2 ++ yarn.lock | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/native-date/package.json b/packages/native-date/package.json index 34e3376..603a697 100644 --- a/packages/native-date/package.json +++ b/packages/native-date/package.json @@ -110,6 +110,7 @@ "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.0.1", "eslint-plugin-react-native": "^5.0.0", + "jest": "^30.2.0", "lefthook": "^2.0.3", "nitrogen": "^0.31.10", "prettier": "^2.8.8", @@ -117,6 +118,7 @@ "react-native": "0.81.1", "react-native-builder-bob": "^0.40.16", "react-native-nitro-modules": "^0.31.10", + "ts-jest": "^29.4.6", "turbo": "^2.5.6", "typescript": "^5.9.2" }, diff --git a/yarn.lock b/yarn.lock index 0de9273..3ef64da 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1809,6 +1809,7 @@ __metadata: eslint-plugin-react: "npm:^7.37.5" eslint-plugin-react-hooks: "npm:^7.0.1" eslint-plugin-react-native: "npm:^5.0.0" + jest: "npm:^30.2.0" lefthook: "npm:^2.0.3" nitrogen: "npm:^0.31.10" prettier: "npm:^2.8.8" @@ -1816,6 +1817,7 @@ __metadata: react-native: "npm:0.81.1" react-native-builder-bob: "npm:^0.40.16" react-native-nitro-modules: "npm:^0.31.10" + ts-jest: "npm:^29.4.6" turbo: "npm:^2.5.6" typescript: "npm:^5.9.2" peerDependencies: @@ -13971,7 +13973,7 @@ __metadata: languageName: node linkType: hard -"ts-jest@npm:^29.4.5": +"ts-jest@npm:^29.4.5, ts-jest@npm:^29.4.6": version: 29.4.6 resolution: "ts-jest@npm:29.4.6" dependencies: From aa6495984d2351070f3fda8f531037e58cbd470e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Garc=C3=ADa?= Date: Wed, 21 Jan 2026 00:49:34 -0600 Subject: [PATCH 15/18] fix(ci): use node-modules linker instead of PnP Fixes peer dependency resolution issues with ts-jest and eslint plugins --- .yarnrc.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 .yarnrc.yml diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 0000000..3186f3f --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1 @@ +nodeLinker: node-modules From 83c03c0f4c11f263b42ce8126623a0f366b78789 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Garc=C3=ADa?= Date: Wed, 21 Jan 2026 00:55:56 -0600 Subject: [PATCH 16/18] fix(ci): correct node_modules paths in Android gradle files After monorepo restructure, paths were pointing to wrong location --- packages/example/android/app/build.gradle | 6 +++--- packages/example/android/settings.gradle | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/example/android/app/build.gradle b/packages/example/android/app/build.gradle index e8e73e8..9a8e820 100644 --- a/packages/example/android/app/build.gradle +++ b/packages/example/android/app/build.gradle @@ -11,11 +11,11 @@ react { // The root of your project, i.e. where "package.json" lives. Default is '../..' root = file("../../") // The folder where the react-native NPM package is. Default is ../../node_modules/react-native - reactNativeDir = file("../../../../../node_modules/react-native") + reactNativeDir = file("../../node_modules/react-native") // The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen - codegenDir = file("../../../../../node_modules/@react-native/codegen") + codegenDir = file("../../node_modules/@react-native/codegen") // The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js - cliFile = file("../../../../../node_modules/react-native/cli.js") + cliFile = file("../../node_modules/react-native/cli.js") /* Variants */ // The list of variants to that are debuggable. For those we're going to diff --git a/packages/example/android/settings.gradle b/packages/example/android/settings.gradle index bc464f4..8e0cbea 100644 --- a/packages/example/android/settings.gradle +++ b/packages/example/android/settings.gradle @@ -1,6 +1,6 @@ -pluginManagement { includeBuild("../../../../node_modules/@react-native/gradle-plugin") } +pluginManagement { includeBuild("../node_modules/@react-native/gradle-plugin") } plugins { id("com.facebook.react.settings") } extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand() } rootProject.name = 'rnpackages.nativedate.example' include ':app' -includeBuild('../../../../node_modules/@react-native/gradle-plugin') +includeBuild('../node_modules/@react-native/gradle-plugin') From b5d37f08057f41b0870aa872ff25c2e456ec6c60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Garc=C3=ADa?= Date: Wed, 21 Jan 2026 00:56:59 -0600 Subject: [PATCH 17/18] fix(ci): use generic iOS simulator destination iPhone 15 not available on latest macOS runners with Xcode 16.4 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f882ed2..17058f2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -115,6 +115,6 @@ jobs: -scheme NativeDateExample \ -sdk iphonesimulator \ -configuration Debug \ - -destination 'platform=iOS Simulator,name=iPhone 15' \ + -destination 'generic/platform=iOS Simulator' \ build \ CODE_SIGNING_ALLOWED=NO From a6cb40619d84bd66b8d64a2bc87a74e06880939e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Garc=C3=ADa?= Date: Wed, 21 Jan 2026 01:03:03 -0600 Subject: [PATCH 18/18] fix(ci): use root node_modules paths for Android gradle Dependencies are hoisted to root in yarn workspaces --- packages/example/android/app/build.gradle | 6 +++--- packages/example/android/settings.gradle | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/example/android/app/build.gradle b/packages/example/android/app/build.gradle index 9a8e820..77855cf 100644 --- a/packages/example/android/app/build.gradle +++ b/packages/example/android/app/build.gradle @@ -11,11 +11,11 @@ react { // The root of your project, i.e. where "package.json" lives. Default is '../..' root = file("../../") // The folder where the react-native NPM package is. Default is ../../node_modules/react-native - reactNativeDir = file("../../node_modules/react-native") + reactNativeDir = file("../../../../node_modules/react-native") // The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen - codegenDir = file("../../node_modules/@react-native/codegen") + codegenDir = file("../../../../node_modules/@react-native/codegen") // The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js - cliFile = file("../../node_modules/react-native/cli.js") + cliFile = file("../../../../node_modules/react-native/cli.js") /* Variants */ // The list of variants to that are debuggable. For those we're going to diff --git a/packages/example/android/settings.gradle b/packages/example/android/settings.gradle index 8e0cbea..c8f36b3 100644 --- a/packages/example/android/settings.gradle +++ b/packages/example/android/settings.gradle @@ -1,6 +1,6 @@ -pluginManagement { includeBuild("../node_modules/@react-native/gradle-plugin") } +pluginManagement { includeBuild("../../../node_modules/@react-native/gradle-plugin") } plugins { id("com.facebook.react.settings") } extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand() } rootProject.name = 'rnpackages.nativedate.example' include ':app' -includeBuild('../node_modules/@react-native/gradle-plugin') +includeBuild('../../../node_modules/@react-native/gradle-plugin')