├── .eslintrc.json ├── next.config.mjs ├── app ├── fonts │ ├── ReplicaLLWeb-Bold.woff2 │ ├── ReplicaLLWeb-Heavy.woff2 │ ├── ReplicaLLWeb-Light.woff2 │ ├── ReplicaLLWeb-Italic.woff2 │ ├── ReplicaLLWeb-Regular.woff2 │ ├── ReplicaLLWeb-BoldItalic.woff2 │ ├── ReplicaLLWeb-HeavyItalic.woff2 │ ├── ReplicaLLWeb-LightItalic.woff2 │ └── ReplicaMonoLLWeb-Regular.woff2 ├── components │ ├── BorderedImage.tsx │ ├── CallStatus.tsx │ ├── ui │ │ └── Toggle.tsx │ ├── MicToggleButton.tsx │ ├── DebugMessages.tsx │ └── OrderDetails.tsx ├── layout.tsx ├── api │ └── ultravox │ │ └── route.ts ├── globals.css ├── demo-config.ts └── page.tsx ├── postcss.config.mjs ├── vite.config.ts ├── public ├── UVMark-White.svg └── UVHorizontal-White.svg ├── .gitignore ├── lib ├── clientTools.ts ├── types.ts └── callFunctions.ts ├── tailwind.config.ts ├── tsconfig.json ├── package.json ├── LICENSE ├── README.md └── pnpm-lock.yaml /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "next/core-web-vitals", 4 | "next/typescript" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /next.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = {}; 3 | 4 | export default nextConfig; 5 | -------------------------------------------------------------------------------- /app/fonts/ReplicaLLWeb-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fixie-ai/ultravox-demo-template-vercel/HEAD/app/fonts/ReplicaLLWeb-Bold.woff2 -------------------------------------------------------------------------------- /app/fonts/ReplicaLLWeb-Heavy.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fixie-ai/ultravox-demo-template-vercel/HEAD/app/fonts/ReplicaLLWeb-Heavy.woff2 -------------------------------------------------------------------------------- /app/fonts/ReplicaLLWeb-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fixie-ai/ultravox-demo-template-vercel/HEAD/app/fonts/ReplicaLLWeb-Light.woff2 -------------------------------------------------------------------------------- /app/fonts/ReplicaLLWeb-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fixie-ai/ultravox-demo-template-vercel/HEAD/app/fonts/ReplicaLLWeb-Italic.woff2 -------------------------------------------------------------------------------- /app/fonts/ReplicaLLWeb-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fixie-ai/ultravox-demo-template-vercel/HEAD/app/fonts/ReplicaLLWeb-Regular.woff2 -------------------------------------------------------------------------------- /app/fonts/ReplicaLLWeb-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fixie-ai/ultravox-demo-template-vercel/HEAD/app/fonts/ReplicaLLWeb-BoldItalic.woff2 -------------------------------------------------------------------------------- /app/fonts/ReplicaLLWeb-HeavyItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fixie-ai/ultravox-demo-template-vercel/HEAD/app/fonts/ReplicaLLWeb-HeavyItalic.woff2 -------------------------------------------------------------------------------- /app/fonts/ReplicaLLWeb-LightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fixie-ai/ultravox-demo-template-vercel/HEAD/app/fonts/ReplicaLLWeb-LightItalic.woff2 -------------------------------------------------------------------------------- /app/fonts/ReplicaMonoLLWeb-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fixie-ai/ultravox-demo-template-vercel/HEAD/app/fonts/ReplicaMonoLLWeb-Regular.woff2 -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('postcss-load-config').Config} */ 2 | const config = { 3 | plugins: { 4 | tailwindcss: {}, 5 | }, 6 | }; 7 | 8 | export default config; 9 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | import tsconfigPaths from 'vite-tsconfig-paths' 4 | 5 | export default defineConfig({ 6 | plugins: [react(), tsconfigPaths()], 7 | server: { 8 | port: 3000, 9 | }, 10 | }) -------------------------------------------------------------------------------- /public/UVMark-White.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | .yarn/install-state.gz 8 | 9 | # testing 10 | /coverage 11 | 12 | # next.js 13 | /.next/ 14 | /out/ 15 | 16 | # production 17 | /build 18 | 19 | # misc 20 | .DS_Store 21 | *.pem 22 | 23 | # debug 24 | npm-debug.log* 25 | yarn-debug.log* 26 | yarn-error.log* 27 | 28 | # local env files 29 | .env*.local 30 | 31 | # vercel 32 | .vercel 33 | 34 | # typescript 35 | *.tsbuildinfo 36 | next-env.d.ts 37 | 38 | # yalc 39 | .yalc 40 | yalc.lock 41 | -------------------------------------------------------------------------------- /lib/clientTools.ts: -------------------------------------------------------------------------------- 1 | import { ClientToolImplementation } from 'ultravox-client'; 2 | 3 | // Client-implemented tool for Order Details 4 | export const updateOrderTool: ClientToolImplementation = (parameters) => { 5 | const { ...orderData } = parameters; 6 | console.debug("Received order details update:", orderData.orderDetailsData); 7 | 8 | if (typeof window !== "undefined") { 9 | const event = new CustomEvent("orderDetailsUpdated", { 10 | detail: orderData.orderDetailsData, 11 | }); 12 | window.dispatchEvent(event); 13 | } 14 | 15 | return "Updated the order details."; 16 | }; 17 | -------------------------------------------------------------------------------- /tailwind.config.ts: -------------------------------------------------------------------------------- 1 | import type { Config } from "tailwindcss"; 2 | 3 | const config: Config = { 4 | content: [ 5 | "./pages/**/*.{js,ts,jsx,tsx,mdx}", 6 | "./components/**/*.{js,ts,jsx,tsx,mdx}", 7 | "./app/**/*.{js,ts,jsx,tsx,mdx}", 8 | ], 9 | theme: { 10 | extend: { 11 | backgroundImage: { 12 | "gradient-radial": "radial-gradient(var(--tw-gradient-stops))", 13 | "gradient-conic": 14 | "conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))", 15 | }, 16 | fontFamily: { 17 | sans: ['ReplicaLL'], 18 | mono: ['ReplicaLLMono'], 19 | }, 20 | }, 21 | }, 22 | plugins: [], 23 | }; 24 | export default config; 25 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "lib": ["dom", "dom.iterable", "esnext"], 4 | "allowJs": true, 5 | "skipLibCheck": true, 6 | "strict": true, 7 | "noEmit": true, 8 | "esModuleInterop": true, 9 | "module": "esnext", 10 | "moduleResolution": "bundler", 11 | "resolveJsonModule": true, 12 | "isolatedModules": true, 13 | "jsx": "preserve", 14 | "incremental": true, 15 | "plugins": [ 16 | { 17 | "name": "next" 18 | } 19 | ], 20 | "paths": { 21 | "@/*": ["./*"] 22 | } 23 | }, 24 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", "utils/updatePrompt.js", "app/components/WSMessages.jsx"], 25 | "exclude": ["node_modules"] 26 | } 27 | -------------------------------------------------------------------------------- /app/components/BorderedImage.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Image from 'next/image'; 3 | 4 | interface BorderedImageProps { 5 | src: string; 6 | alt: string; 7 | size?: 'sm' | 'md' | 'lg'; 8 | } 9 | 10 | const sizeMap = { 11 | sm: 64, 12 | md: 75, 13 | lg: 128, 14 | } as const; 15 | 16 | const BorderedImage: React.FC = ({ src, alt, size = 'md' }) => { 17 | const pixelSize = sizeMap[size]; 18 | 19 | return ( 20 |
21 | {alt} 28 |
29 | ); 30 | }; 31 | 32 | export default BorderedImage; -------------------------------------------------------------------------------- /app/components/CallStatus.tsx: -------------------------------------------------------------------------------- 1 | import React, { ReactNode, useState } from 'react'; 2 | 3 | interface CallStatusProps { 4 | status: string; 5 | children?: ReactNode; 6 | } 7 | 8 | const CallStatus: React.FC = ({ status, children }) => { 9 | return ( 10 |
11 |
12 |

Call Status

13 |

Status: {status}

14 | {/* TODO

Latency: N/A

*/} 15 | {/* TODO

00:00

*/} 16 |
17 | 18 | {/* Optional Children */} 19 | {children} 20 |
21 | ); 22 | }; 23 | 24 | export default CallStatus; -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ultravox-demo-template-vercel", 3 | "version": "0.1.0", 4 | "packageManager": "pnpm@9.9.0", 5 | "private": true, 6 | "scripts": { 7 | "dev": "next dev", 8 | "build": "next build", 9 | "start": "next start", 10 | "lint": "next lint", 11 | "vite": "vite" 12 | }, 13 | "dependencies": { 14 | "lucide-react": "^0.441.0", 15 | "next": "^14.2.9", 16 | "react": "^18", 17 | "react-dom": "^18", 18 | "ultravox-client": "^0.3.2" 19 | }, 20 | "devDependencies": { 21 | "@types/node": "^20", 22 | "@types/react": "^18", 23 | "@types/react-dom": "^18", 24 | "@types/ws": "^8.5.12", 25 | "@vitejs/plugin-react": "^4.3.1", 26 | "eslint": "^8", 27 | "eslint-config-next": "14.2.5", 28 | "postcss": "^8", 29 | "tailwindcss": "^3.4.1", 30 | "typescript": "^5", 31 | "vite": "^5.4.0", 32 | "vite-tsconfig-paths": "^4.3.2" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Fixie.ai 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /app/layout.tsx: -------------------------------------------------------------------------------- 1 | import type { Metadata } from "next"; 2 | import Image from 'next/image'; 3 | import UVLogo from '@/public/UVHorizontal-White.svg'; 4 | import "./globals.css"; 5 | 6 | export const metadata: Metadata = { 7 | title: "Ultravox Demo", 8 | description: "Demonstration of using the Ultravox API to create a call with an AI agent.", 9 | }; 10 | 11 | export default function RootLayout({ 12 | children, 13 | }: Readonly<{ 14 | children: React.ReactNode; 15 | }>) { 16 | return ( 17 | 18 | 19 | {/* */} 20 | 21 | {/* */} 22 | 23 | 24 |
25 | Ultravox logo and wordmark 30 | 31 | 34 | 35 |
36 | {children} 37 | 38 | 39 | ); 40 | } 41 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ultravox-demo-template-vercel 2 | Template for creating Ultravox demo that gets deployed to Vercel. 3 | 4 | This was bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). 5 | 6 | ## Set-up 7 | 1. Create a new file called `.env.local` and add your Ultravox API key: 8 | ```bash 9 | ULTRAVOX_API_KEY=your_ultravox_api_key_here 10 | ``` 11 | 12 | 2. Configure settings, system prompt, etc in demo-config.ts 13 | 3. Install dependencies: 14 | ```bash 15 | pnpm install 16 | ``` 17 | 4. Run 18 | ```bash 19 | pnpm dev 20 | ``` 21 | 5. Navigate your browser to `http://localhost:3000` to use the application 22 | 23 | ## Deployment 24 | To deploy to Vercel you will need to set an env var for the ULTRAVOX_API_KEY 25 | 26 | ## Query Params 27 | You can use some query parameters (e.g. `http://localhost:3000?showSpeakerMute=true` to enable different capabilities in the demo. 28 | 29 | | What | Parameter | Notes | 30 | |--------|--------|---------| 31 | |**Debug Logging**|`showDebugMessages=true`| Turns on some additional console logging.| 32 | |**Speaker Mute Toggle**|`showSpeakerMute=true`| Shows the speaker mute button.| 33 | |**Change Model**|`model=ultravox-70B`|Changes the model to what is specified. Note: the app will prepend `fixie-ai/` to the value.| 34 | |**Enable User Transcripts**|`showUserTranscripts=true`|Displays user transcripts. Otherwise, only Ultravox/agent transcripts are shown.| 35 | -------------------------------------------------------------------------------- /app/api/ultravox/route.ts: -------------------------------------------------------------------------------- 1 | import { NextResponse, NextRequest } from 'next/server'; 2 | import { CallConfig } from '@/lib/types'; 3 | 4 | export async function POST(request: NextRequest) { 5 | try { 6 | const body: CallConfig = await request.json(); 7 | console.log('Attempting to call Ultravox API...'); 8 | const response = await fetch('https://api.ultravox.ai/api/calls', { 9 | method: 'POST', 10 | headers: { 11 | 'Content-Type': 'application/json', 12 | 'X-API-Key': `${process.env.ULTRAVOX_API_KEY}`, 13 | }, 14 | body: JSON.stringify({ ...body }), 15 | }); 16 | 17 | console.log('Ultravox API response status:', response.status); 18 | 19 | if (!response.ok) { 20 | const errorText = await response.text(); 21 | console.error('Ultravox API error:', errorText); 22 | throw new Error(`Ultravox API error: ${response.status}, ${errorText}`); 23 | } 24 | 25 | const data = await response.json(); 26 | return NextResponse.json(data); 27 | } catch (error) { 28 | console.error('Error in API route:', error); 29 | if (error instanceof Error) { 30 | return NextResponse.json( 31 | { error: 'Error calling Ultravox API', details: error.message }, 32 | { status: 500 } 33 | ); 34 | } else { 35 | return NextResponse.json( 36 | { error: 'An unknown error occurred.' }, 37 | { status: 500 } 38 | ); 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /app/components/ui/Toggle.tsx: -------------------------------------------------------------------------------- 1 | import React, { useState, useEffect } from 'react'; 2 | 3 | interface ToggleSwitchProps { 4 | isOn: boolean; 5 | handleToggle: () => void; 6 | onColor?: string; 7 | offColor?: string; 8 | id: string; 9 | } 10 | 11 | const ToggleSwitch: React.FC = ({ 12 | isOn, 13 | handleToggle, 14 | onColor = 'bg-black', 15 | offColor = 'bg-black', 16 | id 17 | }) => { 18 | const [isChecked, setIsChecked] = useState(isOn); 19 | 20 | useEffect(() => { 21 | setIsChecked(isOn); 22 | }, [isOn]); 23 | 24 | const toggleSwitch = () => { 25 | setIsChecked(!isChecked); 26 | handleToggle(); 27 | }; 28 | 29 | return ( 30 |
31 | 38 | 50 |
51 | ); 52 | }; 53 | 54 | export default ToggleSwitch; -------------------------------------------------------------------------------- /app/components/MicToggleButton.tsx: -------------------------------------------------------------------------------- 1 | import React, { useState, useCallback } from 'react'; 2 | import { Role } from 'ultravox-client'; 3 | import { toggleMute } from '@/lib/callFunctions'; 4 | import { MicIcon, MicOffIcon, Volume2Icon, VolumeOffIcon } from 'lucide-react'; 5 | 6 | interface MicToggleButtonProps { 7 | role: Role; 8 | } 9 | 10 | const MicToggleButton: React.FC = ({ role }) => { 11 | const [isMuted, setIsMuted] = useState(false); 12 | 13 | const toggleMic = useCallback(async () => { 14 | try { 15 | toggleMute(role); 16 | setIsMuted(!isMuted); 17 | } catch (error) { 18 | console.error("Error toggling microphone:", error); 19 | } 20 | }, [isMuted]); 21 | 22 | return ( 23 | 48 | ); 49 | }; 50 | 51 | export default MicToggleButton; -------------------------------------------------------------------------------- /app/components/DebugMessages.tsx: -------------------------------------------------------------------------------- 1 | import React, { useState, useEffect, useRef } from "react"; 2 | import { UltravoxExperimentalMessageEvent } from "ultravox-client"; 3 | import ToggleSwitch from "@/app/components/ui/Toggle"; 4 | 5 | interface DebugMessagesProps { 6 | debugMessages: UltravoxExperimentalMessageEvent[]; 7 | } 8 | 9 | const DebugMessages: React.FC = ({ debugMessages }) => { 10 | const [messages, setMessages] = useState( 11 | [] 12 | ); 13 | const [showDebugMessages, setShowDebugMessages] = useState(false); 14 | const scrollRef = useRef(null); 15 | 16 | useEffect(() => { 17 | setMessages(debugMessages); 18 | }, [debugMessages]); 19 | 20 | useEffect(() => { 21 | if (scrollRef.current) { 22 | scrollRef.current.scrollTop = scrollRef.current.scrollHeight; 23 | } 24 | }, [messages]); 25 | 26 | const handleToggle = () => { 27 | setShowDebugMessages(!showDebugMessages); 28 | }; 29 | 30 | return ( 31 |
32 |
33 |

Debug View

34 | 39 |
40 | 41 | {showDebugMessages && debugMessages && debugMessages.length > 0 && ( 42 |
43 |
44 |
45 | {messages.map((msg, index) => ( 46 |

50 | {msg.message.message} 51 |

52 | ))} 53 |
54 |
55 |
56 | )} 57 |
58 | ); 59 | }; 60 | 61 | export default DebugMessages; 62 | -------------------------------------------------------------------------------- /app/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | :root { 6 | --foreground-rgb: 0, 0, 0; 7 | --background-start-rgb: 214, 219, 220; 8 | --background-end-rgb: 255, 255, 255; 9 | } 10 | 11 | @media (prefers-color-scheme: dark) { 12 | :root { 13 | --foreground-rgb: 255, 255, 255; 14 | --background-start-rgb: 0, 0, 0; 15 | --background-end-rgb: 0, 0, 0; 16 | } 17 | } 18 | 19 | /* Monospace Font */ 20 | @font-face { 21 | font-family: "ReplicaLLMono"; 22 | src: url("./fonts/ReplicaMonoLLWeb-Regular.woff2") format("woff2"); 23 | font-weight: normal; 24 | font-style: normal; 25 | font-display: swap; 26 | } 27 | 28 | /* Other ReplicaLL Fonts */ 29 | @font-face { 30 | font-family: "ReplicaLL"; 31 | src: url("./fonts/ReplicaLLWeb-Regular.woff2") format("woff2"); 32 | font-weight: normal; 33 | font-style: normal; 34 | font-display: swap; 35 | } 36 | 37 | @font-face { 38 | font-family: "ReplicaLL"; 39 | src: url("./fonts/ReplicaLLWeb-Italic.woff2") format("woff2"); 40 | font-weight: normal; 41 | font-style: italic; 42 | font-display: swap; 43 | } 44 | 45 | @font-face { 46 | font-family: "ReplicaLL"; 47 | src: url("./fonts/ReplicaLLWeb-Light.woff2") format("woff2"); 48 | font-weight: 300; 49 | font-style: normal; 50 | font-display: swap; 51 | } 52 | 53 | @font-face { 54 | font-family: "ReplicaLL"; 55 | src: url("./fonts/ReplicaLLWeb-LightItalic.woff2") format("woff2"); 56 | font-weight: 300; 57 | font-style: italic; 58 | font-display: swap; 59 | } 60 | 61 | @font-face { 62 | font-family: "ReplicaLL"; 63 | src: url("./fonts/ReplicaLLWeb-Bold.woff2") format("woff2"); 64 | font-weight: 700; 65 | font-style: normal; 66 | font-display: swap; 67 | } 68 | 69 | @font-face { 70 | font-family: "ReplicaLL"; 71 | src: url("./fonts/ReplicaLLWeb-BoldItalic.woff2") format("woff2"); 72 | font-weight: 700; 73 | font-style: italic; 74 | font-display: swap; 75 | } 76 | 77 | @font-face { 78 | font-family: "ReplicaLL"; 79 | src: url("./fonts/ReplicaLLWeb-Heavy.woff2") format("woff2"); 80 | font-weight: 900; 81 | font-style: normal; 82 | font-display: swap; 83 | } 84 | 85 | @font-face { 86 | font-family: "ReplicaLL"; 87 | src: url("./fonts/ReplicaLLWeb-HeavyItalic.woff2") format("woff2"); 88 | font-weight: 900; 89 | font-style: italic; 90 | font-display: swap; 91 | } 92 | 93 | @layer base { 94 | html { 95 | font-family: ReplicaLL; 96 | } 97 | } 98 | 99 | @layer utilities { 100 | .scrollbar-visible { 101 | scrollbar-width: thin; /* For Firefox */ 102 | scrollbar-color: #888 #f1f1f1; /* For Firefox */ 103 | overflow-y: scroll; 104 | overflow-x: hidden; 105 | } 106 | 107 | .scrollbar-visible::-webkit-scrollbar { 108 | width: 12px; 109 | background-color: #f1f1f1; 110 | } 111 | 112 | .scrollbar-visible::-webkit-scrollbar-thumb { 113 | background-color: #888; 114 | border-radius: 20px; 115 | border: 3px solid #f1f1f1; 116 | } 117 | 118 | .scrollbar-visible::-webkit-scrollbar-thumb:hover { 119 | background-color: #555; 120 | } 121 | 122 | /* Ensure the scrollbar is always visible in WebKit browsers */ 123 | .scrollbar-visible::-webkit-scrollbar-track { 124 | background-color: #f1f1f1; 125 | border-radius: 20px; 126 | } 127 | } -------------------------------------------------------------------------------- /app/components/OrderDetails.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import React, { useState, useEffect } from 'react'; 4 | import { OrderDetailsData, OrderItem } from '@/lib/types'; 5 | 6 | function prepOrderDetails(orderDetailsData: string): OrderDetailsData { 7 | try { 8 | const parsedItems: OrderItem[] = JSON.parse(orderDetailsData); 9 | const totalAmount = parsedItems.reduce((sum, item) => { 10 | return sum + (item.price * item.quantity); 11 | }, 0); 12 | 13 | // Construct the final order details object with total amount 14 | const orderDetails: OrderDetailsData = { 15 | items: parsedItems, 16 | totalAmount: Number(totalAmount.toFixed(2)) 17 | }; 18 | 19 | return orderDetails; 20 | } catch (error) { 21 | throw new Error(`Failed to parse order details: ${error}`); 22 | } 23 | } 24 | 25 | const OrderDetails: React.FC = () => { 26 | const [orderDetails, setOrderDetails] = useState({ 27 | items: [], 28 | totalAmount: 0 29 | }); 30 | 31 | useEffect(() => { 32 | const handleOrderUpdate = (event: CustomEvent) => { 33 | console.log(`got event: ${JSON.stringify(event.detail)}`); 34 | 35 | const formattedData: OrderDetailsData = prepOrderDetails(event.detail); 36 | setOrderDetails(formattedData); 37 | }; 38 | 39 | const handleCallEnded = () => { 40 | setOrderDetails({ 41 | items: [], 42 | totalAmount: 0 43 | }); 44 | }; 45 | 46 | window.addEventListener('orderDetailsUpdated', handleOrderUpdate as EventListener); 47 | window.addEventListener('callEnded', handleCallEnded as EventListener); 48 | 49 | return () => { 50 | window.removeEventListener('orderDetailsUpdated', handleOrderUpdate as EventListener); 51 | window.removeEventListener('callEnded', handleCallEnded as EventListener); 52 | }; 53 | }, []); 54 | 55 | const formatCurrency = (amount: number) => { 56 | return new Intl.NumberFormat('en-US', { 57 | style: 'currency', 58 | currency: 'USD' 59 | }).format(amount); 60 | }; 61 | 62 | const formatOrderItem = (item: OrderItem, index: number) => ( 63 |
64 |
65 | {item.quantity}x {item.name} 66 | {formatCurrency(item.price * item.quantity)} 67 |
68 | {item.specialInstructions && ( 69 |
70 | Note: {item.specialInstructions} 71 |
72 | )} 73 |
74 | ); 75 | 76 | return ( 77 |
78 |

Order Details

79 |
80 |
81 | Items: 82 | {orderDetails.items.length > 0 ? ( 83 | orderDetails.items.map((item, index) => formatOrderItem(item, index)) 84 | ) : ( 85 | No items 86 | )} 87 |
88 |
89 |
90 | Total: 91 | {formatCurrency(orderDetails.totalAmount)} 92 |
93 |
94 |
95 |
96 | ); 97 | }; 98 | 99 | export default OrderDetails; -------------------------------------------------------------------------------- /lib/types.ts: -------------------------------------------------------------------------------- 1 | export interface JoinUrlResponse { 2 | callId: string; 3 | created: Date; 4 | ended: Date | null; 5 | model: string; 6 | systemPrompt: string; 7 | temperature: number; 8 | joinUrl: string; 9 | } 10 | 11 | // Enums 12 | export enum RoleEnum { 13 | USER = "USER", 14 | ASSISTANT = "ASSISTANT", 15 | TOOL_CALL = "TOOL_CALL", 16 | TOOL_RESULT = "TOOL_RESULT" 17 | } 18 | 19 | export enum ParameterLocation { 20 | UNSPECIFIED = "PARAMETER_LOCATION_UNSPECIFIED", 21 | QUERY = "PARAMETER_LOCATION_QUERY", 22 | PATH = "PARAMETER_LOCATION_PATH", 23 | HEADER = "PARAMETER_LOCATION_HEADER", 24 | BODY = "PARAMETER_LOCATION_BODY" 25 | } 26 | 27 | export enum KnownParamEnum { 28 | UNSPECIFIED = "KNOWN_PARAM_UNSPECIFIED", 29 | CALL_ID = "KNOWN_PARAM_CALL_ID", 30 | CONVERSATION_HISTORY = "KNOWN_PARAM_CONVERSATION_HISTORY" 31 | } 32 | 33 | export interface Message { 34 | ordinal?: number; 35 | role: RoleEnum; 36 | text: string; 37 | invocationId?: string; 38 | toolName?: string; 39 | } 40 | 41 | export interface SelectedTool { 42 | toolId?: string; 43 | toolName?: string; 44 | temporaryTool?: BaseToolDefinition; 45 | nameOverride?: string; 46 | authTokens?: { [key: string]: string }; 47 | parameterOverrides?: { [key: string]: any }; 48 | } 49 | 50 | export interface BaseToolDefinition { 51 | modelToolName?: string; 52 | description: string; 53 | dynamicParameters?: DynamicParameter[]; 54 | staticParameters?: StaticParameter[]; 55 | automaticParameters?: AutomaticParameter[]; 56 | requirements?: ToolRequirements; 57 | http?: BaseHttpToolDetails; 58 | client?: {}; 59 | } 60 | 61 | interface DynamicParameter { 62 | name: string; 63 | location: ParameterLocation; 64 | schema: object; 65 | required?: boolean; 66 | } 67 | 68 | interface StaticParameter { 69 | name: string; 70 | location: ParameterLocation; 71 | value: any; 72 | } 73 | 74 | interface AutomaticParameter { 75 | name: string; 76 | location: ParameterLocation; 77 | knownValue: KnownParamEnum; 78 | } 79 | 80 | interface BaseHttpToolDetails { 81 | baseUrlPattern: string; 82 | httpMethod: string; 83 | } 84 | 85 | interface ToolRequirements { 86 | httpSecurityOptions: SecurityOptions; 87 | requiredParameterOverrides: string[]; 88 | } 89 | 90 | interface SecurityOptions { 91 | options: SecurityRequirements[]; 92 | } 93 | 94 | interface SecurityRequirements { 95 | requirements: { [key: string]: SecurityRequirement }; 96 | } 97 | 98 | interface SecurityRequirement { 99 | queryApiKey?: QueryApiKeyRequirement; 100 | headerApiKey?: HeaderApiKeyRequirement; 101 | httpAuth?: HttpAuthRequirement; 102 | } 103 | 104 | interface QueryApiKeyRequirement { 105 | name: string; 106 | } 107 | 108 | interface HeaderApiKeyRequirement { 109 | name: string; 110 | } 111 | 112 | interface HttpAuthRequirement { 113 | scheme: string; 114 | } 115 | 116 | export interface CallConfig { 117 | systemPrompt: string; 118 | model?: string; 119 | languageHint?: string; 120 | selectedTools?: SelectedTool[]; 121 | initialMessages?: Message[]; 122 | voice?: string; 123 | temperature?: number; 124 | maxDuration?: string; 125 | timeExceededMessage?: string; 126 | callKey?: string; 127 | } 128 | 129 | export interface DemoConfig { 130 | title: string; 131 | overview: string; 132 | callConfig: CallConfig; 133 | } 134 | 135 | // For our order details component 136 | export interface OrderItem { 137 | name: string; 138 | quantity: number; 139 | specialInstructions?: string; 140 | price: number; 141 | } 142 | export interface OrderDetailsData { 143 | items: OrderItem[]; 144 | totalAmount: number; 145 | } -------------------------------------------------------------------------------- /public/UVHorizontal-White.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /lib/callFunctions.ts: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | import { UltravoxSession, UltravoxSessionStatus, Transcript, UltravoxExperimentalMessageEvent, Role } from 'ultravox-client'; 3 | import { JoinUrlResponse, CallConfig } from '@/lib/types'; 4 | import { updateOrderTool } from './clientTools'; 5 | 6 | let uvSession: UltravoxSession | null = null; 7 | const debugMessages: Set = new Set(["debug"]); 8 | 9 | interface CallCallbacks { 10 | onStatusChange: (status: UltravoxSessionStatus | string | undefined) => void; 11 | onTranscriptChange: (transcripts: Transcript[] | undefined) => void; 12 | onDebugMessage?: (message: UltravoxExperimentalMessageEvent ) => void; 13 | } 14 | 15 | export function toggleMute(role: Role): void { 16 | 17 | if (uvSession) { 18 | // Toggle (user) Mic 19 | if (role == Role.USER) { 20 | uvSession.isMicMuted ? uvSession.unmuteMic() : uvSession.muteMic(); 21 | } 22 | // Mute (agent) Speaker 23 | else { 24 | uvSession.isSpeakerMuted ? uvSession.unmuteSpeaker() : uvSession.muteSpeaker(); 25 | } 26 | } else { 27 | console.error('uvSession is not initialized.'); 28 | } 29 | } 30 | 31 | async function createCall(callConfig: CallConfig, showDebugMessages?: boolean): Promise { 32 | 33 | try { 34 | if(showDebugMessages) { 35 | console.log(`Using model ${callConfig.model}`); 36 | } 37 | 38 | const response = await fetch(`/api/ultravox`, { 39 | method: 'POST', 40 | headers: { 41 | 'Content-Type': 'application/json', 42 | }, 43 | body: JSON.stringify({ ...callConfig }), 44 | }); 45 | 46 | if (!response.ok) { 47 | const errorText = await response.text(); 48 | throw new Error(`HTTP error! status: ${response.status}, message: ${errorText}`); 49 | } 50 | const data: JoinUrlResponse = await response.json(); 51 | 52 | if(showDebugMessages) { 53 | console.log(`Call created. Join URL: ${data.joinUrl}`); 54 | } 55 | 56 | return data; 57 | } catch (error) { 58 | console.error('Error creating call:', error); 59 | throw error; 60 | } 61 | } 62 | 63 | export async function startCall(callbacks: CallCallbacks, callConfig: CallConfig, showDebugMessages?: boolean): Promise { 64 | const callData = await createCall(callConfig, showDebugMessages); 65 | const joinUrl = callData.joinUrl; 66 | 67 | if (!joinUrl && !uvSession) { 68 | console.error('Join URL is required'); 69 | return; 70 | } else { 71 | console.log('Joining call:', joinUrl); 72 | 73 | // Start up our Ultravox Session 74 | uvSession = new UltravoxSession({ experimentalMessages: debugMessages }); 75 | 76 | // Register our tool for order details 77 | uvSession.registerToolImplementation( 78 | "updateOrder", 79 | updateOrderTool 80 | ); 81 | 82 | if(showDebugMessages) { 83 | console.log('uvSession created:', uvSession); 84 | console.log('uvSession methods:', Object.getOwnPropertyNames(Object.getPrototypeOf(uvSession))); 85 | } 86 | 87 | if (uvSession) { 88 | uvSession.addEventListener('status', (event: any) => { 89 | callbacks.onStatusChange(uvSession?.status); 90 | }); 91 | 92 | uvSession.addEventListener('transcript', (event: any) => { 93 | callbacks.onTranscriptChange(uvSession?.transcripts); 94 | }); 95 | 96 | uvSession.addEventListener('experimental_message', (msg: any) => { 97 | callbacks?.onDebugMessage?.(msg); 98 | }); 99 | 100 | uvSession.joinCall(joinUrl); 101 | console.log('Session status:', uvSession.status); 102 | } else { 103 | return; 104 | } 105 | } 106 | 107 | console.log('Call started!'); 108 | } 109 | 110 | export async function endCall(): Promise { 111 | console.log('Call ended.'); 112 | 113 | if (uvSession) { 114 | uvSession.leaveCall(); 115 | uvSession = null; 116 | } 117 | 118 | // Dispatch a custom event when the call ends so that we can clear the order details form 119 | if (typeof window !== 'undefined') { 120 | const event = new CustomEvent('callEnded'); 121 | window.dispatchEvent(event); 122 | } 123 | 124 | } -------------------------------------------------------------------------------- /app/demo-config.ts: -------------------------------------------------------------------------------- 1 | import { DemoConfig, ParameterLocation, SelectedTool } from "@/lib/types"; 2 | 3 | function getSystemPrompt() { 4 | let sysPrompt: string; 5 | sysPrompt = ` 6 | # Drive-Thru Order System Configuration 7 | 8 | ## Agent Role 9 | - Name: Dr. Donut Drive-Thru Assistant 10 | - Context: Voice-based order taking system with TTS output 11 | - Current time: ${new Date()} 12 | 13 | ## Menu Items 14 | # DONUTS 15 | PUMPKIN SPICE ICED DOUGHNUT $1.29 16 | PUMPKIN SPICE CAKE DOUGHNUT $1.29 17 | OLD FASHIONED DOUGHNUT $1.29 18 | CHOCOLATE ICED DOUGHNUT $1.09 19 | CHOCOLATE ICED DOUGHNUT WITH SPRINKLES $1.09 20 | RASPBERRY FILLED DOUGHNUT $1.09 21 | BLUEBERRY CAKE DOUGHNUT $1.09 22 | STRAWBERRY ICED DOUGHNUT WITH SPRINKLES $1.09 23 | LEMON FILLED DOUGHNUT $1.09 24 | DOUGHNUT HOLES $3.99 25 | 26 | # COFFEE & DRINKS 27 | PUMPKIN SPICE COFFEE $2.59 28 | PUMPKIN SPICE LATTE $4.59 29 | REGULAR BREWED COFFEE $1.79 30 | DECAF BREWED COFFEE $1.79 31 | LATTE $3.49 32 | CAPPUCINO $3.49 33 | CARAMEL MACCHIATO $3.49 34 | MOCHA LATTE $3.49 35 | CARAMEL MOCHA LATTE $3.49 36 | 37 | ## Conversation Flow 38 | 1. Greeting -> Order Taking -> Call "updateOrder" Tool -> Order Confirmation -> Payment Direction 39 | 40 | ## Tool Usage Rules 41 | - You must call the tool "updateOrder" immediately when: 42 | - User confirms an item 43 | - User requests item removal 44 | - User modifies quantity 45 | - Do not emit text during tool calls 46 | - Validate menu items before calling updateOrder 47 | 48 | ## Response Guidelines 49 | 1. Voice-Optimized Format 50 | - Use spoken numbers ("one twenty-nine" vs "$1.29") 51 | - Avoid special characters and formatting 52 | - Use natural speech patterns 53 | 54 | 2. Conversation Management 55 | - Keep responses brief (1-2 sentences) 56 | - Use clarifying questions for ambiguity 57 | - Maintain conversation flow without explicit endings 58 | - Allow for casual conversation 59 | 60 | 3. Order Processing 61 | - Validate items against menu 62 | - Suggest similar items for unavailable requests 63 | - Cross-sell based on order composition: 64 | - Donuts -> Suggest drinks 65 | - Drinks -> Suggest donuts 66 | - Both -> No additional suggestions 67 | 68 | 4. Standard Responses 69 | - Off-topic: "Um... this is a Dr. Donut." 70 | - Thanks: "My pleasure." 71 | - Menu inquiries: Provide 2-3 relevant suggestions 72 | 73 | 5. Order confirmation 74 | - Call the "updateOrder" tool first 75 | - Only confirm the full order at the end when the customer is done 76 | 77 | ## Error Handling 78 | 1. Menu Mismatches 79 | - Suggest closest available item 80 | - Explain unavailability briefly 81 | 2. Unclear Input 82 | - Request clarification 83 | - Offer specific options 84 | 3. Invalid Tool Calls 85 | - Validate before calling 86 | - Handle failures gracefully 87 | 88 | ## State Management 89 | - Track order contents 90 | - Monitor order type distribution (drinks vs donuts) 91 | - Maintain conversation context 92 | - Remember previous clarifications 93 | `; 94 | 95 | sysPrompt = sysPrompt.replace(/"/g, '\"') 96 | .replace(/\n/g, '\n'); 97 | 98 | return sysPrompt; 99 | } 100 | 101 | const selectedTools: SelectedTool[] = [ 102 | { 103 | "temporaryTool": { 104 | "modelToolName": "updateOrder", 105 | "description": "Update order details. Used any time items are added or removed or when the order is finalized. Call this any time the user updates their order.", 106 | "dynamicParameters": [ 107 | { 108 | "name": "orderDetailsData", 109 | "location": ParameterLocation.BODY, 110 | "schema": { 111 | "description": "An array of objects contain order items.", 112 | "type": "array", 113 | "items": { 114 | "type": "object", 115 | "properties": { 116 | "name": { "type": "string", "description": "The name of the item to be added to the order." }, 117 | "quantity": { "type": "number", "description": "The quantity of the item for the order." }, 118 | "specialInstructions": { "type": "string", "description": "Any special instructions that pertain to the item." }, 119 | "price": { "type": "number", "description": "The unit price for the item." }, 120 | }, 121 | "required": ["name", "quantity", "price"] 122 | } 123 | }, 124 | "required": true 125 | }, 126 | ], 127 | "client": {} 128 | } 129 | }, 130 | ]; 131 | 132 | export const demoConfig: DemoConfig = { 133 | title: "Dr. Donut", 134 | overview: "This agent has been prompted to facilitate orders at a fictional drive-thru called Dr. Donut.", 135 | callConfig: { 136 | systemPrompt: getSystemPrompt(), 137 | model: "fixie-ai/ultravox-70B", 138 | languageHint: "en", 139 | selectedTools: selectedTools, 140 | voice: "terrence", 141 | temperature: 0.4 142 | } 143 | }; 144 | 145 | export default demoConfig; -------------------------------------------------------------------------------- /app/page.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import React, { useState, useCallback, useEffect, useRef, Suspense } from 'react'; 4 | import { useSearchParams } from 'next/navigation'; 5 | import { startCall, endCall } from '@/lib/callFunctions' 6 | import { CallConfig, SelectedTool } from '@/lib/types' 7 | import demoConfig from './demo-config'; 8 | import { Role, Transcript, UltravoxExperimentalMessageEvent, UltravoxSessionStatus } from 'ultravox-client'; 9 | import BorderedImage from '@/app/components/BorderedImage'; 10 | import UVLogo from '@/public/UVMark-White.svg'; 11 | import CallStatus from './components/CallStatus'; 12 | import DebugMessages from '@/app/components/DebugMessages'; 13 | import MicToggleButton from './components/MicToggleButton'; 14 | import { PhoneOffIcon } from 'lucide-react'; 15 | import OrderDetails from './components/OrderDetails'; 16 | 17 | type SearchParamsProps = { 18 | showMuteSpeakerButton: boolean; 19 | modelOverride: string | undefined; 20 | showDebugMessages: boolean; 21 | showUserTranscripts: boolean; 22 | }; 23 | 24 | type SearchParamsHandlerProps = { 25 | children: (props: SearchParamsProps) => React.ReactNode; 26 | }; 27 | 28 | function SearchParamsHandler({ children }: SearchParamsHandlerProps) { 29 | // Process query params to see if we want to change the behavior for showing speaker mute button or changing the model 30 | const searchParams = useSearchParams(); 31 | const showMuteSpeakerButton = searchParams.get('showSpeakerMute') === 'true'; 32 | const showDebugMessages = searchParams.get('showDebugMessages') === 'true'; 33 | const showUserTranscripts = searchParams.get('showUserTranscripts') === 'true'; 34 | let modelOverride: string | undefined; 35 | 36 | if (searchParams.get('model')) { 37 | modelOverride = "fixie-ai/" + searchParams.get('model'); 38 | } 39 | 40 | return children({ showMuteSpeakerButton, modelOverride, showDebugMessages, showUserTranscripts }); 41 | } 42 | 43 | export default function Home() { 44 | const [isCallActive, setIsCallActive] = useState(false); 45 | const [agentStatus, setAgentStatus] = useState('off'); 46 | const [callTranscript, setCallTranscript] = useState([]); 47 | const [callDebugMessages, setCallDebugMessages] = useState([]); 48 | const [customerProfileKey, setCustomerProfileKey] = useState(null); 49 | const transcriptContainerRef = useRef(null); 50 | 51 | useEffect(() => { 52 | if (transcriptContainerRef.current) { 53 | transcriptContainerRef.current.scrollTop = transcriptContainerRef.current.scrollHeight; 54 | } 55 | }, [callTranscript]); 56 | 57 | const handleStatusChange = useCallback((status: UltravoxSessionStatus | string | undefined) => { 58 | if(status) { 59 | setAgentStatus(status); 60 | } else { 61 | setAgentStatus('off'); 62 | } 63 | 64 | }, []); 65 | 66 | const handleTranscriptChange = useCallback((transcripts: Transcript[] | undefined) => { 67 | if(transcripts) { 68 | setCallTranscript([...transcripts]); 69 | } 70 | }, []); 71 | 72 | const handleDebugMessage = useCallback((debugMessage: UltravoxExperimentalMessageEvent) => { 73 | setCallDebugMessages(prevMessages => [...prevMessages, debugMessage]); 74 | }, []); 75 | 76 | const clearCustomerProfile = useCallback(() => { 77 | // This will trigger a re-render of CustomerProfileForm with a new empty profile 78 | setCustomerProfileKey(prev => prev ? `${prev}-cleared` : 'cleared'); 79 | }, []); 80 | 81 | const handleStartCallButtonClick = async (modelOverride?: string, showDebugMessages?: boolean) => { 82 | try { 83 | handleStatusChange('Starting call...'); 84 | setCallTranscript(null); 85 | setCallDebugMessages([]); 86 | clearCustomerProfile(); 87 | 88 | // Generate a new key for the customer profile 89 | const newKey = `call-${Date.now()}`; 90 | setCustomerProfileKey(newKey); 91 | 92 | // Setup our call config including the call key as a parameter restriction 93 | let callConfig: CallConfig = { 94 | systemPrompt: demoConfig.callConfig.systemPrompt, 95 | model: modelOverride || demoConfig.callConfig.model, 96 | languageHint: demoConfig.callConfig.languageHint, 97 | voice: demoConfig.callConfig.voice, 98 | temperature: demoConfig.callConfig.temperature, 99 | maxDuration: demoConfig.callConfig.maxDuration, 100 | timeExceededMessage: demoConfig.callConfig.timeExceededMessage 101 | }; 102 | 103 | const paramOverride: { [key: string]: any } = { 104 | "callId": newKey 105 | } 106 | 107 | let cpTool: SelectedTool | undefined = demoConfig?.callConfig?.selectedTools?.find(tool => tool.toolName === "createProfile"); 108 | 109 | if (cpTool) { 110 | cpTool.parameterOverrides = paramOverride; 111 | } 112 | callConfig.selectedTools = demoConfig.callConfig.selectedTools; 113 | 114 | await startCall({ 115 | onStatusChange: handleStatusChange, 116 | onTranscriptChange: handleTranscriptChange, 117 | onDebugMessage: handleDebugMessage 118 | }, callConfig, showDebugMessages); 119 | 120 | setIsCallActive(true); 121 | handleStatusChange('Call started successfully'); 122 | } catch (error) { 123 | handleStatusChange(`Error starting call: ${error instanceof Error ? error.message : String(error)}`); 124 | } 125 | }; 126 | 127 | const handleEndCallButtonClick = async () => { 128 | try { 129 | handleStatusChange('Ending call...'); 130 | await endCall(); 131 | setIsCallActive(false); 132 | 133 | clearCustomerProfile(); 134 | setCustomerProfileKey(null); 135 | handleStatusChange('Call ended successfully'); 136 | } catch (error) { 137 | handleStatusChange(`Error ending call: ${error instanceof Error ? error.message : String(error)}`); 138 | } 139 | }; 140 | 141 | return ( 142 | Loading...}> 143 | 144 | {({ showMuteSpeakerButton, modelOverride, showDebugMessages, showUserTranscripts }: SearchParamsProps) => ( 145 |
146 | {/* Main Area */} 147 |
148 |
149 | {/* Action Area */} 150 |
151 |

{demoConfig.title}

152 |
153 |
154 | 159 |
160 | {isCallActive ? ( 161 |
162 |
163 |
167 | {callTranscript && callTranscript.map((transcript, index) => ( 168 |
169 | {showUserTranscripts ? ( 170 | <> 171 |

{transcript.speaker === 'agent' ? "Ultravox" : "User"}

172 |

{transcript.text}

173 | 174 | ) : ( 175 | transcript.speaker === 'agent' && ( 176 | <> 177 |

{transcript.speaker === 'agent' ? "Ultravox" : "User"}

178 |

{transcript.text}

179 | 180 | ) 181 | )} 182 |
183 | ))} 184 |
185 |
186 |
187 |
188 | 189 | { showMuteSpeakerButton && } 190 | 199 |
200 |
201 | ) : ( 202 |
203 |
204 | {demoConfig.overview} 205 |
206 | 213 |
214 | )} 215 |
216 |
217 | {/* Call Status */} 218 | 219 | 220 | 221 |
222 |
223 | {/* Debug View */} 224 | 225 |
226 | )} 227 | 228 | 229 | ) 230 | } -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | lucide-react: 12 | specifier: ^0.441.0 13 | version: 0.441.0(react@18.3.1) 14 | next: 15 | specifier: ^14.2.9 16 | version: 14.2.13(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 17 | react: 18 | specifier: ^18 19 | version: 18.3.1 20 | react-dom: 21 | specifier: ^18 22 | version: 18.3.1(react@18.3.1) 23 | ultravox-client: 24 | specifier: ^0.3.2 25 | version: 0.3.2 26 | devDependencies: 27 | '@types/node': 28 | specifier: ^20 29 | version: 20.16.5 30 | '@types/react': 31 | specifier: ^18 32 | version: 18.3.8 33 | '@types/react-dom': 34 | specifier: ^18 35 | version: 18.3.0 36 | '@types/ws': 37 | specifier: ^8.5.12 38 | version: 8.5.12 39 | '@vitejs/plugin-react': 40 | specifier: ^4.3.1 41 | version: 4.3.1(vite@5.4.7(@types/node@20.16.5)) 42 | eslint: 43 | specifier: ^8 44 | version: 8.57.1 45 | eslint-config-next: 46 | specifier: 14.2.5 47 | version: 14.2.5(eslint@8.57.1)(typescript@5.6.2) 48 | postcss: 49 | specifier: ^8 50 | version: 8.4.47 51 | tailwindcss: 52 | specifier: ^3.4.1 53 | version: 3.4.12 54 | typescript: 55 | specifier: ^5 56 | version: 5.6.2 57 | vite: 58 | specifier: ^5.4.0 59 | version: 5.4.7(@types/node@20.16.5) 60 | vite-tsconfig-paths: 61 | specifier: ^4.3.2 62 | version: 4.3.2(typescript@5.6.2)(vite@5.4.7(@types/node@20.16.5)) 63 | 64 | packages: 65 | 66 | '@alloc/quick-lru@5.2.0': 67 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} 68 | engines: {node: '>=10'} 69 | 70 | '@ampproject/remapping@2.3.0': 71 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 72 | engines: {node: '>=6.0.0'} 73 | 74 | '@babel/code-frame@7.24.7': 75 | resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} 76 | engines: {node: '>=6.9.0'} 77 | 78 | '@babel/compat-data@7.25.4': 79 | resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} 80 | engines: {node: '>=6.9.0'} 81 | 82 | '@babel/core@7.25.2': 83 | resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} 84 | engines: {node: '>=6.9.0'} 85 | 86 | '@babel/generator@7.25.6': 87 | resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} 88 | engines: {node: '>=6.9.0'} 89 | 90 | '@babel/helper-compilation-targets@7.25.2': 91 | resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} 92 | engines: {node: '>=6.9.0'} 93 | 94 | '@babel/helper-module-imports@7.24.7': 95 | resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} 96 | engines: {node: '>=6.9.0'} 97 | 98 | '@babel/helper-module-transforms@7.25.2': 99 | resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} 100 | engines: {node: '>=6.9.0'} 101 | peerDependencies: 102 | '@babel/core': ^7.0.0 103 | 104 | '@babel/helper-plugin-utils@7.24.8': 105 | resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} 106 | engines: {node: '>=6.9.0'} 107 | 108 | '@babel/helper-simple-access@7.24.7': 109 | resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} 110 | engines: {node: '>=6.9.0'} 111 | 112 | '@babel/helper-string-parser@7.24.8': 113 | resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} 114 | engines: {node: '>=6.9.0'} 115 | 116 | '@babel/helper-validator-identifier@7.24.7': 117 | resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} 118 | engines: {node: '>=6.9.0'} 119 | 120 | '@babel/helper-validator-option@7.24.8': 121 | resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} 122 | engines: {node: '>=6.9.0'} 123 | 124 | '@babel/helpers@7.25.6': 125 | resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} 126 | engines: {node: '>=6.9.0'} 127 | 128 | '@babel/highlight@7.24.7': 129 | resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} 130 | engines: {node: '>=6.9.0'} 131 | 132 | '@babel/parser@7.25.6': 133 | resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} 134 | engines: {node: '>=6.0.0'} 135 | hasBin: true 136 | 137 | '@babel/plugin-transform-react-jsx-self@7.24.7': 138 | resolution: {integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==} 139 | engines: {node: '>=6.9.0'} 140 | peerDependencies: 141 | '@babel/core': ^7.0.0-0 142 | 143 | '@babel/plugin-transform-react-jsx-source@7.24.7': 144 | resolution: {integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==} 145 | engines: {node: '>=6.9.0'} 146 | peerDependencies: 147 | '@babel/core': ^7.0.0-0 148 | 149 | '@babel/template@7.25.0': 150 | resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} 151 | engines: {node: '>=6.9.0'} 152 | 153 | '@babel/traverse@7.25.6': 154 | resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} 155 | engines: {node: '>=6.9.0'} 156 | 157 | '@babel/types@7.25.6': 158 | resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} 159 | engines: {node: '>=6.9.0'} 160 | 161 | '@bufbuild/protobuf@1.10.0': 162 | resolution: {integrity: sha512-QDdVFLoN93Zjg36NoQPZfsVH9tZew7wKDKyV5qRdj8ntT4wQCOradQjRaTdwMhWUYsgKsvCINKKm87FdEk96Ag==} 163 | 164 | '@esbuild/aix-ppc64@0.21.5': 165 | resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} 166 | engines: {node: '>=12'} 167 | cpu: [ppc64] 168 | os: [aix] 169 | 170 | '@esbuild/android-arm64@0.21.5': 171 | resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} 172 | engines: {node: '>=12'} 173 | cpu: [arm64] 174 | os: [android] 175 | 176 | '@esbuild/android-arm@0.21.5': 177 | resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} 178 | engines: {node: '>=12'} 179 | cpu: [arm] 180 | os: [android] 181 | 182 | '@esbuild/android-x64@0.21.5': 183 | resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} 184 | engines: {node: '>=12'} 185 | cpu: [x64] 186 | os: [android] 187 | 188 | '@esbuild/darwin-arm64@0.21.5': 189 | resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} 190 | engines: {node: '>=12'} 191 | cpu: [arm64] 192 | os: [darwin] 193 | 194 | '@esbuild/darwin-x64@0.21.5': 195 | resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} 196 | engines: {node: '>=12'} 197 | cpu: [x64] 198 | os: [darwin] 199 | 200 | '@esbuild/freebsd-arm64@0.21.5': 201 | resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} 202 | engines: {node: '>=12'} 203 | cpu: [arm64] 204 | os: [freebsd] 205 | 206 | '@esbuild/freebsd-x64@0.21.5': 207 | resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} 208 | engines: {node: '>=12'} 209 | cpu: [x64] 210 | os: [freebsd] 211 | 212 | '@esbuild/linux-arm64@0.21.5': 213 | resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} 214 | engines: {node: '>=12'} 215 | cpu: [arm64] 216 | os: [linux] 217 | 218 | '@esbuild/linux-arm@0.21.5': 219 | resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} 220 | engines: {node: '>=12'} 221 | cpu: [arm] 222 | os: [linux] 223 | 224 | '@esbuild/linux-ia32@0.21.5': 225 | resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} 226 | engines: {node: '>=12'} 227 | cpu: [ia32] 228 | os: [linux] 229 | 230 | '@esbuild/linux-loong64@0.21.5': 231 | resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} 232 | engines: {node: '>=12'} 233 | cpu: [loong64] 234 | os: [linux] 235 | 236 | '@esbuild/linux-mips64el@0.21.5': 237 | resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} 238 | engines: {node: '>=12'} 239 | cpu: [mips64el] 240 | os: [linux] 241 | 242 | '@esbuild/linux-ppc64@0.21.5': 243 | resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} 244 | engines: {node: '>=12'} 245 | cpu: [ppc64] 246 | os: [linux] 247 | 248 | '@esbuild/linux-riscv64@0.21.5': 249 | resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} 250 | engines: {node: '>=12'} 251 | cpu: [riscv64] 252 | os: [linux] 253 | 254 | '@esbuild/linux-s390x@0.21.5': 255 | resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} 256 | engines: {node: '>=12'} 257 | cpu: [s390x] 258 | os: [linux] 259 | 260 | '@esbuild/linux-x64@0.21.5': 261 | resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} 262 | engines: {node: '>=12'} 263 | cpu: [x64] 264 | os: [linux] 265 | 266 | '@esbuild/netbsd-x64@0.21.5': 267 | resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} 268 | engines: {node: '>=12'} 269 | cpu: [x64] 270 | os: [netbsd] 271 | 272 | '@esbuild/openbsd-x64@0.21.5': 273 | resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} 274 | engines: {node: '>=12'} 275 | cpu: [x64] 276 | os: [openbsd] 277 | 278 | '@esbuild/sunos-x64@0.21.5': 279 | resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} 280 | engines: {node: '>=12'} 281 | cpu: [x64] 282 | os: [sunos] 283 | 284 | '@esbuild/win32-arm64@0.21.5': 285 | resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} 286 | engines: {node: '>=12'} 287 | cpu: [arm64] 288 | os: [win32] 289 | 290 | '@esbuild/win32-ia32@0.21.5': 291 | resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} 292 | engines: {node: '>=12'} 293 | cpu: [ia32] 294 | os: [win32] 295 | 296 | '@esbuild/win32-x64@0.21.5': 297 | resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} 298 | engines: {node: '>=12'} 299 | cpu: [x64] 300 | os: [win32] 301 | 302 | '@eslint-community/eslint-utils@4.4.0': 303 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} 304 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 305 | peerDependencies: 306 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 307 | 308 | '@eslint-community/regexpp@4.11.1': 309 | resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} 310 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 311 | 312 | '@eslint/eslintrc@2.1.4': 313 | resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} 314 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 315 | 316 | '@eslint/js@8.57.1': 317 | resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} 318 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 319 | 320 | '@humanwhocodes/config-array@0.13.0': 321 | resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} 322 | engines: {node: '>=10.10.0'} 323 | deprecated: Use @eslint/config-array instead 324 | 325 | '@humanwhocodes/module-importer@1.0.1': 326 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 327 | engines: {node: '>=12.22'} 328 | 329 | '@humanwhocodes/object-schema@2.0.3': 330 | resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} 331 | deprecated: Use @eslint/object-schema instead 332 | 333 | '@isaacs/cliui@8.0.2': 334 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 335 | engines: {node: '>=12'} 336 | 337 | '@jridgewell/gen-mapping@0.3.5': 338 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 339 | engines: {node: '>=6.0.0'} 340 | 341 | '@jridgewell/resolve-uri@3.1.2': 342 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 343 | engines: {node: '>=6.0.0'} 344 | 345 | '@jridgewell/set-array@1.2.1': 346 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 347 | engines: {node: '>=6.0.0'} 348 | 349 | '@jridgewell/sourcemap-codec@1.5.0': 350 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 351 | 352 | '@jridgewell/trace-mapping@0.3.25': 353 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 354 | 355 | '@livekit/protocol@1.20.1': 356 | resolution: {integrity: sha512-TgyuwOx+XJn9inEYT9OKfFNs9YIPS4BdLa4pF5FDf9MhWRnahKwPe7jxr/+sVdWxYbZmy9hRrH58jSAFu0ONHw==} 357 | 358 | '@next/env@14.2.13': 359 | resolution: {integrity: sha512-s3lh6K8cbW1h5Nga7NNeXrbe0+2jIIYK9YaA9T7IufDWnZpozdFUp6Hf0d5rNWUKu4fEuSX2rCKlGjCrtylfDw==} 360 | 361 | '@next/eslint-plugin-next@14.2.5': 362 | resolution: {integrity: sha512-LY3btOpPh+OTIpviNojDpUdIbHW9j0JBYBjsIp8IxtDFfYFyORvw3yNq6N231FVqQA7n7lwaf7xHbVJlA1ED7g==} 363 | 364 | '@next/swc-darwin-arm64@14.2.13': 365 | resolution: {integrity: sha512-IkAmQEa2Htq+wHACBxOsslt+jMoV3msvxCn0WFSfJSkv/scy+i/EukBKNad36grRxywaXUYJc9mxEGkeIs8Bzg==} 366 | engines: {node: '>= 10'} 367 | cpu: [arm64] 368 | os: [darwin] 369 | 370 | '@next/swc-darwin-x64@14.2.13': 371 | resolution: {integrity: sha512-Dv1RBGs2TTjkwEnFMVL5XIfJEavnLqqwYSD6LXgTPdEy/u6FlSrLBSSfe1pcfqhFEXRAgVL3Wpjibe5wXJzWog==} 372 | engines: {node: '>= 10'} 373 | cpu: [x64] 374 | os: [darwin] 375 | 376 | '@next/swc-linux-arm64-gnu@14.2.13': 377 | resolution: {integrity: sha512-yB1tYEFFqo4ZNWkwrJultbsw7NPAAxlPXURXioRl9SdW6aIefOLS+0TEsKrWBtbJ9moTDgU3HRILL6QBQnMevg==} 378 | engines: {node: '>= 10'} 379 | cpu: [arm64] 380 | os: [linux] 381 | 382 | '@next/swc-linux-arm64-musl@14.2.13': 383 | resolution: {integrity: sha512-v5jZ/FV/eHGoWhMKYrsAweQ7CWb8xsWGM/8m1mwwZQ/sutJjoFaXchwK4pX8NqwImILEvQmZWyb8pPTcP7htWg==} 384 | engines: {node: '>= 10'} 385 | cpu: [arm64] 386 | os: [linux] 387 | 388 | '@next/swc-linux-x64-gnu@14.2.13': 389 | resolution: {integrity: sha512-aVc7m4YL7ViiRv7SOXK3RplXzOEe/qQzRA5R2vpXboHABs3w8vtFslGTz+5tKiQzWUmTmBNVW0UQdhkKRORmGA==} 390 | engines: {node: '>= 10'} 391 | cpu: [x64] 392 | os: [linux] 393 | 394 | '@next/swc-linux-x64-musl@14.2.13': 395 | resolution: {integrity: sha512-4wWY7/OsSaJOOKvMsu1Teylku7vKyTuocvDLTZQq0TYv9OjiYYWt63PiE1nTuZnqQ4RPvME7Xai+9enoiN0Wrg==} 396 | engines: {node: '>= 10'} 397 | cpu: [x64] 398 | os: [linux] 399 | 400 | '@next/swc-win32-arm64-msvc@14.2.13': 401 | resolution: {integrity: sha512-uP1XkqCqV2NVH9+g2sC7qIw+w2tRbcMiXFEbMihkQ8B1+V6m28sshBwAB0SDmOe0u44ne1vFU66+gx/28RsBVQ==} 402 | engines: {node: '>= 10'} 403 | cpu: [arm64] 404 | os: [win32] 405 | 406 | '@next/swc-win32-ia32-msvc@14.2.13': 407 | resolution: {integrity: sha512-V26ezyjPqQpDBV4lcWIh8B/QICQ4v+M5Bo9ykLN+sqeKKBxJVDpEc6biDVyluTXTC40f5IqCU0ttth7Es2ZuMw==} 408 | engines: {node: '>= 10'} 409 | cpu: [ia32] 410 | os: [win32] 411 | 412 | '@next/swc-win32-x64-msvc@14.2.13': 413 | resolution: {integrity: sha512-WwzOEAFBGhlDHE5Z73mNU8CO8mqMNLqaG+AO9ETmzdCQlJhVtWZnOl2+rqgVQS+YHunjOWptdFmNfbpwcUuEsw==} 414 | engines: {node: '>= 10'} 415 | cpu: [x64] 416 | os: [win32] 417 | 418 | '@nodelib/fs.scandir@2.1.5': 419 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 420 | engines: {node: '>= 8'} 421 | 422 | '@nodelib/fs.stat@2.0.5': 423 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 424 | engines: {node: '>= 8'} 425 | 426 | '@nodelib/fs.walk@1.2.8': 427 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 428 | engines: {node: '>= 8'} 429 | 430 | '@nolyfill/is-core-module@1.0.39': 431 | resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} 432 | engines: {node: '>=12.4.0'} 433 | 434 | '@pkgjs/parseargs@0.11.0': 435 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 436 | engines: {node: '>=14'} 437 | 438 | '@rollup/rollup-android-arm-eabi@4.22.2': 439 | resolution: {integrity: sha512-8Ao+EDmTPjZ1ZBABc1ohN7Ylx7UIYcjReZinigedTOnGFhIctyGPxY2II+hJ6gD2/vkDKZTyQ0e7++kwv6wDrw==} 440 | cpu: [arm] 441 | os: [android] 442 | 443 | '@rollup/rollup-android-arm64@4.22.2': 444 | resolution: {integrity: sha512-I+B1v0a4iqdS9DvYt1RJZ3W+Oh9EVWjbY6gp79aAYipIbxSLEoQtFQlZEnUuwhDXCqMxJ3hluxKAdPD+GiluFQ==} 445 | cpu: [arm64] 446 | os: [android] 447 | 448 | '@rollup/rollup-darwin-arm64@4.22.2': 449 | resolution: {integrity: sha512-BTHO7rR+LC67OP7I8N8GvdvnQqzFujJYWo7qCQ8fGdQcb8Gn6EQY+K1P+daQLnDCuWKbZ+gHAQZuKiQkXkqIYg==} 450 | cpu: [arm64] 451 | os: [darwin] 452 | 453 | '@rollup/rollup-darwin-x64@4.22.2': 454 | resolution: {integrity: sha512-1esGwDNFe2lov4I6GsEeYaAMHwkqk0IbuGH7gXGdBmd/EP9QddJJvTtTF/jv+7R8ZTYPqwcdLpMTxK8ytP6k6Q==} 455 | cpu: [x64] 456 | os: [darwin] 457 | 458 | '@rollup/rollup-linux-arm-gnueabihf@4.22.2': 459 | resolution: {integrity: sha512-GBHuY07x96OTEM3OQLNaUSUwrOhdMea/LDmlFHi/HMonrgF6jcFrrFFwJhhe84XtA1oK/Qh4yFS+VMREf6dobg==} 460 | cpu: [arm] 461 | os: [linux] 462 | 463 | '@rollup/rollup-linux-arm-musleabihf@4.22.2': 464 | resolution: {integrity: sha512-Dbfa9Sc1G1lWxop0gNguXOfGhaXQWAGhZUcqA0Vs6CnJq8JW/YOw/KvyGtQFmz4yDr0H4v9X248SM7bizYj4yQ==} 465 | cpu: [arm] 466 | os: [linux] 467 | 468 | '@rollup/rollup-linux-arm64-gnu@4.22.2': 469 | resolution: {integrity: sha512-Z1YpgBvFYhZIyBW5BoopwSg+t7yqEhs5HCei4JbsaXnhz/eZehT18DaXl957aaE9QK7TRGFryCAtStZywcQe1A==} 470 | cpu: [arm64] 471 | os: [linux] 472 | 473 | '@rollup/rollup-linux-arm64-musl@4.22.2': 474 | resolution: {integrity: sha512-66Zszr7i/JaQ0u/lefcfaAw16wh3oT72vSqubIMQqWzOg85bGCPhoeykG/cC5uvMzH80DQa2L539IqKht6twVA==} 475 | cpu: [arm64] 476 | os: [linux] 477 | 478 | '@rollup/rollup-linux-powerpc64le-gnu@4.22.2': 479 | resolution: {integrity: sha512-HpJCMnlMTfEhwo19bajvdraQMcAq3FX08QDx3OfQgb+414xZhKNf3jNvLFYKbbDSGBBrQh5yNwWZrdK0g0pokg==} 480 | cpu: [ppc64] 481 | os: [linux] 482 | 483 | '@rollup/rollup-linux-riscv64-gnu@4.22.2': 484 | resolution: {integrity: sha512-/egzQzbOSRef2vYCINKITGrlwkzP7uXRnL+xU2j75kDVp3iPdcF0TIlfwTRF8woBZllhk3QaxNOEj2Ogh3t9hg==} 485 | cpu: [riscv64] 486 | os: [linux] 487 | 488 | '@rollup/rollup-linux-s390x-gnu@4.22.2': 489 | resolution: {integrity: sha512-qgYbOEbrPfEkH/OnUJd1/q4s89FvNJQIUldx8X2F/UM5sEbtkqZpf2s0yly2jSCKr1zUUOY1hnTP2J1WOzMAdA==} 490 | cpu: [s390x] 491 | os: [linux] 492 | 493 | '@rollup/rollup-linux-x64-gnu@4.22.2': 494 | resolution: {integrity: sha512-a0lkvNhFLhf+w7A95XeBqGQaG0KfS3hPFJnz1uraSdUe/XImkp/Psq0Ca0/UdD5IEAGoENVmnYrzSC9Y2a2uKQ==} 495 | cpu: [x64] 496 | os: [linux] 497 | 498 | '@rollup/rollup-linux-x64-musl@4.22.2': 499 | resolution: {integrity: sha512-sSWBVZgzwtsuG9Dxi9kjYOUu/wKW+jrbzj4Cclabqnfkot8Z3VEHcIgyenA3lLn/Fu11uDviWjhctulkhEO60g==} 500 | cpu: [x64] 501 | os: [linux] 502 | 503 | '@rollup/rollup-win32-arm64-msvc@4.22.2': 504 | resolution: {integrity: sha512-t/YgCbZ638R/r7IKb9yCM6nAek1RUvyNdfU0SHMDLOf6GFe/VG1wdiUAsxTWHKqjyzkRGg897ZfCpdo1bsCSsA==} 505 | cpu: [arm64] 506 | os: [win32] 507 | 508 | '@rollup/rollup-win32-ia32-msvc@4.22.2': 509 | resolution: {integrity: sha512-kTmX5uGs3WYOA+gYDgI6ITkZng9SP71FEMoHNkn+cnmb9Zuyyay8pf0oO5twtTwSjNGy1jlaWooTIr+Dw4tIbw==} 510 | cpu: [ia32] 511 | os: [win32] 512 | 513 | '@rollup/rollup-win32-x64-msvc@4.22.2': 514 | resolution: {integrity: sha512-Yy8So+SoRz8I3NS4Bjh91BICPOSVgdompTIPYTByUqU66AXSIOgmW3Lv1ke3NORPqxdF+RdrZET+8vYai6f4aA==} 515 | cpu: [x64] 516 | os: [win32] 517 | 518 | '@rtsao/scc@1.1.0': 519 | resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} 520 | 521 | '@rushstack/eslint-patch@1.10.4': 522 | resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==} 523 | 524 | '@swc/counter@0.1.3': 525 | resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} 526 | 527 | '@swc/helpers@0.5.5': 528 | resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} 529 | 530 | '@types/babel__core@7.20.5': 531 | resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} 532 | 533 | '@types/babel__generator@7.6.8': 534 | resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} 535 | 536 | '@types/babel__template@7.4.4': 537 | resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} 538 | 539 | '@types/babel__traverse@7.20.6': 540 | resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} 541 | 542 | '@types/estree@1.0.5': 543 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} 544 | 545 | '@types/json5@0.0.29': 546 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 547 | 548 | '@types/node@20.16.5': 549 | resolution: {integrity: sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA==} 550 | 551 | '@types/prop-types@15.7.13': 552 | resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} 553 | 554 | '@types/react-dom@18.3.0': 555 | resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} 556 | 557 | '@types/react@18.3.8': 558 | resolution: {integrity: sha512-syBUrW3/XpnW4WJ41Pft+I+aPoDVbrBVQGEnbD7NijDGlVC+8gV/XKRY+7vMDlfPpbwYt0l1vd/Sj8bJGMbs9Q==} 559 | 560 | '@types/ws@8.5.12': 561 | resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==} 562 | 563 | '@typescript-eslint/parser@7.2.0': 564 | resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==} 565 | engines: {node: ^16.0.0 || >=18.0.0} 566 | peerDependencies: 567 | eslint: ^8.56.0 568 | typescript: '*' 569 | peerDependenciesMeta: 570 | typescript: 571 | optional: true 572 | 573 | '@typescript-eslint/scope-manager@7.2.0': 574 | resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} 575 | engines: {node: ^16.0.0 || >=18.0.0} 576 | 577 | '@typescript-eslint/types@7.2.0': 578 | resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} 579 | engines: {node: ^16.0.0 || >=18.0.0} 580 | 581 | '@typescript-eslint/typescript-estree@7.2.0': 582 | resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==} 583 | engines: {node: ^16.0.0 || >=18.0.0} 584 | peerDependencies: 585 | typescript: '*' 586 | peerDependenciesMeta: 587 | typescript: 588 | optional: true 589 | 590 | '@typescript-eslint/visitor-keys@7.2.0': 591 | resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} 592 | engines: {node: ^16.0.0 || >=18.0.0} 593 | 594 | '@ungap/structured-clone@1.2.0': 595 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} 596 | 597 | '@vitejs/plugin-react@4.3.1': 598 | resolution: {integrity: sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==} 599 | engines: {node: ^14.18.0 || >=16.0.0} 600 | peerDependencies: 601 | vite: ^4.2.0 || ^5.0.0 602 | 603 | acorn-jsx@5.3.2: 604 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 605 | peerDependencies: 606 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 607 | 608 | acorn@8.12.1: 609 | resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} 610 | engines: {node: '>=0.4.0'} 611 | hasBin: true 612 | 613 | ajv@6.12.6: 614 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 615 | 616 | ansi-regex@5.0.1: 617 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 618 | engines: {node: '>=8'} 619 | 620 | ansi-regex@6.1.0: 621 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 622 | engines: {node: '>=12'} 623 | 624 | ansi-styles@3.2.1: 625 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 626 | engines: {node: '>=4'} 627 | 628 | ansi-styles@4.3.0: 629 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 630 | engines: {node: '>=8'} 631 | 632 | ansi-styles@6.2.1: 633 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 634 | engines: {node: '>=12'} 635 | 636 | any-promise@1.3.0: 637 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 638 | 639 | anymatch@3.1.3: 640 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 641 | engines: {node: '>= 8'} 642 | 643 | arg@5.0.2: 644 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 645 | 646 | argparse@2.0.1: 647 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 648 | 649 | aria-query@5.1.3: 650 | resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} 651 | 652 | array-buffer-byte-length@1.0.1: 653 | resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} 654 | engines: {node: '>= 0.4'} 655 | 656 | array-includes@3.1.8: 657 | resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} 658 | engines: {node: '>= 0.4'} 659 | 660 | array-union@2.1.0: 661 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 662 | engines: {node: '>=8'} 663 | 664 | array.prototype.findlast@1.2.5: 665 | resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} 666 | engines: {node: '>= 0.4'} 667 | 668 | array.prototype.findlastindex@1.2.5: 669 | resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} 670 | engines: {node: '>= 0.4'} 671 | 672 | array.prototype.flat@1.3.2: 673 | resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} 674 | engines: {node: '>= 0.4'} 675 | 676 | array.prototype.flatmap@1.3.2: 677 | resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} 678 | engines: {node: '>= 0.4'} 679 | 680 | array.prototype.tosorted@1.1.4: 681 | resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} 682 | engines: {node: '>= 0.4'} 683 | 684 | arraybuffer.prototype.slice@1.0.3: 685 | resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} 686 | engines: {node: '>= 0.4'} 687 | 688 | ast-types-flow@0.0.8: 689 | resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} 690 | 691 | available-typed-arrays@1.0.7: 692 | resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} 693 | engines: {node: '>= 0.4'} 694 | 695 | axe-core@4.10.0: 696 | resolution: {integrity: sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==} 697 | engines: {node: '>=4'} 698 | 699 | axobject-query@4.1.0: 700 | resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} 701 | engines: {node: '>= 0.4'} 702 | 703 | balanced-match@1.0.2: 704 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 705 | 706 | binary-extensions@2.3.0: 707 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 708 | engines: {node: '>=8'} 709 | 710 | brace-expansion@1.1.11: 711 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 712 | 713 | brace-expansion@2.0.1: 714 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 715 | 716 | braces@3.0.3: 717 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 718 | engines: {node: '>=8'} 719 | 720 | browserslist@4.23.3: 721 | resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} 722 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 723 | hasBin: true 724 | 725 | busboy@1.6.0: 726 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} 727 | engines: {node: '>=10.16.0'} 728 | 729 | call-bind@1.0.7: 730 | resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} 731 | engines: {node: '>= 0.4'} 732 | 733 | callsites@3.1.0: 734 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 735 | engines: {node: '>=6'} 736 | 737 | camelcase-css@2.0.1: 738 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 739 | engines: {node: '>= 6'} 740 | 741 | caniuse-lite@1.0.30001662: 742 | resolution: {integrity: sha512-sgMUVwLmGseH8ZIrm1d51UbrhqMCH3jvS7gF/M6byuHOnKyLOBL7W8yz5V02OHwgLGA36o/AFhWzzh4uc5aqTA==} 743 | 744 | chalk@2.4.2: 745 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 746 | engines: {node: '>=4'} 747 | 748 | chalk@4.1.2: 749 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 750 | engines: {node: '>=10'} 751 | 752 | chokidar@3.6.0: 753 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 754 | engines: {node: '>= 8.10.0'} 755 | 756 | client-only@0.0.1: 757 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} 758 | 759 | color-convert@1.9.3: 760 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 761 | 762 | color-convert@2.0.1: 763 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 764 | engines: {node: '>=7.0.0'} 765 | 766 | color-name@1.1.3: 767 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 768 | 769 | color-name@1.1.4: 770 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 771 | 772 | commander@4.1.1: 773 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 774 | engines: {node: '>= 6'} 775 | 776 | concat-map@0.0.1: 777 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 778 | 779 | convert-source-map@2.0.0: 780 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} 781 | 782 | cross-spawn@7.0.3: 783 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 784 | engines: {node: '>= 8'} 785 | 786 | cssesc@3.0.0: 787 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 788 | engines: {node: '>=4'} 789 | hasBin: true 790 | 791 | csstype@3.1.3: 792 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 793 | 794 | damerau-levenshtein@1.0.8: 795 | resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} 796 | 797 | data-view-buffer@1.0.1: 798 | resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} 799 | engines: {node: '>= 0.4'} 800 | 801 | data-view-byte-length@1.0.1: 802 | resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} 803 | engines: {node: '>= 0.4'} 804 | 805 | data-view-byte-offset@1.0.0: 806 | resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} 807 | engines: {node: '>= 0.4'} 808 | 809 | debug@3.2.7: 810 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 811 | peerDependencies: 812 | supports-color: '*' 813 | peerDependenciesMeta: 814 | supports-color: 815 | optional: true 816 | 817 | debug@4.3.7: 818 | resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} 819 | engines: {node: '>=6.0'} 820 | peerDependencies: 821 | supports-color: '*' 822 | peerDependenciesMeta: 823 | supports-color: 824 | optional: true 825 | 826 | deep-equal@2.2.3: 827 | resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} 828 | engines: {node: '>= 0.4'} 829 | 830 | deep-is@0.1.4: 831 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 832 | 833 | define-data-property@1.1.4: 834 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 835 | engines: {node: '>= 0.4'} 836 | 837 | define-properties@1.2.1: 838 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} 839 | engines: {node: '>= 0.4'} 840 | 841 | didyoumean@1.2.2: 842 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 843 | 844 | dir-glob@3.0.1: 845 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 846 | engines: {node: '>=8'} 847 | 848 | dlv@1.1.3: 849 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 850 | 851 | doctrine@2.1.0: 852 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 853 | engines: {node: '>=0.10.0'} 854 | 855 | doctrine@3.0.0: 856 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 857 | engines: {node: '>=6.0.0'} 858 | 859 | eastasianwidth@0.2.0: 860 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 861 | 862 | electron-to-chromium@1.5.27: 863 | resolution: {integrity: sha512-o37j1vZqCoEgBuWWXLHQgTN/KDKe7zwpiY5CPeq2RvUqOyJw9xnrULzZAEVQ5p4h+zjMk7hgtOoPdnLxr7m/jw==} 864 | 865 | emoji-regex@8.0.0: 866 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 867 | 868 | emoji-regex@9.2.2: 869 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 870 | 871 | enhanced-resolve@5.17.1: 872 | resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} 873 | engines: {node: '>=10.13.0'} 874 | 875 | es-abstract@1.23.3: 876 | resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} 877 | engines: {node: '>= 0.4'} 878 | 879 | es-define-property@1.0.0: 880 | resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} 881 | engines: {node: '>= 0.4'} 882 | 883 | es-errors@1.3.0: 884 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 885 | engines: {node: '>= 0.4'} 886 | 887 | es-get-iterator@1.1.3: 888 | resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} 889 | 890 | es-iterator-helpers@1.0.19: 891 | resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} 892 | engines: {node: '>= 0.4'} 893 | 894 | es-object-atoms@1.0.0: 895 | resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} 896 | engines: {node: '>= 0.4'} 897 | 898 | es-set-tostringtag@2.0.3: 899 | resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} 900 | engines: {node: '>= 0.4'} 901 | 902 | es-shim-unscopables@1.0.2: 903 | resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} 904 | 905 | es-to-primitive@1.2.1: 906 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 907 | engines: {node: '>= 0.4'} 908 | 909 | esbuild@0.21.5: 910 | resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} 911 | engines: {node: '>=12'} 912 | hasBin: true 913 | 914 | escalade@3.2.0: 915 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 916 | engines: {node: '>=6'} 917 | 918 | escape-string-regexp@1.0.5: 919 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 920 | engines: {node: '>=0.8.0'} 921 | 922 | escape-string-regexp@4.0.0: 923 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 924 | engines: {node: '>=10'} 925 | 926 | eslint-config-next@14.2.5: 927 | resolution: {integrity: sha512-zogs9zlOiZ7ka+wgUnmcM0KBEDjo4Jis7kxN1jvC0N4wynQ2MIx/KBkg4mVF63J5EK4W0QMCn7xO3vNisjaAoA==} 928 | peerDependencies: 929 | eslint: ^7.23.0 || ^8.0.0 930 | typescript: '>=3.3.1' 931 | peerDependenciesMeta: 932 | typescript: 933 | optional: true 934 | 935 | eslint-import-resolver-node@0.3.9: 936 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} 937 | 938 | eslint-import-resolver-typescript@3.6.3: 939 | resolution: {integrity: sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==} 940 | engines: {node: ^14.18.0 || >=16.0.0} 941 | peerDependencies: 942 | eslint: '*' 943 | eslint-plugin-import: '*' 944 | eslint-plugin-import-x: '*' 945 | peerDependenciesMeta: 946 | eslint-plugin-import: 947 | optional: true 948 | eslint-plugin-import-x: 949 | optional: true 950 | 951 | eslint-module-utils@2.11.0: 952 | resolution: {integrity: sha512-gbBE5Hitek/oG6MUVj6sFuzEjA/ClzNflVrLovHi/JgLdC7fiN5gLAY1WIPW1a0V5I999MnsrvVrCOGmmVqDBQ==} 953 | engines: {node: '>=4'} 954 | peerDependencies: 955 | '@typescript-eslint/parser': '*' 956 | eslint: '*' 957 | eslint-import-resolver-node: '*' 958 | eslint-import-resolver-typescript: '*' 959 | eslint-import-resolver-webpack: '*' 960 | peerDependenciesMeta: 961 | '@typescript-eslint/parser': 962 | optional: true 963 | eslint: 964 | optional: true 965 | eslint-import-resolver-node: 966 | optional: true 967 | eslint-import-resolver-typescript: 968 | optional: true 969 | eslint-import-resolver-webpack: 970 | optional: true 971 | 972 | eslint-plugin-import@2.30.0: 973 | resolution: {integrity: sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==} 974 | engines: {node: '>=4'} 975 | peerDependencies: 976 | '@typescript-eslint/parser': '*' 977 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 978 | peerDependenciesMeta: 979 | '@typescript-eslint/parser': 980 | optional: true 981 | 982 | eslint-plugin-jsx-a11y@6.10.0: 983 | resolution: {integrity: sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==} 984 | engines: {node: '>=4.0'} 985 | peerDependencies: 986 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 987 | 988 | eslint-plugin-react-hooks@4.6.2: 989 | resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} 990 | engines: {node: '>=10'} 991 | peerDependencies: 992 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 993 | 994 | eslint-plugin-react@7.36.1: 995 | resolution: {integrity: sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==} 996 | engines: {node: '>=4'} 997 | peerDependencies: 998 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 999 | 1000 | eslint-scope@7.2.2: 1001 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} 1002 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1003 | 1004 | eslint-visitor-keys@3.4.3: 1005 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 1006 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1007 | 1008 | eslint@8.57.1: 1009 | resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} 1010 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1011 | hasBin: true 1012 | 1013 | espree@9.6.1: 1014 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} 1015 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1016 | 1017 | esquery@1.6.0: 1018 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} 1019 | engines: {node: '>=0.10'} 1020 | 1021 | esrecurse@4.3.0: 1022 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1023 | engines: {node: '>=4.0'} 1024 | 1025 | estraverse@5.3.0: 1026 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1027 | engines: {node: '>=4.0'} 1028 | 1029 | esutils@2.0.3: 1030 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1031 | engines: {node: '>=0.10.0'} 1032 | 1033 | events@3.3.0: 1034 | resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} 1035 | engines: {node: '>=0.8.x'} 1036 | 1037 | fast-deep-equal@3.1.3: 1038 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1039 | 1040 | fast-glob@3.3.2: 1041 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 1042 | engines: {node: '>=8.6.0'} 1043 | 1044 | fast-json-stable-stringify@2.1.0: 1045 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1046 | 1047 | fast-levenshtein@2.0.6: 1048 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1049 | 1050 | fastq@1.17.1: 1051 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 1052 | 1053 | file-entry-cache@6.0.1: 1054 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1055 | engines: {node: ^10.12.0 || >=12.0.0} 1056 | 1057 | fill-range@7.1.1: 1058 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 1059 | engines: {node: '>=8'} 1060 | 1061 | find-up@5.0.0: 1062 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1063 | engines: {node: '>=10'} 1064 | 1065 | flat-cache@3.2.0: 1066 | resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} 1067 | engines: {node: ^10.12.0 || >=12.0.0} 1068 | 1069 | flatted@3.3.1: 1070 | resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} 1071 | 1072 | for-each@0.3.3: 1073 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} 1074 | 1075 | foreground-child@3.3.0: 1076 | resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} 1077 | engines: {node: '>=14'} 1078 | 1079 | fs.realpath@1.0.0: 1080 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1081 | 1082 | fsevents@2.3.3: 1083 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1084 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1085 | os: [darwin] 1086 | 1087 | function-bind@1.1.2: 1088 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1089 | 1090 | function.prototype.name@1.1.6: 1091 | resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} 1092 | engines: {node: '>= 0.4'} 1093 | 1094 | functions-have-names@1.2.3: 1095 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1096 | 1097 | gensync@1.0.0-beta.2: 1098 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 1099 | engines: {node: '>=6.9.0'} 1100 | 1101 | get-intrinsic@1.2.4: 1102 | resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} 1103 | engines: {node: '>= 0.4'} 1104 | 1105 | get-symbol-description@1.0.2: 1106 | resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} 1107 | engines: {node: '>= 0.4'} 1108 | 1109 | get-tsconfig@4.8.1: 1110 | resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} 1111 | 1112 | glob-parent@5.1.2: 1113 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1114 | engines: {node: '>= 6'} 1115 | 1116 | glob-parent@6.0.2: 1117 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1118 | engines: {node: '>=10.13.0'} 1119 | 1120 | glob@10.3.10: 1121 | resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} 1122 | engines: {node: '>=16 || 14 >=14.17'} 1123 | hasBin: true 1124 | 1125 | glob@10.4.5: 1126 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 1127 | hasBin: true 1128 | 1129 | glob@7.2.3: 1130 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1131 | deprecated: Glob versions prior to v9 are no longer supported 1132 | 1133 | globals@11.12.0: 1134 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 1135 | engines: {node: '>=4'} 1136 | 1137 | globals@13.24.0: 1138 | resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} 1139 | engines: {node: '>=8'} 1140 | 1141 | globalthis@1.0.4: 1142 | resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} 1143 | engines: {node: '>= 0.4'} 1144 | 1145 | globby@11.1.0: 1146 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1147 | engines: {node: '>=10'} 1148 | 1149 | globrex@0.1.2: 1150 | resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} 1151 | 1152 | gopd@1.0.1: 1153 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 1154 | 1155 | graceful-fs@4.2.11: 1156 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1157 | 1158 | graphemer@1.4.0: 1159 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1160 | 1161 | has-bigints@1.0.2: 1162 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 1163 | 1164 | has-flag@3.0.0: 1165 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1166 | engines: {node: '>=4'} 1167 | 1168 | has-flag@4.0.0: 1169 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1170 | engines: {node: '>=8'} 1171 | 1172 | has-property-descriptors@1.0.2: 1173 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 1174 | 1175 | has-proto@1.0.3: 1176 | resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} 1177 | engines: {node: '>= 0.4'} 1178 | 1179 | has-symbols@1.0.3: 1180 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1181 | engines: {node: '>= 0.4'} 1182 | 1183 | has-tostringtag@1.0.2: 1184 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} 1185 | engines: {node: '>= 0.4'} 1186 | 1187 | hasown@2.0.2: 1188 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1189 | engines: {node: '>= 0.4'} 1190 | 1191 | ignore@5.3.2: 1192 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 1193 | engines: {node: '>= 4'} 1194 | 1195 | import-fresh@3.3.0: 1196 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1197 | engines: {node: '>=6'} 1198 | 1199 | imurmurhash@0.1.4: 1200 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1201 | engines: {node: '>=0.8.19'} 1202 | 1203 | inflight@1.0.6: 1204 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1205 | 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. 1206 | 1207 | inherits@2.0.4: 1208 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1209 | 1210 | internal-slot@1.0.7: 1211 | resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} 1212 | engines: {node: '>= 0.4'} 1213 | 1214 | is-arguments@1.1.1: 1215 | resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} 1216 | engines: {node: '>= 0.4'} 1217 | 1218 | is-array-buffer@3.0.4: 1219 | resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} 1220 | engines: {node: '>= 0.4'} 1221 | 1222 | is-async-function@2.0.0: 1223 | resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} 1224 | engines: {node: '>= 0.4'} 1225 | 1226 | is-bigint@1.0.4: 1227 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 1228 | 1229 | is-binary-path@2.1.0: 1230 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1231 | engines: {node: '>=8'} 1232 | 1233 | is-boolean-object@1.1.2: 1234 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 1235 | engines: {node: '>= 0.4'} 1236 | 1237 | is-bun-module@1.2.1: 1238 | resolution: {integrity: sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q==} 1239 | 1240 | is-callable@1.2.7: 1241 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 1242 | engines: {node: '>= 0.4'} 1243 | 1244 | is-core-module@2.15.1: 1245 | resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} 1246 | engines: {node: '>= 0.4'} 1247 | 1248 | is-data-view@1.0.1: 1249 | resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} 1250 | engines: {node: '>= 0.4'} 1251 | 1252 | is-date-object@1.0.5: 1253 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 1254 | engines: {node: '>= 0.4'} 1255 | 1256 | is-extglob@2.1.1: 1257 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1258 | engines: {node: '>=0.10.0'} 1259 | 1260 | is-finalizationregistry@1.0.2: 1261 | resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} 1262 | 1263 | is-fullwidth-code-point@3.0.0: 1264 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1265 | engines: {node: '>=8'} 1266 | 1267 | is-generator-function@1.0.10: 1268 | resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} 1269 | engines: {node: '>= 0.4'} 1270 | 1271 | is-glob@4.0.3: 1272 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1273 | engines: {node: '>=0.10.0'} 1274 | 1275 | is-map@2.0.3: 1276 | resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} 1277 | engines: {node: '>= 0.4'} 1278 | 1279 | is-negative-zero@2.0.3: 1280 | resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} 1281 | engines: {node: '>= 0.4'} 1282 | 1283 | is-number-object@1.0.7: 1284 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 1285 | engines: {node: '>= 0.4'} 1286 | 1287 | is-number@7.0.0: 1288 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1289 | engines: {node: '>=0.12.0'} 1290 | 1291 | is-path-inside@3.0.3: 1292 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 1293 | engines: {node: '>=8'} 1294 | 1295 | is-regex@1.1.4: 1296 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 1297 | engines: {node: '>= 0.4'} 1298 | 1299 | is-set@2.0.3: 1300 | resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} 1301 | engines: {node: '>= 0.4'} 1302 | 1303 | is-shared-array-buffer@1.0.3: 1304 | resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} 1305 | engines: {node: '>= 0.4'} 1306 | 1307 | is-string@1.0.7: 1308 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 1309 | engines: {node: '>= 0.4'} 1310 | 1311 | is-symbol@1.0.4: 1312 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 1313 | engines: {node: '>= 0.4'} 1314 | 1315 | is-typed-array@1.1.13: 1316 | resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} 1317 | engines: {node: '>= 0.4'} 1318 | 1319 | is-weakmap@2.0.2: 1320 | resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} 1321 | engines: {node: '>= 0.4'} 1322 | 1323 | is-weakref@1.0.2: 1324 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 1325 | 1326 | is-weakset@2.0.3: 1327 | resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} 1328 | engines: {node: '>= 0.4'} 1329 | 1330 | isarray@2.0.5: 1331 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 1332 | 1333 | isexe@2.0.0: 1334 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1335 | 1336 | iterator.prototype@1.1.2: 1337 | resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} 1338 | 1339 | jackspeak@2.3.6: 1340 | resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} 1341 | engines: {node: '>=14'} 1342 | 1343 | jackspeak@3.4.3: 1344 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} 1345 | 1346 | jiti@1.21.6: 1347 | resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} 1348 | hasBin: true 1349 | 1350 | js-tokens@4.0.0: 1351 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1352 | 1353 | js-yaml@4.1.0: 1354 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1355 | hasBin: true 1356 | 1357 | jsesc@2.5.2: 1358 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 1359 | engines: {node: '>=4'} 1360 | hasBin: true 1361 | 1362 | json-buffer@3.0.1: 1363 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1364 | 1365 | json-schema-traverse@0.4.1: 1366 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1367 | 1368 | json-stable-stringify-without-jsonify@1.0.1: 1369 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1370 | 1371 | json5@1.0.2: 1372 | resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} 1373 | hasBin: true 1374 | 1375 | json5@2.2.3: 1376 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 1377 | engines: {node: '>=6'} 1378 | hasBin: true 1379 | 1380 | jsx-ast-utils@3.3.5: 1381 | resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} 1382 | engines: {node: '>=4.0'} 1383 | 1384 | keyv@4.5.4: 1385 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1386 | 1387 | language-subtag-registry@0.3.23: 1388 | resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} 1389 | 1390 | language-tags@1.0.9: 1391 | resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} 1392 | engines: {node: '>=0.10'} 1393 | 1394 | levn@0.4.1: 1395 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1396 | engines: {node: '>= 0.8.0'} 1397 | 1398 | lilconfig@2.1.0: 1399 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 1400 | engines: {node: '>=10'} 1401 | 1402 | lilconfig@3.1.2: 1403 | resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} 1404 | engines: {node: '>=14'} 1405 | 1406 | lines-and-columns@1.2.4: 1407 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1408 | 1409 | livekit-client@2.5.2: 1410 | resolution: {integrity: sha512-rzWFH02UznHxpnbj+WEEoHxL1ZSo9BdFK+7ltSZWniTt2llnNckdqeXNsjkBH6k+C9agHTF4XikmxKcpWa4YrQ==} 1411 | 1412 | locate-path@6.0.0: 1413 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1414 | engines: {node: '>=10'} 1415 | 1416 | lodash.merge@4.6.2: 1417 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1418 | 1419 | loglevel@1.9.2: 1420 | resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==} 1421 | engines: {node: '>= 0.6.0'} 1422 | 1423 | loose-envify@1.4.0: 1424 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 1425 | hasBin: true 1426 | 1427 | lru-cache@10.4.3: 1428 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 1429 | 1430 | lru-cache@5.1.1: 1431 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 1432 | 1433 | lucide-react@0.441.0: 1434 | resolution: {integrity: sha512-0vfExYtvSDhkC2lqg0zYVW1Uu9GsI4knuV9GP9by5z0Xhc4Zi5RejTxfz9LsjRmCyWVzHCJvxGKZWcRyvQCWVg==} 1435 | peerDependencies: 1436 | react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc 1437 | 1438 | merge2@1.4.1: 1439 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1440 | engines: {node: '>= 8'} 1441 | 1442 | micromatch@4.0.8: 1443 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1444 | engines: {node: '>=8.6'} 1445 | 1446 | minimatch@3.1.2: 1447 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1448 | 1449 | minimatch@9.0.3: 1450 | resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} 1451 | engines: {node: '>=16 || 14 >=14.17'} 1452 | 1453 | minimatch@9.0.5: 1454 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1455 | engines: {node: '>=16 || 14 >=14.17'} 1456 | 1457 | minimist@1.2.8: 1458 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 1459 | 1460 | minipass@7.1.2: 1461 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 1462 | engines: {node: '>=16 || 14 >=14.17'} 1463 | 1464 | ms@2.1.3: 1465 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1466 | 1467 | mz@2.7.0: 1468 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1469 | 1470 | nanoid@3.3.7: 1471 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 1472 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1473 | hasBin: true 1474 | 1475 | natural-compare@1.4.0: 1476 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1477 | 1478 | next@14.2.13: 1479 | resolution: {integrity: sha512-BseY9YNw8QJSwLYD7hlZzl6QVDoSFHL/URN5K64kVEVpCsSOWeyjbIGK+dZUaRViHTaMQX8aqmnn0PHBbGZezg==} 1480 | engines: {node: '>=18.17.0'} 1481 | hasBin: true 1482 | peerDependencies: 1483 | '@opentelemetry/api': ^1.1.0 1484 | '@playwright/test': ^1.41.2 1485 | react: ^18.2.0 1486 | react-dom: ^18.2.0 1487 | sass: ^1.3.0 1488 | peerDependenciesMeta: 1489 | '@opentelemetry/api': 1490 | optional: true 1491 | '@playwright/test': 1492 | optional: true 1493 | sass: 1494 | optional: true 1495 | 1496 | node-releases@2.0.18: 1497 | resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} 1498 | 1499 | normalize-path@3.0.0: 1500 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1501 | engines: {node: '>=0.10.0'} 1502 | 1503 | object-assign@4.1.1: 1504 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1505 | engines: {node: '>=0.10.0'} 1506 | 1507 | object-hash@3.0.0: 1508 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} 1509 | engines: {node: '>= 6'} 1510 | 1511 | object-inspect@1.13.2: 1512 | resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} 1513 | engines: {node: '>= 0.4'} 1514 | 1515 | object-is@1.1.6: 1516 | resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} 1517 | engines: {node: '>= 0.4'} 1518 | 1519 | object-keys@1.1.1: 1520 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 1521 | engines: {node: '>= 0.4'} 1522 | 1523 | object.assign@4.1.5: 1524 | resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} 1525 | engines: {node: '>= 0.4'} 1526 | 1527 | object.entries@1.1.8: 1528 | resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} 1529 | engines: {node: '>= 0.4'} 1530 | 1531 | object.fromentries@2.0.8: 1532 | resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} 1533 | engines: {node: '>= 0.4'} 1534 | 1535 | object.groupby@1.0.3: 1536 | resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} 1537 | engines: {node: '>= 0.4'} 1538 | 1539 | object.values@1.2.0: 1540 | resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} 1541 | engines: {node: '>= 0.4'} 1542 | 1543 | once@1.4.0: 1544 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1545 | 1546 | optionator@0.9.4: 1547 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1548 | engines: {node: '>= 0.8.0'} 1549 | 1550 | p-limit@3.1.0: 1551 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1552 | engines: {node: '>=10'} 1553 | 1554 | p-locate@5.0.0: 1555 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1556 | engines: {node: '>=10'} 1557 | 1558 | package-json-from-dist@1.0.0: 1559 | resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} 1560 | 1561 | parent-module@1.0.1: 1562 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1563 | engines: {node: '>=6'} 1564 | 1565 | path-exists@4.0.0: 1566 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1567 | engines: {node: '>=8'} 1568 | 1569 | path-is-absolute@1.0.1: 1570 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1571 | engines: {node: '>=0.10.0'} 1572 | 1573 | path-key@3.1.1: 1574 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1575 | engines: {node: '>=8'} 1576 | 1577 | path-parse@1.0.7: 1578 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1579 | 1580 | path-scurry@1.11.1: 1581 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 1582 | engines: {node: '>=16 || 14 >=14.18'} 1583 | 1584 | path-type@4.0.0: 1585 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1586 | engines: {node: '>=8'} 1587 | 1588 | picocolors@1.1.0: 1589 | resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} 1590 | 1591 | picomatch@2.3.1: 1592 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1593 | engines: {node: '>=8.6'} 1594 | 1595 | pify@2.3.0: 1596 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 1597 | engines: {node: '>=0.10.0'} 1598 | 1599 | pirates@4.0.6: 1600 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 1601 | engines: {node: '>= 6'} 1602 | 1603 | possible-typed-array-names@1.0.0: 1604 | resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} 1605 | engines: {node: '>= 0.4'} 1606 | 1607 | postcss-import@15.1.0: 1608 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} 1609 | engines: {node: '>=14.0.0'} 1610 | peerDependencies: 1611 | postcss: ^8.0.0 1612 | 1613 | postcss-js@4.0.1: 1614 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} 1615 | engines: {node: ^12 || ^14 || >= 16} 1616 | peerDependencies: 1617 | postcss: ^8.4.21 1618 | 1619 | postcss-load-config@4.0.2: 1620 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} 1621 | engines: {node: '>= 14'} 1622 | peerDependencies: 1623 | postcss: '>=8.0.9' 1624 | ts-node: '>=9.0.0' 1625 | peerDependenciesMeta: 1626 | postcss: 1627 | optional: true 1628 | ts-node: 1629 | optional: true 1630 | 1631 | postcss-nested@6.2.0: 1632 | resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} 1633 | engines: {node: '>=12.0'} 1634 | peerDependencies: 1635 | postcss: ^8.2.14 1636 | 1637 | postcss-selector-parser@6.1.2: 1638 | resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} 1639 | engines: {node: '>=4'} 1640 | 1641 | postcss-value-parser@4.2.0: 1642 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 1643 | 1644 | postcss@8.4.31: 1645 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} 1646 | engines: {node: ^10 || ^12 || >=14} 1647 | 1648 | postcss@8.4.47: 1649 | resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} 1650 | engines: {node: ^10 || ^12 || >=14} 1651 | 1652 | prelude-ls@1.2.1: 1653 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1654 | engines: {node: '>= 0.8.0'} 1655 | 1656 | prop-types@15.8.1: 1657 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} 1658 | 1659 | punycode@2.3.1: 1660 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1661 | engines: {node: '>=6'} 1662 | 1663 | queue-microtask@1.2.3: 1664 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1665 | 1666 | react-dom@18.3.1: 1667 | resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} 1668 | peerDependencies: 1669 | react: ^18.3.1 1670 | 1671 | react-is@16.13.1: 1672 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 1673 | 1674 | react-refresh@0.14.2: 1675 | resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} 1676 | engines: {node: '>=0.10.0'} 1677 | 1678 | react@18.3.1: 1679 | resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} 1680 | engines: {node: '>=0.10.0'} 1681 | 1682 | read-cache@1.0.0: 1683 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 1684 | 1685 | readdirp@3.6.0: 1686 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1687 | engines: {node: '>=8.10.0'} 1688 | 1689 | reflect.getprototypeof@1.0.6: 1690 | resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} 1691 | engines: {node: '>= 0.4'} 1692 | 1693 | regexp.prototype.flags@1.5.2: 1694 | resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} 1695 | engines: {node: '>= 0.4'} 1696 | 1697 | resolve-from@4.0.0: 1698 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1699 | engines: {node: '>=4'} 1700 | 1701 | resolve-pkg-maps@1.0.0: 1702 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 1703 | 1704 | resolve@1.22.8: 1705 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 1706 | hasBin: true 1707 | 1708 | resolve@2.0.0-next.5: 1709 | resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} 1710 | hasBin: true 1711 | 1712 | reusify@1.0.4: 1713 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1714 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1715 | 1716 | rimraf@3.0.2: 1717 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 1718 | deprecated: Rimraf versions prior to v4 are no longer supported 1719 | hasBin: true 1720 | 1721 | rollup@4.22.2: 1722 | resolution: {integrity: sha512-JWWpTrZmqQGQWt16xvNn6KVIUz16VtZwl984TKw0dfqqRpFwtLJYYk1/4BTgplndMQKWUk/yB4uOShYmMzA2Vg==} 1723 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1724 | hasBin: true 1725 | 1726 | run-parallel@1.2.0: 1727 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1728 | 1729 | rxjs@7.8.1: 1730 | resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} 1731 | 1732 | safe-array-concat@1.1.2: 1733 | resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} 1734 | engines: {node: '>=0.4'} 1735 | 1736 | safe-regex-test@1.0.3: 1737 | resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} 1738 | engines: {node: '>= 0.4'} 1739 | 1740 | scheduler@0.23.2: 1741 | resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} 1742 | 1743 | sdp-transform@2.14.2: 1744 | resolution: {integrity: sha512-icY6jVao7MfKCieyo1AyxFYm1baiM+fA00qW/KrNNVlkxHAd34riEKuEkUe4bBb3gJwLJZM+xT60Yj1QL8rHiA==} 1745 | hasBin: true 1746 | 1747 | sdp@3.2.0: 1748 | resolution: {integrity: sha512-d7wDPgDV3DDiqulJjKiV2865wKsJ34YI+NDREbm+FySq6WuKOikwyNQcm+doLAZ1O6ltdO0SeKle2xMpN3Brgw==} 1749 | 1750 | semver@6.3.1: 1751 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 1752 | hasBin: true 1753 | 1754 | semver@7.6.3: 1755 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} 1756 | engines: {node: '>=10'} 1757 | hasBin: true 1758 | 1759 | set-function-length@1.2.2: 1760 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} 1761 | engines: {node: '>= 0.4'} 1762 | 1763 | set-function-name@2.0.2: 1764 | resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} 1765 | engines: {node: '>= 0.4'} 1766 | 1767 | shebang-command@2.0.0: 1768 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1769 | engines: {node: '>=8'} 1770 | 1771 | shebang-regex@3.0.0: 1772 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1773 | engines: {node: '>=8'} 1774 | 1775 | side-channel@1.0.6: 1776 | resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} 1777 | engines: {node: '>= 0.4'} 1778 | 1779 | signal-exit@4.1.0: 1780 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1781 | engines: {node: '>=14'} 1782 | 1783 | slash@3.0.0: 1784 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1785 | engines: {node: '>=8'} 1786 | 1787 | source-map-js@1.2.1: 1788 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1789 | engines: {node: '>=0.10.0'} 1790 | 1791 | stop-iteration-iterator@1.0.0: 1792 | resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} 1793 | engines: {node: '>= 0.4'} 1794 | 1795 | streamsearch@1.1.0: 1796 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} 1797 | engines: {node: '>=10.0.0'} 1798 | 1799 | string-width@4.2.3: 1800 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1801 | engines: {node: '>=8'} 1802 | 1803 | string-width@5.1.2: 1804 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1805 | engines: {node: '>=12'} 1806 | 1807 | string.prototype.includes@2.0.0: 1808 | resolution: {integrity: sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==} 1809 | 1810 | string.prototype.matchall@4.0.11: 1811 | resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} 1812 | engines: {node: '>= 0.4'} 1813 | 1814 | string.prototype.repeat@1.0.0: 1815 | resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} 1816 | 1817 | string.prototype.trim@1.2.9: 1818 | resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} 1819 | engines: {node: '>= 0.4'} 1820 | 1821 | string.prototype.trimend@1.0.8: 1822 | resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} 1823 | 1824 | string.prototype.trimstart@1.0.8: 1825 | resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} 1826 | engines: {node: '>= 0.4'} 1827 | 1828 | strip-ansi@6.0.1: 1829 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1830 | engines: {node: '>=8'} 1831 | 1832 | strip-ansi@7.1.0: 1833 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 1834 | engines: {node: '>=12'} 1835 | 1836 | strip-bom@3.0.0: 1837 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 1838 | engines: {node: '>=4'} 1839 | 1840 | strip-json-comments@3.1.1: 1841 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1842 | engines: {node: '>=8'} 1843 | 1844 | styled-jsx@5.1.1: 1845 | resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} 1846 | engines: {node: '>= 12.0.0'} 1847 | peerDependencies: 1848 | '@babel/core': '*' 1849 | babel-plugin-macros: '*' 1850 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' 1851 | peerDependenciesMeta: 1852 | '@babel/core': 1853 | optional: true 1854 | babel-plugin-macros: 1855 | optional: true 1856 | 1857 | sucrase@3.35.0: 1858 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 1859 | engines: {node: '>=16 || 14 >=14.17'} 1860 | hasBin: true 1861 | 1862 | supports-color@5.5.0: 1863 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1864 | engines: {node: '>=4'} 1865 | 1866 | supports-color@7.2.0: 1867 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1868 | engines: {node: '>=8'} 1869 | 1870 | supports-preserve-symlinks-flag@1.0.0: 1871 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1872 | engines: {node: '>= 0.4'} 1873 | 1874 | tailwindcss@3.4.12: 1875 | resolution: {integrity: sha512-Htf/gHj2+soPb9UayUNci/Ja3d8pTmu9ONTfh4QY8r3MATTZOzmv6UYWF7ZwikEIC8okpfqmGqrmDehua8mF8w==} 1876 | engines: {node: '>=14.0.0'} 1877 | hasBin: true 1878 | 1879 | tapable@2.2.1: 1880 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} 1881 | engines: {node: '>=6'} 1882 | 1883 | text-table@0.2.0: 1884 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 1885 | 1886 | thenify-all@1.6.0: 1887 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 1888 | engines: {node: '>=0.8'} 1889 | 1890 | thenify@3.3.1: 1891 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 1892 | 1893 | to-fast-properties@2.0.0: 1894 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 1895 | engines: {node: '>=4'} 1896 | 1897 | to-regex-range@5.0.1: 1898 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1899 | engines: {node: '>=8.0'} 1900 | 1901 | ts-api-utils@1.3.0: 1902 | resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} 1903 | engines: {node: '>=16'} 1904 | peerDependencies: 1905 | typescript: '>=4.2.0' 1906 | 1907 | ts-debounce@4.0.0: 1908 | resolution: {integrity: sha512-+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg==} 1909 | 1910 | ts-interface-checker@0.1.13: 1911 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 1912 | 1913 | tsconfck@3.1.3: 1914 | resolution: {integrity: sha512-ulNZP1SVpRDesxeMLON/LtWM8HIgAJEIVpVVhBM6gsmvQ8+Rh+ZG7FWGvHh7Ah3pRABwVJWklWCr/BTZSv0xnQ==} 1915 | engines: {node: ^18 || >=20} 1916 | hasBin: true 1917 | peerDependencies: 1918 | typescript: ^5.0.0 1919 | peerDependenciesMeta: 1920 | typescript: 1921 | optional: true 1922 | 1923 | tsconfig-paths@3.15.0: 1924 | resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} 1925 | 1926 | tslib@2.7.0: 1927 | resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} 1928 | 1929 | type-check@0.4.0: 1930 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1931 | engines: {node: '>= 0.8.0'} 1932 | 1933 | type-fest@0.20.2: 1934 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 1935 | engines: {node: '>=10'} 1936 | 1937 | typed-array-buffer@1.0.2: 1938 | resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} 1939 | engines: {node: '>= 0.4'} 1940 | 1941 | typed-array-byte-length@1.0.1: 1942 | resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} 1943 | engines: {node: '>= 0.4'} 1944 | 1945 | typed-array-byte-offset@1.0.2: 1946 | resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} 1947 | engines: {node: '>= 0.4'} 1948 | 1949 | typed-array-length@1.0.6: 1950 | resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} 1951 | engines: {node: '>= 0.4'} 1952 | 1953 | typed-emitter@2.1.0: 1954 | resolution: {integrity: sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA==} 1955 | 1956 | typescript@5.6.2: 1957 | resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} 1958 | engines: {node: '>=14.17'} 1959 | hasBin: true 1960 | 1961 | ultravox-client@0.3.2: 1962 | resolution: {integrity: sha512-Z+j1efzyIxOVbjqo8ZcaQTKLoYbPRDa5EIwCcqK6r2CfP5xtKe3fBsiOs81mF0Eq4wyMtvOp8mapT+3S44z+5g==} 1963 | engines: {pnpm: '>=6.0.0'} 1964 | 1965 | unbox-primitive@1.0.2: 1966 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 1967 | 1968 | undici-types@6.19.8: 1969 | resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} 1970 | 1971 | update-browserslist-db@1.1.0: 1972 | resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} 1973 | hasBin: true 1974 | peerDependencies: 1975 | browserslist: '>= 4.21.0' 1976 | 1977 | uri-js@4.4.1: 1978 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1979 | 1980 | util-deprecate@1.0.2: 1981 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1982 | 1983 | vite-tsconfig-paths@4.3.2: 1984 | resolution: {integrity: sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA==} 1985 | peerDependencies: 1986 | vite: '*' 1987 | peerDependenciesMeta: 1988 | vite: 1989 | optional: true 1990 | 1991 | vite@5.4.7: 1992 | resolution: {integrity: sha512-5l2zxqMEPVENgvzTuBpHer2awaetimj2BGkhBPdnwKbPNOlHsODU+oiazEZzLK7KhAnOrO+XGYJYn4ZlUhDtDQ==} 1993 | engines: {node: ^18.0.0 || >=20.0.0} 1994 | hasBin: true 1995 | peerDependencies: 1996 | '@types/node': ^18.0.0 || >=20.0.0 1997 | less: '*' 1998 | lightningcss: ^1.21.0 1999 | sass: '*' 2000 | sass-embedded: '*' 2001 | stylus: '*' 2002 | sugarss: '*' 2003 | terser: ^5.4.0 2004 | peerDependenciesMeta: 2005 | '@types/node': 2006 | optional: true 2007 | less: 2008 | optional: true 2009 | lightningcss: 2010 | optional: true 2011 | sass: 2012 | optional: true 2013 | sass-embedded: 2014 | optional: true 2015 | stylus: 2016 | optional: true 2017 | sugarss: 2018 | optional: true 2019 | terser: 2020 | optional: true 2021 | 2022 | webrtc-adapter@9.0.1: 2023 | resolution: {integrity: sha512-1AQO+d4ElfVSXyzNVTOewgGT/tAomwwztX/6e3totvyyzXPvXIIuUUjAmyZGbKBKbZOXauuJooZm3g6IuFuiNQ==} 2024 | engines: {node: '>=6.0.0', npm: '>=3.10.0'} 2025 | 2026 | which-boxed-primitive@1.0.2: 2027 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 2028 | 2029 | which-builtin-type@1.1.4: 2030 | resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==} 2031 | engines: {node: '>= 0.4'} 2032 | 2033 | which-collection@1.0.2: 2034 | resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} 2035 | engines: {node: '>= 0.4'} 2036 | 2037 | which-typed-array@1.1.15: 2038 | resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} 2039 | engines: {node: '>= 0.4'} 2040 | 2041 | which@2.0.2: 2042 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2043 | engines: {node: '>= 8'} 2044 | hasBin: true 2045 | 2046 | word-wrap@1.2.5: 2047 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 2048 | engines: {node: '>=0.10.0'} 2049 | 2050 | wrap-ansi@7.0.0: 2051 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 2052 | engines: {node: '>=10'} 2053 | 2054 | wrap-ansi@8.1.0: 2055 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 2056 | engines: {node: '>=12'} 2057 | 2058 | wrappy@1.0.2: 2059 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 2060 | 2061 | yallist@3.1.1: 2062 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 2063 | 2064 | yaml@2.5.1: 2065 | resolution: {integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==} 2066 | engines: {node: '>= 14'} 2067 | hasBin: true 2068 | 2069 | yocto-queue@0.1.0: 2070 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 2071 | engines: {node: '>=10'} 2072 | 2073 | snapshots: 2074 | 2075 | '@alloc/quick-lru@5.2.0': {} 2076 | 2077 | '@ampproject/remapping@2.3.0': 2078 | dependencies: 2079 | '@jridgewell/gen-mapping': 0.3.5 2080 | '@jridgewell/trace-mapping': 0.3.25 2081 | 2082 | '@babel/code-frame@7.24.7': 2083 | dependencies: 2084 | '@babel/highlight': 7.24.7 2085 | picocolors: 1.1.0 2086 | 2087 | '@babel/compat-data@7.25.4': {} 2088 | 2089 | '@babel/core@7.25.2': 2090 | dependencies: 2091 | '@ampproject/remapping': 2.3.0 2092 | '@babel/code-frame': 7.24.7 2093 | '@babel/generator': 7.25.6 2094 | '@babel/helper-compilation-targets': 7.25.2 2095 | '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) 2096 | '@babel/helpers': 7.25.6 2097 | '@babel/parser': 7.25.6 2098 | '@babel/template': 7.25.0 2099 | '@babel/traverse': 7.25.6 2100 | '@babel/types': 7.25.6 2101 | convert-source-map: 2.0.0 2102 | debug: 4.3.7 2103 | gensync: 1.0.0-beta.2 2104 | json5: 2.2.3 2105 | semver: 6.3.1 2106 | transitivePeerDependencies: 2107 | - supports-color 2108 | 2109 | '@babel/generator@7.25.6': 2110 | dependencies: 2111 | '@babel/types': 7.25.6 2112 | '@jridgewell/gen-mapping': 0.3.5 2113 | '@jridgewell/trace-mapping': 0.3.25 2114 | jsesc: 2.5.2 2115 | 2116 | '@babel/helper-compilation-targets@7.25.2': 2117 | dependencies: 2118 | '@babel/compat-data': 7.25.4 2119 | '@babel/helper-validator-option': 7.24.8 2120 | browserslist: 4.23.3 2121 | lru-cache: 5.1.1 2122 | semver: 6.3.1 2123 | 2124 | '@babel/helper-module-imports@7.24.7': 2125 | dependencies: 2126 | '@babel/traverse': 7.25.6 2127 | '@babel/types': 7.25.6 2128 | transitivePeerDependencies: 2129 | - supports-color 2130 | 2131 | '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': 2132 | dependencies: 2133 | '@babel/core': 7.25.2 2134 | '@babel/helper-module-imports': 7.24.7 2135 | '@babel/helper-simple-access': 7.24.7 2136 | '@babel/helper-validator-identifier': 7.24.7 2137 | '@babel/traverse': 7.25.6 2138 | transitivePeerDependencies: 2139 | - supports-color 2140 | 2141 | '@babel/helper-plugin-utils@7.24.8': {} 2142 | 2143 | '@babel/helper-simple-access@7.24.7': 2144 | dependencies: 2145 | '@babel/traverse': 7.25.6 2146 | '@babel/types': 7.25.6 2147 | transitivePeerDependencies: 2148 | - supports-color 2149 | 2150 | '@babel/helper-string-parser@7.24.8': {} 2151 | 2152 | '@babel/helper-validator-identifier@7.24.7': {} 2153 | 2154 | '@babel/helper-validator-option@7.24.8': {} 2155 | 2156 | '@babel/helpers@7.25.6': 2157 | dependencies: 2158 | '@babel/template': 7.25.0 2159 | '@babel/types': 7.25.6 2160 | 2161 | '@babel/highlight@7.24.7': 2162 | dependencies: 2163 | '@babel/helper-validator-identifier': 7.24.7 2164 | chalk: 2.4.2 2165 | js-tokens: 4.0.0 2166 | picocolors: 1.1.0 2167 | 2168 | '@babel/parser@7.25.6': 2169 | dependencies: 2170 | '@babel/types': 7.25.6 2171 | 2172 | '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.25.2)': 2173 | dependencies: 2174 | '@babel/core': 7.25.2 2175 | '@babel/helper-plugin-utils': 7.24.8 2176 | 2177 | '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.25.2)': 2178 | dependencies: 2179 | '@babel/core': 7.25.2 2180 | '@babel/helper-plugin-utils': 7.24.8 2181 | 2182 | '@babel/template@7.25.0': 2183 | dependencies: 2184 | '@babel/code-frame': 7.24.7 2185 | '@babel/parser': 7.25.6 2186 | '@babel/types': 7.25.6 2187 | 2188 | '@babel/traverse@7.25.6': 2189 | dependencies: 2190 | '@babel/code-frame': 7.24.7 2191 | '@babel/generator': 7.25.6 2192 | '@babel/parser': 7.25.6 2193 | '@babel/template': 7.25.0 2194 | '@babel/types': 7.25.6 2195 | debug: 4.3.7 2196 | globals: 11.12.0 2197 | transitivePeerDependencies: 2198 | - supports-color 2199 | 2200 | '@babel/types@7.25.6': 2201 | dependencies: 2202 | '@babel/helper-string-parser': 7.24.8 2203 | '@babel/helper-validator-identifier': 7.24.7 2204 | to-fast-properties: 2.0.0 2205 | 2206 | '@bufbuild/protobuf@1.10.0': {} 2207 | 2208 | '@esbuild/aix-ppc64@0.21.5': 2209 | optional: true 2210 | 2211 | '@esbuild/android-arm64@0.21.5': 2212 | optional: true 2213 | 2214 | '@esbuild/android-arm@0.21.5': 2215 | optional: true 2216 | 2217 | '@esbuild/android-x64@0.21.5': 2218 | optional: true 2219 | 2220 | '@esbuild/darwin-arm64@0.21.5': 2221 | optional: true 2222 | 2223 | '@esbuild/darwin-x64@0.21.5': 2224 | optional: true 2225 | 2226 | '@esbuild/freebsd-arm64@0.21.5': 2227 | optional: true 2228 | 2229 | '@esbuild/freebsd-x64@0.21.5': 2230 | optional: true 2231 | 2232 | '@esbuild/linux-arm64@0.21.5': 2233 | optional: true 2234 | 2235 | '@esbuild/linux-arm@0.21.5': 2236 | optional: true 2237 | 2238 | '@esbuild/linux-ia32@0.21.5': 2239 | optional: true 2240 | 2241 | '@esbuild/linux-loong64@0.21.5': 2242 | optional: true 2243 | 2244 | '@esbuild/linux-mips64el@0.21.5': 2245 | optional: true 2246 | 2247 | '@esbuild/linux-ppc64@0.21.5': 2248 | optional: true 2249 | 2250 | '@esbuild/linux-riscv64@0.21.5': 2251 | optional: true 2252 | 2253 | '@esbuild/linux-s390x@0.21.5': 2254 | optional: true 2255 | 2256 | '@esbuild/linux-x64@0.21.5': 2257 | optional: true 2258 | 2259 | '@esbuild/netbsd-x64@0.21.5': 2260 | optional: true 2261 | 2262 | '@esbuild/openbsd-x64@0.21.5': 2263 | optional: true 2264 | 2265 | '@esbuild/sunos-x64@0.21.5': 2266 | optional: true 2267 | 2268 | '@esbuild/win32-arm64@0.21.5': 2269 | optional: true 2270 | 2271 | '@esbuild/win32-ia32@0.21.5': 2272 | optional: true 2273 | 2274 | '@esbuild/win32-x64@0.21.5': 2275 | optional: true 2276 | 2277 | '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)': 2278 | dependencies: 2279 | eslint: 8.57.1 2280 | eslint-visitor-keys: 3.4.3 2281 | 2282 | '@eslint-community/regexpp@4.11.1': {} 2283 | 2284 | '@eslint/eslintrc@2.1.4': 2285 | dependencies: 2286 | ajv: 6.12.6 2287 | debug: 4.3.7 2288 | espree: 9.6.1 2289 | globals: 13.24.0 2290 | ignore: 5.3.2 2291 | import-fresh: 3.3.0 2292 | js-yaml: 4.1.0 2293 | minimatch: 3.1.2 2294 | strip-json-comments: 3.1.1 2295 | transitivePeerDependencies: 2296 | - supports-color 2297 | 2298 | '@eslint/js@8.57.1': {} 2299 | 2300 | '@humanwhocodes/config-array@0.13.0': 2301 | dependencies: 2302 | '@humanwhocodes/object-schema': 2.0.3 2303 | debug: 4.3.7 2304 | minimatch: 3.1.2 2305 | transitivePeerDependencies: 2306 | - supports-color 2307 | 2308 | '@humanwhocodes/module-importer@1.0.1': {} 2309 | 2310 | '@humanwhocodes/object-schema@2.0.3': {} 2311 | 2312 | '@isaacs/cliui@8.0.2': 2313 | dependencies: 2314 | string-width: 5.1.2 2315 | string-width-cjs: string-width@4.2.3 2316 | strip-ansi: 7.1.0 2317 | strip-ansi-cjs: strip-ansi@6.0.1 2318 | wrap-ansi: 8.1.0 2319 | wrap-ansi-cjs: wrap-ansi@7.0.0 2320 | 2321 | '@jridgewell/gen-mapping@0.3.5': 2322 | dependencies: 2323 | '@jridgewell/set-array': 1.2.1 2324 | '@jridgewell/sourcemap-codec': 1.5.0 2325 | '@jridgewell/trace-mapping': 0.3.25 2326 | 2327 | '@jridgewell/resolve-uri@3.1.2': {} 2328 | 2329 | '@jridgewell/set-array@1.2.1': {} 2330 | 2331 | '@jridgewell/sourcemap-codec@1.5.0': {} 2332 | 2333 | '@jridgewell/trace-mapping@0.3.25': 2334 | dependencies: 2335 | '@jridgewell/resolve-uri': 3.1.2 2336 | '@jridgewell/sourcemap-codec': 1.5.0 2337 | 2338 | '@livekit/protocol@1.20.1': 2339 | dependencies: 2340 | '@bufbuild/protobuf': 1.10.0 2341 | 2342 | '@next/env@14.2.13': {} 2343 | 2344 | '@next/eslint-plugin-next@14.2.5': 2345 | dependencies: 2346 | glob: 10.3.10 2347 | 2348 | '@next/swc-darwin-arm64@14.2.13': 2349 | optional: true 2350 | 2351 | '@next/swc-darwin-x64@14.2.13': 2352 | optional: true 2353 | 2354 | '@next/swc-linux-arm64-gnu@14.2.13': 2355 | optional: true 2356 | 2357 | '@next/swc-linux-arm64-musl@14.2.13': 2358 | optional: true 2359 | 2360 | '@next/swc-linux-x64-gnu@14.2.13': 2361 | optional: true 2362 | 2363 | '@next/swc-linux-x64-musl@14.2.13': 2364 | optional: true 2365 | 2366 | '@next/swc-win32-arm64-msvc@14.2.13': 2367 | optional: true 2368 | 2369 | '@next/swc-win32-ia32-msvc@14.2.13': 2370 | optional: true 2371 | 2372 | '@next/swc-win32-x64-msvc@14.2.13': 2373 | optional: true 2374 | 2375 | '@nodelib/fs.scandir@2.1.5': 2376 | dependencies: 2377 | '@nodelib/fs.stat': 2.0.5 2378 | run-parallel: 1.2.0 2379 | 2380 | '@nodelib/fs.stat@2.0.5': {} 2381 | 2382 | '@nodelib/fs.walk@1.2.8': 2383 | dependencies: 2384 | '@nodelib/fs.scandir': 2.1.5 2385 | fastq: 1.17.1 2386 | 2387 | '@nolyfill/is-core-module@1.0.39': {} 2388 | 2389 | '@pkgjs/parseargs@0.11.0': 2390 | optional: true 2391 | 2392 | '@rollup/rollup-android-arm-eabi@4.22.2': 2393 | optional: true 2394 | 2395 | '@rollup/rollup-android-arm64@4.22.2': 2396 | optional: true 2397 | 2398 | '@rollup/rollup-darwin-arm64@4.22.2': 2399 | optional: true 2400 | 2401 | '@rollup/rollup-darwin-x64@4.22.2': 2402 | optional: true 2403 | 2404 | '@rollup/rollup-linux-arm-gnueabihf@4.22.2': 2405 | optional: true 2406 | 2407 | '@rollup/rollup-linux-arm-musleabihf@4.22.2': 2408 | optional: true 2409 | 2410 | '@rollup/rollup-linux-arm64-gnu@4.22.2': 2411 | optional: true 2412 | 2413 | '@rollup/rollup-linux-arm64-musl@4.22.2': 2414 | optional: true 2415 | 2416 | '@rollup/rollup-linux-powerpc64le-gnu@4.22.2': 2417 | optional: true 2418 | 2419 | '@rollup/rollup-linux-riscv64-gnu@4.22.2': 2420 | optional: true 2421 | 2422 | '@rollup/rollup-linux-s390x-gnu@4.22.2': 2423 | optional: true 2424 | 2425 | '@rollup/rollup-linux-x64-gnu@4.22.2': 2426 | optional: true 2427 | 2428 | '@rollup/rollup-linux-x64-musl@4.22.2': 2429 | optional: true 2430 | 2431 | '@rollup/rollup-win32-arm64-msvc@4.22.2': 2432 | optional: true 2433 | 2434 | '@rollup/rollup-win32-ia32-msvc@4.22.2': 2435 | optional: true 2436 | 2437 | '@rollup/rollup-win32-x64-msvc@4.22.2': 2438 | optional: true 2439 | 2440 | '@rtsao/scc@1.1.0': {} 2441 | 2442 | '@rushstack/eslint-patch@1.10.4': {} 2443 | 2444 | '@swc/counter@0.1.3': {} 2445 | 2446 | '@swc/helpers@0.5.5': 2447 | dependencies: 2448 | '@swc/counter': 0.1.3 2449 | tslib: 2.7.0 2450 | 2451 | '@types/babel__core@7.20.5': 2452 | dependencies: 2453 | '@babel/parser': 7.25.6 2454 | '@babel/types': 7.25.6 2455 | '@types/babel__generator': 7.6.8 2456 | '@types/babel__template': 7.4.4 2457 | '@types/babel__traverse': 7.20.6 2458 | 2459 | '@types/babel__generator@7.6.8': 2460 | dependencies: 2461 | '@babel/types': 7.25.6 2462 | 2463 | '@types/babel__template@7.4.4': 2464 | dependencies: 2465 | '@babel/parser': 7.25.6 2466 | '@babel/types': 7.25.6 2467 | 2468 | '@types/babel__traverse@7.20.6': 2469 | dependencies: 2470 | '@babel/types': 7.25.6 2471 | 2472 | '@types/estree@1.0.5': {} 2473 | 2474 | '@types/json5@0.0.29': {} 2475 | 2476 | '@types/node@20.16.5': 2477 | dependencies: 2478 | undici-types: 6.19.8 2479 | 2480 | '@types/prop-types@15.7.13': {} 2481 | 2482 | '@types/react-dom@18.3.0': 2483 | dependencies: 2484 | '@types/react': 18.3.8 2485 | 2486 | '@types/react@18.3.8': 2487 | dependencies: 2488 | '@types/prop-types': 15.7.13 2489 | csstype: 3.1.3 2490 | 2491 | '@types/ws@8.5.12': 2492 | dependencies: 2493 | '@types/node': 20.16.5 2494 | 2495 | '@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2)': 2496 | dependencies: 2497 | '@typescript-eslint/scope-manager': 7.2.0 2498 | '@typescript-eslint/types': 7.2.0 2499 | '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.6.2) 2500 | '@typescript-eslint/visitor-keys': 7.2.0 2501 | debug: 4.3.7 2502 | eslint: 8.57.1 2503 | optionalDependencies: 2504 | typescript: 5.6.2 2505 | transitivePeerDependencies: 2506 | - supports-color 2507 | 2508 | '@typescript-eslint/scope-manager@7.2.0': 2509 | dependencies: 2510 | '@typescript-eslint/types': 7.2.0 2511 | '@typescript-eslint/visitor-keys': 7.2.0 2512 | 2513 | '@typescript-eslint/types@7.2.0': {} 2514 | 2515 | '@typescript-eslint/typescript-estree@7.2.0(typescript@5.6.2)': 2516 | dependencies: 2517 | '@typescript-eslint/types': 7.2.0 2518 | '@typescript-eslint/visitor-keys': 7.2.0 2519 | debug: 4.3.7 2520 | globby: 11.1.0 2521 | is-glob: 4.0.3 2522 | minimatch: 9.0.3 2523 | semver: 7.6.3 2524 | ts-api-utils: 1.3.0(typescript@5.6.2) 2525 | optionalDependencies: 2526 | typescript: 5.6.2 2527 | transitivePeerDependencies: 2528 | - supports-color 2529 | 2530 | '@typescript-eslint/visitor-keys@7.2.0': 2531 | dependencies: 2532 | '@typescript-eslint/types': 7.2.0 2533 | eslint-visitor-keys: 3.4.3 2534 | 2535 | '@ungap/structured-clone@1.2.0': {} 2536 | 2537 | '@vitejs/plugin-react@4.3.1(vite@5.4.7(@types/node@20.16.5))': 2538 | dependencies: 2539 | '@babel/core': 7.25.2 2540 | '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) 2541 | '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2) 2542 | '@types/babel__core': 7.20.5 2543 | react-refresh: 0.14.2 2544 | vite: 5.4.7(@types/node@20.16.5) 2545 | transitivePeerDependencies: 2546 | - supports-color 2547 | 2548 | acorn-jsx@5.3.2(acorn@8.12.1): 2549 | dependencies: 2550 | acorn: 8.12.1 2551 | 2552 | acorn@8.12.1: {} 2553 | 2554 | ajv@6.12.6: 2555 | dependencies: 2556 | fast-deep-equal: 3.1.3 2557 | fast-json-stable-stringify: 2.1.0 2558 | json-schema-traverse: 0.4.1 2559 | uri-js: 4.4.1 2560 | 2561 | ansi-regex@5.0.1: {} 2562 | 2563 | ansi-regex@6.1.0: {} 2564 | 2565 | ansi-styles@3.2.1: 2566 | dependencies: 2567 | color-convert: 1.9.3 2568 | 2569 | ansi-styles@4.3.0: 2570 | dependencies: 2571 | color-convert: 2.0.1 2572 | 2573 | ansi-styles@6.2.1: {} 2574 | 2575 | any-promise@1.3.0: {} 2576 | 2577 | anymatch@3.1.3: 2578 | dependencies: 2579 | normalize-path: 3.0.0 2580 | picomatch: 2.3.1 2581 | 2582 | arg@5.0.2: {} 2583 | 2584 | argparse@2.0.1: {} 2585 | 2586 | aria-query@5.1.3: 2587 | dependencies: 2588 | deep-equal: 2.2.3 2589 | 2590 | array-buffer-byte-length@1.0.1: 2591 | dependencies: 2592 | call-bind: 1.0.7 2593 | is-array-buffer: 3.0.4 2594 | 2595 | array-includes@3.1.8: 2596 | dependencies: 2597 | call-bind: 1.0.7 2598 | define-properties: 1.2.1 2599 | es-abstract: 1.23.3 2600 | es-object-atoms: 1.0.0 2601 | get-intrinsic: 1.2.4 2602 | is-string: 1.0.7 2603 | 2604 | array-union@2.1.0: {} 2605 | 2606 | array.prototype.findlast@1.2.5: 2607 | dependencies: 2608 | call-bind: 1.0.7 2609 | define-properties: 1.2.1 2610 | es-abstract: 1.23.3 2611 | es-errors: 1.3.0 2612 | es-object-atoms: 1.0.0 2613 | es-shim-unscopables: 1.0.2 2614 | 2615 | array.prototype.findlastindex@1.2.5: 2616 | dependencies: 2617 | call-bind: 1.0.7 2618 | define-properties: 1.2.1 2619 | es-abstract: 1.23.3 2620 | es-errors: 1.3.0 2621 | es-object-atoms: 1.0.0 2622 | es-shim-unscopables: 1.0.2 2623 | 2624 | array.prototype.flat@1.3.2: 2625 | dependencies: 2626 | call-bind: 1.0.7 2627 | define-properties: 1.2.1 2628 | es-abstract: 1.23.3 2629 | es-shim-unscopables: 1.0.2 2630 | 2631 | array.prototype.flatmap@1.3.2: 2632 | dependencies: 2633 | call-bind: 1.0.7 2634 | define-properties: 1.2.1 2635 | es-abstract: 1.23.3 2636 | es-shim-unscopables: 1.0.2 2637 | 2638 | array.prototype.tosorted@1.1.4: 2639 | dependencies: 2640 | call-bind: 1.0.7 2641 | define-properties: 1.2.1 2642 | es-abstract: 1.23.3 2643 | es-errors: 1.3.0 2644 | es-shim-unscopables: 1.0.2 2645 | 2646 | arraybuffer.prototype.slice@1.0.3: 2647 | dependencies: 2648 | array-buffer-byte-length: 1.0.1 2649 | call-bind: 1.0.7 2650 | define-properties: 1.2.1 2651 | es-abstract: 1.23.3 2652 | es-errors: 1.3.0 2653 | get-intrinsic: 1.2.4 2654 | is-array-buffer: 3.0.4 2655 | is-shared-array-buffer: 1.0.3 2656 | 2657 | ast-types-flow@0.0.8: {} 2658 | 2659 | available-typed-arrays@1.0.7: 2660 | dependencies: 2661 | possible-typed-array-names: 1.0.0 2662 | 2663 | axe-core@4.10.0: {} 2664 | 2665 | axobject-query@4.1.0: {} 2666 | 2667 | balanced-match@1.0.2: {} 2668 | 2669 | binary-extensions@2.3.0: {} 2670 | 2671 | brace-expansion@1.1.11: 2672 | dependencies: 2673 | balanced-match: 1.0.2 2674 | concat-map: 0.0.1 2675 | 2676 | brace-expansion@2.0.1: 2677 | dependencies: 2678 | balanced-match: 1.0.2 2679 | 2680 | braces@3.0.3: 2681 | dependencies: 2682 | fill-range: 7.1.1 2683 | 2684 | browserslist@4.23.3: 2685 | dependencies: 2686 | caniuse-lite: 1.0.30001662 2687 | electron-to-chromium: 1.5.27 2688 | node-releases: 2.0.18 2689 | update-browserslist-db: 1.1.0(browserslist@4.23.3) 2690 | 2691 | busboy@1.6.0: 2692 | dependencies: 2693 | streamsearch: 1.1.0 2694 | 2695 | call-bind@1.0.7: 2696 | dependencies: 2697 | es-define-property: 1.0.0 2698 | es-errors: 1.3.0 2699 | function-bind: 1.1.2 2700 | get-intrinsic: 1.2.4 2701 | set-function-length: 1.2.2 2702 | 2703 | callsites@3.1.0: {} 2704 | 2705 | camelcase-css@2.0.1: {} 2706 | 2707 | caniuse-lite@1.0.30001662: {} 2708 | 2709 | chalk@2.4.2: 2710 | dependencies: 2711 | ansi-styles: 3.2.1 2712 | escape-string-regexp: 1.0.5 2713 | supports-color: 5.5.0 2714 | 2715 | chalk@4.1.2: 2716 | dependencies: 2717 | ansi-styles: 4.3.0 2718 | supports-color: 7.2.0 2719 | 2720 | chokidar@3.6.0: 2721 | dependencies: 2722 | anymatch: 3.1.3 2723 | braces: 3.0.3 2724 | glob-parent: 5.1.2 2725 | is-binary-path: 2.1.0 2726 | is-glob: 4.0.3 2727 | normalize-path: 3.0.0 2728 | readdirp: 3.6.0 2729 | optionalDependencies: 2730 | fsevents: 2.3.3 2731 | 2732 | client-only@0.0.1: {} 2733 | 2734 | color-convert@1.9.3: 2735 | dependencies: 2736 | color-name: 1.1.3 2737 | 2738 | color-convert@2.0.1: 2739 | dependencies: 2740 | color-name: 1.1.4 2741 | 2742 | color-name@1.1.3: {} 2743 | 2744 | color-name@1.1.4: {} 2745 | 2746 | commander@4.1.1: {} 2747 | 2748 | concat-map@0.0.1: {} 2749 | 2750 | convert-source-map@2.0.0: {} 2751 | 2752 | cross-spawn@7.0.3: 2753 | dependencies: 2754 | path-key: 3.1.1 2755 | shebang-command: 2.0.0 2756 | which: 2.0.2 2757 | 2758 | cssesc@3.0.0: {} 2759 | 2760 | csstype@3.1.3: {} 2761 | 2762 | damerau-levenshtein@1.0.8: {} 2763 | 2764 | data-view-buffer@1.0.1: 2765 | dependencies: 2766 | call-bind: 1.0.7 2767 | es-errors: 1.3.0 2768 | is-data-view: 1.0.1 2769 | 2770 | data-view-byte-length@1.0.1: 2771 | dependencies: 2772 | call-bind: 1.0.7 2773 | es-errors: 1.3.0 2774 | is-data-view: 1.0.1 2775 | 2776 | data-view-byte-offset@1.0.0: 2777 | dependencies: 2778 | call-bind: 1.0.7 2779 | es-errors: 1.3.0 2780 | is-data-view: 1.0.1 2781 | 2782 | debug@3.2.7: 2783 | dependencies: 2784 | ms: 2.1.3 2785 | 2786 | debug@4.3.7: 2787 | dependencies: 2788 | ms: 2.1.3 2789 | 2790 | deep-equal@2.2.3: 2791 | dependencies: 2792 | array-buffer-byte-length: 1.0.1 2793 | call-bind: 1.0.7 2794 | es-get-iterator: 1.1.3 2795 | get-intrinsic: 1.2.4 2796 | is-arguments: 1.1.1 2797 | is-array-buffer: 3.0.4 2798 | is-date-object: 1.0.5 2799 | is-regex: 1.1.4 2800 | is-shared-array-buffer: 1.0.3 2801 | isarray: 2.0.5 2802 | object-is: 1.1.6 2803 | object-keys: 1.1.1 2804 | object.assign: 4.1.5 2805 | regexp.prototype.flags: 1.5.2 2806 | side-channel: 1.0.6 2807 | which-boxed-primitive: 1.0.2 2808 | which-collection: 1.0.2 2809 | which-typed-array: 1.1.15 2810 | 2811 | deep-is@0.1.4: {} 2812 | 2813 | define-data-property@1.1.4: 2814 | dependencies: 2815 | es-define-property: 1.0.0 2816 | es-errors: 1.3.0 2817 | gopd: 1.0.1 2818 | 2819 | define-properties@1.2.1: 2820 | dependencies: 2821 | define-data-property: 1.1.4 2822 | has-property-descriptors: 1.0.2 2823 | object-keys: 1.1.1 2824 | 2825 | didyoumean@1.2.2: {} 2826 | 2827 | dir-glob@3.0.1: 2828 | dependencies: 2829 | path-type: 4.0.0 2830 | 2831 | dlv@1.1.3: {} 2832 | 2833 | doctrine@2.1.0: 2834 | dependencies: 2835 | esutils: 2.0.3 2836 | 2837 | doctrine@3.0.0: 2838 | dependencies: 2839 | esutils: 2.0.3 2840 | 2841 | eastasianwidth@0.2.0: {} 2842 | 2843 | electron-to-chromium@1.5.27: {} 2844 | 2845 | emoji-regex@8.0.0: {} 2846 | 2847 | emoji-regex@9.2.2: {} 2848 | 2849 | enhanced-resolve@5.17.1: 2850 | dependencies: 2851 | graceful-fs: 4.2.11 2852 | tapable: 2.2.1 2853 | 2854 | es-abstract@1.23.3: 2855 | dependencies: 2856 | array-buffer-byte-length: 1.0.1 2857 | arraybuffer.prototype.slice: 1.0.3 2858 | available-typed-arrays: 1.0.7 2859 | call-bind: 1.0.7 2860 | data-view-buffer: 1.0.1 2861 | data-view-byte-length: 1.0.1 2862 | data-view-byte-offset: 1.0.0 2863 | es-define-property: 1.0.0 2864 | es-errors: 1.3.0 2865 | es-object-atoms: 1.0.0 2866 | es-set-tostringtag: 2.0.3 2867 | es-to-primitive: 1.2.1 2868 | function.prototype.name: 1.1.6 2869 | get-intrinsic: 1.2.4 2870 | get-symbol-description: 1.0.2 2871 | globalthis: 1.0.4 2872 | gopd: 1.0.1 2873 | has-property-descriptors: 1.0.2 2874 | has-proto: 1.0.3 2875 | has-symbols: 1.0.3 2876 | hasown: 2.0.2 2877 | internal-slot: 1.0.7 2878 | is-array-buffer: 3.0.4 2879 | is-callable: 1.2.7 2880 | is-data-view: 1.0.1 2881 | is-negative-zero: 2.0.3 2882 | is-regex: 1.1.4 2883 | is-shared-array-buffer: 1.0.3 2884 | is-string: 1.0.7 2885 | is-typed-array: 1.1.13 2886 | is-weakref: 1.0.2 2887 | object-inspect: 1.13.2 2888 | object-keys: 1.1.1 2889 | object.assign: 4.1.5 2890 | regexp.prototype.flags: 1.5.2 2891 | safe-array-concat: 1.1.2 2892 | safe-regex-test: 1.0.3 2893 | string.prototype.trim: 1.2.9 2894 | string.prototype.trimend: 1.0.8 2895 | string.prototype.trimstart: 1.0.8 2896 | typed-array-buffer: 1.0.2 2897 | typed-array-byte-length: 1.0.1 2898 | typed-array-byte-offset: 1.0.2 2899 | typed-array-length: 1.0.6 2900 | unbox-primitive: 1.0.2 2901 | which-typed-array: 1.1.15 2902 | 2903 | es-define-property@1.0.0: 2904 | dependencies: 2905 | get-intrinsic: 1.2.4 2906 | 2907 | es-errors@1.3.0: {} 2908 | 2909 | es-get-iterator@1.1.3: 2910 | dependencies: 2911 | call-bind: 1.0.7 2912 | get-intrinsic: 1.2.4 2913 | has-symbols: 1.0.3 2914 | is-arguments: 1.1.1 2915 | is-map: 2.0.3 2916 | is-set: 2.0.3 2917 | is-string: 1.0.7 2918 | isarray: 2.0.5 2919 | stop-iteration-iterator: 1.0.0 2920 | 2921 | es-iterator-helpers@1.0.19: 2922 | dependencies: 2923 | call-bind: 1.0.7 2924 | define-properties: 1.2.1 2925 | es-abstract: 1.23.3 2926 | es-errors: 1.3.0 2927 | es-set-tostringtag: 2.0.3 2928 | function-bind: 1.1.2 2929 | get-intrinsic: 1.2.4 2930 | globalthis: 1.0.4 2931 | has-property-descriptors: 1.0.2 2932 | has-proto: 1.0.3 2933 | has-symbols: 1.0.3 2934 | internal-slot: 1.0.7 2935 | iterator.prototype: 1.1.2 2936 | safe-array-concat: 1.1.2 2937 | 2938 | es-object-atoms@1.0.0: 2939 | dependencies: 2940 | es-errors: 1.3.0 2941 | 2942 | es-set-tostringtag@2.0.3: 2943 | dependencies: 2944 | get-intrinsic: 1.2.4 2945 | has-tostringtag: 1.0.2 2946 | hasown: 2.0.2 2947 | 2948 | es-shim-unscopables@1.0.2: 2949 | dependencies: 2950 | hasown: 2.0.2 2951 | 2952 | es-to-primitive@1.2.1: 2953 | dependencies: 2954 | is-callable: 1.2.7 2955 | is-date-object: 1.0.5 2956 | is-symbol: 1.0.4 2957 | 2958 | esbuild@0.21.5: 2959 | optionalDependencies: 2960 | '@esbuild/aix-ppc64': 0.21.5 2961 | '@esbuild/android-arm': 0.21.5 2962 | '@esbuild/android-arm64': 0.21.5 2963 | '@esbuild/android-x64': 0.21.5 2964 | '@esbuild/darwin-arm64': 0.21.5 2965 | '@esbuild/darwin-x64': 0.21.5 2966 | '@esbuild/freebsd-arm64': 0.21.5 2967 | '@esbuild/freebsd-x64': 0.21.5 2968 | '@esbuild/linux-arm': 0.21.5 2969 | '@esbuild/linux-arm64': 0.21.5 2970 | '@esbuild/linux-ia32': 0.21.5 2971 | '@esbuild/linux-loong64': 0.21.5 2972 | '@esbuild/linux-mips64el': 0.21.5 2973 | '@esbuild/linux-ppc64': 0.21.5 2974 | '@esbuild/linux-riscv64': 0.21.5 2975 | '@esbuild/linux-s390x': 0.21.5 2976 | '@esbuild/linux-x64': 0.21.5 2977 | '@esbuild/netbsd-x64': 0.21.5 2978 | '@esbuild/openbsd-x64': 0.21.5 2979 | '@esbuild/sunos-x64': 0.21.5 2980 | '@esbuild/win32-arm64': 0.21.5 2981 | '@esbuild/win32-ia32': 0.21.5 2982 | '@esbuild/win32-x64': 0.21.5 2983 | 2984 | escalade@3.2.0: {} 2985 | 2986 | escape-string-regexp@1.0.5: {} 2987 | 2988 | escape-string-regexp@4.0.0: {} 2989 | 2990 | eslint-config-next@14.2.5(eslint@8.57.1)(typescript@5.6.2): 2991 | dependencies: 2992 | '@next/eslint-plugin-next': 14.2.5 2993 | '@rushstack/eslint-patch': 1.10.4 2994 | '@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.6.2) 2995 | eslint: 8.57.1 2996 | eslint-import-resolver-node: 0.3.9 2997 | eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.57.1))(eslint@8.57.1) 2998 | eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) 2999 | eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) 3000 | eslint-plugin-react: 7.36.1(eslint@8.57.1) 3001 | eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) 3002 | optionalDependencies: 3003 | typescript: 5.6.2 3004 | transitivePeerDependencies: 3005 | - eslint-import-resolver-webpack 3006 | - eslint-plugin-import-x 3007 | - supports-color 3008 | 3009 | eslint-import-resolver-node@0.3.9: 3010 | dependencies: 3011 | debug: 3.2.7 3012 | is-core-module: 2.15.1 3013 | resolve: 1.22.8 3014 | transitivePeerDependencies: 3015 | - supports-color 3016 | 3017 | eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.57.1))(eslint@8.57.1): 3018 | dependencies: 3019 | '@nolyfill/is-core-module': 1.0.39 3020 | debug: 4.3.7 3021 | enhanced-resolve: 5.17.1 3022 | eslint: 8.57.1 3023 | eslint-module-utils: 2.11.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) 3024 | fast-glob: 3.3.2 3025 | get-tsconfig: 4.8.1 3026 | is-bun-module: 1.2.1 3027 | is-glob: 4.0.3 3028 | optionalDependencies: 3029 | eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) 3030 | transitivePeerDependencies: 3031 | - '@typescript-eslint/parser' 3032 | - eslint-import-resolver-node 3033 | - eslint-import-resolver-webpack 3034 | - supports-color 3035 | 3036 | eslint-module-utils@2.11.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1): 3037 | dependencies: 3038 | debug: 3.2.7 3039 | optionalDependencies: 3040 | '@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.6.2) 3041 | eslint: 8.57.1 3042 | eslint-import-resolver-node: 0.3.9 3043 | eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.57.1))(eslint@8.57.1) 3044 | transitivePeerDependencies: 3045 | - supports-color 3046 | 3047 | eslint-plugin-import@2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1): 3048 | dependencies: 3049 | '@rtsao/scc': 1.1.0 3050 | array-includes: 3.1.8 3051 | array.prototype.findlastindex: 1.2.5 3052 | array.prototype.flat: 1.3.2 3053 | array.prototype.flatmap: 1.3.2 3054 | debug: 3.2.7 3055 | doctrine: 2.1.0 3056 | eslint: 8.57.1 3057 | eslint-import-resolver-node: 0.3.9 3058 | eslint-module-utils: 2.11.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) 3059 | hasown: 2.0.2 3060 | is-core-module: 2.15.1 3061 | is-glob: 4.0.3 3062 | minimatch: 3.1.2 3063 | object.fromentries: 2.0.8 3064 | object.groupby: 1.0.3 3065 | object.values: 1.2.0 3066 | semver: 6.3.1 3067 | tsconfig-paths: 3.15.0 3068 | optionalDependencies: 3069 | '@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.6.2) 3070 | transitivePeerDependencies: 3071 | - eslint-import-resolver-typescript 3072 | - eslint-import-resolver-webpack 3073 | - supports-color 3074 | 3075 | eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1): 3076 | dependencies: 3077 | aria-query: 5.1.3 3078 | array-includes: 3.1.8 3079 | array.prototype.flatmap: 1.3.2 3080 | ast-types-flow: 0.0.8 3081 | axe-core: 4.10.0 3082 | axobject-query: 4.1.0 3083 | damerau-levenshtein: 1.0.8 3084 | emoji-regex: 9.2.2 3085 | es-iterator-helpers: 1.0.19 3086 | eslint: 8.57.1 3087 | hasown: 2.0.2 3088 | jsx-ast-utils: 3.3.5 3089 | language-tags: 1.0.9 3090 | minimatch: 3.1.2 3091 | object.fromentries: 2.0.8 3092 | safe-regex-test: 1.0.3 3093 | string.prototype.includes: 2.0.0 3094 | 3095 | eslint-plugin-react-hooks@4.6.2(eslint@8.57.1): 3096 | dependencies: 3097 | eslint: 8.57.1 3098 | 3099 | eslint-plugin-react@7.36.1(eslint@8.57.1): 3100 | dependencies: 3101 | array-includes: 3.1.8 3102 | array.prototype.findlast: 1.2.5 3103 | array.prototype.flatmap: 1.3.2 3104 | array.prototype.tosorted: 1.1.4 3105 | doctrine: 2.1.0 3106 | es-iterator-helpers: 1.0.19 3107 | eslint: 8.57.1 3108 | estraverse: 5.3.0 3109 | hasown: 2.0.2 3110 | jsx-ast-utils: 3.3.5 3111 | minimatch: 3.1.2 3112 | object.entries: 1.1.8 3113 | object.fromentries: 2.0.8 3114 | object.values: 1.2.0 3115 | prop-types: 15.8.1 3116 | resolve: 2.0.0-next.5 3117 | semver: 6.3.1 3118 | string.prototype.matchall: 4.0.11 3119 | string.prototype.repeat: 1.0.0 3120 | 3121 | eslint-scope@7.2.2: 3122 | dependencies: 3123 | esrecurse: 4.3.0 3124 | estraverse: 5.3.0 3125 | 3126 | eslint-visitor-keys@3.4.3: {} 3127 | 3128 | eslint@8.57.1: 3129 | dependencies: 3130 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) 3131 | '@eslint-community/regexpp': 4.11.1 3132 | '@eslint/eslintrc': 2.1.4 3133 | '@eslint/js': 8.57.1 3134 | '@humanwhocodes/config-array': 0.13.0 3135 | '@humanwhocodes/module-importer': 1.0.1 3136 | '@nodelib/fs.walk': 1.2.8 3137 | '@ungap/structured-clone': 1.2.0 3138 | ajv: 6.12.6 3139 | chalk: 4.1.2 3140 | cross-spawn: 7.0.3 3141 | debug: 4.3.7 3142 | doctrine: 3.0.0 3143 | escape-string-regexp: 4.0.0 3144 | eslint-scope: 7.2.2 3145 | eslint-visitor-keys: 3.4.3 3146 | espree: 9.6.1 3147 | esquery: 1.6.0 3148 | esutils: 2.0.3 3149 | fast-deep-equal: 3.1.3 3150 | file-entry-cache: 6.0.1 3151 | find-up: 5.0.0 3152 | glob-parent: 6.0.2 3153 | globals: 13.24.0 3154 | graphemer: 1.4.0 3155 | ignore: 5.3.2 3156 | imurmurhash: 0.1.4 3157 | is-glob: 4.0.3 3158 | is-path-inside: 3.0.3 3159 | js-yaml: 4.1.0 3160 | json-stable-stringify-without-jsonify: 1.0.1 3161 | levn: 0.4.1 3162 | lodash.merge: 4.6.2 3163 | minimatch: 3.1.2 3164 | natural-compare: 1.4.0 3165 | optionator: 0.9.4 3166 | strip-ansi: 6.0.1 3167 | text-table: 0.2.0 3168 | transitivePeerDependencies: 3169 | - supports-color 3170 | 3171 | espree@9.6.1: 3172 | dependencies: 3173 | acorn: 8.12.1 3174 | acorn-jsx: 5.3.2(acorn@8.12.1) 3175 | eslint-visitor-keys: 3.4.3 3176 | 3177 | esquery@1.6.0: 3178 | dependencies: 3179 | estraverse: 5.3.0 3180 | 3181 | esrecurse@4.3.0: 3182 | dependencies: 3183 | estraverse: 5.3.0 3184 | 3185 | estraverse@5.3.0: {} 3186 | 3187 | esutils@2.0.3: {} 3188 | 3189 | events@3.3.0: {} 3190 | 3191 | fast-deep-equal@3.1.3: {} 3192 | 3193 | fast-glob@3.3.2: 3194 | dependencies: 3195 | '@nodelib/fs.stat': 2.0.5 3196 | '@nodelib/fs.walk': 1.2.8 3197 | glob-parent: 5.1.2 3198 | merge2: 1.4.1 3199 | micromatch: 4.0.8 3200 | 3201 | fast-json-stable-stringify@2.1.0: {} 3202 | 3203 | fast-levenshtein@2.0.6: {} 3204 | 3205 | fastq@1.17.1: 3206 | dependencies: 3207 | reusify: 1.0.4 3208 | 3209 | file-entry-cache@6.0.1: 3210 | dependencies: 3211 | flat-cache: 3.2.0 3212 | 3213 | fill-range@7.1.1: 3214 | dependencies: 3215 | to-regex-range: 5.0.1 3216 | 3217 | find-up@5.0.0: 3218 | dependencies: 3219 | locate-path: 6.0.0 3220 | path-exists: 4.0.0 3221 | 3222 | flat-cache@3.2.0: 3223 | dependencies: 3224 | flatted: 3.3.1 3225 | keyv: 4.5.4 3226 | rimraf: 3.0.2 3227 | 3228 | flatted@3.3.1: {} 3229 | 3230 | for-each@0.3.3: 3231 | dependencies: 3232 | is-callable: 1.2.7 3233 | 3234 | foreground-child@3.3.0: 3235 | dependencies: 3236 | cross-spawn: 7.0.3 3237 | signal-exit: 4.1.0 3238 | 3239 | fs.realpath@1.0.0: {} 3240 | 3241 | fsevents@2.3.3: 3242 | optional: true 3243 | 3244 | function-bind@1.1.2: {} 3245 | 3246 | function.prototype.name@1.1.6: 3247 | dependencies: 3248 | call-bind: 1.0.7 3249 | define-properties: 1.2.1 3250 | es-abstract: 1.23.3 3251 | functions-have-names: 1.2.3 3252 | 3253 | functions-have-names@1.2.3: {} 3254 | 3255 | gensync@1.0.0-beta.2: {} 3256 | 3257 | get-intrinsic@1.2.4: 3258 | dependencies: 3259 | es-errors: 1.3.0 3260 | function-bind: 1.1.2 3261 | has-proto: 1.0.3 3262 | has-symbols: 1.0.3 3263 | hasown: 2.0.2 3264 | 3265 | get-symbol-description@1.0.2: 3266 | dependencies: 3267 | call-bind: 1.0.7 3268 | es-errors: 1.3.0 3269 | get-intrinsic: 1.2.4 3270 | 3271 | get-tsconfig@4.8.1: 3272 | dependencies: 3273 | resolve-pkg-maps: 1.0.0 3274 | 3275 | glob-parent@5.1.2: 3276 | dependencies: 3277 | is-glob: 4.0.3 3278 | 3279 | glob-parent@6.0.2: 3280 | dependencies: 3281 | is-glob: 4.0.3 3282 | 3283 | glob@10.3.10: 3284 | dependencies: 3285 | foreground-child: 3.3.0 3286 | jackspeak: 2.3.6 3287 | minimatch: 9.0.5 3288 | minipass: 7.1.2 3289 | path-scurry: 1.11.1 3290 | 3291 | glob@10.4.5: 3292 | dependencies: 3293 | foreground-child: 3.3.0 3294 | jackspeak: 3.4.3 3295 | minimatch: 9.0.5 3296 | minipass: 7.1.2 3297 | package-json-from-dist: 1.0.0 3298 | path-scurry: 1.11.1 3299 | 3300 | glob@7.2.3: 3301 | dependencies: 3302 | fs.realpath: 1.0.0 3303 | inflight: 1.0.6 3304 | inherits: 2.0.4 3305 | minimatch: 3.1.2 3306 | once: 1.4.0 3307 | path-is-absolute: 1.0.1 3308 | 3309 | globals@11.12.0: {} 3310 | 3311 | globals@13.24.0: 3312 | dependencies: 3313 | type-fest: 0.20.2 3314 | 3315 | globalthis@1.0.4: 3316 | dependencies: 3317 | define-properties: 1.2.1 3318 | gopd: 1.0.1 3319 | 3320 | globby@11.1.0: 3321 | dependencies: 3322 | array-union: 2.1.0 3323 | dir-glob: 3.0.1 3324 | fast-glob: 3.3.2 3325 | ignore: 5.3.2 3326 | merge2: 1.4.1 3327 | slash: 3.0.0 3328 | 3329 | globrex@0.1.2: {} 3330 | 3331 | gopd@1.0.1: 3332 | dependencies: 3333 | get-intrinsic: 1.2.4 3334 | 3335 | graceful-fs@4.2.11: {} 3336 | 3337 | graphemer@1.4.0: {} 3338 | 3339 | has-bigints@1.0.2: {} 3340 | 3341 | has-flag@3.0.0: {} 3342 | 3343 | has-flag@4.0.0: {} 3344 | 3345 | has-property-descriptors@1.0.2: 3346 | dependencies: 3347 | es-define-property: 1.0.0 3348 | 3349 | has-proto@1.0.3: {} 3350 | 3351 | has-symbols@1.0.3: {} 3352 | 3353 | has-tostringtag@1.0.2: 3354 | dependencies: 3355 | has-symbols: 1.0.3 3356 | 3357 | hasown@2.0.2: 3358 | dependencies: 3359 | function-bind: 1.1.2 3360 | 3361 | ignore@5.3.2: {} 3362 | 3363 | import-fresh@3.3.0: 3364 | dependencies: 3365 | parent-module: 1.0.1 3366 | resolve-from: 4.0.0 3367 | 3368 | imurmurhash@0.1.4: {} 3369 | 3370 | inflight@1.0.6: 3371 | dependencies: 3372 | once: 1.4.0 3373 | wrappy: 1.0.2 3374 | 3375 | inherits@2.0.4: {} 3376 | 3377 | internal-slot@1.0.7: 3378 | dependencies: 3379 | es-errors: 1.3.0 3380 | hasown: 2.0.2 3381 | side-channel: 1.0.6 3382 | 3383 | is-arguments@1.1.1: 3384 | dependencies: 3385 | call-bind: 1.0.7 3386 | has-tostringtag: 1.0.2 3387 | 3388 | is-array-buffer@3.0.4: 3389 | dependencies: 3390 | call-bind: 1.0.7 3391 | get-intrinsic: 1.2.4 3392 | 3393 | is-async-function@2.0.0: 3394 | dependencies: 3395 | has-tostringtag: 1.0.2 3396 | 3397 | is-bigint@1.0.4: 3398 | dependencies: 3399 | has-bigints: 1.0.2 3400 | 3401 | is-binary-path@2.1.0: 3402 | dependencies: 3403 | binary-extensions: 2.3.0 3404 | 3405 | is-boolean-object@1.1.2: 3406 | dependencies: 3407 | call-bind: 1.0.7 3408 | has-tostringtag: 1.0.2 3409 | 3410 | is-bun-module@1.2.1: 3411 | dependencies: 3412 | semver: 7.6.3 3413 | 3414 | is-callable@1.2.7: {} 3415 | 3416 | is-core-module@2.15.1: 3417 | dependencies: 3418 | hasown: 2.0.2 3419 | 3420 | is-data-view@1.0.1: 3421 | dependencies: 3422 | is-typed-array: 1.1.13 3423 | 3424 | is-date-object@1.0.5: 3425 | dependencies: 3426 | has-tostringtag: 1.0.2 3427 | 3428 | is-extglob@2.1.1: {} 3429 | 3430 | is-finalizationregistry@1.0.2: 3431 | dependencies: 3432 | call-bind: 1.0.7 3433 | 3434 | is-fullwidth-code-point@3.0.0: {} 3435 | 3436 | is-generator-function@1.0.10: 3437 | dependencies: 3438 | has-tostringtag: 1.0.2 3439 | 3440 | is-glob@4.0.3: 3441 | dependencies: 3442 | is-extglob: 2.1.1 3443 | 3444 | is-map@2.0.3: {} 3445 | 3446 | is-negative-zero@2.0.3: {} 3447 | 3448 | is-number-object@1.0.7: 3449 | dependencies: 3450 | has-tostringtag: 1.0.2 3451 | 3452 | is-number@7.0.0: {} 3453 | 3454 | is-path-inside@3.0.3: {} 3455 | 3456 | is-regex@1.1.4: 3457 | dependencies: 3458 | call-bind: 1.0.7 3459 | has-tostringtag: 1.0.2 3460 | 3461 | is-set@2.0.3: {} 3462 | 3463 | is-shared-array-buffer@1.0.3: 3464 | dependencies: 3465 | call-bind: 1.0.7 3466 | 3467 | is-string@1.0.7: 3468 | dependencies: 3469 | has-tostringtag: 1.0.2 3470 | 3471 | is-symbol@1.0.4: 3472 | dependencies: 3473 | has-symbols: 1.0.3 3474 | 3475 | is-typed-array@1.1.13: 3476 | dependencies: 3477 | which-typed-array: 1.1.15 3478 | 3479 | is-weakmap@2.0.2: {} 3480 | 3481 | is-weakref@1.0.2: 3482 | dependencies: 3483 | call-bind: 1.0.7 3484 | 3485 | is-weakset@2.0.3: 3486 | dependencies: 3487 | call-bind: 1.0.7 3488 | get-intrinsic: 1.2.4 3489 | 3490 | isarray@2.0.5: {} 3491 | 3492 | isexe@2.0.0: {} 3493 | 3494 | iterator.prototype@1.1.2: 3495 | dependencies: 3496 | define-properties: 1.2.1 3497 | get-intrinsic: 1.2.4 3498 | has-symbols: 1.0.3 3499 | reflect.getprototypeof: 1.0.6 3500 | set-function-name: 2.0.2 3501 | 3502 | jackspeak@2.3.6: 3503 | dependencies: 3504 | '@isaacs/cliui': 8.0.2 3505 | optionalDependencies: 3506 | '@pkgjs/parseargs': 0.11.0 3507 | 3508 | jackspeak@3.4.3: 3509 | dependencies: 3510 | '@isaacs/cliui': 8.0.2 3511 | optionalDependencies: 3512 | '@pkgjs/parseargs': 0.11.0 3513 | 3514 | jiti@1.21.6: {} 3515 | 3516 | js-tokens@4.0.0: {} 3517 | 3518 | js-yaml@4.1.0: 3519 | dependencies: 3520 | argparse: 2.0.1 3521 | 3522 | jsesc@2.5.2: {} 3523 | 3524 | json-buffer@3.0.1: {} 3525 | 3526 | json-schema-traverse@0.4.1: {} 3527 | 3528 | json-stable-stringify-without-jsonify@1.0.1: {} 3529 | 3530 | json5@1.0.2: 3531 | dependencies: 3532 | minimist: 1.2.8 3533 | 3534 | json5@2.2.3: {} 3535 | 3536 | jsx-ast-utils@3.3.5: 3537 | dependencies: 3538 | array-includes: 3.1.8 3539 | array.prototype.flat: 1.3.2 3540 | object.assign: 4.1.5 3541 | object.values: 1.2.0 3542 | 3543 | keyv@4.5.4: 3544 | dependencies: 3545 | json-buffer: 3.0.1 3546 | 3547 | language-subtag-registry@0.3.23: {} 3548 | 3549 | language-tags@1.0.9: 3550 | dependencies: 3551 | language-subtag-registry: 0.3.23 3552 | 3553 | levn@0.4.1: 3554 | dependencies: 3555 | prelude-ls: 1.2.1 3556 | type-check: 0.4.0 3557 | 3558 | lilconfig@2.1.0: {} 3559 | 3560 | lilconfig@3.1.2: {} 3561 | 3562 | lines-and-columns@1.2.4: {} 3563 | 3564 | livekit-client@2.5.2: 3565 | dependencies: 3566 | '@livekit/protocol': 1.20.1 3567 | events: 3.3.0 3568 | loglevel: 1.9.2 3569 | sdp-transform: 2.14.2 3570 | ts-debounce: 4.0.0 3571 | tslib: 2.7.0 3572 | typed-emitter: 2.1.0 3573 | webrtc-adapter: 9.0.1 3574 | 3575 | locate-path@6.0.0: 3576 | dependencies: 3577 | p-locate: 5.0.0 3578 | 3579 | lodash.merge@4.6.2: {} 3580 | 3581 | loglevel@1.9.2: {} 3582 | 3583 | loose-envify@1.4.0: 3584 | dependencies: 3585 | js-tokens: 4.0.0 3586 | 3587 | lru-cache@10.4.3: {} 3588 | 3589 | lru-cache@5.1.1: 3590 | dependencies: 3591 | yallist: 3.1.1 3592 | 3593 | lucide-react@0.441.0(react@18.3.1): 3594 | dependencies: 3595 | react: 18.3.1 3596 | 3597 | merge2@1.4.1: {} 3598 | 3599 | micromatch@4.0.8: 3600 | dependencies: 3601 | braces: 3.0.3 3602 | picomatch: 2.3.1 3603 | 3604 | minimatch@3.1.2: 3605 | dependencies: 3606 | brace-expansion: 1.1.11 3607 | 3608 | minimatch@9.0.3: 3609 | dependencies: 3610 | brace-expansion: 2.0.1 3611 | 3612 | minimatch@9.0.5: 3613 | dependencies: 3614 | brace-expansion: 2.0.1 3615 | 3616 | minimist@1.2.8: {} 3617 | 3618 | minipass@7.1.2: {} 3619 | 3620 | ms@2.1.3: {} 3621 | 3622 | mz@2.7.0: 3623 | dependencies: 3624 | any-promise: 1.3.0 3625 | object-assign: 4.1.1 3626 | thenify-all: 1.6.0 3627 | 3628 | nanoid@3.3.7: {} 3629 | 3630 | natural-compare@1.4.0: {} 3631 | 3632 | next@14.2.13(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): 3633 | dependencies: 3634 | '@next/env': 14.2.13 3635 | '@swc/helpers': 0.5.5 3636 | busboy: 1.6.0 3637 | caniuse-lite: 1.0.30001662 3638 | graceful-fs: 4.2.11 3639 | postcss: 8.4.31 3640 | react: 18.3.1 3641 | react-dom: 18.3.1(react@18.3.1) 3642 | styled-jsx: 5.1.1(@babel/core@7.25.2)(react@18.3.1) 3643 | optionalDependencies: 3644 | '@next/swc-darwin-arm64': 14.2.13 3645 | '@next/swc-darwin-x64': 14.2.13 3646 | '@next/swc-linux-arm64-gnu': 14.2.13 3647 | '@next/swc-linux-arm64-musl': 14.2.13 3648 | '@next/swc-linux-x64-gnu': 14.2.13 3649 | '@next/swc-linux-x64-musl': 14.2.13 3650 | '@next/swc-win32-arm64-msvc': 14.2.13 3651 | '@next/swc-win32-ia32-msvc': 14.2.13 3652 | '@next/swc-win32-x64-msvc': 14.2.13 3653 | transitivePeerDependencies: 3654 | - '@babel/core' 3655 | - babel-plugin-macros 3656 | 3657 | node-releases@2.0.18: {} 3658 | 3659 | normalize-path@3.0.0: {} 3660 | 3661 | object-assign@4.1.1: {} 3662 | 3663 | object-hash@3.0.0: {} 3664 | 3665 | object-inspect@1.13.2: {} 3666 | 3667 | object-is@1.1.6: 3668 | dependencies: 3669 | call-bind: 1.0.7 3670 | define-properties: 1.2.1 3671 | 3672 | object-keys@1.1.1: {} 3673 | 3674 | object.assign@4.1.5: 3675 | dependencies: 3676 | call-bind: 1.0.7 3677 | define-properties: 1.2.1 3678 | has-symbols: 1.0.3 3679 | object-keys: 1.1.1 3680 | 3681 | object.entries@1.1.8: 3682 | dependencies: 3683 | call-bind: 1.0.7 3684 | define-properties: 1.2.1 3685 | es-object-atoms: 1.0.0 3686 | 3687 | object.fromentries@2.0.8: 3688 | dependencies: 3689 | call-bind: 1.0.7 3690 | define-properties: 1.2.1 3691 | es-abstract: 1.23.3 3692 | es-object-atoms: 1.0.0 3693 | 3694 | object.groupby@1.0.3: 3695 | dependencies: 3696 | call-bind: 1.0.7 3697 | define-properties: 1.2.1 3698 | es-abstract: 1.23.3 3699 | 3700 | object.values@1.2.0: 3701 | dependencies: 3702 | call-bind: 1.0.7 3703 | define-properties: 1.2.1 3704 | es-object-atoms: 1.0.0 3705 | 3706 | once@1.4.0: 3707 | dependencies: 3708 | wrappy: 1.0.2 3709 | 3710 | optionator@0.9.4: 3711 | dependencies: 3712 | deep-is: 0.1.4 3713 | fast-levenshtein: 2.0.6 3714 | levn: 0.4.1 3715 | prelude-ls: 1.2.1 3716 | type-check: 0.4.0 3717 | word-wrap: 1.2.5 3718 | 3719 | p-limit@3.1.0: 3720 | dependencies: 3721 | yocto-queue: 0.1.0 3722 | 3723 | p-locate@5.0.0: 3724 | dependencies: 3725 | p-limit: 3.1.0 3726 | 3727 | package-json-from-dist@1.0.0: {} 3728 | 3729 | parent-module@1.0.1: 3730 | dependencies: 3731 | callsites: 3.1.0 3732 | 3733 | path-exists@4.0.0: {} 3734 | 3735 | path-is-absolute@1.0.1: {} 3736 | 3737 | path-key@3.1.1: {} 3738 | 3739 | path-parse@1.0.7: {} 3740 | 3741 | path-scurry@1.11.1: 3742 | dependencies: 3743 | lru-cache: 10.4.3 3744 | minipass: 7.1.2 3745 | 3746 | path-type@4.0.0: {} 3747 | 3748 | picocolors@1.1.0: {} 3749 | 3750 | picomatch@2.3.1: {} 3751 | 3752 | pify@2.3.0: {} 3753 | 3754 | pirates@4.0.6: {} 3755 | 3756 | possible-typed-array-names@1.0.0: {} 3757 | 3758 | postcss-import@15.1.0(postcss@8.4.47): 3759 | dependencies: 3760 | postcss: 8.4.47 3761 | postcss-value-parser: 4.2.0 3762 | read-cache: 1.0.0 3763 | resolve: 1.22.8 3764 | 3765 | postcss-js@4.0.1(postcss@8.4.47): 3766 | dependencies: 3767 | camelcase-css: 2.0.1 3768 | postcss: 8.4.47 3769 | 3770 | postcss-load-config@4.0.2(postcss@8.4.47): 3771 | dependencies: 3772 | lilconfig: 3.1.2 3773 | yaml: 2.5.1 3774 | optionalDependencies: 3775 | postcss: 8.4.47 3776 | 3777 | postcss-nested@6.2.0(postcss@8.4.47): 3778 | dependencies: 3779 | postcss: 8.4.47 3780 | postcss-selector-parser: 6.1.2 3781 | 3782 | postcss-selector-parser@6.1.2: 3783 | dependencies: 3784 | cssesc: 3.0.0 3785 | util-deprecate: 1.0.2 3786 | 3787 | postcss-value-parser@4.2.0: {} 3788 | 3789 | postcss@8.4.31: 3790 | dependencies: 3791 | nanoid: 3.3.7 3792 | picocolors: 1.1.0 3793 | source-map-js: 1.2.1 3794 | 3795 | postcss@8.4.47: 3796 | dependencies: 3797 | nanoid: 3.3.7 3798 | picocolors: 1.1.0 3799 | source-map-js: 1.2.1 3800 | 3801 | prelude-ls@1.2.1: {} 3802 | 3803 | prop-types@15.8.1: 3804 | dependencies: 3805 | loose-envify: 1.4.0 3806 | object-assign: 4.1.1 3807 | react-is: 16.13.1 3808 | 3809 | punycode@2.3.1: {} 3810 | 3811 | queue-microtask@1.2.3: {} 3812 | 3813 | react-dom@18.3.1(react@18.3.1): 3814 | dependencies: 3815 | loose-envify: 1.4.0 3816 | react: 18.3.1 3817 | scheduler: 0.23.2 3818 | 3819 | react-is@16.13.1: {} 3820 | 3821 | react-refresh@0.14.2: {} 3822 | 3823 | react@18.3.1: 3824 | dependencies: 3825 | loose-envify: 1.4.0 3826 | 3827 | read-cache@1.0.0: 3828 | dependencies: 3829 | pify: 2.3.0 3830 | 3831 | readdirp@3.6.0: 3832 | dependencies: 3833 | picomatch: 2.3.1 3834 | 3835 | reflect.getprototypeof@1.0.6: 3836 | dependencies: 3837 | call-bind: 1.0.7 3838 | define-properties: 1.2.1 3839 | es-abstract: 1.23.3 3840 | es-errors: 1.3.0 3841 | get-intrinsic: 1.2.4 3842 | globalthis: 1.0.4 3843 | which-builtin-type: 1.1.4 3844 | 3845 | regexp.prototype.flags@1.5.2: 3846 | dependencies: 3847 | call-bind: 1.0.7 3848 | define-properties: 1.2.1 3849 | es-errors: 1.3.0 3850 | set-function-name: 2.0.2 3851 | 3852 | resolve-from@4.0.0: {} 3853 | 3854 | resolve-pkg-maps@1.0.0: {} 3855 | 3856 | resolve@1.22.8: 3857 | dependencies: 3858 | is-core-module: 2.15.1 3859 | path-parse: 1.0.7 3860 | supports-preserve-symlinks-flag: 1.0.0 3861 | 3862 | resolve@2.0.0-next.5: 3863 | dependencies: 3864 | is-core-module: 2.15.1 3865 | path-parse: 1.0.7 3866 | supports-preserve-symlinks-flag: 1.0.0 3867 | 3868 | reusify@1.0.4: {} 3869 | 3870 | rimraf@3.0.2: 3871 | dependencies: 3872 | glob: 7.2.3 3873 | 3874 | rollup@4.22.2: 3875 | dependencies: 3876 | '@types/estree': 1.0.5 3877 | optionalDependencies: 3878 | '@rollup/rollup-android-arm-eabi': 4.22.2 3879 | '@rollup/rollup-android-arm64': 4.22.2 3880 | '@rollup/rollup-darwin-arm64': 4.22.2 3881 | '@rollup/rollup-darwin-x64': 4.22.2 3882 | '@rollup/rollup-linux-arm-gnueabihf': 4.22.2 3883 | '@rollup/rollup-linux-arm-musleabihf': 4.22.2 3884 | '@rollup/rollup-linux-arm64-gnu': 4.22.2 3885 | '@rollup/rollup-linux-arm64-musl': 4.22.2 3886 | '@rollup/rollup-linux-powerpc64le-gnu': 4.22.2 3887 | '@rollup/rollup-linux-riscv64-gnu': 4.22.2 3888 | '@rollup/rollup-linux-s390x-gnu': 4.22.2 3889 | '@rollup/rollup-linux-x64-gnu': 4.22.2 3890 | '@rollup/rollup-linux-x64-musl': 4.22.2 3891 | '@rollup/rollup-win32-arm64-msvc': 4.22.2 3892 | '@rollup/rollup-win32-ia32-msvc': 4.22.2 3893 | '@rollup/rollup-win32-x64-msvc': 4.22.2 3894 | fsevents: 2.3.3 3895 | 3896 | run-parallel@1.2.0: 3897 | dependencies: 3898 | queue-microtask: 1.2.3 3899 | 3900 | rxjs@7.8.1: 3901 | dependencies: 3902 | tslib: 2.7.0 3903 | optional: true 3904 | 3905 | safe-array-concat@1.1.2: 3906 | dependencies: 3907 | call-bind: 1.0.7 3908 | get-intrinsic: 1.2.4 3909 | has-symbols: 1.0.3 3910 | isarray: 2.0.5 3911 | 3912 | safe-regex-test@1.0.3: 3913 | dependencies: 3914 | call-bind: 1.0.7 3915 | es-errors: 1.3.0 3916 | is-regex: 1.1.4 3917 | 3918 | scheduler@0.23.2: 3919 | dependencies: 3920 | loose-envify: 1.4.0 3921 | 3922 | sdp-transform@2.14.2: {} 3923 | 3924 | sdp@3.2.0: {} 3925 | 3926 | semver@6.3.1: {} 3927 | 3928 | semver@7.6.3: {} 3929 | 3930 | set-function-length@1.2.2: 3931 | dependencies: 3932 | define-data-property: 1.1.4 3933 | es-errors: 1.3.0 3934 | function-bind: 1.1.2 3935 | get-intrinsic: 1.2.4 3936 | gopd: 1.0.1 3937 | has-property-descriptors: 1.0.2 3938 | 3939 | set-function-name@2.0.2: 3940 | dependencies: 3941 | define-data-property: 1.1.4 3942 | es-errors: 1.3.0 3943 | functions-have-names: 1.2.3 3944 | has-property-descriptors: 1.0.2 3945 | 3946 | shebang-command@2.0.0: 3947 | dependencies: 3948 | shebang-regex: 3.0.0 3949 | 3950 | shebang-regex@3.0.0: {} 3951 | 3952 | side-channel@1.0.6: 3953 | dependencies: 3954 | call-bind: 1.0.7 3955 | es-errors: 1.3.0 3956 | get-intrinsic: 1.2.4 3957 | object-inspect: 1.13.2 3958 | 3959 | signal-exit@4.1.0: {} 3960 | 3961 | slash@3.0.0: {} 3962 | 3963 | source-map-js@1.2.1: {} 3964 | 3965 | stop-iteration-iterator@1.0.0: 3966 | dependencies: 3967 | internal-slot: 1.0.7 3968 | 3969 | streamsearch@1.1.0: {} 3970 | 3971 | string-width@4.2.3: 3972 | dependencies: 3973 | emoji-regex: 8.0.0 3974 | is-fullwidth-code-point: 3.0.0 3975 | strip-ansi: 6.0.1 3976 | 3977 | string-width@5.1.2: 3978 | dependencies: 3979 | eastasianwidth: 0.2.0 3980 | emoji-regex: 9.2.2 3981 | strip-ansi: 7.1.0 3982 | 3983 | string.prototype.includes@2.0.0: 3984 | dependencies: 3985 | define-properties: 1.2.1 3986 | es-abstract: 1.23.3 3987 | 3988 | string.prototype.matchall@4.0.11: 3989 | dependencies: 3990 | call-bind: 1.0.7 3991 | define-properties: 1.2.1 3992 | es-abstract: 1.23.3 3993 | es-errors: 1.3.0 3994 | es-object-atoms: 1.0.0 3995 | get-intrinsic: 1.2.4 3996 | gopd: 1.0.1 3997 | has-symbols: 1.0.3 3998 | internal-slot: 1.0.7 3999 | regexp.prototype.flags: 1.5.2 4000 | set-function-name: 2.0.2 4001 | side-channel: 1.0.6 4002 | 4003 | string.prototype.repeat@1.0.0: 4004 | dependencies: 4005 | define-properties: 1.2.1 4006 | es-abstract: 1.23.3 4007 | 4008 | string.prototype.trim@1.2.9: 4009 | dependencies: 4010 | call-bind: 1.0.7 4011 | define-properties: 1.2.1 4012 | es-abstract: 1.23.3 4013 | es-object-atoms: 1.0.0 4014 | 4015 | string.prototype.trimend@1.0.8: 4016 | dependencies: 4017 | call-bind: 1.0.7 4018 | define-properties: 1.2.1 4019 | es-object-atoms: 1.0.0 4020 | 4021 | string.prototype.trimstart@1.0.8: 4022 | dependencies: 4023 | call-bind: 1.0.7 4024 | define-properties: 1.2.1 4025 | es-object-atoms: 1.0.0 4026 | 4027 | strip-ansi@6.0.1: 4028 | dependencies: 4029 | ansi-regex: 5.0.1 4030 | 4031 | strip-ansi@7.1.0: 4032 | dependencies: 4033 | ansi-regex: 6.1.0 4034 | 4035 | strip-bom@3.0.0: {} 4036 | 4037 | strip-json-comments@3.1.1: {} 4038 | 4039 | styled-jsx@5.1.1(@babel/core@7.25.2)(react@18.3.1): 4040 | dependencies: 4041 | client-only: 0.0.1 4042 | react: 18.3.1 4043 | optionalDependencies: 4044 | '@babel/core': 7.25.2 4045 | 4046 | sucrase@3.35.0: 4047 | dependencies: 4048 | '@jridgewell/gen-mapping': 0.3.5 4049 | commander: 4.1.1 4050 | glob: 10.4.5 4051 | lines-and-columns: 1.2.4 4052 | mz: 2.7.0 4053 | pirates: 4.0.6 4054 | ts-interface-checker: 0.1.13 4055 | 4056 | supports-color@5.5.0: 4057 | dependencies: 4058 | has-flag: 3.0.0 4059 | 4060 | supports-color@7.2.0: 4061 | dependencies: 4062 | has-flag: 4.0.0 4063 | 4064 | supports-preserve-symlinks-flag@1.0.0: {} 4065 | 4066 | tailwindcss@3.4.12: 4067 | dependencies: 4068 | '@alloc/quick-lru': 5.2.0 4069 | arg: 5.0.2 4070 | chokidar: 3.6.0 4071 | didyoumean: 1.2.2 4072 | dlv: 1.1.3 4073 | fast-glob: 3.3.2 4074 | glob-parent: 6.0.2 4075 | is-glob: 4.0.3 4076 | jiti: 1.21.6 4077 | lilconfig: 2.1.0 4078 | micromatch: 4.0.8 4079 | normalize-path: 3.0.0 4080 | object-hash: 3.0.0 4081 | picocolors: 1.1.0 4082 | postcss: 8.4.47 4083 | postcss-import: 15.1.0(postcss@8.4.47) 4084 | postcss-js: 4.0.1(postcss@8.4.47) 4085 | postcss-load-config: 4.0.2(postcss@8.4.47) 4086 | postcss-nested: 6.2.0(postcss@8.4.47) 4087 | postcss-selector-parser: 6.1.2 4088 | resolve: 1.22.8 4089 | sucrase: 3.35.0 4090 | transitivePeerDependencies: 4091 | - ts-node 4092 | 4093 | tapable@2.2.1: {} 4094 | 4095 | text-table@0.2.0: {} 4096 | 4097 | thenify-all@1.6.0: 4098 | dependencies: 4099 | thenify: 3.3.1 4100 | 4101 | thenify@3.3.1: 4102 | dependencies: 4103 | any-promise: 1.3.0 4104 | 4105 | to-fast-properties@2.0.0: {} 4106 | 4107 | to-regex-range@5.0.1: 4108 | dependencies: 4109 | is-number: 7.0.0 4110 | 4111 | ts-api-utils@1.3.0(typescript@5.6.2): 4112 | dependencies: 4113 | typescript: 5.6.2 4114 | 4115 | ts-debounce@4.0.0: {} 4116 | 4117 | ts-interface-checker@0.1.13: {} 4118 | 4119 | tsconfck@3.1.3(typescript@5.6.2): 4120 | optionalDependencies: 4121 | typescript: 5.6.2 4122 | 4123 | tsconfig-paths@3.15.0: 4124 | dependencies: 4125 | '@types/json5': 0.0.29 4126 | json5: 1.0.2 4127 | minimist: 1.2.8 4128 | strip-bom: 3.0.0 4129 | 4130 | tslib@2.7.0: {} 4131 | 4132 | type-check@0.4.0: 4133 | dependencies: 4134 | prelude-ls: 1.2.1 4135 | 4136 | type-fest@0.20.2: {} 4137 | 4138 | typed-array-buffer@1.0.2: 4139 | dependencies: 4140 | call-bind: 1.0.7 4141 | es-errors: 1.3.0 4142 | is-typed-array: 1.1.13 4143 | 4144 | typed-array-byte-length@1.0.1: 4145 | dependencies: 4146 | call-bind: 1.0.7 4147 | for-each: 0.3.3 4148 | gopd: 1.0.1 4149 | has-proto: 1.0.3 4150 | is-typed-array: 1.1.13 4151 | 4152 | typed-array-byte-offset@1.0.2: 4153 | dependencies: 4154 | available-typed-arrays: 1.0.7 4155 | call-bind: 1.0.7 4156 | for-each: 0.3.3 4157 | gopd: 1.0.1 4158 | has-proto: 1.0.3 4159 | is-typed-array: 1.1.13 4160 | 4161 | typed-array-length@1.0.6: 4162 | dependencies: 4163 | call-bind: 1.0.7 4164 | for-each: 0.3.3 4165 | gopd: 1.0.1 4166 | has-proto: 1.0.3 4167 | is-typed-array: 1.1.13 4168 | possible-typed-array-names: 1.0.0 4169 | 4170 | typed-emitter@2.1.0: 4171 | optionalDependencies: 4172 | rxjs: 7.8.1 4173 | 4174 | typescript@5.6.2: {} 4175 | 4176 | ultravox-client@0.3.2: 4177 | dependencies: 4178 | livekit-client: 2.5.2 4179 | 4180 | unbox-primitive@1.0.2: 4181 | dependencies: 4182 | call-bind: 1.0.7 4183 | has-bigints: 1.0.2 4184 | has-symbols: 1.0.3 4185 | which-boxed-primitive: 1.0.2 4186 | 4187 | undici-types@6.19.8: {} 4188 | 4189 | update-browserslist-db@1.1.0(browserslist@4.23.3): 4190 | dependencies: 4191 | browserslist: 4.23.3 4192 | escalade: 3.2.0 4193 | picocolors: 1.1.0 4194 | 4195 | uri-js@4.4.1: 4196 | dependencies: 4197 | punycode: 2.3.1 4198 | 4199 | util-deprecate@1.0.2: {} 4200 | 4201 | vite-tsconfig-paths@4.3.2(typescript@5.6.2)(vite@5.4.7(@types/node@20.16.5)): 4202 | dependencies: 4203 | debug: 4.3.7 4204 | globrex: 0.1.2 4205 | tsconfck: 3.1.3(typescript@5.6.2) 4206 | optionalDependencies: 4207 | vite: 5.4.7(@types/node@20.16.5) 4208 | transitivePeerDependencies: 4209 | - supports-color 4210 | - typescript 4211 | 4212 | vite@5.4.7(@types/node@20.16.5): 4213 | dependencies: 4214 | esbuild: 0.21.5 4215 | postcss: 8.4.47 4216 | rollup: 4.22.2 4217 | optionalDependencies: 4218 | '@types/node': 20.16.5 4219 | fsevents: 2.3.3 4220 | 4221 | webrtc-adapter@9.0.1: 4222 | dependencies: 4223 | sdp: 3.2.0 4224 | 4225 | which-boxed-primitive@1.0.2: 4226 | dependencies: 4227 | is-bigint: 1.0.4 4228 | is-boolean-object: 1.1.2 4229 | is-number-object: 1.0.7 4230 | is-string: 1.0.7 4231 | is-symbol: 1.0.4 4232 | 4233 | which-builtin-type@1.1.4: 4234 | dependencies: 4235 | function.prototype.name: 1.1.6 4236 | has-tostringtag: 1.0.2 4237 | is-async-function: 2.0.0 4238 | is-date-object: 1.0.5 4239 | is-finalizationregistry: 1.0.2 4240 | is-generator-function: 1.0.10 4241 | is-regex: 1.1.4 4242 | is-weakref: 1.0.2 4243 | isarray: 2.0.5 4244 | which-boxed-primitive: 1.0.2 4245 | which-collection: 1.0.2 4246 | which-typed-array: 1.1.15 4247 | 4248 | which-collection@1.0.2: 4249 | dependencies: 4250 | is-map: 2.0.3 4251 | is-set: 2.0.3 4252 | is-weakmap: 2.0.2 4253 | is-weakset: 2.0.3 4254 | 4255 | which-typed-array@1.1.15: 4256 | dependencies: 4257 | available-typed-arrays: 1.0.7 4258 | call-bind: 1.0.7 4259 | for-each: 0.3.3 4260 | gopd: 1.0.1 4261 | has-tostringtag: 1.0.2 4262 | 4263 | which@2.0.2: 4264 | dependencies: 4265 | isexe: 2.0.0 4266 | 4267 | word-wrap@1.2.5: {} 4268 | 4269 | wrap-ansi@7.0.0: 4270 | dependencies: 4271 | ansi-styles: 4.3.0 4272 | string-width: 4.2.3 4273 | strip-ansi: 6.0.1 4274 | 4275 | wrap-ansi@8.1.0: 4276 | dependencies: 4277 | ansi-styles: 6.2.1 4278 | string-width: 5.1.2 4279 | strip-ansi: 7.1.0 4280 | 4281 | wrappy@1.0.2: {} 4282 | 4283 | yallist@3.1.1: {} 4284 | 4285 | yaml@2.5.1: {} 4286 | 4287 | yocto-queue@0.1.0: {} 4288 | --------------------------------------------------------------------------------