├── .gitignore ├── LICENSE ├── README.md ├── app ├── api │ ├── chat │ │ └── route.ts │ └── models │ │ └── route.ts ├── favicon.ico ├── globals.css ├── layout.tsx └── page.tsx ├── components.json ├── components ├── chat.tsx ├── model-selector.tsx └── ui │ ├── alert.tsx │ ├── button.tsx │ ├── card.tsx │ ├── input.tsx │ └── select.tsx ├── eslint.config.mjs ├── lib ├── constants.ts ├── display-model.ts ├── gateway.ts ├── hooks │ └── use-available-models.ts └── utils.ts ├── next.config.ts ├── package.json ├── pnpm-lock.yaml ├── postcss.config.mjs ├── public ├── file.svg ├── globe.svg ├── next.svg ├── vercel.svg └── window.svg └── tsconfig.json /.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.* 7 | .yarn/* 8 | !.yarn/patches 9 | !.yarn/plugins 10 | !.yarn/releases 11 | !.yarn/versions 12 | 13 | # testing 14 | /coverage 15 | 16 | # next.js 17 | /.next/ 18 | /out/ 19 | 20 | # production 21 | /build 22 | 23 | # misc 24 | .DS_Store 25 | *.pem 26 | 27 | # debug 28 | npm-debug.log* 29 | yarn-debug.log* 30 | yarn-error.log* 31 | .pnpm-debug.log* 32 | 33 | # env files (can opt-in for committing if needed) 34 | .env* 35 | 36 | # vercel 37 | .vercel 38 | 39 | # typescript 40 | *.tsbuildinfo 41 | next-env.d.ts 42 | .env*.local 43 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2025 Vercel, Inc. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | A simple [Next.js](https://nextjs.org) chatbot app to demonstrate the use of the Vercel AI Gateway with the [AI SDK](https://sdk.vercel.ai). 2 | 3 | ## Getting Started 4 | 5 | ### One-time setup 6 | 7 | [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fvercel-labs%2Fai-sdk-gateway-demo) 8 | 9 | 1. Clone this repository with the Deploy button above 10 | 1. Install the [Vercel CLI](https://vercel.com/docs/cli) if you don't already have it 11 | 1. Clone the repository you created above: `git clone ` 12 | 1. Link it to a Vercel project: `vc link` or `vc deploy` 13 | 14 | ### Usage 15 | 1. Install packages with `pnpm i` (or `npm i` or `yarn i`) and run the development server with `vc dev` 16 | 1. Open http://localhost:3000 to try the chatbot 17 | 18 | ### FAQ 19 | 20 | 1. If you prefer running your local development server directly rather than using `vc dev`, you'll need to run `vc env pull` to fetch the project's OIDC authentication token locally 21 | 1. the token expires every 12h, so you'll need to re-run this command periodically. 22 | 1. if you use `vc dev` it will auto-refresh the token for you, so you don't need to fetch it manually 23 | 1. If you're linking to an existing, older project, you may need to enable the OIDC token feature in your project settings. 24 | 1. visit the project settings page (rightmost tab in your project's dashboard) 25 | 1. search for 'OIDC' in settings 26 | 1. toggle the button under "Secure Backend Access with OIDC Federation" to Enabled and click the "Save" button 27 | 28 | ## Authors 29 | 30 | This repository is maintained by the [Vercel](https://vercel.com) team and community contributors. 31 | 32 | Contributions are welcome! Feel free to open issues or submit pull requests to enhance functionality or fix bugs. 33 | -------------------------------------------------------------------------------- /app/api/chat/route.ts: -------------------------------------------------------------------------------- 1 | import { convertToModelMessages, streamText, type UIMessage } from "ai"; 2 | import { DEFAULT_MODEL, SUPPORTED_MODELS } from "@/lib/constants"; 3 | import { gateway } from "@/lib/gateway"; 4 | 5 | export const maxDuration = 60; 6 | 7 | export async function POST(req: Request) { 8 | const { 9 | messages, 10 | modelId = DEFAULT_MODEL, 11 | }: { messages: UIMessage[]; modelId: string } = await req.json(); 12 | 13 | if (!SUPPORTED_MODELS.includes(modelId)) { 14 | return new Response( 15 | JSON.stringify({ error: `Model ${modelId} is not supported` }), 16 | { status: 400, headers: { "Content-Type": "application/json" } } 17 | ); 18 | } 19 | 20 | const result = streamText({ 21 | model: gateway(modelId), 22 | system: "You are a software engineer exploring Generative AI.", 23 | messages: convertToModelMessages(messages), 24 | onError: (e) => { 25 | console.error("Error while streaming.", e); 26 | }, 27 | }); 28 | 29 | return result.toUIMessageStreamResponse(); 30 | } 31 | -------------------------------------------------------------------------------- /app/api/models/route.ts: -------------------------------------------------------------------------------- 1 | import { gateway } from "@/lib/gateway"; 2 | import { NextResponse } from "next/server"; 3 | import { SUPPORTED_MODELS } from "@/lib/constants"; 4 | 5 | export async function GET() { 6 | const allModels = await gateway.getAvailableModels(); 7 | return NextResponse.json({ 8 | models: allModels.models.filter((model) => 9 | SUPPORTED_MODELS.includes(model.id) 10 | ), 11 | }); 12 | } 13 | -------------------------------------------------------------------------------- /app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vercel-labs/ai-sdk-gateway-demo/5c2d50e40c57d859c56b4a98d4e82cbe79fc682b/app/favicon.ico -------------------------------------------------------------------------------- /app/globals.css: -------------------------------------------------------------------------------- 1 | @import "tailwindcss"; 2 | @import "tw-animate-css"; 3 | 4 | @custom-variant dark (&:is(.dark *)); 5 | 6 | @theme inline { 7 | --color-background: var(--background); 8 | --color-foreground: var(--foreground); 9 | --font-sans: var(--font-geist-sans); 10 | --font-mono: var(--font-geist-mono); 11 | --color-sidebar-ring: var(--sidebar-ring); 12 | --color-sidebar-border: var(--sidebar-border); 13 | --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); 14 | --color-sidebar-accent: var(--sidebar-accent); 15 | --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); 16 | --color-sidebar-primary: var(--sidebar-primary); 17 | --color-sidebar-foreground: var(--sidebar-foreground); 18 | --color-sidebar: var(--sidebar); 19 | --color-chart-5: var(--chart-5); 20 | --color-chart-4: var(--chart-4); 21 | --color-chart-3: var(--chart-3); 22 | --color-chart-2: var(--chart-2); 23 | --color-chart-1: var(--chart-1); 24 | --color-ring: var(--ring); 25 | --color-input: var(--input); 26 | --color-border: var(--border); 27 | --color-destructive: var(--destructive); 28 | --color-accent-foreground: var(--accent-foreground); 29 | --color-accent: var(--accent); 30 | --color-muted-foreground: var(--muted-foreground); 31 | --color-muted: var(--muted); 32 | --color-secondary-foreground: var(--secondary-foreground); 33 | --color-secondary: var(--secondary); 34 | --color-primary-foreground: var(--primary-foreground); 35 | --color-primary: var(--primary); 36 | --color-popover-foreground: var(--popover-foreground); 37 | --color-popover: var(--popover); 38 | --color-card-foreground: var(--card-foreground); 39 | --color-card: var(--card); 40 | --radius-sm: calc(var(--radius) - 4px); 41 | --radius-md: calc(var(--radius) - 2px); 42 | --radius-lg: var(--radius); 43 | --radius-xl: calc(var(--radius) + 4px); 44 | } 45 | 46 | :root { 47 | --radius: 0.625rem; 48 | --background: oklch(1 0 0); 49 | --foreground: oklch(0.145 0 0); 50 | --card: oklch(1 0 0); 51 | --card-foreground: oklch(0.145 0 0); 52 | --popover: oklch(1 0 0); 53 | --popover-foreground: oklch(0.145 0 0); 54 | --primary: oklch(0.205 0 0); 55 | --primary-foreground: oklch(0.985 0 0); 56 | --secondary: oklch(0.97 0 0); 57 | --secondary-foreground: oklch(0.205 0 0); 58 | --muted: oklch(0.97 0 0); 59 | --muted-foreground: oklch(0.556 0 0); 60 | --accent: oklch(0.97 0 0); 61 | --accent-foreground: oklch(0.205 0 0); 62 | --destructive: oklch(0.577 0.245 27.325); 63 | --border: oklch(0.922 0 0); 64 | --input: oklch(0.922 0 0); 65 | --ring: oklch(0.708 0 0); 66 | --chart-1: oklch(0.646 0.222 41.116); 67 | --chart-2: oklch(0.6 0.118 184.704); 68 | --chart-3: oklch(0.398 0.07 227.392); 69 | --chart-4: oklch(0.828 0.189 84.429); 70 | --chart-5: oklch(0.769 0.188 70.08); 71 | --sidebar: oklch(0.985 0 0); 72 | --sidebar-foreground: oklch(0.145 0 0); 73 | --sidebar-primary: oklch(0.205 0 0); 74 | --sidebar-primary-foreground: oklch(0.985 0 0); 75 | --sidebar-accent: oklch(0.97 0 0); 76 | --sidebar-accent-foreground: oklch(0.205 0 0); 77 | --sidebar-border: oklch(0.922 0 0); 78 | --sidebar-ring: oklch(0.708 0 0); 79 | } 80 | 81 | .dark { 82 | --background: oklch(0.145 0 0); 83 | --foreground: oklch(0.985 0 0); 84 | --card: oklch(0.205 0 0); 85 | --card-foreground: oklch(0.985 0 0); 86 | --popover: oklch(0.205 0 0); 87 | --popover-foreground: oklch(0.985 0 0); 88 | --primary: oklch(0.922 0 0); 89 | --primary-foreground: oklch(0.205 0 0); 90 | --secondary: oklch(0.269 0 0); 91 | --secondary-foreground: oklch(0.985 0 0); 92 | --muted: oklch(0.269 0 0); 93 | --muted-foreground: oklch(0.708 0 0); 94 | --accent: oklch(0.269 0 0); 95 | --accent-foreground: oklch(0.985 0 0); 96 | --destructive: oklch(0.704 0.191 22.216); 97 | --border: oklch(1 0 0 / 10%); 98 | --input: oklch(1 0 0 / 15%); 99 | --ring: oklch(0.556 0 0); 100 | --chart-1: oklch(0.488 0.243 264.376); 101 | --chart-2: oklch(0.696 0.17 162.48); 102 | --chart-3: oklch(0.769 0.188 70.08); 103 | --chart-4: oklch(0.627 0.265 303.9); 104 | --chart-5: oklch(0.645 0.246 16.439); 105 | --sidebar: oklch(0.205 0 0); 106 | --sidebar-foreground: oklch(0.985 0 0); 107 | --sidebar-primary: oklch(0.488 0.243 264.376); 108 | --sidebar-primary-foreground: oklch(0.985 0 0); 109 | --sidebar-accent: oklch(0.269 0 0); 110 | --sidebar-accent-foreground: oklch(0.985 0 0); 111 | --sidebar-border: oklch(1 0 0 / 10%); 112 | --sidebar-ring: oklch(0.556 0 0); 113 | } 114 | 115 | @layer base { 116 | * { 117 | @apply border-border outline-ring/50; 118 | } 119 | body { 120 | @apply bg-background text-foreground; 121 | } 122 | } 123 | -------------------------------------------------------------------------------- /app/layout.tsx: -------------------------------------------------------------------------------- 1 | import type { Metadata } from "next"; 2 | import { Geist, Geist_Mono } from "next/font/google"; 3 | import "./globals.css"; 4 | 5 | const geistSans = Geist({ 6 | variable: "--font-geist-sans", 7 | subsets: ["latin"], 8 | }); 9 | 10 | const geistMono = Geist_Mono({ 11 | variable: "--font-geist-mono", 12 | subsets: ["latin"], 13 | }); 14 | 15 | export const metadata: Metadata = { 16 | title: "AI Gateway Demo", 17 | description: "A demo of the Vercel AI Gateway with the AI SDK by Vercel", 18 | }; 19 | 20 | export default function RootLayout({ 21 | children, 22 | }: Readonly<{ 23 | children: React.ReactNode; 24 | }>) { 25 | return ( 26 | 27 | 30 | {children} 31 | 32 | 33 | ); 34 | } 35 | -------------------------------------------------------------------------------- /app/page.tsx: -------------------------------------------------------------------------------- 1 | import { Chat } from "@/components/chat"; 2 | 3 | export default async function Page({ 4 | searchParams, 5 | }: { 6 | searchParams: Promise<{ modelId: string }>; 7 | }) { 8 | const { modelId } = await searchParams; 9 | return ; 10 | } 11 | -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://ui.shadcn.com/schema.json", 3 | "style": "new-york", 4 | "rsc": true, 5 | "tsx": true, 6 | "tailwind": { 7 | "config": "", 8 | "css": "app/globals.css", 9 | "baseColor": "neutral", 10 | "cssVariables": true, 11 | "prefix": "" 12 | }, 13 | "aliases": { 14 | "components": "@/components", 15 | "utils": "@/lib/utils", 16 | "ui": "@/components/ui", 17 | "lib": "@/lib", 18 | "hooks": "@/hooks" 19 | }, 20 | "iconLibrary": "lucide" 21 | } -------------------------------------------------------------------------------- /components/chat.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { useChat } from "@ai-sdk/react"; 4 | import { useRouter } from "next/navigation"; 5 | import { ModelSelector } from "@/components/model-selector"; 6 | import { Card, CardContent } from "@/components/ui/card"; 7 | import { Button } from "@/components/ui/button"; 8 | import { Input } from "@/components/ui/input"; 9 | import { SendIcon } from "lucide-react"; 10 | import { useState } from "react"; 11 | import { DEFAULT_MODEL } from "@/lib/constants"; 12 | import { Alert, AlertDescription } from "@/components/ui/alert"; 13 | import { AlertCircle } from "lucide-react"; 14 | import { cn } from "@/lib/utils"; 15 | 16 | function ModelSelectorHandler({ 17 | modelId, 18 | onModelIdChange, 19 | }: { 20 | modelId: string; 21 | onModelIdChange: (newModelId: string) => void; 22 | }) { 23 | const router = useRouter(); 24 | 25 | const handleSelectChange = (newModelId: string) => { 26 | onModelIdChange(newModelId); 27 | const params = new URLSearchParams(); 28 | params.set("modelId", newModelId); 29 | router.push(`?${params.toString()}`); 30 | }; 31 | 32 | return ; 33 | } 34 | 35 | export function Chat({ modelId = DEFAULT_MODEL }: { modelId: string }) { 36 | const [input, setInput] = useState(""); 37 | const [currentModelId, setCurrentModelId] = useState(modelId); 38 | 39 | const handleModelIdChange = (newModelId: string) => { 40 | setCurrentModelId(newModelId); 41 | }; 42 | 43 | const { messages, error, sendMessage, regenerate } = useChat({ 44 | maxSteps: 3, 45 | }); 46 | 47 | return ( 48 |
49 |
50 | {messages.toReversed().map((m) => ( 51 |
59 | {m.parts.map((part, i) => { 60 | switch (part.type) { 61 | case "text": 62 | return
{part.text}
; 63 | } 64 | })} 65 |
66 | ))} 67 |
68 | 69 | {error && ( 70 |
71 | 72 | 73 | 74 | An error occurred while generating the response. 75 | 76 | 84 | 85 |
86 | )} 87 | 88 |
{ 90 | e.preventDefault(); 91 | sendMessage({ text: input }, { body: { modelId: currentModelId } }); 92 | setInput(""); 93 | }} 94 | className="flex justify-center px-8 pt-0 pb-4" 95 | > 96 | 97 | 98 | 102 |
103 | setInput(e.target.value)} 107 | value={input} 108 | autoFocus 109 | className="flex-1 border-0 focus-visible:ring-0 focus-visible:ring-offset-0" 110 | onKeyDown={(e) => { 111 | if (e.metaKey && e.key === "Enter") { 112 | sendMessage( 113 | { text: input }, 114 | { body: { modelId: currentModelId } } 115 | ); 116 | setInput(""); 117 | } 118 | }} 119 | /> 120 | 128 |
129 |
130 |
131 |
132 | 133 |
134 |

135 | The models in the list are a small subset of those available in the 136 | Vercel AI Gateway. 137 |
138 | See the{" "} 139 | {" "} 152 | for the full set. 153 |

154 |
155 |
156 | ); 157 | } 158 | -------------------------------------------------------------------------------- /components/model-selector.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { useAvailableModels } from "@/lib/hooks/use-available-models"; 4 | import { Loader2 } from "lucide-react"; 5 | import { DEFAULT_MODEL } from "@/lib/constants"; 6 | import { 7 | Select, 8 | SelectContent, 9 | SelectItem, 10 | SelectTrigger, 11 | SelectValue, 12 | SelectGroup, 13 | SelectLabel, 14 | } from "@/components/ui/select"; 15 | import { memo } from "react"; 16 | 17 | type ModelSelectorProps = { 18 | modelId: string; 19 | onModelChange: (modelId: string) => void; 20 | }; 21 | 22 | export const ModelSelector = memo(function ModelSelector({ 23 | modelId = DEFAULT_MODEL, 24 | onModelChange, 25 | }: ModelSelectorProps) { 26 | const { models, isLoading, error } = useAvailableModels(); 27 | 28 | return ( 29 | 60 | ); 61 | }); 62 | -------------------------------------------------------------------------------- /components/ui/alert.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | import { cva, type VariantProps } from "class-variance-authority" 3 | 4 | import { cn } from "@/lib/utils" 5 | 6 | const alertVariants = cva( 7 | "relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current", 8 | { 9 | variants: { 10 | variant: { 11 | default: "bg-card text-card-foreground", 12 | destructive: 13 | "text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90", 14 | }, 15 | }, 16 | defaultVariants: { 17 | variant: "default", 18 | }, 19 | } 20 | ) 21 | 22 | function Alert({ 23 | className, 24 | variant, 25 | ...props 26 | }: React.ComponentProps<"div"> & VariantProps) { 27 | return ( 28 |
34 | ) 35 | } 36 | 37 | function AlertTitle({ className, ...props }: React.ComponentProps<"div">) { 38 | return ( 39 |
47 | ) 48 | } 49 | 50 | function AlertDescription({ 51 | className, 52 | ...props 53 | }: React.ComponentProps<"div">) { 54 | return ( 55 |
63 | ) 64 | } 65 | 66 | export { Alert, AlertTitle, AlertDescription } 67 | -------------------------------------------------------------------------------- /components/ui/button.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | import { Slot } from "@radix-ui/react-slot" 3 | import { cva, type VariantProps } from "class-variance-authority" 4 | 5 | import { cn } from "@/lib/utils" 6 | 7 | const buttonVariants = cva( 8 | "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", 9 | { 10 | variants: { 11 | variant: { 12 | default: 13 | "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90", 14 | destructive: 15 | "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60", 16 | outline: 17 | "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50", 18 | secondary: 19 | "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80", 20 | ghost: 21 | "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50", 22 | link: "text-primary underline-offset-4 hover:underline", 23 | }, 24 | size: { 25 | default: "h-9 px-4 py-2 has-[>svg]:px-3", 26 | sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5", 27 | lg: "h-10 rounded-md px-6 has-[>svg]:px-4", 28 | icon: "size-9", 29 | }, 30 | }, 31 | defaultVariants: { 32 | variant: "default", 33 | size: "default", 34 | }, 35 | } 36 | ) 37 | 38 | function Button({ 39 | className, 40 | variant, 41 | size, 42 | asChild = false, 43 | ...props 44 | }: React.ComponentProps<"button"> & 45 | VariantProps & { 46 | asChild?: boolean 47 | }) { 48 | const Comp = asChild ? Slot : "button" 49 | 50 | return ( 51 | 56 | ) 57 | } 58 | 59 | export { Button, buttonVariants } 60 | -------------------------------------------------------------------------------- /components/ui/card.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | 3 | import { cn } from "@/lib/utils" 4 | 5 | function Card({ className, ...props }: React.ComponentProps<"div">) { 6 | return ( 7 |
15 | ) 16 | } 17 | 18 | function CardHeader({ className, ...props }: React.ComponentProps<"div">) { 19 | return ( 20 |
28 | ) 29 | } 30 | 31 | function CardTitle({ className, ...props }: React.ComponentProps<"div">) { 32 | return ( 33 |
38 | ) 39 | } 40 | 41 | function CardDescription({ className, ...props }: React.ComponentProps<"div">) { 42 | return ( 43 |
48 | ) 49 | } 50 | 51 | function CardAction({ className, ...props }: React.ComponentProps<"div">) { 52 | return ( 53 |
61 | ) 62 | } 63 | 64 | function CardContent({ className, ...props }: React.ComponentProps<"div">) { 65 | return ( 66 |
71 | ) 72 | } 73 | 74 | function CardFooter({ className, ...props }: React.ComponentProps<"div">) { 75 | return ( 76 |
81 | ) 82 | } 83 | 84 | export { 85 | Card, 86 | CardHeader, 87 | CardFooter, 88 | CardTitle, 89 | CardAction, 90 | CardDescription, 91 | CardContent, 92 | } 93 | -------------------------------------------------------------------------------- /components/ui/input.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | 3 | import { cn } from "@/lib/utils" 4 | 5 | function Input({ className, type, ...props }: React.ComponentProps<"input">) { 6 | return ( 7 | 18 | ) 19 | } 20 | 21 | export { Input } 22 | -------------------------------------------------------------------------------- /components/ui/select.tsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import * as React from "react" 4 | import * as SelectPrimitive from "@radix-ui/react-select" 5 | import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react" 6 | 7 | import { cn } from "@/lib/utils" 8 | 9 | function Select({ 10 | ...props 11 | }: React.ComponentProps) { 12 | return 13 | } 14 | 15 | function SelectGroup({ 16 | ...props 17 | }: React.ComponentProps) { 18 | return 19 | } 20 | 21 | function SelectValue({ 22 | ...props 23 | }: React.ComponentProps) { 24 | return 25 | } 26 | 27 | function SelectTrigger({ 28 | className, 29 | size = "default", 30 | children, 31 | ...props 32 | }: React.ComponentProps & { 33 | size?: "sm" | "default" 34 | }) { 35 | return ( 36 | 45 | {children} 46 | 47 | 48 | 49 | 50 | ) 51 | } 52 | 53 | function SelectContent({ 54 | className, 55 | children, 56 | position = "popper", 57 | ...props 58 | }: React.ComponentProps) { 59 | return ( 60 | 61 | 72 | 73 | 80 | {children} 81 | 82 | 83 | 84 | 85 | ) 86 | } 87 | 88 | function SelectLabel({ 89 | className, 90 | ...props 91 | }: React.ComponentProps) { 92 | return ( 93 | 98 | ) 99 | } 100 | 101 | function SelectItem({ 102 | className, 103 | children, 104 | ...props 105 | }: React.ComponentProps) { 106 | return ( 107 | 115 | 116 | 117 | 118 | 119 | 120 | {children} 121 | 122 | ) 123 | } 124 | 125 | function SelectSeparator({ 126 | className, 127 | ...props 128 | }: React.ComponentProps) { 129 | return ( 130 | 135 | ) 136 | } 137 | 138 | function SelectScrollUpButton({ 139 | className, 140 | ...props 141 | }: React.ComponentProps) { 142 | return ( 143 | 151 | 152 | 153 | ) 154 | } 155 | 156 | function SelectScrollDownButton({ 157 | className, 158 | ...props 159 | }: React.ComponentProps) { 160 | return ( 161 | 169 | 170 | 171 | ) 172 | } 173 | 174 | export { 175 | Select, 176 | SelectContent, 177 | SelectGroup, 178 | SelectItem, 179 | SelectLabel, 180 | SelectScrollDownButton, 181 | SelectScrollUpButton, 182 | SelectSeparator, 183 | SelectTrigger, 184 | SelectValue, 185 | } 186 | -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import { dirname } from "path"; 2 | import { fileURLToPath } from "url"; 3 | import { FlatCompat } from "@eslint/eslintrc"; 4 | 5 | const __filename = fileURLToPath(import.meta.url); 6 | const __dirname = dirname(__filename); 7 | 8 | const compat = new FlatCompat({ 9 | baseDirectory: __dirname, 10 | }); 11 | 12 | const eslintConfig = [ 13 | ...compat.extends("next/core-web-vitals", "next/typescript"), 14 | ]; 15 | 16 | export default eslintConfig; 17 | -------------------------------------------------------------------------------- /lib/constants.ts: -------------------------------------------------------------------------------- 1 | export const DEFAULT_MODEL = "xai/grok-3"; 2 | 3 | export const SUPPORTED_MODELS = [ 4 | "amazon/nova-lite", 5 | "amazon/nova-micro", 6 | "anthropic/claude-3.5-haiku", 7 | "google/gemini-2.0-flash", 8 | "google/gemma2-9b-it", 9 | "meta/llama-3.1-8b", 10 | "mistral/ministral-3b", 11 | "openai/gpt-3.5-turbo", 12 | "openai/gpt-4o-mini", 13 | "xai/grok-3", 14 | ]; 15 | -------------------------------------------------------------------------------- /lib/display-model.ts: -------------------------------------------------------------------------------- 1 | export interface DisplayModel { 2 | id: string; 3 | label: string; 4 | } 5 | -------------------------------------------------------------------------------- /lib/gateway.ts: -------------------------------------------------------------------------------- 1 | import { createGatewayProvider } from "@ai-sdk/gateway"; 2 | 3 | export const gateway = createGatewayProvider({ 4 | baseURL: process.env.AI_GATEWAY_BASE_URL, 5 | }); 6 | -------------------------------------------------------------------------------- /lib/hooks/use-available-models.ts: -------------------------------------------------------------------------------- 1 | import { useState, useEffect, useCallback } from "react"; 2 | import type { DisplayModel } from "@/lib/display-model"; 3 | import type { GatewayLanguageModelEntry } from "@ai-sdk/gateway"; 4 | import { SUPPORTED_MODELS } from "@/lib/constants"; 5 | 6 | const MAX_RETRIES = 3; 7 | const RETRY_DELAY_MILLIS = 5000; 8 | 9 | function buildModelList(models: GatewayLanguageModelEntry[]): DisplayModel[] { 10 | return models 11 | .filter((model) => SUPPORTED_MODELS.includes(model.id)) 12 | .map((model) => ({ 13 | id: model.id, 14 | label: model.name, 15 | })); 16 | } 17 | 18 | export function useAvailableModels() { 19 | const [models, setModels] = useState([]); 20 | const [isLoading, setIsLoading] = useState(true); 21 | const [error, setError] = useState(null); 22 | const [retryCount, setRetryCount] = useState(0); 23 | 24 | const fetchModels = useCallback( 25 | async (isRetry: boolean = false) => { 26 | if (!isRetry) { 27 | setIsLoading(true); 28 | setError(null); 29 | } 30 | 31 | try { 32 | const response = await fetch("/api/models"); 33 | if (!response.ok) { 34 | throw new Error("Failed to fetch models"); 35 | } 36 | const data = await response.json(); 37 | const newModels = buildModelList(data.models); 38 | setModels(newModels); 39 | setError(null); 40 | setRetryCount(0); 41 | setIsLoading(false); 42 | } catch (err) { 43 | setError( 44 | err instanceof Error ? err : new Error("Failed to fetch models") 45 | ); 46 | if (retryCount < MAX_RETRIES) { 47 | setRetryCount((prev) => prev + 1); 48 | setIsLoading(true); 49 | } else { 50 | setIsLoading(false); 51 | } 52 | } finally { 53 | setIsLoading(false); 54 | } 55 | }, 56 | [retryCount] 57 | ); 58 | 59 | useEffect(() => { 60 | if (retryCount === 0) { 61 | fetchModels(false); 62 | } else if (retryCount > 0 && retryCount <= MAX_RETRIES) { 63 | const timerId = setTimeout(() => { 64 | fetchModels(true); 65 | }, RETRY_DELAY_MILLIS); 66 | return () => clearTimeout(timerId); 67 | } 68 | }, [retryCount, fetchModels]); 69 | 70 | return { models, isLoading, error }; 71 | } 72 | -------------------------------------------------------------------------------- /lib/utils.ts: -------------------------------------------------------------------------------- 1 | import { clsx, type ClassValue } from "clsx" 2 | import { twMerge } from "tailwind-merge" 3 | 4 | export function cn(...inputs: ClassValue[]) { 5 | return twMerge(clsx(inputs)) 6 | } 7 | -------------------------------------------------------------------------------- /next.config.ts: -------------------------------------------------------------------------------- 1 | import type { NextConfig } from "next"; 2 | 3 | const nextConfig: NextConfig = { 4 | /* config options here */ 5 | }; 6 | 7 | export default nextConfig; 8 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ai-sdk-gateway-demo", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint", 10 | "type-check": "tsc --noEmit" 11 | }, 12 | "dependencies": { 13 | "@ai-sdk/gateway": "1.0.0-beta.4", 14 | "@ai-sdk/react": "2.0.0-beta.10", 15 | "@radix-ui/react-select": "^2.2.2", 16 | "@radix-ui/react-slot": "^1.2.0", 17 | "ai": "5.0.0-beta.10", 18 | "class-variance-authority": "^0.7.1", 19 | "clsx": "^2.1.1", 20 | "lucide-react": "^0.506.0", 21 | "next": "15.3.1", 22 | "next-themes": "^0.4.6", 23 | "react": "^19.1.0", 24 | "react-dom": "^19.1.0", 25 | "tailwind-merge": "^3.2.0", 26 | "tw-animate-css": "^1.2.8", 27 | "zod": "^3.25.46" 28 | }, 29 | "devDependencies": { 30 | "@eslint/eslintrc": "^3.3.1", 31 | "@tailwindcss/postcss": "^4.1.5", 32 | "@types/node": "^22.15.3", 33 | "@types/react": "^19.1.2", 34 | "@types/react-dom": "^19.1.3", 35 | "eslint": "^9.25.1", 36 | "eslint-config-next": "15.3.1", 37 | "tailwindcss": "^4.1.5", 38 | "typescript": "^5.8.3" 39 | }, 40 | "packageManager": "pnpm@10.6.2+sha512.47870716bea1572b53df34ad8647b42962bc790ce2bf4562ba0f643237d7302a3d6a8ecef9e4bdfc01d23af1969aa90485d4cebb0b9638fa5ef1daef656f6c1b" 41 | } 42 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@ai-sdk/gateway': 12 | specifier: 1.0.0-beta.4 13 | version: 1.0.0-beta.4(zod@3.25.49) 14 | '@ai-sdk/react': 15 | specifier: 2.0.0-beta.10 16 | version: 2.0.0-beta.10(react@19.1.0)(zod@3.25.49) 17 | '@radix-ui/react-select': 18 | specifier: ^2.2.2 19 | version: 2.2.2(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) 20 | '@radix-ui/react-slot': 21 | specifier: ^1.2.0 22 | version: 1.2.0(@types/react@19.1.2)(react@19.1.0) 23 | ai: 24 | specifier: 5.0.0-beta.10 25 | version: 5.0.0-beta.10(zod@3.25.49) 26 | class-variance-authority: 27 | specifier: ^0.7.1 28 | version: 0.7.1 29 | clsx: 30 | specifier: ^2.1.1 31 | version: 2.1.1 32 | lucide-react: 33 | specifier: ^0.506.0 34 | version: 0.506.0(react@19.1.0) 35 | next: 36 | specifier: 15.3.1 37 | version: 15.3.1(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) 38 | next-themes: 39 | specifier: ^0.4.6 40 | version: 0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) 41 | react: 42 | specifier: ^19.1.0 43 | version: 19.1.0 44 | react-dom: 45 | specifier: ^19.1.0 46 | version: 19.1.0(react@19.1.0) 47 | tailwind-merge: 48 | specifier: ^3.2.0 49 | version: 3.2.0 50 | tw-animate-css: 51 | specifier: ^1.2.8 52 | version: 1.2.8 53 | zod: 54 | specifier: ^3.25.46 55 | version: 3.25.49 56 | devDependencies: 57 | '@eslint/eslintrc': 58 | specifier: ^3.3.1 59 | version: 3.3.1 60 | '@tailwindcss/postcss': 61 | specifier: ^4.1.5 62 | version: 4.1.5 63 | '@types/node': 64 | specifier: ^22.15.3 65 | version: 22.15.3 66 | '@types/react': 67 | specifier: ^19.1.2 68 | version: 19.1.2 69 | '@types/react-dom': 70 | specifier: ^19.1.3 71 | version: 19.1.3(@types/react@19.1.2) 72 | eslint: 73 | specifier: ^9.25.1 74 | version: 9.25.1(jiti@2.4.2) 75 | eslint-config-next: 76 | specifier: 15.3.1 77 | version: 15.3.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) 78 | tailwindcss: 79 | specifier: ^4.1.5 80 | version: 4.1.5 81 | typescript: 82 | specifier: ^5.8.3 83 | version: 5.8.3 84 | 85 | packages: 86 | 87 | '@ai-sdk/gateway@1.0.0-beta.4': 88 | resolution: {integrity: sha512-P5/dS7pb+cBRWnTP0Aezq3/3PIrF+p64fUTxBAyZIert8qTyHm2gd6atbAJZprZ304Ui3QjA9MFybAa849//2w==} 89 | engines: {node: '>=18'} 90 | peerDependencies: 91 | zod: ^3.25.49 92 | 93 | '@ai-sdk/provider-utils@3.0.0-beta.2': 94 | resolution: {integrity: sha512-H4K+4weOVgWqrDDeAbQWoA4U5mN4WrQPHQFdH7ynQYcnhj/pzctU9Q6mGlR5ESMWxaXxazxlOblSITlXo9bahA==} 95 | engines: {node: '>=18'} 96 | peerDependencies: 97 | zod: ^3.25.49 98 | 99 | '@ai-sdk/provider@2.0.0-beta.1': 100 | resolution: {integrity: sha512-Z8SPncMtS3RsoXITmT7NVwrAq6M44dmw0DoUOYJqNNtCu8iMWuxB8Nxsoqpa0uEEy9R1V1ZThJAXTYgjTUxl3w==} 101 | engines: {node: '>=18'} 102 | 103 | '@ai-sdk/react@2.0.0-beta.10': 104 | resolution: {integrity: sha512-qbUxDB+yVHwwsnkudKGrrTAgQ0aGe82704FlBYldT/HVVGZkvi7+1J5wi8z3x1IHBtDFHWmpeMY9QQR9HkGx+w==} 105 | engines: {node: '>=18'} 106 | peerDependencies: 107 | react: ^18 || ^19 || ^19.0.0-rc 108 | zod: ^3.25.49 109 | peerDependenciesMeta: 110 | zod: 111 | optional: true 112 | 113 | '@alloc/quick-lru@5.2.0': 114 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} 115 | engines: {node: '>=10'} 116 | 117 | '@emnapi/core@1.4.3': 118 | resolution: {integrity: sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==} 119 | 120 | '@emnapi/runtime@1.4.3': 121 | resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==} 122 | 123 | '@emnapi/wasi-threads@1.0.2': 124 | resolution: {integrity: sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==} 125 | 126 | '@eslint-community/eslint-utils@4.7.0': 127 | resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} 128 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 129 | peerDependencies: 130 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 131 | 132 | '@eslint-community/regexpp@4.12.1': 133 | resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} 134 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 135 | 136 | '@eslint/config-array@0.20.0': 137 | resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==} 138 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 139 | 140 | '@eslint/config-helpers@0.2.2': 141 | resolution: {integrity: sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==} 142 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 143 | 144 | '@eslint/core@0.13.0': 145 | resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==} 146 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 147 | 148 | '@eslint/eslintrc@3.3.1': 149 | resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} 150 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 151 | 152 | '@eslint/js@9.25.1': 153 | resolution: {integrity: sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg==} 154 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 155 | 156 | '@eslint/object-schema@2.1.6': 157 | resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} 158 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 159 | 160 | '@eslint/plugin-kit@0.2.8': 161 | resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==} 162 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 163 | 164 | '@floating-ui/core@1.7.0': 165 | resolution: {integrity: sha512-FRdBLykrPPA6P76GGGqlex/e7fbe0F1ykgxHYNXQsH/iTEtjMj/f9bpY5oQqbjt5VgZvgz/uKXbGuROijh3VLA==} 166 | 167 | '@floating-ui/dom@1.7.0': 168 | resolution: {integrity: sha512-lGTor4VlXcesUMh1cupTUTDoCxMb0V6bm3CnxHzQcw8Eaf1jQbgQX4i02fYgT0vJ82tb5MZ4CZk1LRGkktJCzg==} 169 | 170 | '@floating-ui/react-dom@2.1.2': 171 | resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==} 172 | peerDependencies: 173 | react: '>=16.8.0' 174 | react-dom: '>=16.8.0' 175 | 176 | '@floating-ui/utils@0.2.9': 177 | resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==} 178 | 179 | '@humanfs/core@0.19.1': 180 | resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} 181 | engines: {node: '>=18.18.0'} 182 | 183 | '@humanfs/node@0.16.6': 184 | resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} 185 | engines: {node: '>=18.18.0'} 186 | 187 | '@humanwhocodes/module-importer@1.0.1': 188 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 189 | engines: {node: '>=12.22'} 190 | 191 | '@humanwhocodes/retry@0.3.1': 192 | resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} 193 | engines: {node: '>=18.18'} 194 | 195 | '@humanwhocodes/retry@0.4.2': 196 | resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} 197 | engines: {node: '>=18.18'} 198 | 199 | '@img/sharp-darwin-arm64@0.34.1': 200 | resolution: {integrity: sha512-pn44xgBtgpEbZsu+lWf2KNb6OAf70X68k+yk69Ic2Xz11zHR/w24/U49XT7AeRwJ0Px+mhALhU5LPci1Aymk7A==} 201 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 202 | cpu: [arm64] 203 | os: [darwin] 204 | 205 | '@img/sharp-darwin-x64@0.34.1': 206 | resolution: {integrity: sha512-VfuYgG2r8BpYiOUN+BfYeFo69nP/MIwAtSJ7/Zpxc5QF3KS22z8Pvg3FkrSFJBPNQ7mmcUcYQFBmEQp7eu1F8Q==} 207 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 208 | cpu: [x64] 209 | os: [darwin] 210 | 211 | '@img/sharp-libvips-darwin-arm64@1.1.0': 212 | resolution: {integrity: sha512-HZ/JUmPwrJSoM4DIQPv/BfNh9yrOA8tlBbqbLz4JZ5uew2+o22Ik+tHQJcih7QJuSa0zo5coHTfD5J8inqj9DA==} 213 | cpu: [arm64] 214 | os: [darwin] 215 | 216 | '@img/sharp-libvips-darwin-x64@1.1.0': 217 | resolution: {integrity: sha512-Xzc2ToEmHN+hfvsl9wja0RlnXEgpKNmftriQp6XzY/RaSfwD9th+MSh0WQKzUreLKKINb3afirxW7A0fz2YWuQ==} 218 | cpu: [x64] 219 | os: [darwin] 220 | 221 | '@img/sharp-libvips-linux-arm64@1.1.0': 222 | resolution: {integrity: sha512-IVfGJa7gjChDET1dK9SekxFFdflarnUB8PwW8aGwEoF3oAsSDuNUTYS+SKDOyOJxQyDC1aPFMuRYLoDInyV9Ew==} 223 | cpu: [arm64] 224 | os: [linux] 225 | 226 | '@img/sharp-libvips-linux-arm@1.1.0': 227 | resolution: {integrity: sha512-s8BAd0lwUIvYCJyRdFqvsj+BJIpDBSxs6ivrOPm/R7piTs5UIwY5OjXrP2bqXC9/moGsyRa37eYWYCOGVXxVrA==} 228 | cpu: [arm] 229 | os: [linux] 230 | 231 | '@img/sharp-libvips-linux-ppc64@1.1.0': 232 | resolution: {integrity: sha512-tiXxFZFbhnkWE2LA8oQj7KYR+bWBkiV2nilRldT7bqoEZ4HiDOcePr9wVDAZPi/Id5fT1oY9iGnDq20cwUz8lQ==} 233 | cpu: [ppc64] 234 | os: [linux] 235 | 236 | '@img/sharp-libvips-linux-s390x@1.1.0': 237 | resolution: {integrity: sha512-xukSwvhguw7COyzvmjydRb3x/09+21HykyapcZchiCUkTThEQEOMtBj9UhkaBRLuBrgLFzQ2wbxdeCCJW/jgJA==} 238 | cpu: [s390x] 239 | os: [linux] 240 | 241 | '@img/sharp-libvips-linux-x64@1.1.0': 242 | resolution: {integrity: sha512-yRj2+reB8iMg9W5sULM3S74jVS7zqSzHG3Ol/twnAAkAhnGQnpjj6e4ayUz7V+FpKypwgs82xbRdYtchTTUB+Q==} 243 | cpu: [x64] 244 | os: [linux] 245 | 246 | '@img/sharp-libvips-linuxmusl-arm64@1.1.0': 247 | resolution: {integrity: sha512-jYZdG+whg0MDK+q2COKbYidaqW/WTz0cc1E+tMAusiDygrM4ypmSCjOJPmFTvHHJ8j/6cAGyeDWZOsK06tP33w==} 248 | cpu: [arm64] 249 | os: [linux] 250 | 251 | '@img/sharp-libvips-linuxmusl-x64@1.1.0': 252 | resolution: {integrity: sha512-wK7SBdwrAiycjXdkPnGCPLjYb9lD4l6Ze2gSdAGVZrEL05AOUJESWU2lhlC+Ffn5/G+VKuSm6zzbQSzFX/P65A==} 253 | cpu: [x64] 254 | os: [linux] 255 | 256 | '@img/sharp-linux-arm64@0.34.1': 257 | resolution: {integrity: sha512-kX2c+vbvaXC6vly1RDf/IWNXxrlxLNpBVWkdpRq5Ka7OOKj6nr66etKy2IENf6FtOgklkg9ZdGpEu9kwdlcwOQ==} 258 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 259 | cpu: [arm64] 260 | os: [linux] 261 | 262 | '@img/sharp-linux-arm@0.34.1': 263 | resolution: {integrity: sha512-anKiszvACti2sGy9CirTlNyk7BjjZPiML1jt2ZkTdcvpLU1YH6CXwRAZCA2UmRXnhiIftXQ7+Oh62Ji25W72jA==} 264 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 265 | cpu: [arm] 266 | os: [linux] 267 | 268 | '@img/sharp-linux-s390x@0.34.1': 269 | resolution: {integrity: sha512-7s0KX2tI9mZI2buRipKIw2X1ufdTeaRgwmRabt5bi9chYfhur+/C1OXg3TKg/eag1W+6CCWLVmSauV1owmRPxA==} 270 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 271 | cpu: [s390x] 272 | os: [linux] 273 | 274 | '@img/sharp-linux-x64@0.34.1': 275 | resolution: {integrity: sha512-wExv7SH9nmoBW3Wr2gvQopX1k8q2g5V5Iag8Zk6AVENsjwd+3adjwxtp3Dcu2QhOXr8W9NusBU6XcQUohBZ5MA==} 276 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 277 | cpu: [x64] 278 | os: [linux] 279 | 280 | '@img/sharp-linuxmusl-arm64@0.34.1': 281 | resolution: {integrity: sha512-DfvyxzHxw4WGdPiTF0SOHnm11Xv4aQexvqhRDAoD00MzHekAj9a/jADXeXYCDFH/DzYruwHbXU7uz+H+nWmSOQ==} 282 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 283 | cpu: [arm64] 284 | os: [linux] 285 | 286 | '@img/sharp-linuxmusl-x64@0.34.1': 287 | resolution: {integrity: sha512-pax/kTR407vNb9qaSIiWVnQplPcGU8LRIJpDT5o8PdAx5aAA7AS3X9PS8Isw1/WfqgQorPotjrZL3Pqh6C5EBg==} 288 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 289 | cpu: [x64] 290 | os: [linux] 291 | 292 | '@img/sharp-wasm32@0.34.1': 293 | resolution: {integrity: sha512-YDybQnYrLQfEpzGOQe7OKcyLUCML4YOXl428gOOzBgN6Gw0rv8dpsJ7PqTHxBnXnwXr8S1mYFSLSa727tpz0xg==} 294 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 295 | cpu: [wasm32] 296 | 297 | '@img/sharp-win32-ia32@0.34.1': 298 | resolution: {integrity: sha512-WKf/NAZITnonBf3U1LfdjoMgNO5JYRSlhovhRhMxXVdvWYveM4kM3L8m35onYIdh75cOMCo1BexgVQcCDzyoWw==} 299 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 300 | cpu: [ia32] 301 | os: [win32] 302 | 303 | '@img/sharp-win32-x64@0.34.1': 304 | resolution: {integrity: sha512-hw1iIAHpNE8q3uMIRCgGOeDoz9KtFNarFLQclLxr/LK1VBkj8nby18RjFvr6aP7USRYAjTZW6yisnBWMX571Tw==} 305 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 306 | cpu: [x64] 307 | os: [win32] 308 | 309 | '@napi-rs/wasm-runtime@0.2.10': 310 | resolution: {integrity: sha512-bCsCyeZEwVErsGmyPNSzwfwFn4OdxBj0mmv6hOFucB/k81Ojdu68RbZdxYsRQUPc9l6SU5F/cG+bXgWs3oUgsQ==} 311 | 312 | '@next/env@15.3.1': 313 | resolution: {integrity: sha512-cwK27QdzrMblHSn9DZRV+DQscHXRuJv6MydlJRpFSqJWZrTYMLzKDeyueJNN9MGd8NNiUKzDQADAf+dMLXX7YQ==} 314 | 315 | '@next/eslint-plugin-next@15.3.1': 316 | resolution: {integrity: sha512-oEs4dsfM6iyER3jTzMm4kDSbrQJq8wZw5fmT6fg2V3SMo+kgG+cShzLfEV20senZzv8VF+puNLheiGPlBGsv2A==} 317 | 318 | '@next/swc-darwin-arm64@15.3.1': 319 | resolution: {integrity: sha512-hjDw4f4/nla+6wysBL07z52Gs55Gttp5Bsk5/8AncQLJoisvTBP0pRIBK/B16/KqQyH+uN4Ww8KkcAqJODYH3w==} 320 | engines: {node: '>= 10'} 321 | cpu: [arm64] 322 | os: [darwin] 323 | 324 | '@next/swc-darwin-x64@15.3.1': 325 | resolution: {integrity: sha512-q+aw+cJ2ooVYdCEqZVk+T4Ni10jF6Fo5DfpEV51OupMaV5XL6pf3GCzrk6kSSZBsMKZtVC1Zm/xaNBFpA6bJ2g==} 326 | engines: {node: '>= 10'} 327 | cpu: [x64] 328 | os: [darwin] 329 | 330 | '@next/swc-linux-arm64-gnu@15.3.1': 331 | resolution: {integrity: sha512-wBQ+jGUI3N0QZyWmmvRHjXjTWFy8o+zPFLSOyAyGFI94oJi+kK/LIZFJXeykvgXUk1NLDAEFDZw/NVINhdk9FQ==} 332 | engines: {node: '>= 10'} 333 | cpu: [arm64] 334 | os: [linux] 335 | 336 | '@next/swc-linux-arm64-musl@15.3.1': 337 | resolution: {integrity: sha512-IIxXEXRti/AulO9lWRHiCpUUR8AR/ZYLPALgiIg/9ENzMzLn3l0NSxVdva7R/VDcuSEBo0eGVCe3evSIHNz0Hg==} 338 | engines: {node: '>= 10'} 339 | cpu: [arm64] 340 | os: [linux] 341 | 342 | '@next/swc-linux-x64-gnu@15.3.1': 343 | resolution: {integrity: sha512-bfI4AMhySJbyXQIKH5rmLJ5/BP7bPwuxauTvVEiJ/ADoddaA9fgyNNCcsbu9SlqfHDoZmfI6g2EjzLwbsVTr5A==} 344 | engines: {node: '>= 10'} 345 | cpu: [x64] 346 | os: [linux] 347 | 348 | '@next/swc-linux-x64-musl@15.3.1': 349 | resolution: {integrity: sha512-FeAbR7FYMWR+Z+M5iSGytVryKHiAsc0x3Nc3J+FD5NVbD5Mqz7fTSy8CYliXinn7T26nDMbpExRUI/4ekTvoiA==} 350 | engines: {node: '>= 10'} 351 | cpu: [x64] 352 | os: [linux] 353 | 354 | '@next/swc-win32-arm64-msvc@15.3.1': 355 | resolution: {integrity: sha512-yP7FueWjphQEPpJQ2oKmshk/ppOt+0/bB8JC8svPUZNy0Pi3KbPx2Llkzv1p8CoQa+D2wknINlJpHf3vtChVBw==} 356 | engines: {node: '>= 10'} 357 | cpu: [arm64] 358 | os: [win32] 359 | 360 | '@next/swc-win32-x64-msvc@15.3.1': 361 | resolution: {integrity: sha512-3PMvF2zRJAifcRNni9uMk/gulWfWS+qVI/pagd+4yLF5bcXPZPPH2xlYRYOsUjmCJOXSTAC2PjRzbhsRzR2fDQ==} 362 | engines: {node: '>= 10'} 363 | cpu: [x64] 364 | os: [win32] 365 | 366 | '@nodelib/fs.scandir@2.1.5': 367 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 368 | engines: {node: '>= 8'} 369 | 370 | '@nodelib/fs.stat@2.0.5': 371 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 372 | engines: {node: '>= 8'} 373 | 374 | '@nodelib/fs.walk@1.2.8': 375 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 376 | engines: {node: '>= 8'} 377 | 378 | '@nolyfill/is-core-module@1.0.39': 379 | resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} 380 | engines: {node: '>=12.4.0'} 381 | 382 | '@opentelemetry/api@1.9.0': 383 | resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} 384 | engines: {node: '>=8.0.0'} 385 | 386 | '@radix-ui/number@1.1.1': 387 | resolution: {integrity: sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==} 388 | 389 | '@radix-ui/primitive@1.1.2': 390 | resolution: {integrity: sha512-XnbHrrprsNqZKQhStrSwgRUQzoCI1glLzdw79xiZPoofhGICeZRSQ3dIxAKH1gb3OHfNf4d6f+vAv3kil2eggA==} 391 | 392 | '@radix-ui/react-arrow@1.1.4': 393 | resolution: {integrity: sha512-qz+fxrqgNxG0dYew5l7qR3c7wdgRu1XVUHGnGYX7rg5HM4p9SWaRmJwfgR3J0SgyUKayLmzQIun+N6rWRgiRKw==} 394 | peerDependencies: 395 | '@types/react': '*' 396 | '@types/react-dom': '*' 397 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 398 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 399 | peerDependenciesMeta: 400 | '@types/react': 401 | optional: true 402 | '@types/react-dom': 403 | optional: true 404 | 405 | '@radix-ui/react-collection@1.1.4': 406 | resolution: {integrity: sha512-cv4vSf7HttqXilDnAnvINd53OTl1/bjUYVZrkFnA7nwmY9Ob2POUy0WY0sfqBAe1s5FyKsyceQlqiEGPYNTadg==} 407 | peerDependencies: 408 | '@types/react': '*' 409 | '@types/react-dom': '*' 410 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 411 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 412 | peerDependenciesMeta: 413 | '@types/react': 414 | optional: true 415 | '@types/react-dom': 416 | optional: true 417 | 418 | '@radix-ui/react-compose-refs@1.1.2': 419 | resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==} 420 | peerDependencies: 421 | '@types/react': '*' 422 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 423 | peerDependenciesMeta: 424 | '@types/react': 425 | optional: true 426 | 427 | '@radix-ui/react-context@1.1.2': 428 | resolution: {integrity: sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==} 429 | peerDependencies: 430 | '@types/react': '*' 431 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 432 | peerDependenciesMeta: 433 | '@types/react': 434 | optional: true 435 | 436 | '@radix-ui/react-direction@1.1.1': 437 | resolution: {integrity: sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==} 438 | peerDependencies: 439 | '@types/react': '*' 440 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 441 | peerDependenciesMeta: 442 | '@types/react': 443 | optional: true 444 | 445 | '@radix-ui/react-dismissable-layer@1.1.7': 446 | resolution: {integrity: sha512-j5+WBUdhccJsmH5/H0K6RncjDtoALSEr6jbkaZu+bjw6hOPOhHycr6vEUujl+HBK8kjUfWcoCJXxP6e4lUlMZw==} 447 | peerDependencies: 448 | '@types/react': '*' 449 | '@types/react-dom': '*' 450 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 451 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 452 | peerDependenciesMeta: 453 | '@types/react': 454 | optional: true 455 | '@types/react-dom': 456 | optional: true 457 | 458 | '@radix-ui/react-focus-guards@1.1.2': 459 | resolution: {integrity: sha512-fyjAACV62oPV925xFCrH8DR5xWhg9KYtJT4s3u54jxp+L/hbpTY2kIeEFFbFe+a/HCE94zGQMZLIpVTPVZDhaA==} 460 | peerDependencies: 461 | '@types/react': '*' 462 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 463 | peerDependenciesMeta: 464 | '@types/react': 465 | optional: true 466 | 467 | '@radix-ui/react-focus-scope@1.1.4': 468 | resolution: {integrity: sha512-r2annK27lIW5w9Ho5NyQgqs0MmgZSTIKXWpVCJaLC1q2kZrZkcqnmHkCHMEmv8XLvsLlurKMPT+kbKkRkm/xVA==} 469 | peerDependencies: 470 | '@types/react': '*' 471 | '@types/react-dom': '*' 472 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 473 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 474 | peerDependenciesMeta: 475 | '@types/react': 476 | optional: true 477 | '@types/react-dom': 478 | optional: true 479 | 480 | '@radix-ui/react-id@1.1.1': 481 | resolution: {integrity: sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==} 482 | peerDependencies: 483 | '@types/react': '*' 484 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 485 | peerDependenciesMeta: 486 | '@types/react': 487 | optional: true 488 | 489 | '@radix-ui/react-popper@1.2.4': 490 | resolution: {integrity: sha512-3p2Rgm/a1cK0r/UVkx5F/K9v/EplfjAeIFCGOPYPO4lZ0jtg4iSQXt/YGTSLWaf4x7NG6Z4+uKFcylcTZjeqDA==} 491 | peerDependencies: 492 | '@types/react': '*' 493 | '@types/react-dom': '*' 494 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 495 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 496 | peerDependenciesMeta: 497 | '@types/react': 498 | optional: true 499 | '@types/react-dom': 500 | optional: true 501 | 502 | '@radix-ui/react-portal@1.1.6': 503 | resolution: {integrity: sha512-XmsIl2z1n/TsYFLIdYam2rmFwf9OC/Sh2avkbmVMDuBZIe7hSpM0cYnWPAo7nHOVx8zTuwDZGByfcqLdnzp3Vw==} 504 | peerDependencies: 505 | '@types/react': '*' 506 | '@types/react-dom': '*' 507 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 508 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 509 | peerDependenciesMeta: 510 | '@types/react': 511 | optional: true 512 | '@types/react-dom': 513 | optional: true 514 | 515 | '@radix-ui/react-primitive@2.1.0': 516 | resolution: {integrity: sha512-/J/FhLdK0zVcILOwt5g+dH4KnkonCtkVJsa2G6JmvbbtZfBEI1gMsO3QMjseL4F/SwfAMt1Vc/0XKYKq+xJ1sw==} 517 | peerDependencies: 518 | '@types/react': '*' 519 | '@types/react-dom': '*' 520 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 521 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 522 | peerDependenciesMeta: 523 | '@types/react': 524 | optional: true 525 | '@types/react-dom': 526 | optional: true 527 | 528 | '@radix-ui/react-select@2.2.2': 529 | resolution: {integrity: sha512-HjkVHtBkuq+r3zUAZ/CvNWUGKPfuicGDbgtZgiQuFmNcV5F+Tgy24ep2nsAW2nFgvhGPJVqeBZa6KyVN0EyrBA==} 530 | peerDependencies: 531 | '@types/react': '*' 532 | '@types/react-dom': '*' 533 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 534 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 535 | peerDependenciesMeta: 536 | '@types/react': 537 | optional: true 538 | '@types/react-dom': 539 | optional: true 540 | 541 | '@radix-ui/react-slot@1.2.0': 542 | resolution: {integrity: sha512-ujc+V6r0HNDviYqIK3rW4ffgYiZ8g5DEHrGJVk4x7kTlLXRDILnKX9vAUYeIsLOoDpDJ0ujpqMkjH4w2ofuo6w==} 543 | peerDependencies: 544 | '@types/react': '*' 545 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 546 | peerDependenciesMeta: 547 | '@types/react': 548 | optional: true 549 | 550 | '@radix-ui/react-use-callback-ref@1.1.1': 551 | resolution: {integrity: sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==} 552 | peerDependencies: 553 | '@types/react': '*' 554 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 555 | peerDependenciesMeta: 556 | '@types/react': 557 | optional: true 558 | 559 | '@radix-ui/react-use-controllable-state@1.2.2': 560 | resolution: {integrity: sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==} 561 | peerDependencies: 562 | '@types/react': '*' 563 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 564 | peerDependenciesMeta: 565 | '@types/react': 566 | optional: true 567 | 568 | '@radix-ui/react-use-effect-event@0.0.2': 569 | resolution: {integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==} 570 | peerDependencies: 571 | '@types/react': '*' 572 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 573 | peerDependenciesMeta: 574 | '@types/react': 575 | optional: true 576 | 577 | '@radix-ui/react-use-escape-keydown@1.1.1': 578 | resolution: {integrity: sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==} 579 | peerDependencies: 580 | '@types/react': '*' 581 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 582 | peerDependenciesMeta: 583 | '@types/react': 584 | optional: true 585 | 586 | '@radix-ui/react-use-layout-effect@1.1.1': 587 | resolution: {integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==} 588 | peerDependencies: 589 | '@types/react': '*' 590 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 591 | peerDependenciesMeta: 592 | '@types/react': 593 | optional: true 594 | 595 | '@radix-ui/react-use-previous@1.1.1': 596 | resolution: {integrity: sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==} 597 | peerDependencies: 598 | '@types/react': '*' 599 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 600 | peerDependenciesMeta: 601 | '@types/react': 602 | optional: true 603 | 604 | '@radix-ui/react-use-rect@1.1.1': 605 | resolution: {integrity: sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==} 606 | peerDependencies: 607 | '@types/react': '*' 608 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 609 | peerDependenciesMeta: 610 | '@types/react': 611 | optional: true 612 | 613 | '@radix-ui/react-use-size@1.1.1': 614 | resolution: {integrity: sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==} 615 | peerDependencies: 616 | '@types/react': '*' 617 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 618 | peerDependenciesMeta: 619 | '@types/react': 620 | optional: true 621 | 622 | '@radix-ui/react-visually-hidden@1.2.0': 623 | resolution: {integrity: sha512-rQj0aAWOpCdCMRbI6pLQm8r7S2BM3YhTa0SzOYD55k+hJA8oo9J+H+9wLM9oMlZWOX/wJWPTzfDfmZkf7LvCfg==} 624 | peerDependencies: 625 | '@types/react': '*' 626 | '@types/react-dom': '*' 627 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 628 | react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 629 | peerDependenciesMeta: 630 | '@types/react': 631 | optional: true 632 | '@types/react-dom': 633 | optional: true 634 | 635 | '@radix-ui/rect@1.1.1': 636 | resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==} 637 | 638 | '@rtsao/scc@1.1.0': 639 | resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} 640 | 641 | '@rushstack/eslint-patch@1.11.0': 642 | resolution: {integrity: sha512-zxnHvoMQVqewTJr/W4pKjF0bMGiKJv1WX7bSrkl46Hg0QjESbzBROWK0Wg4RphzSOS5Jiy7eFimmM3UgMrMZbQ==} 643 | 644 | '@standard-schema/spec@1.0.0': 645 | resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} 646 | 647 | '@swc/counter@0.1.3': 648 | resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} 649 | 650 | '@swc/helpers@0.5.15': 651 | resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} 652 | 653 | '@tailwindcss/node@4.1.5': 654 | resolution: {integrity: sha512-CBhSWo0vLnWhXIvpD0qsPephiaUYfHUX3U9anwDaHZAeuGpTiB3XmsxPAN6qX7bFhipyGBqOa1QYQVVhkOUGxg==} 655 | 656 | '@tailwindcss/oxide-android-arm64@4.1.5': 657 | resolution: {integrity: sha512-LVvM0GirXHED02j7hSECm8l9GGJ1RfgpWCW+DRn5TvSaxVsv28gRtoL4aWKGnXqwvI3zu1GABeDNDVZeDPOQrw==} 658 | engines: {node: '>= 10'} 659 | cpu: [arm64] 660 | os: [android] 661 | 662 | '@tailwindcss/oxide-darwin-arm64@4.1.5': 663 | resolution: {integrity: sha512-//TfCA3pNrgnw4rRJOqavW7XUk8gsg9ddi8cwcsWXp99tzdBAZW0WXrD8wDyNbqjW316Pk2hiN/NJx/KWHl8oA==} 664 | engines: {node: '>= 10'} 665 | cpu: [arm64] 666 | os: [darwin] 667 | 668 | '@tailwindcss/oxide-darwin-x64@4.1.5': 669 | resolution: {integrity: sha512-XQorp3Q6/WzRd9OalgHgaqgEbjP3qjHrlSUb5k1EuS1Z9NE9+BbzSORraO+ecW432cbCN7RVGGL/lSnHxcd+7Q==} 670 | engines: {node: '>= 10'} 671 | cpu: [x64] 672 | os: [darwin] 673 | 674 | '@tailwindcss/oxide-freebsd-x64@4.1.5': 675 | resolution: {integrity: sha512-bPrLWbxo8gAo97ZmrCbOdtlz/Dkuy8NK97aFbVpkJ2nJ2Jo/rsCbu0TlGx8joCuA3q6vMWTSn01JY46iwG+clg==} 676 | engines: {node: '>= 10'} 677 | cpu: [x64] 678 | os: [freebsd] 679 | 680 | '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.5': 681 | resolution: {integrity: sha512-1gtQJY9JzMAhgAfvd/ZaVOjh/Ju/nCoAsvOVJenWZfs05wb8zq+GOTnZALWGqKIYEtyNpCzvMk+ocGpxwdvaVg==} 682 | engines: {node: '>= 10'} 683 | cpu: [arm] 684 | os: [linux] 685 | 686 | '@tailwindcss/oxide-linux-arm64-gnu@4.1.5': 687 | resolution: {integrity: sha512-dtlaHU2v7MtdxBXoqhxwsWjav7oim7Whc6S9wq/i/uUMTWAzq/gijq1InSgn2yTnh43kR+SFvcSyEF0GCNu1PQ==} 688 | engines: {node: '>= 10'} 689 | cpu: [arm64] 690 | os: [linux] 691 | 692 | '@tailwindcss/oxide-linux-arm64-musl@4.1.5': 693 | resolution: {integrity: sha512-fg0F6nAeYcJ3CriqDT1iVrqALMwD37+sLzXs8Rjy8Z1ZHshJoYceodfyUwGJEsQoTyWbliFNRs2wMQNXtT7MVA==} 694 | engines: {node: '>= 10'} 695 | cpu: [arm64] 696 | os: [linux] 697 | 698 | '@tailwindcss/oxide-linux-x64-gnu@4.1.5': 699 | resolution: {integrity: sha512-SO+F2YEIAHa1AITwc8oPwMOWhgorPzzcbhWEb+4oLi953h45FklDmM8dPSZ7hNHpIk9p/SCZKUYn35t5fjGtHA==} 700 | engines: {node: '>= 10'} 701 | cpu: [x64] 702 | os: [linux] 703 | 704 | '@tailwindcss/oxide-linux-x64-musl@4.1.5': 705 | resolution: {integrity: sha512-6UbBBplywkk/R+PqqioskUeXfKcBht3KU7juTi1UszJLx0KPXUo10v2Ok04iBJIaDPkIFkUOVboXms5Yxvaz+g==} 706 | engines: {node: '>= 10'} 707 | cpu: [x64] 708 | os: [linux] 709 | 710 | '@tailwindcss/oxide-wasm32-wasi@4.1.5': 711 | resolution: {integrity: sha512-hwALf2K9FHuiXTPqmo1KeOb83fTRNbe9r/Ixv9ZNQ/R24yw8Ge1HOWDDgTdtzntIaIUJG5dfXCf4g9AD4RiyhQ==} 712 | engines: {node: '>=14.0.0'} 713 | cpu: [wasm32] 714 | bundledDependencies: 715 | - '@napi-rs/wasm-runtime' 716 | - '@emnapi/core' 717 | - '@emnapi/runtime' 718 | - '@tybys/wasm-util' 719 | - '@emnapi/wasi-threads' 720 | - tslib 721 | 722 | '@tailwindcss/oxide-win32-arm64-msvc@4.1.5': 723 | resolution: {integrity: sha512-oDKncffWzaovJbkuR7/OTNFRJQVdiw/n8HnzaCItrNQUeQgjy7oUiYpsm9HUBgpmvmDpSSbGaCa2Evzvk3eFmA==} 724 | engines: {node: '>= 10'} 725 | cpu: [arm64] 726 | os: [win32] 727 | 728 | '@tailwindcss/oxide-win32-x64-msvc@4.1.5': 729 | resolution: {integrity: sha512-WiR4dtyrFdbb+ov0LK+7XsFOsG+0xs0PKZKkt41KDn9jYpO7baE3bXiudPVkTqUEwNfiglCygQHl2jklvSBi7Q==} 730 | engines: {node: '>= 10'} 731 | cpu: [x64] 732 | os: [win32] 733 | 734 | '@tailwindcss/oxide@4.1.5': 735 | resolution: {integrity: sha512-1n4br1znquEvyW/QuqMKQZlBen+jxAbvyduU87RS8R3tUSvByAkcaMTkJepNIrTlYhD+U25K4iiCIxE6BGdRYA==} 736 | engines: {node: '>= 10'} 737 | 738 | '@tailwindcss/postcss@4.1.5': 739 | resolution: {integrity: sha512-5lAC2/pzuyfhsFgk6I58HcNy6vPK3dV/PoPxSDuOTVbDvCddYHzHiJZZInGIY0venvzzfrTEUAXJFULAfFmObg==} 740 | 741 | '@tybys/wasm-util@0.9.0': 742 | resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} 743 | 744 | '@types/estree@1.0.7': 745 | resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} 746 | 747 | '@types/json-schema@7.0.15': 748 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 749 | 750 | '@types/json5@0.0.29': 751 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 752 | 753 | '@types/node@22.15.3': 754 | resolution: {integrity: sha512-lX7HFZeHf4QG/J7tBZqrCAXwz9J5RD56Y6MpP0eJkka8p+K0RY/yBTW7CYFJ4VGCclxqOLKmiGP5juQc6MKgcw==} 755 | 756 | '@types/react-dom@19.1.3': 757 | resolution: {integrity: sha512-rJXC08OG0h3W6wDMFxQrZF00Kq6qQvw0djHRdzl3U5DnIERz0MRce3WVc7IS6JYBwtaP/DwYtRRjVlvivNveKg==} 758 | peerDependencies: 759 | '@types/react': ^19.0.0 760 | 761 | '@types/react@19.1.2': 762 | resolution: {integrity: sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw==} 763 | 764 | '@typescript-eslint/eslint-plugin@8.31.1': 765 | resolution: {integrity: sha512-oUlH4h1ABavI4F0Xnl8/fOtML/eu8nI2A1nYd+f+55XI0BLu+RIqKoCiZKNo6DtqZBEQm5aNKA20G3Z5w3R6GQ==} 766 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 767 | peerDependencies: 768 | '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 769 | eslint: ^8.57.0 || ^9.0.0 770 | typescript: '>=4.8.4 <5.9.0' 771 | 772 | '@typescript-eslint/parser@8.31.1': 773 | resolution: {integrity: sha512-oU/OtYVydhXnumd0BobL9rkJg7wFJ9bFFPmSmB/bf/XWN85hlViji59ko6bSKBXyseT9V8l+CN1nwmlbiN0G7Q==} 774 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 775 | peerDependencies: 776 | eslint: ^8.57.0 || ^9.0.0 777 | typescript: '>=4.8.4 <5.9.0' 778 | 779 | '@typescript-eslint/scope-manager@8.31.1': 780 | resolution: {integrity: sha512-BMNLOElPxrtNQMIsFHE+3P0Yf1z0dJqV9zLdDxN/xLlWMlXK/ApEsVEKzpizg9oal8bAT5Sc7+ocal7AC1HCVw==} 781 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 782 | 783 | '@typescript-eslint/type-utils@8.31.1': 784 | resolution: {integrity: sha512-fNaT/m9n0+dpSp8G/iOQ05GoHYXbxw81x+yvr7TArTuZuCA6VVKbqWYVZrV5dVagpDTtj/O8k5HBEE/p/HM5LA==} 785 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 786 | peerDependencies: 787 | eslint: ^8.57.0 || ^9.0.0 788 | typescript: '>=4.8.4 <5.9.0' 789 | 790 | '@typescript-eslint/types@8.31.1': 791 | resolution: {integrity: sha512-SfepaEFUDQYRoA70DD9GtytljBePSj17qPxFHA/h3eg6lPTqGJ5mWOtbXCk1YrVU1cTJRd14nhaXWFu0l2troQ==} 792 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 793 | 794 | '@typescript-eslint/typescript-estree@8.31.1': 795 | resolution: {integrity: sha512-kaA0ueLe2v7KunYOyWYtlf/QhhZb7+qh4Yw6Ni5kgukMIG+iP773tjgBiLWIXYumWCwEq3nLW+TUywEp8uEeag==} 796 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 797 | peerDependencies: 798 | typescript: '>=4.8.4 <5.9.0' 799 | 800 | '@typescript-eslint/utils@8.31.1': 801 | resolution: {integrity: sha512-2DSI4SNfF5T4oRveQ4nUrSjUqjMND0nLq9rEkz0gfGr3tg0S5KB6DhwR+WZPCjzkZl3cH+4x2ce3EsL50FubjQ==} 802 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 803 | peerDependencies: 804 | eslint: ^8.57.0 || ^9.0.0 805 | typescript: '>=4.8.4 <5.9.0' 806 | 807 | '@typescript-eslint/visitor-keys@8.31.1': 808 | resolution: {integrity: sha512-I+/rgqOVBn6f0o7NDTmAPWWC6NuqhV174lfYvAm9fUaWeiefLdux9/YI3/nLugEn9L8fcSi0XmpKi/r5u0nmpw==} 809 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 810 | 811 | '@unrs/resolver-binding-darwin-arm64@1.7.2': 812 | resolution: {integrity: sha512-vxtBno4xvowwNmO/ASL0Y45TpHqmNkAaDtz4Jqb+clmcVSSl8XCG/PNFFkGsXXXS6AMjP+ja/TtNCFFa1QwLRg==} 813 | cpu: [arm64] 814 | os: [darwin] 815 | 816 | '@unrs/resolver-binding-darwin-x64@1.7.2': 817 | resolution: {integrity: sha512-qhVa8ozu92C23Hsmv0BF4+5Dyyd5STT1FolV4whNgbY6mj3kA0qsrGPe35zNR3wAN7eFict3s4Rc2dDTPBTuFQ==} 818 | cpu: [x64] 819 | os: [darwin] 820 | 821 | '@unrs/resolver-binding-freebsd-x64@1.7.2': 822 | resolution: {integrity: sha512-zKKdm2uMXqLFX6Ac7K5ElnnG5VIXbDlFWzg4WJ8CGUedJryM5A3cTgHuGMw1+P5ziV8CRhnSEgOnurTI4vpHpg==} 823 | cpu: [x64] 824 | os: [freebsd] 825 | 826 | '@unrs/resolver-binding-linux-arm-gnueabihf@1.7.2': 827 | resolution: {integrity: sha512-8N1z1TbPnHH+iDS/42GJ0bMPLiGK+cUqOhNbMKtWJ4oFGzqSJk/zoXFzcQkgtI63qMcUI7wW1tq2usZQSb2jxw==} 828 | cpu: [arm] 829 | os: [linux] 830 | 831 | '@unrs/resolver-binding-linux-arm-musleabihf@1.7.2': 832 | resolution: {integrity: sha512-tjYzI9LcAXR9MYd9rO45m1s0B/6bJNuZ6jeOxo1pq1K6OBuRMMmfyvJYval3s9FPPGmrldYA3mi4gWDlWuTFGA==} 833 | cpu: [arm] 834 | os: [linux] 835 | 836 | '@unrs/resolver-binding-linux-arm64-gnu@1.7.2': 837 | resolution: {integrity: sha512-jon9M7DKRLGZ9VYSkFMflvNqu9hDtOCEnO2QAryFWgT6o6AXU8du56V7YqnaLKr6rAbZBWYsYpikF226v423QA==} 838 | cpu: [arm64] 839 | os: [linux] 840 | 841 | '@unrs/resolver-binding-linux-arm64-musl@1.7.2': 842 | resolution: {integrity: sha512-c8Cg4/h+kQ63pL43wBNaVMmOjXI/X62wQmru51qjfTvI7kmCy5uHTJvK/9LrF0G8Jdx8r34d019P1DVJmhXQpA==} 843 | cpu: [arm64] 844 | os: [linux] 845 | 846 | '@unrs/resolver-binding-linux-ppc64-gnu@1.7.2': 847 | resolution: {integrity: sha512-A+lcwRFyrjeJmv3JJvhz5NbcCkLQL6Mk16kHTNm6/aGNc4FwPHPE4DR9DwuCvCnVHvF5IAd9U4VIs/VvVir5lg==} 848 | cpu: [ppc64] 849 | os: [linux] 850 | 851 | '@unrs/resolver-binding-linux-riscv64-gnu@1.7.2': 852 | resolution: {integrity: sha512-hQQ4TJQrSQW8JlPm7tRpXN8OCNP9ez7PajJNjRD1ZTHQAy685OYqPrKjfaMw/8LiHCt8AZ74rfUVHP9vn0N69Q==} 853 | cpu: [riscv64] 854 | os: [linux] 855 | 856 | '@unrs/resolver-binding-linux-riscv64-musl@1.7.2': 857 | resolution: {integrity: sha512-NoAGbiqrxtY8kVooZ24i70CjLDlUFI7nDj3I9y54U94p+3kPxwd2L692YsdLa+cqQ0VoqMWoehDFp21PKRUoIQ==} 858 | cpu: [riscv64] 859 | os: [linux] 860 | 861 | '@unrs/resolver-binding-linux-s390x-gnu@1.7.2': 862 | resolution: {integrity: sha512-KaZByo8xuQZbUhhreBTW+yUnOIHUsv04P8lKjQ5otiGoSJ17ISGYArc+4vKdLEpGaLbemGzr4ZeUbYQQsLWFjA==} 863 | cpu: [s390x] 864 | os: [linux] 865 | 866 | '@unrs/resolver-binding-linux-x64-gnu@1.7.2': 867 | resolution: {integrity: sha512-dEidzJDubxxhUCBJ/SHSMJD/9q7JkyfBMT77Px1npl4xpg9t0POLvnWywSk66BgZS/b2Hy9Y1yFaoMTFJUe9yg==} 868 | cpu: [x64] 869 | os: [linux] 870 | 871 | '@unrs/resolver-binding-linux-x64-musl@1.7.2': 872 | resolution: {integrity: sha512-RvP+Ux3wDjmnZDT4XWFfNBRVG0fMsc+yVzNFUqOflnDfZ9OYujv6nkh+GOr+watwrW4wdp6ASfG/e7bkDradsw==} 873 | cpu: [x64] 874 | os: [linux] 875 | 876 | '@unrs/resolver-binding-wasm32-wasi@1.7.2': 877 | resolution: {integrity: sha512-y797JBmO9IsvXVRCKDXOxjyAE4+CcZpla2GSoBQ33TVb3ILXuFnMrbR/QQZoauBYeOFuu4w3ifWLw52sdHGz6g==} 878 | engines: {node: '>=14.0.0'} 879 | cpu: [wasm32] 880 | 881 | '@unrs/resolver-binding-win32-arm64-msvc@1.7.2': 882 | resolution: {integrity: sha512-gtYTh4/VREVSLA+gHrfbWxaMO/00y+34htY7XpioBTy56YN2eBjkPrY1ML1Zys89X3RJDKVaogzwxlM1qU7egg==} 883 | cpu: [arm64] 884 | os: [win32] 885 | 886 | '@unrs/resolver-binding-win32-ia32-msvc@1.7.2': 887 | resolution: {integrity: sha512-Ywv20XHvHTDRQs12jd3MY8X5C8KLjDbg/jyaal/QLKx3fAShhJyD4blEANInsjxW3P7isHx1Blt56iUDDJO3jg==} 888 | cpu: [ia32] 889 | os: [win32] 890 | 891 | '@unrs/resolver-binding-win32-x64-msvc@1.7.2': 892 | resolution: {integrity: sha512-friS8NEQfHaDbkThxopGk+LuE5v3iY0StruifjQEt7SLbA46OnfgMO15sOTkbpJkol6RB+1l1TYPXh0sCddpvA==} 893 | cpu: [x64] 894 | os: [win32] 895 | 896 | acorn-jsx@5.3.2: 897 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 898 | peerDependencies: 899 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 900 | 901 | acorn@8.14.1: 902 | resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} 903 | engines: {node: '>=0.4.0'} 904 | hasBin: true 905 | 906 | ai@5.0.0-beta.10: 907 | resolution: {integrity: sha512-99NBfy2yqN/XkomQ24X1wIb0m7IjHUW3/4W7cskq3cxRjHrdSt3apfn7ao6tXwBXD+6hro9qar7AQhhaQ6n8yw==} 908 | engines: {node: '>=18'} 909 | peerDependencies: 910 | zod: ^3.25.49 911 | 912 | ajv@6.12.6: 913 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 914 | 915 | ansi-styles@4.3.0: 916 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 917 | engines: {node: '>=8'} 918 | 919 | argparse@2.0.1: 920 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 921 | 922 | aria-hidden@1.2.4: 923 | resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} 924 | engines: {node: '>=10'} 925 | 926 | aria-query@5.3.2: 927 | resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} 928 | engines: {node: '>= 0.4'} 929 | 930 | array-buffer-byte-length@1.0.2: 931 | resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} 932 | engines: {node: '>= 0.4'} 933 | 934 | array-includes@3.1.8: 935 | resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} 936 | engines: {node: '>= 0.4'} 937 | 938 | array.prototype.findlast@1.2.5: 939 | resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} 940 | engines: {node: '>= 0.4'} 941 | 942 | array.prototype.findlastindex@1.2.6: 943 | resolution: {integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==} 944 | engines: {node: '>= 0.4'} 945 | 946 | array.prototype.flat@1.3.3: 947 | resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} 948 | engines: {node: '>= 0.4'} 949 | 950 | array.prototype.flatmap@1.3.3: 951 | resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} 952 | engines: {node: '>= 0.4'} 953 | 954 | array.prototype.tosorted@1.1.4: 955 | resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} 956 | engines: {node: '>= 0.4'} 957 | 958 | arraybuffer.prototype.slice@1.0.4: 959 | resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} 960 | engines: {node: '>= 0.4'} 961 | 962 | ast-types-flow@0.0.8: 963 | resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} 964 | 965 | async-function@1.0.0: 966 | resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} 967 | engines: {node: '>= 0.4'} 968 | 969 | available-typed-arrays@1.0.7: 970 | resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} 971 | engines: {node: '>= 0.4'} 972 | 973 | axe-core@4.10.3: 974 | resolution: {integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==} 975 | engines: {node: '>=4'} 976 | 977 | axobject-query@4.1.0: 978 | resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} 979 | engines: {node: '>= 0.4'} 980 | 981 | balanced-match@1.0.2: 982 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 983 | 984 | brace-expansion@1.1.11: 985 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 986 | 987 | brace-expansion@2.0.1: 988 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 989 | 990 | braces@3.0.3: 991 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 992 | engines: {node: '>=8'} 993 | 994 | busboy@1.6.0: 995 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} 996 | engines: {node: '>=10.16.0'} 997 | 998 | call-bind-apply-helpers@1.0.2: 999 | resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} 1000 | engines: {node: '>= 0.4'} 1001 | 1002 | call-bind@1.0.8: 1003 | resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} 1004 | engines: {node: '>= 0.4'} 1005 | 1006 | call-bound@1.0.4: 1007 | resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} 1008 | engines: {node: '>= 0.4'} 1009 | 1010 | callsites@3.1.0: 1011 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 1012 | engines: {node: '>=6'} 1013 | 1014 | caniuse-lite@1.0.30001716: 1015 | resolution: {integrity: sha512-49/c1+x3Kwz7ZIWt+4DvK3aMJy9oYXXG6/97JKsnjdCk/6n9vVyWL8NAwVt95Lwt9eigI10Hl782kDfZUUlRXw==} 1016 | 1017 | chalk@4.1.2: 1018 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 1019 | engines: {node: '>=10'} 1020 | 1021 | class-variance-authority@0.7.1: 1022 | resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} 1023 | 1024 | client-only@0.0.1: 1025 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} 1026 | 1027 | clsx@2.1.1: 1028 | resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} 1029 | engines: {node: '>=6'} 1030 | 1031 | color-convert@2.0.1: 1032 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1033 | engines: {node: '>=7.0.0'} 1034 | 1035 | color-name@1.1.4: 1036 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1037 | 1038 | color-string@1.9.1: 1039 | resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} 1040 | 1041 | color@4.2.3: 1042 | resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} 1043 | engines: {node: '>=12.5.0'} 1044 | 1045 | concat-map@0.0.1: 1046 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 1047 | 1048 | cross-spawn@7.0.6: 1049 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 1050 | engines: {node: '>= 8'} 1051 | 1052 | csstype@3.1.3: 1053 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 1054 | 1055 | damerau-levenshtein@1.0.8: 1056 | resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} 1057 | 1058 | data-view-buffer@1.0.2: 1059 | resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} 1060 | engines: {node: '>= 0.4'} 1061 | 1062 | data-view-byte-length@1.0.2: 1063 | resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} 1064 | engines: {node: '>= 0.4'} 1065 | 1066 | data-view-byte-offset@1.0.1: 1067 | resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} 1068 | engines: {node: '>= 0.4'} 1069 | 1070 | debug@3.2.7: 1071 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 1072 | peerDependencies: 1073 | supports-color: '*' 1074 | peerDependenciesMeta: 1075 | supports-color: 1076 | optional: true 1077 | 1078 | debug@4.4.0: 1079 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} 1080 | engines: {node: '>=6.0'} 1081 | peerDependencies: 1082 | supports-color: '*' 1083 | peerDependenciesMeta: 1084 | supports-color: 1085 | optional: true 1086 | 1087 | deep-is@0.1.4: 1088 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 1089 | 1090 | define-data-property@1.1.4: 1091 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 1092 | engines: {node: '>= 0.4'} 1093 | 1094 | define-properties@1.2.1: 1095 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} 1096 | engines: {node: '>= 0.4'} 1097 | 1098 | dequal@2.0.3: 1099 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} 1100 | engines: {node: '>=6'} 1101 | 1102 | detect-libc@2.0.4: 1103 | resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} 1104 | engines: {node: '>=8'} 1105 | 1106 | detect-node-es@1.1.0: 1107 | resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} 1108 | 1109 | doctrine@2.1.0: 1110 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 1111 | engines: {node: '>=0.10.0'} 1112 | 1113 | dunder-proto@1.0.1: 1114 | resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} 1115 | engines: {node: '>= 0.4'} 1116 | 1117 | emoji-regex@9.2.2: 1118 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 1119 | 1120 | enhanced-resolve@5.18.1: 1121 | resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} 1122 | engines: {node: '>=10.13.0'} 1123 | 1124 | es-abstract@1.23.9: 1125 | resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==} 1126 | engines: {node: '>= 0.4'} 1127 | 1128 | es-define-property@1.0.1: 1129 | resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 1130 | engines: {node: '>= 0.4'} 1131 | 1132 | es-errors@1.3.0: 1133 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 1134 | engines: {node: '>= 0.4'} 1135 | 1136 | es-iterator-helpers@1.2.1: 1137 | resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==} 1138 | engines: {node: '>= 0.4'} 1139 | 1140 | es-object-atoms@1.1.1: 1141 | resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} 1142 | engines: {node: '>= 0.4'} 1143 | 1144 | es-set-tostringtag@2.1.0: 1145 | resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} 1146 | engines: {node: '>= 0.4'} 1147 | 1148 | es-shim-unscopables@1.1.0: 1149 | resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} 1150 | engines: {node: '>= 0.4'} 1151 | 1152 | es-to-primitive@1.3.0: 1153 | resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} 1154 | engines: {node: '>= 0.4'} 1155 | 1156 | escape-string-regexp@4.0.0: 1157 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1158 | engines: {node: '>=10'} 1159 | 1160 | eslint-config-next@15.3.1: 1161 | resolution: {integrity: sha512-GnmyVd9TE/Ihe3RrvcafFhXErErtr2jS0JDeCSp3vWvy86AXwHsRBt0E3MqP/m8ACS1ivcsi5uaqjbhsG18qKw==} 1162 | peerDependencies: 1163 | eslint: ^7.23.0 || ^8.0.0 || ^9.0.0 1164 | typescript: '>=3.3.1' 1165 | peerDependenciesMeta: 1166 | typescript: 1167 | optional: true 1168 | 1169 | eslint-import-resolver-node@0.3.9: 1170 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} 1171 | 1172 | eslint-import-resolver-typescript@3.10.1: 1173 | resolution: {integrity: sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==} 1174 | engines: {node: ^14.18.0 || >=16.0.0} 1175 | peerDependencies: 1176 | eslint: '*' 1177 | eslint-plugin-import: '*' 1178 | eslint-plugin-import-x: '*' 1179 | peerDependenciesMeta: 1180 | eslint-plugin-import: 1181 | optional: true 1182 | eslint-plugin-import-x: 1183 | optional: true 1184 | 1185 | eslint-module-utils@2.12.0: 1186 | resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} 1187 | engines: {node: '>=4'} 1188 | peerDependencies: 1189 | '@typescript-eslint/parser': '*' 1190 | eslint: '*' 1191 | eslint-import-resolver-node: '*' 1192 | eslint-import-resolver-typescript: '*' 1193 | eslint-import-resolver-webpack: '*' 1194 | peerDependenciesMeta: 1195 | '@typescript-eslint/parser': 1196 | optional: true 1197 | eslint: 1198 | optional: true 1199 | eslint-import-resolver-node: 1200 | optional: true 1201 | eslint-import-resolver-typescript: 1202 | optional: true 1203 | eslint-import-resolver-webpack: 1204 | optional: true 1205 | 1206 | eslint-plugin-import@2.31.0: 1207 | resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} 1208 | engines: {node: '>=4'} 1209 | peerDependencies: 1210 | '@typescript-eslint/parser': '*' 1211 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 1212 | peerDependenciesMeta: 1213 | '@typescript-eslint/parser': 1214 | optional: true 1215 | 1216 | eslint-plugin-jsx-a11y@6.10.2: 1217 | resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==} 1218 | engines: {node: '>=4.0'} 1219 | peerDependencies: 1220 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 1221 | 1222 | eslint-plugin-react-hooks@5.2.0: 1223 | resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==} 1224 | engines: {node: '>=10'} 1225 | peerDependencies: 1226 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 1227 | 1228 | eslint-plugin-react@7.37.5: 1229 | resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==} 1230 | engines: {node: '>=4'} 1231 | peerDependencies: 1232 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 1233 | 1234 | eslint-scope@8.3.0: 1235 | resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} 1236 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1237 | 1238 | eslint-visitor-keys@3.4.3: 1239 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 1240 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1241 | 1242 | eslint-visitor-keys@4.2.0: 1243 | resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} 1244 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1245 | 1246 | eslint@9.25.1: 1247 | resolution: {integrity: sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ==} 1248 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1249 | hasBin: true 1250 | peerDependencies: 1251 | jiti: '*' 1252 | peerDependenciesMeta: 1253 | jiti: 1254 | optional: true 1255 | 1256 | espree@10.3.0: 1257 | resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} 1258 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1259 | 1260 | esquery@1.6.0: 1261 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} 1262 | engines: {node: '>=0.10'} 1263 | 1264 | esrecurse@4.3.0: 1265 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1266 | engines: {node: '>=4.0'} 1267 | 1268 | estraverse@5.3.0: 1269 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1270 | engines: {node: '>=4.0'} 1271 | 1272 | esutils@2.0.3: 1273 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1274 | engines: {node: '>=0.10.0'} 1275 | 1276 | eventsource-parser@3.0.3: 1277 | resolution: {integrity: sha512-nVpZkTMM9rF6AQ9gPJpFsNAMt48wIzB5TQgiTLdHiuO8XEDhUgZEhqKlZWXbIzo9VmJ/HvysHqEaVeD5v9TPvA==} 1278 | engines: {node: '>=20.0.0'} 1279 | 1280 | fast-deep-equal@3.1.3: 1281 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1282 | 1283 | fast-glob@3.3.1: 1284 | resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} 1285 | engines: {node: '>=8.6.0'} 1286 | 1287 | fast-glob@3.3.3: 1288 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 1289 | engines: {node: '>=8.6.0'} 1290 | 1291 | fast-json-stable-stringify@2.1.0: 1292 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1293 | 1294 | fast-levenshtein@2.0.6: 1295 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1296 | 1297 | fastq@1.19.1: 1298 | resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} 1299 | 1300 | fdir@6.4.4: 1301 | resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==} 1302 | peerDependencies: 1303 | picomatch: ^3 || ^4 1304 | peerDependenciesMeta: 1305 | picomatch: 1306 | optional: true 1307 | 1308 | file-entry-cache@8.0.0: 1309 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 1310 | engines: {node: '>=16.0.0'} 1311 | 1312 | fill-range@7.1.1: 1313 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 1314 | engines: {node: '>=8'} 1315 | 1316 | find-up@5.0.0: 1317 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1318 | engines: {node: '>=10'} 1319 | 1320 | flat-cache@4.0.1: 1321 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} 1322 | engines: {node: '>=16'} 1323 | 1324 | flatted@3.3.3: 1325 | resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} 1326 | 1327 | for-each@0.3.5: 1328 | resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} 1329 | engines: {node: '>= 0.4'} 1330 | 1331 | function-bind@1.1.2: 1332 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1333 | 1334 | function.prototype.name@1.1.8: 1335 | resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} 1336 | engines: {node: '>= 0.4'} 1337 | 1338 | functions-have-names@1.2.3: 1339 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1340 | 1341 | get-intrinsic@1.3.0: 1342 | resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} 1343 | engines: {node: '>= 0.4'} 1344 | 1345 | get-nonce@1.0.1: 1346 | resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} 1347 | engines: {node: '>=6'} 1348 | 1349 | get-proto@1.0.1: 1350 | resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} 1351 | engines: {node: '>= 0.4'} 1352 | 1353 | get-symbol-description@1.1.0: 1354 | resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} 1355 | engines: {node: '>= 0.4'} 1356 | 1357 | get-tsconfig@4.10.0: 1358 | resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} 1359 | 1360 | glob-parent@5.1.2: 1361 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1362 | engines: {node: '>= 6'} 1363 | 1364 | glob-parent@6.0.2: 1365 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1366 | engines: {node: '>=10.13.0'} 1367 | 1368 | globals@14.0.0: 1369 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} 1370 | engines: {node: '>=18'} 1371 | 1372 | globalthis@1.0.4: 1373 | resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} 1374 | engines: {node: '>= 0.4'} 1375 | 1376 | gopd@1.2.0: 1377 | resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} 1378 | engines: {node: '>= 0.4'} 1379 | 1380 | graceful-fs@4.2.11: 1381 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1382 | 1383 | graphemer@1.4.0: 1384 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1385 | 1386 | has-bigints@1.1.0: 1387 | resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} 1388 | engines: {node: '>= 0.4'} 1389 | 1390 | has-flag@4.0.0: 1391 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1392 | engines: {node: '>=8'} 1393 | 1394 | has-property-descriptors@1.0.2: 1395 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 1396 | 1397 | has-proto@1.2.0: 1398 | resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} 1399 | engines: {node: '>= 0.4'} 1400 | 1401 | has-symbols@1.1.0: 1402 | resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} 1403 | engines: {node: '>= 0.4'} 1404 | 1405 | has-tostringtag@1.0.2: 1406 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} 1407 | engines: {node: '>= 0.4'} 1408 | 1409 | hasown@2.0.2: 1410 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1411 | engines: {node: '>= 0.4'} 1412 | 1413 | ignore@5.3.2: 1414 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 1415 | engines: {node: '>= 4'} 1416 | 1417 | import-fresh@3.3.1: 1418 | resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} 1419 | engines: {node: '>=6'} 1420 | 1421 | imurmurhash@0.1.4: 1422 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1423 | engines: {node: '>=0.8.19'} 1424 | 1425 | internal-slot@1.1.0: 1426 | resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} 1427 | engines: {node: '>= 0.4'} 1428 | 1429 | is-array-buffer@3.0.5: 1430 | resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} 1431 | engines: {node: '>= 0.4'} 1432 | 1433 | is-arrayish@0.3.2: 1434 | resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} 1435 | 1436 | is-async-function@2.1.1: 1437 | resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} 1438 | engines: {node: '>= 0.4'} 1439 | 1440 | is-bigint@1.1.0: 1441 | resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} 1442 | engines: {node: '>= 0.4'} 1443 | 1444 | is-boolean-object@1.2.2: 1445 | resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} 1446 | engines: {node: '>= 0.4'} 1447 | 1448 | is-bun-module@2.0.0: 1449 | resolution: {integrity: sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==} 1450 | 1451 | is-callable@1.2.7: 1452 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 1453 | engines: {node: '>= 0.4'} 1454 | 1455 | is-core-module@2.16.1: 1456 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} 1457 | engines: {node: '>= 0.4'} 1458 | 1459 | is-data-view@1.0.2: 1460 | resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} 1461 | engines: {node: '>= 0.4'} 1462 | 1463 | is-date-object@1.1.0: 1464 | resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} 1465 | engines: {node: '>= 0.4'} 1466 | 1467 | is-extglob@2.1.1: 1468 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1469 | engines: {node: '>=0.10.0'} 1470 | 1471 | is-finalizationregistry@1.1.1: 1472 | resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} 1473 | engines: {node: '>= 0.4'} 1474 | 1475 | is-generator-function@1.1.0: 1476 | resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} 1477 | engines: {node: '>= 0.4'} 1478 | 1479 | is-glob@4.0.3: 1480 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1481 | engines: {node: '>=0.10.0'} 1482 | 1483 | is-map@2.0.3: 1484 | resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} 1485 | engines: {node: '>= 0.4'} 1486 | 1487 | is-number-object@1.1.1: 1488 | resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} 1489 | engines: {node: '>= 0.4'} 1490 | 1491 | is-number@7.0.0: 1492 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1493 | engines: {node: '>=0.12.0'} 1494 | 1495 | is-regex@1.2.1: 1496 | resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} 1497 | engines: {node: '>= 0.4'} 1498 | 1499 | is-set@2.0.3: 1500 | resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} 1501 | engines: {node: '>= 0.4'} 1502 | 1503 | is-shared-array-buffer@1.0.4: 1504 | resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} 1505 | engines: {node: '>= 0.4'} 1506 | 1507 | is-string@1.1.1: 1508 | resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} 1509 | engines: {node: '>= 0.4'} 1510 | 1511 | is-symbol@1.1.1: 1512 | resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} 1513 | engines: {node: '>= 0.4'} 1514 | 1515 | is-typed-array@1.1.15: 1516 | resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} 1517 | engines: {node: '>= 0.4'} 1518 | 1519 | is-weakmap@2.0.2: 1520 | resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} 1521 | engines: {node: '>= 0.4'} 1522 | 1523 | is-weakref@1.1.1: 1524 | resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} 1525 | engines: {node: '>= 0.4'} 1526 | 1527 | is-weakset@2.0.4: 1528 | resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} 1529 | engines: {node: '>= 0.4'} 1530 | 1531 | isarray@2.0.5: 1532 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 1533 | 1534 | isexe@2.0.0: 1535 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1536 | 1537 | iterator.prototype@1.1.5: 1538 | resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} 1539 | engines: {node: '>= 0.4'} 1540 | 1541 | jiti@2.4.2: 1542 | resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} 1543 | hasBin: true 1544 | 1545 | js-tokens@4.0.0: 1546 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1547 | 1548 | js-yaml@4.1.0: 1549 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1550 | hasBin: true 1551 | 1552 | json-buffer@3.0.1: 1553 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1554 | 1555 | json-schema-traverse@0.4.1: 1556 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1557 | 1558 | json-schema@0.4.0: 1559 | resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} 1560 | 1561 | json-stable-stringify-without-jsonify@1.0.1: 1562 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1563 | 1564 | json5@1.0.2: 1565 | resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} 1566 | hasBin: true 1567 | 1568 | jsx-ast-utils@3.3.5: 1569 | resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} 1570 | engines: {node: '>=4.0'} 1571 | 1572 | keyv@4.5.4: 1573 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1574 | 1575 | language-subtag-registry@0.3.23: 1576 | resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} 1577 | 1578 | language-tags@1.0.9: 1579 | resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} 1580 | engines: {node: '>=0.10'} 1581 | 1582 | levn@0.4.1: 1583 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1584 | engines: {node: '>= 0.8.0'} 1585 | 1586 | lightningcss-darwin-arm64@1.29.2: 1587 | resolution: {integrity: sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA==} 1588 | engines: {node: '>= 12.0.0'} 1589 | cpu: [arm64] 1590 | os: [darwin] 1591 | 1592 | lightningcss-darwin-x64@1.29.2: 1593 | resolution: {integrity: sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w==} 1594 | engines: {node: '>= 12.0.0'} 1595 | cpu: [x64] 1596 | os: [darwin] 1597 | 1598 | lightningcss-freebsd-x64@1.29.2: 1599 | resolution: {integrity: sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg==} 1600 | engines: {node: '>= 12.0.0'} 1601 | cpu: [x64] 1602 | os: [freebsd] 1603 | 1604 | lightningcss-linux-arm-gnueabihf@1.29.2: 1605 | resolution: {integrity: sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg==} 1606 | engines: {node: '>= 12.0.0'} 1607 | cpu: [arm] 1608 | os: [linux] 1609 | 1610 | lightningcss-linux-arm64-gnu@1.29.2: 1611 | resolution: {integrity: sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ==} 1612 | engines: {node: '>= 12.0.0'} 1613 | cpu: [arm64] 1614 | os: [linux] 1615 | 1616 | lightningcss-linux-arm64-musl@1.29.2: 1617 | resolution: {integrity: sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==} 1618 | engines: {node: '>= 12.0.0'} 1619 | cpu: [arm64] 1620 | os: [linux] 1621 | 1622 | lightningcss-linux-x64-gnu@1.29.2: 1623 | resolution: {integrity: sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==} 1624 | engines: {node: '>= 12.0.0'} 1625 | cpu: [x64] 1626 | os: [linux] 1627 | 1628 | lightningcss-linux-x64-musl@1.29.2: 1629 | resolution: {integrity: sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==} 1630 | engines: {node: '>= 12.0.0'} 1631 | cpu: [x64] 1632 | os: [linux] 1633 | 1634 | lightningcss-win32-arm64-msvc@1.29.2: 1635 | resolution: {integrity: sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==} 1636 | engines: {node: '>= 12.0.0'} 1637 | cpu: [arm64] 1638 | os: [win32] 1639 | 1640 | lightningcss-win32-x64-msvc@1.29.2: 1641 | resolution: {integrity: sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA==} 1642 | engines: {node: '>= 12.0.0'} 1643 | cpu: [x64] 1644 | os: [win32] 1645 | 1646 | lightningcss@1.29.2: 1647 | resolution: {integrity: sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA==} 1648 | engines: {node: '>= 12.0.0'} 1649 | 1650 | locate-path@6.0.0: 1651 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1652 | engines: {node: '>=10'} 1653 | 1654 | lodash.merge@4.6.2: 1655 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1656 | 1657 | loose-envify@1.4.0: 1658 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 1659 | hasBin: true 1660 | 1661 | lucide-react@0.506.0: 1662 | resolution: {integrity: sha512-/2znFFzlXcZKu0ANFCnxUOBV5I2e08m19PGtb6X+BcByRj8ODlGAl3wpe4LNVrDMLJ263JoIkZn7MOGK/5sXtw==} 1663 | peerDependencies: 1664 | react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 1665 | 1666 | math-intrinsics@1.1.0: 1667 | resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 1668 | engines: {node: '>= 0.4'} 1669 | 1670 | merge2@1.4.1: 1671 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1672 | engines: {node: '>= 8'} 1673 | 1674 | micromatch@4.0.8: 1675 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1676 | engines: {node: '>=8.6'} 1677 | 1678 | minimatch@3.1.2: 1679 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1680 | 1681 | minimatch@9.0.5: 1682 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1683 | engines: {node: '>=16 || 14 >=14.17'} 1684 | 1685 | minimist@1.2.8: 1686 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 1687 | 1688 | ms@2.1.3: 1689 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1690 | 1691 | nanoid@3.3.11: 1692 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} 1693 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1694 | hasBin: true 1695 | 1696 | napi-postinstall@0.2.3: 1697 | resolution: {integrity: sha512-Mi7JISo/4Ij2tDZ2xBE2WH+/KvVlkhA6juEjpEeRAVPNCpN3nxJo/5FhDNKgBcdmcmhaH6JjgST4xY/23ZYK0w==} 1698 | engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} 1699 | hasBin: true 1700 | 1701 | natural-compare@1.4.0: 1702 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1703 | 1704 | next-themes@0.4.6: 1705 | resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==} 1706 | peerDependencies: 1707 | react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc 1708 | react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc 1709 | 1710 | next@15.3.1: 1711 | resolution: {integrity: sha512-8+dDV0xNLOgHlyBxP1GwHGVaNXsmp+2NhZEYrXr24GWLHtt27YrBPbPuHvzlhi7kZNYjeJNR93IF5zfFu5UL0g==} 1712 | engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} 1713 | hasBin: true 1714 | peerDependencies: 1715 | '@opentelemetry/api': ^1.1.0 1716 | '@playwright/test': ^1.41.2 1717 | babel-plugin-react-compiler: '*' 1718 | react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 1719 | react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 1720 | sass: ^1.3.0 1721 | peerDependenciesMeta: 1722 | '@opentelemetry/api': 1723 | optional: true 1724 | '@playwright/test': 1725 | optional: true 1726 | babel-plugin-react-compiler: 1727 | optional: true 1728 | sass: 1729 | optional: true 1730 | 1731 | object-assign@4.1.1: 1732 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1733 | engines: {node: '>=0.10.0'} 1734 | 1735 | object-inspect@1.13.4: 1736 | resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} 1737 | engines: {node: '>= 0.4'} 1738 | 1739 | object-keys@1.1.1: 1740 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 1741 | engines: {node: '>= 0.4'} 1742 | 1743 | object.assign@4.1.7: 1744 | resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} 1745 | engines: {node: '>= 0.4'} 1746 | 1747 | object.entries@1.1.9: 1748 | resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==} 1749 | engines: {node: '>= 0.4'} 1750 | 1751 | object.fromentries@2.0.8: 1752 | resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} 1753 | engines: {node: '>= 0.4'} 1754 | 1755 | object.groupby@1.0.3: 1756 | resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} 1757 | engines: {node: '>= 0.4'} 1758 | 1759 | object.values@1.2.1: 1760 | resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} 1761 | engines: {node: '>= 0.4'} 1762 | 1763 | optionator@0.9.4: 1764 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1765 | engines: {node: '>= 0.8.0'} 1766 | 1767 | own-keys@1.0.1: 1768 | resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} 1769 | engines: {node: '>= 0.4'} 1770 | 1771 | p-limit@3.1.0: 1772 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1773 | engines: {node: '>=10'} 1774 | 1775 | p-locate@5.0.0: 1776 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1777 | engines: {node: '>=10'} 1778 | 1779 | parent-module@1.0.1: 1780 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1781 | engines: {node: '>=6'} 1782 | 1783 | path-exists@4.0.0: 1784 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1785 | engines: {node: '>=8'} 1786 | 1787 | path-key@3.1.1: 1788 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1789 | engines: {node: '>=8'} 1790 | 1791 | path-parse@1.0.7: 1792 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1793 | 1794 | picocolors@1.1.1: 1795 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1796 | 1797 | picomatch@2.3.1: 1798 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1799 | engines: {node: '>=8.6'} 1800 | 1801 | picomatch@4.0.2: 1802 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} 1803 | engines: {node: '>=12'} 1804 | 1805 | possible-typed-array-names@1.1.0: 1806 | resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} 1807 | engines: {node: '>= 0.4'} 1808 | 1809 | postcss@8.4.31: 1810 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} 1811 | engines: {node: ^10 || ^12 || >=14} 1812 | 1813 | postcss@8.5.3: 1814 | resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} 1815 | engines: {node: ^10 || ^12 || >=14} 1816 | 1817 | prelude-ls@1.2.1: 1818 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1819 | engines: {node: '>= 0.8.0'} 1820 | 1821 | prop-types@15.8.1: 1822 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} 1823 | 1824 | punycode@2.3.1: 1825 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1826 | engines: {node: '>=6'} 1827 | 1828 | queue-microtask@1.2.3: 1829 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1830 | 1831 | react-dom@19.1.0: 1832 | resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==} 1833 | peerDependencies: 1834 | react: ^19.1.0 1835 | 1836 | react-is@16.13.1: 1837 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 1838 | 1839 | react-remove-scroll-bar@2.3.8: 1840 | resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} 1841 | engines: {node: '>=10'} 1842 | peerDependencies: 1843 | '@types/react': '*' 1844 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 1845 | peerDependenciesMeta: 1846 | '@types/react': 1847 | optional: true 1848 | 1849 | react-remove-scroll@2.6.3: 1850 | resolution: {integrity: sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==} 1851 | engines: {node: '>=10'} 1852 | peerDependencies: 1853 | '@types/react': '*' 1854 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc 1855 | peerDependenciesMeta: 1856 | '@types/react': 1857 | optional: true 1858 | 1859 | react-style-singleton@2.2.3: 1860 | resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} 1861 | engines: {node: '>=10'} 1862 | peerDependencies: 1863 | '@types/react': '*' 1864 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc 1865 | peerDependenciesMeta: 1866 | '@types/react': 1867 | optional: true 1868 | 1869 | react@19.1.0: 1870 | resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} 1871 | engines: {node: '>=0.10.0'} 1872 | 1873 | reflect.getprototypeof@1.0.10: 1874 | resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} 1875 | engines: {node: '>= 0.4'} 1876 | 1877 | regexp.prototype.flags@1.5.4: 1878 | resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} 1879 | engines: {node: '>= 0.4'} 1880 | 1881 | resolve-from@4.0.0: 1882 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1883 | engines: {node: '>=4'} 1884 | 1885 | resolve-pkg-maps@1.0.0: 1886 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 1887 | 1888 | resolve@1.22.10: 1889 | resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} 1890 | engines: {node: '>= 0.4'} 1891 | hasBin: true 1892 | 1893 | resolve@2.0.0-next.5: 1894 | resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} 1895 | hasBin: true 1896 | 1897 | reusify@1.1.0: 1898 | resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} 1899 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1900 | 1901 | run-parallel@1.2.0: 1902 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1903 | 1904 | safe-array-concat@1.1.3: 1905 | resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} 1906 | engines: {node: '>=0.4'} 1907 | 1908 | safe-push-apply@1.0.0: 1909 | resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} 1910 | engines: {node: '>= 0.4'} 1911 | 1912 | safe-regex-test@1.1.0: 1913 | resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} 1914 | engines: {node: '>= 0.4'} 1915 | 1916 | scheduler@0.26.0: 1917 | resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} 1918 | 1919 | semver@6.3.1: 1920 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 1921 | hasBin: true 1922 | 1923 | semver@7.7.1: 1924 | resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} 1925 | engines: {node: '>=10'} 1926 | hasBin: true 1927 | 1928 | set-function-length@1.2.2: 1929 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} 1930 | engines: {node: '>= 0.4'} 1931 | 1932 | set-function-name@2.0.2: 1933 | resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} 1934 | engines: {node: '>= 0.4'} 1935 | 1936 | set-proto@1.0.0: 1937 | resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} 1938 | engines: {node: '>= 0.4'} 1939 | 1940 | sharp@0.34.1: 1941 | resolution: {integrity: sha512-1j0w61+eVxu7DawFJtnfYcvSv6qPFvfTaqzTQ2BLknVhHTwGS8sc63ZBF4rzkWMBVKybo4S5OBtDdZahh2A1xg==} 1942 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 1943 | 1944 | shebang-command@2.0.0: 1945 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1946 | engines: {node: '>=8'} 1947 | 1948 | shebang-regex@3.0.0: 1949 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1950 | engines: {node: '>=8'} 1951 | 1952 | side-channel-list@1.0.0: 1953 | resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} 1954 | engines: {node: '>= 0.4'} 1955 | 1956 | side-channel-map@1.0.1: 1957 | resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} 1958 | engines: {node: '>= 0.4'} 1959 | 1960 | side-channel-weakmap@1.0.2: 1961 | resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} 1962 | engines: {node: '>= 0.4'} 1963 | 1964 | side-channel@1.1.0: 1965 | resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} 1966 | engines: {node: '>= 0.4'} 1967 | 1968 | simple-swizzle@0.2.2: 1969 | resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} 1970 | 1971 | source-map-js@1.2.1: 1972 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1973 | engines: {node: '>=0.10.0'} 1974 | 1975 | stable-hash@0.0.5: 1976 | resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==} 1977 | 1978 | streamsearch@1.1.0: 1979 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} 1980 | engines: {node: '>=10.0.0'} 1981 | 1982 | string.prototype.includes@2.0.1: 1983 | resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==} 1984 | engines: {node: '>= 0.4'} 1985 | 1986 | string.prototype.matchall@4.0.12: 1987 | resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} 1988 | engines: {node: '>= 0.4'} 1989 | 1990 | string.prototype.repeat@1.0.0: 1991 | resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} 1992 | 1993 | string.prototype.trim@1.2.10: 1994 | resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} 1995 | engines: {node: '>= 0.4'} 1996 | 1997 | string.prototype.trimend@1.0.9: 1998 | resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} 1999 | engines: {node: '>= 0.4'} 2000 | 2001 | string.prototype.trimstart@1.0.8: 2002 | resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} 2003 | engines: {node: '>= 0.4'} 2004 | 2005 | strip-bom@3.0.0: 2006 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 2007 | engines: {node: '>=4'} 2008 | 2009 | strip-json-comments@3.1.1: 2010 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 2011 | engines: {node: '>=8'} 2012 | 2013 | styled-jsx@5.1.6: 2014 | resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} 2015 | engines: {node: '>= 12.0.0'} 2016 | peerDependencies: 2017 | '@babel/core': '*' 2018 | babel-plugin-macros: '*' 2019 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' 2020 | peerDependenciesMeta: 2021 | '@babel/core': 2022 | optional: true 2023 | babel-plugin-macros: 2024 | optional: true 2025 | 2026 | supports-color@7.2.0: 2027 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2028 | engines: {node: '>=8'} 2029 | 2030 | supports-preserve-symlinks-flag@1.0.0: 2031 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2032 | engines: {node: '>= 0.4'} 2033 | 2034 | swr@2.3.4: 2035 | resolution: {integrity: sha512-bYd2lrhc+VarcpkgWclcUi92wYCpOgMws9Sd1hG1ntAu0NEy+14CbotuFjshBU2kt9rYj9TSmDcybpxpeTU1fg==} 2036 | peerDependencies: 2037 | react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 2038 | 2039 | tailwind-merge@3.2.0: 2040 | resolution: {integrity: sha512-FQT/OVqCD+7edmmJpsgCsY820RTD5AkBryuG5IUqR5YQZSdj5xlH5nLgH7YPths7WsLPSpSBNneJdM8aS8aeFA==} 2041 | 2042 | tailwindcss@4.1.5: 2043 | resolution: {integrity: sha512-nYtSPfWGDiWgCkwQG/m+aX83XCwf62sBgg3bIlNiiOcggnS1x3uVRDAuyelBFL+vJdOPPCGElxv9DjHJjRHiVA==} 2044 | 2045 | tapable@2.2.1: 2046 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} 2047 | engines: {node: '>=6'} 2048 | 2049 | throttleit@2.1.0: 2050 | resolution: {integrity: sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==} 2051 | engines: {node: '>=18'} 2052 | 2053 | tinyglobby@0.2.13: 2054 | resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==} 2055 | engines: {node: '>=12.0.0'} 2056 | 2057 | to-regex-range@5.0.1: 2058 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2059 | engines: {node: '>=8.0'} 2060 | 2061 | ts-api-utils@2.1.0: 2062 | resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} 2063 | engines: {node: '>=18.12'} 2064 | peerDependencies: 2065 | typescript: '>=4.8.4' 2066 | 2067 | tsconfig-paths@3.15.0: 2068 | resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} 2069 | 2070 | tslib@2.8.1: 2071 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 2072 | 2073 | tw-animate-css@1.2.8: 2074 | resolution: {integrity: sha512-AxSnYRvyFnAiZCUndS3zQZhNfV/B77ZhJ+O7d3K6wfg/jKJY+yv6ahuyXwnyaYA9UdLqnpCwhTRv9pPTBnPR2g==} 2075 | 2076 | type-check@0.4.0: 2077 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 2078 | engines: {node: '>= 0.8.0'} 2079 | 2080 | typed-array-buffer@1.0.3: 2081 | resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} 2082 | engines: {node: '>= 0.4'} 2083 | 2084 | typed-array-byte-length@1.0.3: 2085 | resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} 2086 | engines: {node: '>= 0.4'} 2087 | 2088 | typed-array-byte-offset@1.0.4: 2089 | resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} 2090 | engines: {node: '>= 0.4'} 2091 | 2092 | typed-array-length@1.0.7: 2093 | resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} 2094 | engines: {node: '>= 0.4'} 2095 | 2096 | typescript@5.8.3: 2097 | resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} 2098 | engines: {node: '>=14.17'} 2099 | hasBin: true 2100 | 2101 | unbox-primitive@1.1.0: 2102 | resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} 2103 | engines: {node: '>= 0.4'} 2104 | 2105 | undici-types@6.21.0: 2106 | resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} 2107 | 2108 | unrs-resolver@1.7.2: 2109 | resolution: {integrity: sha512-BBKpaylOW8KbHsu378Zky/dGh4ckT/4NW/0SHRABdqRLcQJ2dAOjDo9g97p04sWflm0kqPqpUatxReNV/dqI5A==} 2110 | 2111 | uri-js@4.4.1: 2112 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 2113 | 2114 | use-callback-ref@1.3.3: 2115 | resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} 2116 | engines: {node: '>=10'} 2117 | peerDependencies: 2118 | '@types/react': '*' 2119 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc 2120 | peerDependenciesMeta: 2121 | '@types/react': 2122 | optional: true 2123 | 2124 | use-sidecar@1.1.3: 2125 | resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} 2126 | engines: {node: '>=10'} 2127 | peerDependencies: 2128 | '@types/react': '*' 2129 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc 2130 | peerDependenciesMeta: 2131 | '@types/react': 2132 | optional: true 2133 | 2134 | use-sync-external-store@1.5.0: 2135 | resolution: {integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==} 2136 | peerDependencies: 2137 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 2138 | 2139 | which-boxed-primitive@1.1.1: 2140 | resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} 2141 | engines: {node: '>= 0.4'} 2142 | 2143 | which-builtin-type@1.2.1: 2144 | resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} 2145 | engines: {node: '>= 0.4'} 2146 | 2147 | which-collection@1.0.2: 2148 | resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} 2149 | engines: {node: '>= 0.4'} 2150 | 2151 | which-typed-array@1.1.19: 2152 | resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} 2153 | engines: {node: '>= 0.4'} 2154 | 2155 | which@2.0.2: 2156 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2157 | engines: {node: '>= 8'} 2158 | hasBin: true 2159 | 2160 | word-wrap@1.2.5: 2161 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 2162 | engines: {node: '>=0.10.0'} 2163 | 2164 | yocto-queue@0.1.0: 2165 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 2166 | engines: {node: '>=10'} 2167 | 2168 | zod-to-json-schema@3.24.6: 2169 | resolution: {integrity: sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==} 2170 | peerDependencies: 2171 | zod: ^3.24.1 2172 | 2173 | zod@3.25.49: 2174 | resolution: {integrity: sha512-JMMPMy9ZBk3XFEdbM3iL1brx4NUSejd6xr3ELrrGEfGb355gjhiAWtG3K5o+AViV/3ZfkIrCzXsZn6SbLwTR8Q==} 2175 | 2176 | snapshots: 2177 | 2178 | '@ai-sdk/gateway@1.0.0-beta.4(zod@3.25.49)': 2179 | dependencies: 2180 | '@ai-sdk/provider': 2.0.0-beta.1 2181 | '@ai-sdk/provider-utils': 3.0.0-beta.2(zod@3.25.49) 2182 | zod: 3.25.49 2183 | 2184 | '@ai-sdk/provider-utils@3.0.0-beta.2(zod@3.25.49)': 2185 | dependencies: 2186 | '@ai-sdk/provider': 2.0.0-beta.1 2187 | '@standard-schema/spec': 1.0.0 2188 | eventsource-parser: 3.0.3 2189 | zod: 3.25.49 2190 | zod-to-json-schema: 3.24.6(zod@3.25.49) 2191 | 2192 | '@ai-sdk/provider@2.0.0-beta.1': 2193 | dependencies: 2194 | json-schema: 0.4.0 2195 | 2196 | '@ai-sdk/react@2.0.0-beta.10(react@19.1.0)(zod@3.25.49)': 2197 | dependencies: 2198 | '@ai-sdk/provider-utils': 3.0.0-beta.2(zod@3.25.49) 2199 | ai: 5.0.0-beta.10(zod@3.25.49) 2200 | react: 19.1.0 2201 | swr: 2.3.4(react@19.1.0) 2202 | throttleit: 2.1.0 2203 | optionalDependencies: 2204 | zod: 3.25.49 2205 | 2206 | '@alloc/quick-lru@5.2.0': {} 2207 | 2208 | '@emnapi/core@1.4.3': 2209 | dependencies: 2210 | '@emnapi/wasi-threads': 1.0.2 2211 | tslib: 2.8.1 2212 | optional: true 2213 | 2214 | '@emnapi/runtime@1.4.3': 2215 | dependencies: 2216 | tslib: 2.8.1 2217 | optional: true 2218 | 2219 | '@emnapi/wasi-threads@1.0.2': 2220 | dependencies: 2221 | tslib: 2.8.1 2222 | optional: true 2223 | 2224 | '@eslint-community/eslint-utils@4.7.0(eslint@9.25.1(jiti@2.4.2))': 2225 | dependencies: 2226 | eslint: 9.25.1(jiti@2.4.2) 2227 | eslint-visitor-keys: 3.4.3 2228 | 2229 | '@eslint-community/regexpp@4.12.1': {} 2230 | 2231 | '@eslint/config-array@0.20.0': 2232 | dependencies: 2233 | '@eslint/object-schema': 2.1.6 2234 | debug: 4.4.0 2235 | minimatch: 3.1.2 2236 | transitivePeerDependencies: 2237 | - supports-color 2238 | 2239 | '@eslint/config-helpers@0.2.2': {} 2240 | 2241 | '@eslint/core@0.13.0': 2242 | dependencies: 2243 | '@types/json-schema': 7.0.15 2244 | 2245 | '@eslint/eslintrc@3.3.1': 2246 | dependencies: 2247 | ajv: 6.12.6 2248 | debug: 4.4.0 2249 | espree: 10.3.0 2250 | globals: 14.0.0 2251 | ignore: 5.3.2 2252 | import-fresh: 3.3.1 2253 | js-yaml: 4.1.0 2254 | minimatch: 3.1.2 2255 | strip-json-comments: 3.1.1 2256 | transitivePeerDependencies: 2257 | - supports-color 2258 | 2259 | '@eslint/js@9.25.1': {} 2260 | 2261 | '@eslint/object-schema@2.1.6': {} 2262 | 2263 | '@eslint/plugin-kit@0.2.8': 2264 | dependencies: 2265 | '@eslint/core': 0.13.0 2266 | levn: 0.4.1 2267 | 2268 | '@floating-ui/core@1.7.0': 2269 | dependencies: 2270 | '@floating-ui/utils': 0.2.9 2271 | 2272 | '@floating-ui/dom@1.7.0': 2273 | dependencies: 2274 | '@floating-ui/core': 1.7.0 2275 | '@floating-ui/utils': 0.2.9 2276 | 2277 | '@floating-ui/react-dom@2.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': 2278 | dependencies: 2279 | '@floating-ui/dom': 1.7.0 2280 | react: 19.1.0 2281 | react-dom: 19.1.0(react@19.1.0) 2282 | 2283 | '@floating-ui/utils@0.2.9': {} 2284 | 2285 | '@humanfs/core@0.19.1': {} 2286 | 2287 | '@humanfs/node@0.16.6': 2288 | dependencies: 2289 | '@humanfs/core': 0.19.1 2290 | '@humanwhocodes/retry': 0.3.1 2291 | 2292 | '@humanwhocodes/module-importer@1.0.1': {} 2293 | 2294 | '@humanwhocodes/retry@0.3.1': {} 2295 | 2296 | '@humanwhocodes/retry@0.4.2': {} 2297 | 2298 | '@img/sharp-darwin-arm64@0.34.1': 2299 | optionalDependencies: 2300 | '@img/sharp-libvips-darwin-arm64': 1.1.0 2301 | optional: true 2302 | 2303 | '@img/sharp-darwin-x64@0.34.1': 2304 | optionalDependencies: 2305 | '@img/sharp-libvips-darwin-x64': 1.1.0 2306 | optional: true 2307 | 2308 | '@img/sharp-libvips-darwin-arm64@1.1.0': 2309 | optional: true 2310 | 2311 | '@img/sharp-libvips-darwin-x64@1.1.0': 2312 | optional: true 2313 | 2314 | '@img/sharp-libvips-linux-arm64@1.1.0': 2315 | optional: true 2316 | 2317 | '@img/sharp-libvips-linux-arm@1.1.0': 2318 | optional: true 2319 | 2320 | '@img/sharp-libvips-linux-ppc64@1.1.0': 2321 | optional: true 2322 | 2323 | '@img/sharp-libvips-linux-s390x@1.1.0': 2324 | optional: true 2325 | 2326 | '@img/sharp-libvips-linux-x64@1.1.0': 2327 | optional: true 2328 | 2329 | '@img/sharp-libvips-linuxmusl-arm64@1.1.0': 2330 | optional: true 2331 | 2332 | '@img/sharp-libvips-linuxmusl-x64@1.1.0': 2333 | optional: true 2334 | 2335 | '@img/sharp-linux-arm64@0.34.1': 2336 | optionalDependencies: 2337 | '@img/sharp-libvips-linux-arm64': 1.1.0 2338 | optional: true 2339 | 2340 | '@img/sharp-linux-arm@0.34.1': 2341 | optionalDependencies: 2342 | '@img/sharp-libvips-linux-arm': 1.1.0 2343 | optional: true 2344 | 2345 | '@img/sharp-linux-s390x@0.34.1': 2346 | optionalDependencies: 2347 | '@img/sharp-libvips-linux-s390x': 1.1.0 2348 | optional: true 2349 | 2350 | '@img/sharp-linux-x64@0.34.1': 2351 | optionalDependencies: 2352 | '@img/sharp-libvips-linux-x64': 1.1.0 2353 | optional: true 2354 | 2355 | '@img/sharp-linuxmusl-arm64@0.34.1': 2356 | optionalDependencies: 2357 | '@img/sharp-libvips-linuxmusl-arm64': 1.1.0 2358 | optional: true 2359 | 2360 | '@img/sharp-linuxmusl-x64@0.34.1': 2361 | optionalDependencies: 2362 | '@img/sharp-libvips-linuxmusl-x64': 1.1.0 2363 | optional: true 2364 | 2365 | '@img/sharp-wasm32@0.34.1': 2366 | dependencies: 2367 | '@emnapi/runtime': 1.4.3 2368 | optional: true 2369 | 2370 | '@img/sharp-win32-ia32@0.34.1': 2371 | optional: true 2372 | 2373 | '@img/sharp-win32-x64@0.34.1': 2374 | optional: true 2375 | 2376 | '@napi-rs/wasm-runtime@0.2.10': 2377 | dependencies: 2378 | '@emnapi/core': 1.4.3 2379 | '@emnapi/runtime': 1.4.3 2380 | '@tybys/wasm-util': 0.9.0 2381 | optional: true 2382 | 2383 | '@next/env@15.3.1': {} 2384 | 2385 | '@next/eslint-plugin-next@15.3.1': 2386 | dependencies: 2387 | fast-glob: 3.3.1 2388 | 2389 | '@next/swc-darwin-arm64@15.3.1': 2390 | optional: true 2391 | 2392 | '@next/swc-darwin-x64@15.3.1': 2393 | optional: true 2394 | 2395 | '@next/swc-linux-arm64-gnu@15.3.1': 2396 | optional: true 2397 | 2398 | '@next/swc-linux-arm64-musl@15.3.1': 2399 | optional: true 2400 | 2401 | '@next/swc-linux-x64-gnu@15.3.1': 2402 | optional: true 2403 | 2404 | '@next/swc-linux-x64-musl@15.3.1': 2405 | optional: true 2406 | 2407 | '@next/swc-win32-arm64-msvc@15.3.1': 2408 | optional: true 2409 | 2410 | '@next/swc-win32-x64-msvc@15.3.1': 2411 | optional: true 2412 | 2413 | '@nodelib/fs.scandir@2.1.5': 2414 | dependencies: 2415 | '@nodelib/fs.stat': 2.0.5 2416 | run-parallel: 1.2.0 2417 | 2418 | '@nodelib/fs.stat@2.0.5': {} 2419 | 2420 | '@nodelib/fs.walk@1.2.8': 2421 | dependencies: 2422 | '@nodelib/fs.scandir': 2.1.5 2423 | fastq: 1.19.1 2424 | 2425 | '@nolyfill/is-core-module@1.0.39': {} 2426 | 2427 | '@opentelemetry/api@1.9.0': {} 2428 | 2429 | '@radix-ui/number@1.1.1': {} 2430 | 2431 | '@radix-ui/primitive@1.1.2': {} 2432 | 2433 | '@radix-ui/react-arrow@1.1.4(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': 2434 | dependencies: 2435 | '@radix-ui/react-primitive': 2.1.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) 2436 | react: 19.1.0 2437 | react-dom: 19.1.0(react@19.1.0) 2438 | optionalDependencies: 2439 | '@types/react': 19.1.2 2440 | '@types/react-dom': 19.1.3(@types/react@19.1.2) 2441 | 2442 | '@radix-ui/react-collection@1.1.4(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': 2443 | dependencies: 2444 | '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) 2445 | '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) 2446 | '@radix-ui/react-primitive': 2.1.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) 2447 | '@radix-ui/react-slot': 1.2.0(@types/react@19.1.2)(react@19.1.0) 2448 | react: 19.1.0 2449 | react-dom: 19.1.0(react@19.1.0) 2450 | optionalDependencies: 2451 | '@types/react': 19.1.2 2452 | '@types/react-dom': 19.1.3(@types/react@19.1.2) 2453 | 2454 | '@radix-ui/react-compose-refs@1.1.2(@types/react@19.1.2)(react@19.1.0)': 2455 | dependencies: 2456 | react: 19.1.0 2457 | optionalDependencies: 2458 | '@types/react': 19.1.2 2459 | 2460 | '@radix-ui/react-context@1.1.2(@types/react@19.1.2)(react@19.1.0)': 2461 | dependencies: 2462 | react: 19.1.0 2463 | optionalDependencies: 2464 | '@types/react': 19.1.2 2465 | 2466 | '@radix-ui/react-direction@1.1.1(@types/react@19.1.2)(react@19.1.0)': 2467 | dependencies: 2468 | react: 19.1.0 2469 | optionalDependencies: 2470 | '@types/react': 19.1.2 2471 | 2472 | '@radix-ui/react-dismissable-layer@1.1.7(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': 2473 | dependencies: 2474 | '@radix-ui/primitive': 1.1.2 2475 | '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) 2476 | '@radix-ui/react-primitive': 2.1.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) 2477 | '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) 2478 | '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.1.2)(react@19.1.0) 2479 | react: 19.1.0 2480 | react-dom: 19.1.0(react@19.1.0) 2481 | optionalDependencies: 2482 | '@types/react': 19.1.2 2483 | '@types/react-dom': 19.1.3(@types/react@19.1.2) 2484 | 2485 | '@radix-ui/react-focus-guards@1.1.2(@types/react@19.1.2)(react@19.1.0)': 2486 | dependencies: 2487 | react: 19.1.0 2488 | optionalDependencies: 2489 | '@types/react': 19.1.2 2490 | 2491 | '@radix-ui/react-focus-scope@1.1.4(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': 2492 | dependencies: 2493 | '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) 2494 | '@radix-ui/react-primitive': 2.1.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) 2495 | '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) 2496 | react: 19.1.0 2497 | react-dom: 19.1.0(react@19.1.0) 2498 | optionalDependencies: 2499 | '@types/react': 19.1.2 2500 | '@types/react-dom': 19.1.3(@types/react@19.1.2) 2501 | 2502 | '@radix-ui/react-id@1.1.1(@types/react@19.1.2)(react@19.1.0)': 2503 | dependencies: 2504 | '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) 2505 | react: 19.1.0 2506 | optionalDependencies: 2507 | '@types/react': 19.1.2 2508 | 2509 | '@radix-ui/react-popper@1.2.4(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': 2510 | dependencies: 2511 | '@floating-ui/react-dom': 2.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) 2512 | '@radix-ui/react-arrow': 1.1.4(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) 2513 | '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) 2514 | '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) 2515 | '@radix-ui/react-primitive': 2.1.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) 2516 | '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) 2517 | '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) 2518 | '@radix-ui/react-use-rect': 1.1.1(@types/react@19.1.2)(react@19.1.0) 2519 | '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.2)(react@19.1.0) 2520 | '@radix-ui/rect': 1.1.1 2521 | react: 19.1.0 2522 | react-dom: 19.1.0(react@19.1.0) 2523 | optionalDependencies: 2524 | '@types/react': 19.1.2 2525 | '@types/react-dom': 19.1.3(@types/react@19.1.2) 2526 | 2527 | '@radix-ui/react-portal@1.1.6(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': 2528 | dependencies: 2529 | '@radix-ui/react-primitive': 2.1.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) 2530 | '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) 2531 | react: 19.1.0 2532 | react-dom: 19.1.0(react@19.1.0) 2533 | optionalDependencies: 2534 | '@types/react': 19.1.2 2535 | '@types/react-dom': 19.1.3(@types/react@19.1.2) 2536 | 2537 | '@radix-ui/react-primitive@2.1.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': 2538 | dependencies: 2539 | '@radix-ui/react-slot': 1.2.0(@types/react@19.1.2)(react@19.1.0) 2540 | react: 19.1.0 2541 | react-dom: 19.1.0(react@19.1.0) 2542 | optionalDependencies: 2543 | '@types/react': 19.1.2 2544 | '@types/react-dom': 19.1.3(@types/react@19.1.2) 2545 | 2546 | '@radix-ui/react-select@2.2.2(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': 2547 | dependencies: 2548 | '@radix-ui/number': 1.1.1 2549 | '@radix-ui/primitive': 1.1.2 2550 | '@radix-ui/react-collection': 1.1.4(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) 2551 | '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) 2552 | '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) 2553 | '@radix-ui/react-direction': 1.1.1(@types/react@19.1.2)(react@19.1.0) 2554 | '@radix-ui/react-dismissable-layer': 1.1.7(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) 2555 | '@radix-ui/react-focus-guards': 1.1.2(@types/react@19.1.2)(react@19.1.0) 2556 | '@radix-ui/react-focus-scope': 1.1.4(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) 2557 | '@radix-ui/react-id': 1.1.1(@types/react@19.1.2)(react@19.1.0) 2558 | '@radix-ui/react-popper': 1.2.4(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) 2559 | '@radix-ui/react-portal': 1.1.6(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) 2560 | '@radix-ui/react-primitive': 2.1.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) 2561 | '@radix-ui/react-slot': 1.2.0(@types/react@19.1.2)(react@19.1.0) 2562 | '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) 2563 | '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) 2564 | '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) 2565 | '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.2)(react@19.1.0) 2566 | '@radix-ui/react-visually-hidden': 1.2.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) 2567 | aria-hidden: 1.2.4 2568 | react: 19.1.0 2569 | react-dom: 19.1.0(react@19.1.0) 2570 | react-remove-scroll: 2.6.3(@types/react@19.1.2)(react@19.1.0) 2571 | optionalDependencies: 2572 | '@types/react': 19.1.2 2573 | '@types/react-dom': 19.1.3(@types/react@19.1.2) 2574 | 2575 | '@radix-ui/react-slot@1.2.0(@types/react@19.1.2)(react@19.1.0)': 2576 | dependencies: 2577 | '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) 2578 | react: 19.1.0 2579 | optionalDependencies: 2580 | '@types/react': 19.1.2 2581 | 2582 | '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.1.2)(react@19.1.0)': 2583 | dependencies: 2584 | react: 19.1.0 2585 | optionalDependencies: 2586 | '@types/react': 19.1.2 2587 | 2588 | '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.1.2)(react@19.1.0)': 2589 | dependencies: 2590 | '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.1.2)(react@19.1.0) 2591 | '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) 2592 | react: 19.1.0 2593 | optionalDependencies: 2594 | '@types/react': 19.1.2 2595 | 2596 | '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.1.2)(react@19.1.0)': 2597 | dependencies: 2598 | '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) 2599 | react: 19.1.0 2600 | optionalDependencies: 2601 | '@types/react': 19.1.2 2602 | 2603 | '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.1.2)(react@19.1.0)': 2604 | dependencies: 2605 | '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) 2606 | react: 19.1.0 2607 | optionalDependencies: 2608 | '@types/react': 19.1.2 2609 | 2610 | '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.1.2)(react@19.1.0)': 2611 | dependencies: 2612 | react: 19.1.0 2613 | optionalDependencies: 2614 | '@types/react': 19.1.2 2615 | 2616 | '@radix-ui/react-use-previous@1.1.1(@types/react@19.1.2)(react@19.1.0)': 2617 | dependencies: 2618 | react: 19.1.0 2619 | optionalDependencies: 2620 | '@types/react': 19.1.2 2621 | 2622 | '@radix-ui/react-use-rect@1.1.1(@types/react@19.1.2)(react@19.1.0)': 2623 | dependencies: 2624 | '@radix-ui/rect': 1.1.1 2625 | react: 19.1.0 2626 | optionalDependencies: 2627 | '@types/react': 19.1.2 2628 | 2629 | '@radix-ui/react-use-size@1.1.1(@types/react@19.1.2)(react@19.1.0)': 2630 | dependencies: 2631 | '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) 2632 | react: 19.1.0 2633 | optionalDependencies: 2634 | '@types/react': 19.1.2 2635 | 2636 | '@radix-ui/react-visually-hidden@1.2.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': 2637 | dependencies: 2638 | '@radix-ui/react-primitive': 2.1.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) 2639 | react: 19.1.0 2640 | react-dom: 19.1.0(react@19.1.0) 2641 | optionalDependencies: 2642 | '@types/react': 19.1.2 2643 | '@types/react-dom': 19.1.3(@types/react@19.1.2) 2644 | 2645 | '@radix-ui/rect@1.1.1': {} 2646 | 2647 | '@rtsao/scc@1.1.0': {} 2648 | 2649 | '@rushstack/eslint-patch@1.11.0': {} 2650 | 2651 | '@standard-schema/spec@1.0.0': {} 2652 | 2653 | '@swc/counter@0.1.3': {} 2654 | 2655 | '@swc/helpers@0.5.15': 2656 | dependencies: 2657 | tslib: 2.8.1 2658 | 2659 | '@tailwindcss/node@4.1.5': 2660 | dependencies: 2661 | enhanced-resolve: 5.18.1 2662 | jiti: 2.4.2 2663 | lightningcss: 1.29.2 2664 | tailwindcss: 4.1.5 2665 | 2666 | '@tailwindcss/oxide-android-arm64@4.1.5': 2667 | optional: true 2668 | 2669 | '@tailwindcss/oxide-darwin-arm64@4.1.5': 2670 | optional: true 2671 | 2672 | '@tailwindcss/oxide-darwin-x64@4.1.5': 2673 | optional: true 2674 | 2675 | '@tailwindcss/oxide-freebsd-x64@4.1.5': 2676 | optional: true 2677 | 2678 | '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.5': 2679 | optional: true 2680 | 2681 | '@tailwindcss/oxide-linux-arm64-gnu@4.1.5': 2682 | optional: true 2683 | 2684 | '@tailwindcss/oxide-linux-arm64-musl@4.1.5': 2685 | optional: true 2686 | 2687 | '@tailwindcss/oxide-linux-x64-gnu@4.1.5': 2688 | optional: true 2689 | 2690 | '@tailwindcss/oxide-linux-x64-musl@4.1.5': 2691 | optional: true 2692 | 2693 | '@tailwindcss/oxide-wasm32-wasi@4.1.5': 2694 | optional: true 2695 | 2696 | '@tailwindcss/oxide-win32-arm64-msvc@4.1.5': 2697 | optional: true 2698 | 2699 | '@tailwindcss/oxide-win32-x64-msvc@4.1.5': 2700 | optional: true 2701 | 2702 | '@tailwindcss/oxide@4.1.5': 2703 | optionalDependencies: 2704 | '@tailwindcss/oxide-android-arm64': 4.1.5 2705 | '@tailwindcss/oxide-darwin-arm64': 4.1.5 2706 | '@tailwindcss/oxide-darwin-x64': 4.1.5 2707 | '@tailwindcss/oxide-freebsd-x64': 4.1.5 2708 | '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.5 2709 | '@tailwindcss/oxide-linux-arm64-gnu': 4.1.5 2710 | '@tailwindcss/oxide-linux-arm64-musl': 4.1.5 2711 | '@tailwindcss/oxide-linux-x64-gnu': 4.1.5 2712 | '@tailwindcss/oxide-linux-x64-musl': 4.1.5 2713 | '@tailwindcss/oxide-wasm32-wasi': 4.1.5 2714 | '@tailwindcss/oxide-win32-arm64-msvc': 4.1.5 2715 | '@tailwindcss/oxide-win32-x64-msvc': 4.1.5 2716 | 2717 | '@tailwindcss/postcss@4.1.5': 2718 | dependencies: 2719 | '@alloc/quick-lru': 5.2.0 2720 | '@tailwindcss/node': 4.1.5 2721 | '@tailwindcss/oxide': 4.1.5 2722 | postcss: 8.5.3 2723 | tailwindcss: 4.1.5 2724 | 2725 | '@tybys/wasm-util@0.9.0': 2726 | dependencies: 2727 | tslib: 2.8.1 2728 | optional: true 2729 | 2730 | '@types/estree@1.0.7': {} 2731 | 2732 | '@types/json-schema@7.0.15': {} 2733 | 2734 | '@types/json5@0.0.29': {} 2735 | 2736 | '@types/node@22.15.3': 2737 | dependencies: 2738 | undici-types: 6.21.0 2739 | 2740 | '@types/react-dom@19.1.3(@types/react@19.1.2)': 2741 | dependencies: 2742 | '@types/react': 19.1.2 2743 | 2744 | '@types/react@19.1.2': 2745 | dependencies: 2746 | csstype: 3.1.3 2747 | 2748 | '@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)': 2749 | dependencies: 2750 | '@eslint-community/regexpp': 4.12.1 2751 | '@typescript-eslint/parser': 8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) 2752 | '@typescript-eslint/scope-manager': 8.31.1 2753 | '@typescript-eslint/type-utils': 8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) 2754 | '@typescript-eslint/utils': 8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) 2755 | '@typescript-eslint/visitor-keys': 8.31.1 2756 | eslint: 9.25.1(jiti@2.4.2) 2757 | graphemer: 1.4.0 2758 | ignore: 5.3.2 2759 | natural-compare: 1.4.0 2760 | ts-api-utils: 2.1.0(typescript@5.8.3) 2761 | typescript: 5.8.3 2762 | transitivePeerDependencies: 2763 | - supports-color 2764 | 2765 | '@typescript-eslint/parser@8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)': 2766 | dependencies: 2767 | '@typescript-eslint/scope-manager': 8.31.1 2768 | '@typescript-eslint/types': 8.31.1 2769 | '@typescript-eslint/typescript-estree': 8.31.1(typescript@5.8.3) 2770 | '@typescript-eslint/visitor-keys': 8.31.1 2771 | debug: 4.4.0 2772 | eslint: 9.25.1(jiti@2.4.2) 2773 | typescript: 5.8.3 2774 | transitivePeerDependencies: 2775 | - supports-color 2776 | 2777 | '@typescript-eslint/scope-manager@8.31.1': 2778 | dependencies: 2779 | '@typescript-eslint/types': 8.31.1 2780 | '@typescript-eslint/visitor-keys': 8.31.1 2781 | 2782 | '@typescript-eslint/type-utils@8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)': 2783 | dependencies: 2784 | '@typescript-eslint/typescript-estree': 8.31.1(typescript@5.8.3) 2785 | '@typescript-eslint/utils': 8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) 2786 | debug: 4.4.0 2787 | eslint: 9.25.1(jiti@2.4.2) 2788 | ts-api-utils: 2.1.0(typescript@5.8.3) 2789 | typescript: 5.8.3 2790 | transitivePeerDependencies: 2791 | - supports-color 2792 | 2793 | '@typescript-eslint/types@8.31.1': {} 2794 | 2795 | '@typescript-eslint/typescript-estree@8.31.1(typescript@5.8.3)': 2796 | dependencies: 2797 | '@typescript-eslint/types': 8.31.1 2798 | '@typescript-eslint/visitor-keys': 8.31.1 2799 | debug: 4.4.0 2800 | fast-glob: 3.3.3 2801 | is-glob: 4.0.3 2802 | minimatch: 9.0.5 2803 | semver: 7.7.1 2804 | ts-api-utils: 2.1.0(typescript@5.8.3) 2805 | typescript: 5.8.3 2806 | transitivePeerDependencies: 2807 | - supports-color 2808 | 2809 | '@typescript-eslint/utils@8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)': 2810 | dependencies: 2811 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.25.1(jiti@2.4.2)) 2812 | '@typescript-eslint/scope-manager': 8.31.1 2813 | '@typescript-eslint/types': 8.31.1 2814 | '@typescript-eslint/typescript-estree': 8.31.1(typescript@5.8.3) 2815 | eslint: 9.25.1(jiti@2.4.2) 2816 | typescript: 5.8.3 2817 | transitivePeerDependencies: 2818 | - supports-color 2819 | 2820 | '@typescript-eslint/visitor-keys@8.31.1': 2821 | dependencies: 2822 | '@typescript-eslint/types': 8.31.1 2823 | eslint-visitor-keys: 4.2.0 2824 | 2825 | '@unrs/resolver-binding-darwin-arm64@1.7.2': 2826 | optional: true 2827 | 2828 | '@unrs/resolver-binding-darwin-x64@1.7.2': 2829 | optional: true 2830 | 2831 | '@unrs/resolver-binding-freebsd-x64@1.7.2': 2832 | optional: true 2833 | 2834 | '@unrs/resolver-binding-linux-arm-gnueabihf@1.7.2': 2835 | optional: true 2836 | 2837 | '@unrs/resolver-binding-linux-arm-musleabihf@1.7.2': 2838 | optional: true 2839 | 2840 | '@unrs/resolver-binding-linux-arm64-gnu@1.7.2': 2841 | optional: true 2842 | 2843 | '@unrs/resolver-binding-linux-arm64-musl@1.7.2': 2844 | optional: true 2845 | 2846 | '@unrs/resolver-binding-linux-ppc64-gnu@1.7.2': 2847 | optional: true 2848 | 2849 | '@unrs/resolver-binding-linux-riscv64-gnu@1.7.2': 2850 | optional: true 2851 | 2852 | '@unrs/resolver-binding-linux-riscv64-musl@1.7.2': 2853 | optional: true 2854 | 2855 | '@unrs/resolver-binding-linux-s390x-gnu@1.7.2': 2856 | optional: true 2857 | 2858 | '@unrs/resolver-binding-linux-x64-gnu@1.7.2': 2859 | optional: true 2860 | 2861 | '@unrs/resolver-binding-linux-x64-musl@1.7.2': 2862 | optional: true 2863 | 2864 | '@unrs/resolver-binding-wasm32-wasi@1.7.2': 2865 | dependencies: 2866 | '@napi-rs/wasm-runtime': 0.2.10 2867 | optional: true 2868 | 2869 | '@unrs/resolver-binding-win32-arm64-msvc@1.7.2': 2870 | optional: true 2871 | 2872 | '@unrs/resolver-binding-win32-ia32-msvc@1.7.2': 2873 | optional: true 2874 | 2875 | '@unrs/resolver-binding-win32-x64-msvc@1.7.2': 2876 | optional: true 2877 | 2878 | acorn-jsx@5.3.2(acorn@8.14.1): 2879 | dependencies: 2880 | acorn: 8.14.1 2881 | 2882 | acorn@8.14.1: {} 2883 | 2884 | ai@5.0.0-beta.10(zod@3.25.49): 2885 | dependencies: 2886 | '@ai-sdk/gateway': 1.0.0-beta.4(zod@3.25.49) 2887 | '@ai-sdk/provider': 2.0.0-beta.1 2888 | '@ai-sdk/provider-utils': 3.0.0-beta.2(zod@3.25.49) 2889 | '@opentelemetry/api': 1.9.0 2890 | zod: 3.25.49 2891 | 2892 | ajv@6.12.6: 2893 | dependencies: 2894 | fast-deep-equal: 3.1.3 2895 | fast-json-stable-stringify: 2.1.0 2896 | json-schema-traverse: 0.4.1 2897 | uri-js: 4.4.1 2898 | 2899 | ansi-styles@4.3.0: 2900 | dependencies: 2901 | color-convert: 2.0.1 2902 | 2903 | argparse@2.0.1: {} 2904 | 2905 | aria-hidden@1.2.4: 2906 | dependencies: 2907 | tslib: 2.8.1 2908 | 2909 | aria-query@5.3.2: {} 2910 | 2911 | array-buffer-byte-length@1.0.2: 2912 | dependencies: 2913 | call-bound: 1.0.4 2914 | is-array-buffer: 3.0.5 2915 | 2916 | array-includes@3.1.8: 2917 | dependencies: 2918 | call-bind: 1.0.8 2919 | define-properties: 1.2.1 2920 | es-abstract: 1.23.9 2921 | es-object-atoms: 1.1.1 2922 | get-intrinsic: 1.3.0 2923 | is-string: 1.1.1 2924 | 2925 | array.prototype.findlast@1.2.5: 2926 | dependencies: 2927 | call-bind: 1.0.8 2928 | define-properties: 1.2.1 2929 | es-abstract: 1.23.9 2930 | es-errors: 1.3.0 2931 | es-object-atoms: 1.1.1 2932 | es-shim-unscopables: 1.1.0 2933 | 2934 | array.prototype.findlastindex@1.2.6: 2935 | dependencies: 2936 | call-bind: 1.0.8 2937 | call-bound: 1.0.4 2938 | define-properties: 1.2.1 2939 | es-abstract: 1.23.9 2940 | es-errors: 1.3.0 2941 | es-object-atoms: 1.1.1 2942 | es-shim-unscopables: 1.1.0 2943 | 2944 | array.prototype.flat@1.3.3: 2945 | dependencies: 2946 | call-bind: 1.0.8 2947 | define-properties: 1.2.1 2948 | es-abstract: 1.23.9 2949 | es-shim-unscopables: 1.1.0 2950 | 2951 | array.prototype.flatmap@1.3.3: 2952 | dependencies: 2953 | call-bind: 1.0.8 2954 | define-properties: 1.2.1 2955 | es-abstract: 1.23.9 2956 | es-shim-unscopables: 1.1.0 2957 | 2958 | array.prototype.tosorted@1.1.4: 2959 | dependencies: 2960 | call-bind: 1.0.8 2961 | define-properties: 1.2.1 2962 | es-abstract: 1.23.9 2963 | es-errors: 1.3.0 2964 | es-shim-unscopables: 1.1.0 2965 | 2966 | arraybuffer.prototype.slice@1.0.4: 2967 | dependencies: 2968 | array-buffer-byte-length: 1.0.2 2969 | call-bind: 1.0.8 2970 | define-properties: 1.2.1 2971 | es-abstract: 1.23.9 2972 | es-errors: 1.3.0 2973 | get-intrinsic: 1.3.0 2974 | is-array-buffer: 3.0.5 2975 | 2976 | ast-types-flow@0.0.8: {} 2977 | 2978 | async-function@1.0.0: {} 2979 | 2980 | available-typed-arrays@1.0.7: 2981 | dependencies: 2982 | possible-typed-array-names: 1.1.0 2983 | 2984 | axe-core@4.10.3: {} 2985 | 2986 | axobject-query@4.1.0: {} 2987 | 2988 | balanced-match@1.0.2: {} 2989 | 2990 | brace-expansion@1.1.11: 2991 | dependencies: 2992 | balanced-match: 1.0.2 2993 | concat-map: 0.0.1 2994 | 2995 | brace-expansion@2.0.1: 2996 | dependencies: 2997 | balanced-match: 1.0.2 2998 | 2999 | braces@3.0.3: 3000 | dependencies: 3001 | fill-range: 7.1.1 3002 | 3003 | busboy@1.6.0: 3004 | dependencies: 3005 | streamsearch: 1.1.0 3006 | 3007 | call-bind-apply-helpers@1.0.2: 3008 | dependencies: 3009 | es-errors: 1.3.0 3010 | function-bind: 1.1.2 3011 | 3012 | call-bind@1.0.8: 3013 | dependencies: 3014 | call-bind-apply-helpers: 1.0.2 3015 | es-define-property: 1.0.1 3016 | get-intrinsic: 1.3.0 3017 | set-function-length: 1.2.2 3018 | 3019 | call-bound@1.0.4: 3020 | dependencies: 3021 | call-bind-apply-helpers: 1.0.2 3022 | get-intrinsic: 1.3.0 3023 | 3024 | callsites@3.1.0: {} 3025 | 3026 | caniuse-lite@1.0.30001716: {} 3027 | 3028 | chalk@4.1.2: 3029 | dependencies: 3030 | ansi-styles: 4.3.0 3031 | supports-color: 7.2.0 3032 | 3033 | class-variance-authority@0.7.1: 3034 | dependencies: 3035 | clsx: 2.1.1 3036 | 3037 | client-only@0.0.1: {} 3038 | 3039 | clsx@2.1.1: {} 3040 | 3041 | color-convert@2.0.1: 3042 | dependencies: 3043 | color-name: 1.1.4 3044 | 3045 | color-name@1.1.4: {} 3046 | 3047 | color-string@1.9.1: 3048 | dependencies: 3049 | color-name: 1.1.4 3050 | simple-swizzle: 0.2.2 3051 | optional: true 3052 | 3053 | color@4.2.3: 3054 | dependencies: 3055 | color-convert: 2.0.1 3056 | color-string: 1.9.1 3057 | optional: true 3058 | 3059 | concat-map@0.0.1: {} 3060 | 3061 | cross-spawn@7.0.6: 3062 | dependencies: 3063 | path-key: 3.1.1 3064 | shebang-command: 2.0.0 3065 | which: 2.0.2 3066 | 3067 | csstype@3.1.3: {} 3068 | 3069 | damerau-levenshtein@1.0.8: {} 3070 | 3071 | data-view-buffer@1.0.2: 3072 | dependencies: 3073 | call-bound: 1.0.4 3074 | es-errors: 1.3.0 3075 | is-data-view: 1.0.2 3076 | 3077 | data-view-byte-length@1.0.2: 3078 | dependencies: 3079 | call-bound: 1.0.4 3080 | es-errors: 1.3.0 3081 | is-data-view: 1.0.2 3082 | 3083 | data-view-byte-offset@1.0.1: 3084 | dependencies: 3085 | call-bound: 1.0.4 3086 | es-errors: 1.3.0 3087 | is-data-view: 1.0.2 3088 | 3089 | debug@3.2.7: 3090 | dependencies: 3091 | ms: 2.1.3 3092 | 3093 | debug@4.4.0: 3094 | dependencies: 3095 | ms: 2.1.3 3096 | 3097 | deep-is@0.1.4: {} 3098 | 3099 | define-data-property@1.1.4: 3100 | dependencies: 3101 | es-define-property: 1.0.1 3102 | es-errors: 1.3.0 3103 | gopd: 1.2.0 3104 | 3105 | define-properties@1.2.1: 3106 | dependencies: 3107 | define-data-property: 1.1.4 3108 | has-property-descriptors: 1.0.2 3109 | object-keys: 1.1.1 3110 | 3111 | dequal@2.0.3: {} 3112 | 3113 | detect-libc@2.0.4: {} 3114 | 3115 | detect-node-es@1.1.0: {} 3116 | 3117 | doctrine@2.1.0: 3118 | dependencies: 3119 | esutils: 2.0.3 3120 | 3121 | dunder-proto@1.0.1: 3122 | dependencies: 3123 | call-bind-apply-helpers: 1.0.2 3124 | es-errors: 1.3.0 3125 | gopd: 1.2.0 3126 | 3127 | emoji-regex@9.2.2: {} 3128 | 3129 | enhanced-resolve@5.18.1: 3130 | dependencies: 3131 | graceful-fs: 4.2.11 3132 | tapable: 2.2.1 3133 | 3134 | es-abstract@1.23.9: 3135 | dependencies: 3136 | array-buffer-byte-length: 1.0.2 3137 | arraybuffer.prototype.slice: 1.0.4 3138 | available-typed-arrays: 1.0.7 3139 | call-bind: 1.0.8 3140 | call-bound: 1.0.4 3141 | data-view-buffer: 1.0.2 3142 | data-view-byte-length: 1.0.2 3143 | data-view-byte-offset: 1.0.1 3144 | es-define-property: 1.0.1 3145 | es-errors: 1.3.0 3146 | es-object-atoms: 1.1.1 3147 | es-set-tostringtag: 2.1.0 3148 | es-to-primitive: 1.3.0 3149 | function.prototype.name: 1.1.8 3150 | get-intrinsic: 1.3.0 3151 | get-proto: 1.0.1 3152 | get-symbol-description: 1.1.0 3153 | globalthis: 1.0.4 3154 | gopd: 1.2.0 3155 | has-property-descriptors: 1.0.2 3156 | has-proto: 1.2.0 3157 | has-symbols: 1.1.0 3158 | hasown: 2.0.2 3159 | internal-slot: 1.1.0 3160 | is-array-buffer: 3.0.5 3161 | is-callable: 1.2.7 3162 | is-data-view: 1.0.2 3163 | is-regex: 1.2.1 3164 | is-shared-array-buffer: 1.0.4 3165 | is-string: 1.1.1 3166 | is-typed-array: 1.1.15 3167 | is-weakref: 1.1.1 3168 | math-intrinsics: 1.1.0 3169 | object-inspect: 1.13.4 3170 | object-keys: 1.1.1 3171 | object.assign: 4.1.7 3172 | own-keys: 1.0.1 3173 | regexp.prototype.flags: 1.5.4 3174 | safe-array-concat: 1.1.3 3175 | safe-push-apply: 1.0.0 3176 | safe-regex-test: 1.1.0 3177 | set-proto: 1.0.0 3178 | string.prototype.trim: 1.2.10 3179 | string.prototype.trimend: 1.0.9 3180 | string.prototype.trimstart: 1.0.8 3181 | typed-array-buffer: 1.0.3 3182 | typed-array-byte-length: 1.0.3 3183 | typed-array-byte-offset: 1.0.4 3184 | typed-array-length: 1.0.7 3185 | unbox-primitive: 1.1.0 3186 | which-typed-array: 1.1.19 3187 | 3188 | es-define-property@1.0.1: {} 3189 | 3190 | es-errors@1.3.0: {} 3191 | 3192 | es-iterator-helpers@1.2.1: 3193 | dependencies: 3194 | call-bind: 1.0.8 3195 | call-bound: 1.0.4 3196 | define-properties: 1.2.1 3197 | es-abstract: 1.23.9 3198 | es-errors: 1.3.0 3199 | es-set-tostringtag: 2.1.0 3200 | function-bind: 1.1.2 3201 | get-intrinsic: 1.3.0 3202 | globalthis: 1.0.4 3203 | gopd: 1.2.0 3204 | has-property-descriptors: 1.0.2 3205 | has-proto: 1.2.0 3206 | has-symbols: 1.1.0 3207 | internal-slot: 1.1.0 3208 | iterator.prototype: 1.1.5 3209 | safe-array-concat: 1.1.3 3210 | 3211 | es-object-atoms@1.1.1: 3212 | dependencies: 3213 | es-errors: 1.3.0 3214 | 3215 | es-set-tostringtag@2.1.0: 3216 | dependencies: 3217 | es-errors: 1.3.0 3218 | get-intrinsic: 1.3.0 3219 | has-tostringtag: 1.0.2 3220 | hasown: 2.0.2 3221 | 3222 | es-shim-unscopables@1.1.0: 3223 | dependencies: 3224 | hasown: 2.0.2 3225 | 3226 | es-to-primitive@1.3.0: 3227 | dependencies: 3228 | is-callable: 1.2.7 3229 | is-date-object: 1.1.0 3230 | is-symbol: 1.1.1 3231 | 3232 | escape-string-regexp@4.0.0: {} 3233 | 3234 | eslint-config-next@15.3.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3): 3235 | dependencies: 3236 | '@next/eslint-plugin-next': 15.3.1 3237 | '@rushstack/eslint-patch': 1.11.0 3238 | '@typescript-eslint/eslint-plugin': 8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) 3239 | '@typescript-eslint/parser': 8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) 3240 | eslint: 9.25.1(jiti@2.4.2) 3241 | eslint-import-resolver-node: 0.3.9 3242 | eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.31.0)(eslint@9.25.1(jiti@2.4.2)) 3243 | eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.25.1(jiti@2.4.2)) 3244 | eslint-plugin-jsx-a11y: 6.10.2(eslint@9.25.1(jiti@2.4.2)) 3245 | eslint-plugin-react: 7.37.5(eslint@9.25.1(jiti@2.4.2)) 3246 | eslint-plugin-react-hooks: 5.2.0(eslint@9.25.1(jiti@2.4.2)) 3247 | optionalDependencies: 3248 | typescript: 5.8.3 3249 | transitivePeerDependencies: 3250 | - eslint-import-resolver-webpack 3251 | - eslint-plugin-import-x 3252 | - supports-color 3253 | 3254 | eslint-import-resolver-node@0.3.9: 3255 | dependencies: 3256 | debug: 3.2.7 3257 | is-core-module: 2.16.1 3258 | resolve: 1.22.10 3259 | transitivePeerDependencies: 3260 | - supports-color 3261 | 3262 | eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.31.0)(eslint@9.25.1(jiti@2.4.2)): 3263 | dependencies: 3264 | '@nolyfill/is-core-module': 1.0.39 3265 | debug: 4.4.0 3266 | eslint: 9.25.1(jiti@2.4.2) 3267 | get-tsconfig: 4.10.0 3268 | is-bun-module: 2.0.0 3269 | stable-hash: 0.0.5 3270 | tinyglobby: 0.2.13 3271 | unrs-resolver: 1.7.2 3272 | optionalDependencies: 3273 | eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.25.1(jiti@2.4.2)) 3274 | transitivePeerDependencies: 3275 | - supports-color 3276 | 3277 | eslint-module-utils@2.12.0(@typescript-eslint/parser@8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.25.1(jiti@2.4.2)): 3278 | dependencies: 3279 | debug: 3.2.7 3280 | optionalDependencies: 3281 | '@typescript-eslint/parser': 8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) 3282 | eslint: 9.25.1(jiti@2.4.2) 3283 | eslint-import-resolver-node: 0.3.9 3284 | eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.31.0)(eslint@9.25.1(jiti@2.4.2)) 3285 | transitivePeerDependencies: 3286 | - supports-color 3287 | 3288 | eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.25.1(jiti@2.4.2)): 3289 | dependencies: 3290 | '@rtsao/scc': 1.1.0 3291 | array-includes: 3.1.8 3292 | array.prototype.findlastindex: 1.2.6 3293 | array.prototype.flat: 1.3.3 3294 | array.prototype.flatmap: 1.3.3 3295 | debug: 3.2.7 3296 | doctrine: 2.1.0 3297 | eslint: 9.25.1(jiti@2.4.2) 3298 | eslint-import-resolver-node: 0.3.9 3299 | eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.25.1(jiti@2.4.2)) 3300 | hasown: 2.0.2 3301 | is-core-module: 2.16.1 3302 | is-glob: 4.0.3 3303 | minimatch: 3.1.2 3304 | object.fromentries: 2.0.8 3305 | object.groupby: 1.0.3 3306 | object.values: 1.2.1 3307 | semver: 6.3.1 3308 | string.prototype.trimend: 1.0.9 3309 | tsconfig-paths: 3.15.0 3310 | optionalDependencies: 3311 | '@typescript-eslint/parser': 8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) 3312 | transitivePeerDependencies: 3313 | - eslint-import-resolver-typescript 3314 | - eslint-import-resolver-webpack 3315 | - supports-color 3316 | 3317 | eslint-plugin-jsx-a11y@6.10.2(eslint@9.25.1(jiti@2.4.2)): 3318 | dependencies: 3319 | aria-query: 5.3.2 3320 | array-includes: 3.1.8 3321 | array.prototype.flatmap: 1.3.3 3322 | ast-types-flow: 0.0.8 3323 | axe-core: 4.10.3 3324 | axobject-query: 4.1.0 3325 | damerau-levenshtein: 1.0.8 3326 | emoji-regex: 9.2.2 3327 | eslint: 9.25.1(jiti@2.4.2) 3328 | hasown: 2.0.2 3329 | jsx-ast-utils: 3.3.5 3330 | language-tags: 1.0.9 3331 | minimatch: 3.1.2 3332 | object.fromentries: 2.0.8 3333 | safe-regex-test: 1.1.0 3334 | string.prototype.includes: 2.0.1 3335 | 3336 | eslint-plugin-react-hooks@5.2.0(eslint@9.25.1(jiti@2.4.2)): 3337 | dependencies: 3338 | eslint: 9.25.1(jiti@2.4.2) 3339 | 3340 | eslint-plugin-react@7.37.5(eslint@9.25.1(jiti@2.4.2)): 3341 | dependencies: 3342 | array-includes: 3.1.8 3343 | array.prototype.findlast: 1.2.5 3344 | array.prototype.flatmap: 1.3.3 3345 | array.prototype.tosorted: 1.1.4 3346 | doctrine: 2.1.0 3347 | es-iterator-helpers: 1.2.1 3348 | eslint: 9.25.1(jiti@2.4.2) 3349 | estraverse: 5.3.0 3350 | hasown: 2.0.2 3351 | jsx-ast-utils: 3.3.5 3352 | minimatch: 3.1.2 3353 | object.entries: 1.1.9 3354 | object.fromentries: 2.0.8 3355 | object.values: 1.2.1 3356 | prop-types: 15.8.1 3357 | resolve: 2.0.0-next.5 3358 | semver: 6.3.1 3359 | string.prototype.matchall: 4.0.12 3360 | string.prototype.repeat: 1.0.0 3361 | 3362 | eslint-scope@8.3.0: 3363 | dependencies: 3364 | esrecurse: 4.3.0 3365 | estraverse: 5.3.0 3366 | 3367 | eslint-visitor-keys@3.4.3: {} 3368 | 3369 | eslint-visitor-keys@4.2.0: {} 3370 | 3371 | eslint@9.25.1(jiti@2.4.2): 3372 | dependencies: 3373 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.25.1(jiti@2.4.2)) 3374 | '@eslint-community/regexpp': 4.12.1 3375 | '@eslint/config-array': 0.20.0 3376 | '@eslint/config-helpers': 0.2.2 3377 | '@eslint/core': 0.13.0 3378 | '@eslint/eslintrc': 3.3.1 3379 | '@eslint/js': 9.25.1 3380 | '@eslint/plugin-kit': 0.2.8 3381 | '@humanfs/node': 0.16.6 3382 | '@humanwhocodes/module-importer': 1.0.1 3383 | '@humanwhocodes/retry': 0.4.2 3384 | '@types/estree': 1.0.7 3385 | '@types/json-schema': 7.0.15 3386 | ajv: 6.12.6 3387 | chalk: 4.1.2 3388 | cross-spawn: 7.0.6 3389 | debug: 4.4.0 3390 | escape-string-regexp: 4.0.0 3391 | eslint-scope: 8.3.0 3392 | eslint-visitor-keys: 4.2.0 3393 | espree: 10.3.0 3394 | esquery: 1.6.0 3395 | esutils: 2.0.3 3396 | fast-deep-equal: 3.1.3 3397 | file-entry-cache: 8.0.0 3398 | find-up: 5.0.0 3399 | glob-parent: 6.0.2 3400 | ignore: 5.3.2 3401 | imurmurhash: 0.1.4 3402 | is-glob: 4.0.3 3403 | json-stable-stringify-without-jsonify: 1.0.1 3404 | lodash.merge: 4.6.2 3405 | minimatch: 3.1.2 3406 | natural-compare: 1.4.0 3407 | optionator: 0.9.4 3408 | optionalDependencies: 3409 | jiti: 2.4.2 3410 | transitivePeerDependencies: 3411 | - supports-color 3412 | 3413 | espree@10.3.0: 3414 | dependencies: 3415 | acorn: 8.14.1 3416 | acorn-jsx: 5.3.2(acorn@8.14.1) 3417 | eslint-visitor-keys: 4.2.0 3418 | 3419 | esquery@1.6.0: 3420 | dependencies: 3421 | estraverse: 5.3.0 3422 | 3423 | esrecurse@4.3.0: 3424 | dependencies: 3425 | estraverse: 5.3.0 3426 | 3427 | estraverse@5.3.0: {} 3428 | 3429 | esutils@2.0.3: {} 3430 | 3431 | eventsource-parser@3.0.3: {} 3432 | 3433 | fast-deep-equal@3.1.3: {} 3434 | 3435 | fast-glob@3.3.1: 3436 | dependencies: 3437 | '@nodelib/fs.stat': 2.0.5 3438 | '@nodelib/fs.walk': 1.2.8 3439 | glob-parent: 5.1.2 3440 | merge2: 1.4.1 3441 | micromatch: 4.0.8 3442 | 3443 | fast-glob@3.3.3: 3444 | dependencies: 3445 | '@nodelib/fs.stat': 2.0.5 3446 | '@nodelib/fs.walk': 1.2.8 3447 | glob-parent: 5.1.2 3448 | merge2: 1.4.1 3449 | micromatch: 4.0.8 3450 | 3451 | fast-json-stable-stringify@2.1.0: {} 3452 | 3453 | fast-levenshtein@2.0.6: {} 3454 | 3455 | fastq@1.19.1: 3456 | dependencies: 3457 | reusify: 1.1.0 3458 | 3459 | fdir@6.4.4(picomatch@4.0.2): 3460 | optionalDependencies: 3461 | picomatch: 4.0.2 3462 | 3463 | file-entry-cache@8.0.0: 3464 | dependencies: 3465 | flat-cache: 4.0.1 3466 | 3467 | fill-range@7.1.1: 3468 | dependencies: 3469 | to-regex-range: 5.0.1 3470 | 3471 | find-up@5.0.0: 3472 | dependencies: 3473 | locate-path: 6.0.0 3474 | path-exists: 4.0.0 3475 | 3476 | flat-cache@4.0.1: 3477 | dependencies: 3478 | flatted: 3.3.3 3479 | keyv: 4.5.4 3480 | 3481 | flatted@3.3.3: {} 3482 | 3483 | for-each@0.3.5: 3484 | dependencies: 3485 | is-callable: 1.2.7 3486 | 3487 | function-bind@1.1.2: {} 3488 | 3489 | function.prototype.name@1.1.8: 3490 | dependencies: 3491 | call-bind: 1.0.8 3492 | call-bound: 1.0.4 3493 | define-properties: 1.2.1 3494 | functions-have-names: 1.2.3 3495 | hasown: 2.0.2 3496 | is-callable: 1.2.7 3497 | 3498 | functions-have-names@1.2.3: {} 3499 | 3500 | get-intrinsic@1.3.0: 3501 | dependencies: 3502 | call-bind-apply-helpers: 1.0.2 3503 | es-define-property: 1.0.1 3504 | es-errors: 1.3.0 3505 | es-object-atoms: 1.1.1 3506 | function-bind: 1.1.2 3507 | get-proto: 1.0.1 3508 | gopd: 1.2.0 3509 | has-symbols: 1.1.0 3510 | hasown: 2.0.2 3511 | math-intrinsics: 1.1.0 3512 | 3513 | get-nonce@1.0.1: {} 3514 | 3515 | get-proto@1.0.1: 3516 | dependencies: 3517 | dunder-proto: 1.0.1 3518 | es-object-atoms: 1.1.1 3519 | 3520 | get-symbol-description@1.1.0: 3521 | dependencies: 3522 | call-bound: 1.0.4 3523 | es-errors: 1.3.0 3524 | get-intrinsic: 1.3.0 3525 | 3526 | get-tsconfig@4.10.0: 3527 | dependencies: 3528 | resolve-pkg-maps: 1.0.0 3529 | 3530 | glob-parent@5.1.2: 3531 | dependencies: 3532 | is-glob: 4.0.3 3533 | 3534 | glob-parent@6.0.2: 3535 | dependencies: 3536 | is-glob: 4.0.3 3537 | 3538 | globals@14.0.0: {} 3539 | 3540 | globalthis@1.0.4: 3541 | dependencies: 3542 | define-properties: 1.2.1 3543 | gopd: 1.2.0 3544 | 3545 | gopd@1.2.0: {} 3546 | 3547 | graceful-fs@4.2.11: {} 3548 | 3549 | graphemer@1.4.0: {} 3550 | 3551 | has-bigints@1.1.0: {} 3552 | 3553 | has-flag@4.0.0: {} 3554 | 3555 | has-property-descriptors@1.0.2: 3556 | dependencies: 3557 | es-define-property: 1.0.1 3558 | 3559 | has-proto@1.2.0: 3560 | dependencies: 3561 | dunder-proto: 1.0.1 3562 | 3563 | has-symbols@1.1.0: {} 3564 | 3565 | has-tostringtag@1.0.2: 3566 | dependencies: 3567 | has-symbols: 1.1.0 3568 | 3569 | hasown@2.0.2: 3570 | dependencies: 3571 | function-bind: 1.1.2 3572 | 3573 | ignore@5.3.2: {} 3574 | 3575 | import-fresh@3.3.1: 3576 | dependencies: 3577 | parent-module: 1.0.1 3578 | resolve-from: 4.0.0 3579 | 3580 | imurmurhash@0.1.4: {} 3581 | 3582 | internal-slot@1.1.0: 3583 | dependencies: 3584 | es-errors: 1.3.0 3585 | hasown: 2.0.2 3586 | side-channel: 1.1.0 3587 | 3588 | is-array-buffer@3.0.5: 3589 | dependencies: 3590 | call-bind: 1.0.8 3591 | call-bound: 1.0.4 3592 | get-intrinsic: 1.3.0 3593 | 3594 | is-arrayish@0.3.2: 3595 | optional: true 3596 | 3597 | is-async-function@2.1.1: 3598 | dependencies: 3599 | async-function: 1.0.0 3600 | call-bound: 1.0.4 3601 | get-proto: 1.0.1 3602 | has-tostringtag: 1.0.2 3603 | safe-regex-test: 1.1.0 3604 | 3605 | is-bigint@1.1.0: 3606 | dependencies: 3607 | has-bigints: 1.1.0 3608 | 3609 | is-boolean-object@1.2.2: 3610 | dependencies: 3611 | call-bound: 1.0.4 3612 | has-tostringtag: 1.0.2 3613 | 3614 | is-bun-module@2.0.0: 3615 | dependencies: 3616 | semver: 7.7.1 3617 | 3618 | is-callable@1.2.7: {} 3619 | 3620 | is-core-module@2.16.1: 3621 | dependencies: 3622 | hasown: 2.0.2 3623 | 3624 | is-data-view@1.0.2: 3625 | dependencies: 3626 | call-bound: 1.0.4 3627 | get-intrinsic: 1.3.0 3628 | is-typed-array: 1.1.15 3629 | 3630 | is-date-object@1.1.0: 3631 | dependencies: 3632 | call-bound: 1.0.4 3633 | has-tostringtag: 1.0.2 3634 | 3635 | is-extglob@2.1.1: {} 3636 | 3637 | is-finalizationregistry@1.1.1: 3638 | dependencies: 3639 | call-bound: 1.0.4 3640 | 3641 | is-generator-function@1.1.0: 3642 | dependencies: 3643 | call-bound: 1.0.4 3644 | get-proto: 1.0.1 3645 | has-tostringtag: 1.0.2 3646 | safe-regex-test: 1.1.0 3647 | 3648 | is-glob@4.0.3: 3649 | dependencies: 3650 | is-extglob: 2.1.1 3651 | 3652 | is-map@2.0.3: {} 3653 | 3654 | is-number-object@1.1.1: 3655 | dependencies: 3656 | call-bound: 1.0.4 3657 | has-tostringtag: 1.0.2 3658 | 3659 | is-number@7.0.0: {} 3660 | 3661 | is-regex@1.2.1: 3662 | dependencies: 3663 | call-bound: 1.0.4 3664 | gopd: 1.2.0 3665 | has-tostringtag: 1.0.2 3666 | hasown: 2.0.2 3667 | 3668 | is-set@2.0.3: {} 3669 | 3670 | is-shared-array-buffer@1.0.4: 3671 | dependencies: 3672 | call-bound: 1.0.4 3673 | 3674 | is-string@1.1.1: 3675 | dependencies: 3676 | call-bound: 1.0.4 3677 | has-tostringtag: 1.0.2 3678 | 3679 | is-symbol@1.1.1: 3680 | dependencies: 3681 | call-bound: 1.0.4 3682 | has-symbols: 1.1.0 3683 | safe-regex-test: 1.1.0 3684 | 3685 | is-typed-array@1.1.15: 3686 | dependencies: 3687 | which-typed-array: 1.1.19 3688 | 3689 | is-weakmap@2.0.2: {} 3690 | 3691 | is-weakref@1.1.1: 3692 | dependencies: 3693 | call-bound: 1.0.4 3694 | 3695 | is-weakset@2.0.4: 3696 | dependencies: 3697 | call-bound: 1.0.4 3698 | get-intrinsic: 1.3.0 3699 | 3700 | isarray@2.0.5: {} 3701 | 3702 | isexe@2.0.0: {} 3703 | 3704 | iterator.prototype@1.1.5: 3705 | dependencies: 3706 | define-data-property: 1.1.4 3707 | es-object-atoms: 1.1.1 3708 | get-intrinsic: 1.3.0 3709 | get-proto: 1.0.1 3710 | has-symbols: 1.1.0 3711 | set-function-name: 2.0.2 3712 | 3713 | jiti@2.4.2: {} 3714 | 3715 | js-tokens@4.0.0: {} 3716 | 3717 | js-yaml@4.1.0: 3718 | dependencies: 3719 | argparse: 2.0.1 3720 | 3721 | json-buffer@3.0.1: {} 3722 | 3723 | json-schema-traverse@0.4.1: {} 3724 | 3725 | json-schema@0.4.0: {} 3726 | 3727 | json-stable-stringify-without-jsonify@1.0.1: {} 3728 | 3729 | json5@1.0.2: 3730 | dependencies: 3731 | minimist: 1.2.8 3732 | 3733 | jsx-ast-utils@3.3.5: 3734 | dependencies: 3735 | array-includes: 3.1.8 3736 | array.prototype.flat: 1.3.3 3737 | object.assign: 4.1.7 3738 | object.values: 1.2.1 3739 | 3740 | keyv@4.5.4: 3741 | dependencies: 3742 | json-buffer: 3.0.1 3743 | 3744 | language-subtag-registry@0.3.23: {} 3745 | 3746 | language-tags@1.0.9: 3747 | dependencies: 3748 | language-subtag-registry: 0.3.23 3749 | 3750 | levn@0.4.1: 3751 | dependencies: 3752 | prelude-ls: 1.2.1 3753 | type-check: 0.4.0 3754 | 3755 | lightningcss-darwin-arm64@1.29.2: 3756 | optional: true 3757 | 3758 | lightningcss-darwin-x64@1.29.2: 3759 | optional: true 3760 | 3761 | lightningcss-freebsd-x64@1.29.2: 3762 | optional: true 3763 | 3764 | lightningcss-linux-arm-gnueabihf@1.29.2: 3765 | optional: true 3766 | 3767 | lightningcss-linux-arm64-gnu@1.29.2: 3768 | optional: true 3769 | 3770 | lightningcss-linux-arm64-musl@1.29.2: 3771 | optional: true 3772 | 3773 | lightningcss-linux-x64-gnu@1.29.2: 3774 | optional: true 3775 | 3776 | lightningcss-linux-x64-musl@1.29.2: 3777 | optional: true 3778 | 3779 | lightningcss-win32-arm64-msvc@1.29.2: 3780 | optional: true 3781 | 3782 | lightningcss-win32-x64-msvc@1.29.2: 3783 | optional: true 3784 | 3785 | lightningcss@1.29.2: 3786 | dependencies: 3787 | detect-libc: 2.0.4 3788 | optionalDependencies: 3789 | lightningcss-darwin-arm64: 1.29.2 3790 | lightningcss-darwin-x64: 1.29.2 3791 | lightningcss-freebsd-x64: 1.29.2 3792 | lightningcss-linux-arm-gnueabihf: 1.29.2 3793 | lightningcss-linux-arm64-gnu: 1.29.2 3794 | lightningcss-linux-arm64-musl: 1.29.2 3795 | lightningcss-linux-x64-gnu: 1.29.2 3796 | lightningcss-linux-x64-musl: 1.29.2 3797 | lightningcss-win32-arm64-msvc: 1.29.2 3798 | lightningcss-win32-x64-msvc: 1.29.2 3799 | 3800 | locate-path@6.0.0: 3801 | dependencies: 3802 | p-locate: 5.0.0 3803 | 3804 | lodash.merge@4.6.2: {} 3805 | 3806 | loose-envify@1.4.0: 3807 | dependencies: 3808 | js-tokens: 4.0.0 3809 | 3810 | lucide-react@0.506.0(react@19.1.0): 3811 | dependencies: 3812 | react: 19.1.0 3813 | 3814 | math-intrinsics@1.1.0: {} 3815 | 3816 | merge2@1.4.1: {} 3817 | 3818 | micromatch@4.0.8: 3819 | dependencies: 3820 | braces: 3.0.3 3821 | picomatch: 2.3.1 3822 | 3823 | minimatch@3.1.2: 3824 | dependencies: 3825 | brace-expansion: 1.1.11 3826 | 3827 | minimatch@9.0.5: 3828 | dependencies: 3829 | brace-expansion: 2.0.1 3830 | 3831 | minimist@1.2.8: {} 3832 | 3833 | ms@2.1.3: {} 3834 | 3835 | nanoid@3.3.11: {} 3836 | 3837 | napi-postinstall@0.2.3: {} 3838 | 3839 | natural-compare@1.4.0: {} 3840 | 3841 | next-themes@0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0): 3842 | dependencies: 3843 | react: 19.1.0 3844 | react-dom: 19.1.0(react@19.1.0) 3845 | 3846 | next@15.3.1(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): 3847 | dependencies: 3848 | '@next/env': 15.3.1 3849 | '@swc/counter': 0.1.3 3850 | '@swc/helpers': 0.5.15 3851 | busboy: 1.6.0 3852 | caniuse-lite: 1.0.30001716 3853 | postcss: 8.4.31 3854 | react: 19.1.0 3855 | react-dom: 19.1.0(react@19.1.0) 3856 | styled-jsx: 5.1.6(react@19.1.0) 3857 | optionalDependencies: 3858 | '@next/swc-darwin-arm64': 15.3.1 3859 | '@next/swc-darwin-x64': 15.3.1 3860 | '@next/swc-linux-arm64-gnu': 15.3.1 3861 | '@next/swc-linux-arm64-musl': 15.3.1 3862 | '@next/swc-linux-x64-gnu': 15.3.1 3863 | '@next/swc-linux-x64-musl': 15.3.1 3864 | '@next/swc-win32-arm64-msvc': 15.3.1 3865 | '@next/swc-win32-x64-msvc': 15.3.1 3866 | '@opentelemetry/api': 1.9.0 3867 | sharp: 0.34.1 3868 | transitivePeerDependencies: 3869 | - '@babel/core' 3870 | - babel-plugin-macros 3871 | 3872 | object-assign@4.1.1: {} 3873 | 3874 | object-inspect@1.13.4: {} 3875 | 3876 | object-keys@1.1.1: {} 3877 | 3878 | object.assign@4.1.7: 3879 | dependencies: 3880 | call-bind: 1.0.8 3881 | call-bound: 1.0.4 3882 | define-properties: 1.2.1 3883 | es-object-atoms: 1.1.1 3884 | has-symbols: 1.1.0 3885 | object-keys: 1.1.1 3886 | 3887 | object.entries@1.1.9: 3888 | dependencies: 3889 | call-bind: 1.0.8 3890 | call-bound: 1.0.4 3891 | define-properties: 1.2.1 3892 | es-object-atoms: 1.1.1 3893 | 3894 | object.fromentries@2.0.8: 3895 | dependencies: 3896 | call-bind: 1.0.8 3897 | define-properties: 1.2.1 3898 | es-abstract: 1.23.9 3899 | es-object-atoms: 1.1.1 3900 | 3901 | object.groupby@1.0.3: 3902 | dependencies: 3903 | call-bind: 1.0.8 3904 | define-properties: 1.2.1 3905 | es-abstract: 1.23.9 3906 | 3907 | object.values@1.2.1: 3908 | dependencies: 3909 | call-bind: 1.0.8 3910 | call-bound: 1.0.4 3911 | define-properties: 1.2.1 3912 | es-object-atoms: 1.1.1 3913 | 3914 | optionator@0.9.4: 3915 | dependencies: 3916 | deep-is: 0.1.4 3917 | fast-levenshtein: 2.0.6 3918 | levn: 0.4.1 3919 | prelude-ls: 1.2.1 3920 | type-check: 0.4.0 3921 | word-wrap: 1.2.5 3922 | 3923 | own-keys@1.0.1: 3924 | dependencies: 3925 | get-intrinsic: 1.3.0 3926 | object-keys: 1.1.1 3927 | safe-push-apply: 1.0.0 3928 | 3929 | p-limit@3.1.0: 3930 | dependencies: 3931 | yocto-queue: 0.1.0 3932 | 3933 | p-locate@5.0.0: 3934 | dependencies: 3935 | p-limit: 3.1.0 3936 | 3937 | parent-module@1.0.1: 3938 | dependencies: 3939 | callsites: 3.1.0 3940 | 3941 | path-exists@4.0.0: {} 3942 | 3943 | path-key@3.1.1: {} 3944 | 3945 | path-parse@1.0.7: {} 3946 | 3947 | picocolors@1.1.1: {} 3948 | 3949 | picomatch@2.3.1: {} 3950 | 3951 | picomatch@4.0.2: {} 3952 | 3953 | possible-typed-array-names@1.1.0: {} 3954 | 3955 | postcss@8.4.31: 3956 | dependencies: 3957 | nanoid: 3.3.11 3958 | picocolors: 1.1.1 3959 | source-map-js: 1.2.1 3960 | 3961 | postcss@8.5.3: 3962 | dependencies: 3963 | nanoid: 3.3.11 3964 | picocolors: 1.1.1 3965 | source-map-js: 1.2.1 3966 | 3967 | prelude-ls@1.2.1: {} 3968 | 3969 | prop-types@15.8.1: 3970 | dependencies: 3971 | loose-envify: 1.4.0 3972 | object-assign: 4.1.1 3973 | react-is: 16.13.1 3974 | 3975 | punycode@2.3.1: {} 3976 | 3977 | queue-microtask@1.2.3: {} 3978 | 3979 | react-dom@19.1.0(react@19.1.0): 3980 | dependencies: 3981 | react: 19.1.0 3982 | scheduler: 0.26.0 3983 | 3984 | react-is@16.13.1: {} 3985 | 3986 | react-remove-scroll-bar@2.3.8(@types/react@19.1.2)(react@19.1.0): 3987 | dependencies: 3988 | react: 19.1.0 3989 | react-style-singleton: 2.2.3(@types/react@19.1.2)(react@19.1.0) 3990 | tslib: 2.8.1 3991 | optionalDependencies: 3992 | '@types/react': 19.1.2 3993 | 3994 | react-remove-scroll@2.6.3(@types/react@19.1.2)(react@19.1.0): 3995 | dependencies: 3996 | react: 19.1.0 3997 | react-remove-scroll-bar: 2.3.8(@types/react@19.1.2)(react@19.1.0) 3998 | react-style-singleton: 2.2.3(@types/react@19.1.2)(react@19.1.0) 3999 | tslib: 2.8.1 4000 | use-callback-ref: 1.3.3(@types/react@19.1.2)(react@19.1.0) 4001 | use-sidecar: 1.1.3(@types/react@19.1.2)(react@19.1.0) 4002 | optionalDependencies: 4003 | '@types/react': 19.1.2 4004 | 4005 | react-style-singleton@2.2.3(@types/react@19.1.2)(react@19.1.0): 4006 | dependencies: 4007 | get-nonce: 1.0.1 4008 | react: 19.1.0 4009 | tslib: 2.8.1 4010 | optionalDependencies: 4011 | '@types/react': 19.1.2 4012 | 4013 | react@19.1.0: {} 4014 | 4015 | reflect.getprototypeof@1.0.10: 4016 | dependencies: 4017 | call-bind: 1.0.8 4018 | define-properties: 1.2.1 4019 | es-abstract: 1.23.9 4020 | es-errors: 1.3.0 4021 | es-object-atoms: 1.1.1 4022 | get-intrinsic: 1.3.0 4023 | get-proto: 1.0.1 4024 | which-builtin-type: 1.2.1 4025 | 4026 | regexp.prototype.flags@1.5.4: 4027 | dependencies: 4028 | call-bind: 1.0.8 4029 | define-properties: 1.2.1 4030 | es-errors: 1.3.0 4031 | get-proto: 1.0.1 4032 | gopd: 1.2.0 4033 | set-function-name: 2.0.2 4034 | 4035 | resolve-from@4.0.0: {} 4036 | 4037 | resolve-pkg-maps@1.0.0: {} 4038 | 4039 | resolve@1.22.10: 4040 | dependencies: 4041 | is-core-module: 2.16.1 4042 | path-parse: 1.0.7 4043 | supports-preserve-symlinks-flag: 1.0.0 4044 | 4045 | resolve@2.0.0-next.5: 4046 | dependencies: 4047 | is-core-module: 2.16.1 4048 | path-parse: 1.0.7 4049 | supports-preserve-symlinks-flag: 1.0.0 4050 | 4051 | reusify@1.1.0: {} 4052 | 4053 | run-parallel@1.2.0: 4054 | dependencies: 4055 | queue-microtask: 1.2.3 4056 | 4057 | safe-array-concat@1.1.3: 4058 | dependencies: 4059 | call-bind: 1.0.8 4060 | call-bound: 1.0.4 4061 | get-intrinsic: 1.3.0 4062 | has-symbols: 1.1.0 4063 | isarray: 2.0.5 4064 | 4065 | safe-push-apply@1.0.0: 4066 | dependencies: 4067 | es-errors: 1.3.0 4068 | isarray: 2.0.5 4069 | 4070 | safe-regex-test@1.1.0: 4071 | dependencies: 4072 | call-bound: 1.0.4 4073 | es-errors: 1.3.0 4074 | is-regex: 1.2.1 4075 | 4076 | scheduler@0.26.0: {} 4077 | 4078 | semver@6.3.1: {} 4079 | 4080 | semver@7.7.1: {} 4081 | 4082 | set-function-length@1.2.2: 4083 | dependencies: 4084 | define-data-property: 1.1.4 4085 | es-errors: 1.3.0 4086 | function-bind: 1.1.2 4087 | get-intrinsic: 1.3.0 4088 | gopd: 1.2.0 4089 | has-property-descriptors: 1.0.2 4090 | 4091 | set-function-name@2.0.2: 4092 | dependencies: 4093 | define-data-property: 1.1.4 4094 | es-errors: 1.3.0 4095 | functions-have-names: 1.2.3 4096 | has-property-descriptors: 1.0.2 4097 | 4098 | set-proto@1.0.0: 4099 | dependencies: 4100 | dunder-proto: 1.0.1 4101 | es-errors: 1.3.0 4102 | es-object-atoms: 1.1.1 4103 | 4104 | sharp@0.34.1: 4105 | dependencies: 4106 | color: 4.2.3 4107 | detect-libc: 2.0.4 4108 | semver: 7.7.1 4109 | optionalDependencies: 4110 | '@img/sharp-darwin-arm64': 0.34.1 4111 | '@img/sharp-darwin-x64': 0.34.1 4112 | '@img/sharp-libvips-darwin-arm64': 1.1.0 4113 | '@img/sharp-libvips-darwin-x64': 1.1.0 4114 | '@img/sharp-libvips-linux-arm': 1.1.0 4115 | '@img/sharp-libvips-linux-arm64': 1.1.0 4116 | '@img/sharp-libvips-linux-ppc64': 1.1.0 4117 | '@img/sharp-libvips-linux-s390x': 1.1.0 4118 | '@img/sharp-libvips-linux-x64': 1.1.0 4119 | '@img/sharp-libvips-linuxmusl-arm64': 1.1.0 4120 | '@img/sharp-libvips-linuxmusl-x64': 1.1.0 4121 | '@img/sharp-linux-arm': 0.34.1 4122 | '@img/sharp-linux-arm64': 0.34.1 4123 | '@img/sharp-linux-s390x': 0.34.1 4124 | '@img/sharp-linux-x64': 0.34.1 4125 | '@img/sharp-linuxmusl-arm64': 0.34.1 4126 | '@img/sharp-linuxmusl-x64': 0.34.1 4127 | '@img/sharp-wasm32': 0.34.1 4128 | '@img/sharp-win32-ia32': 0.34.1 4129 | '@img/sharp-win32-x64': 0.34.1 4130 | optional: true 4131 | 4132 | shebang-command@2.0.0: 4133 | dependencies: 4134 | shebang-regex: 3.0.0 4135 | 4136 | shebang-regex@3.0.0: {} 4137 | 4138 | side-channel-list@1.0.0: 4139 | dependencies: 4140 | es-errors: 1.3.0 4141 | object-inspect: 1.13.4 4142 | 4143 | side-channel-map@1.0.1: 4144 | dependencies: 4145 | call-bound: 1.0.4 4146 | es-errors: 1.3.0 4147 | get-intrinsic: 1.3.0 4148 | object-inspect: 1.13.4 4149 | 4150 | side-channel-weakmap@1.0.2: 4151 | dependencies: 4152 | call-bound: 1.0.4 4153 | es-errors: 1.3.0 4154 | get-intrinsic: 1.3.0 4155 | object-inspect: 1.13.4 4156 | side-channel-map: 1.0.1 4157 | 4158 | side-channel@1.1.0: 4159 | dependencies: 4160 | es-errors: 1.3.0 4161 | object-inspect: 1.13.4 4162 | side-channel-list: 1.0.0 4163 | side-channel-map: 1.0.1 4164 | side-channel-weakmap: 1.0.2 4165 | 4166 | simple-swizzle@0.2.2: 4167 | dependencies: 4168 | is-arrayish: 0.3.2 4169 | optional: true 4170 | 4171 | source-map-js@1.2.1: {} 4172 | 4173 | stable-hash@0.0.5: {} 4174 | 4175 | streamsearch@1.1.0: {} 4176 | 4177 | string.prototype.includes@2.0.1: 4178 | dependencies: 4179 | call-bind: 1.0.8 4180 | define-properties: 1.2.1 4181 | es-abstract: 1.23.9 4182 | 4183 | string.prototype.matchall@4.0.12: 4184 | dependencies: 4185 | call-bind: 1.0.8 4186 | call-bound: 1.0.4 4187 | define-properties: 1.2.1 4188 | es-abstract: 1.23.9 4189 | es-errors: 1.3.0 4190 | es-object-atoms: 1.1.1 4191 | get-intrinsic: 1.3.0 4192 | gopd: 1.2.0 4193 | has-symbols: 1.1.0 4194 | internal-slot: 1.1.0 4195 | regexp.prototype.flags: 1.5.4 4196 | set-function-name: 2.0.2 4197 | side-channel: 1.1.0 4198 | 4199 | string.prototype.repeat@1.0.0: 4200 | dependencies: 4201 | define-properties: 1.2.1 4202 | es-abstract: 1.23.9 4203 | 4204 | string.prototype.trim@1.2.10: 4205 | dependencies: 4206 | call-bind: 1.0.8 4207 | call-bound: 1.0.4 4208 | define-data-property: 1.1.4 4209 | define-properties: 1.2.1 4210 | es-abstract: 1.23.9 4211 | es-object-atoms: 1.1.1 4212 | has-property-descriptors: 1.0.2 4213 | 4214 | string.prototype.trimend@1.0.9: 4215 | dependencies: 4216 | call-bind: 1.0.8 4217 | call-bound: 1.0.4 4218 | define-properties: 1.2.1 4219 | es-object-atoms: 1.1.1 4220 | 4221 | string.prototype.trimstart@1.0.8: 4222 | dependencies: 4223 | call-bind: 1.0.8 4224 | define-properties: 1.2.1 4225 | es-object-atoms: 1.1.1 4226 | 4227 | strip-bom@3.0.0: {} 4228 | 4229 | strip-json-comments@3.1.1: {} 4230 | 4231 | styled-jsx@5.1.6(react@19.1.0): 4232 | dependencies: 4233 | client-only: 0.0.1 4234 | react: 19.1.0 4235 | 4236 | supports-color@7.2.0: 4237 | dependencies: 4238 | has-flag: 4.0.0 4239 | 4240 | supports-preserve-symlinks-flag@1.0.0: {} 4241 | 4242 | swr@2.3.4(react@19.1.0): 4243 | dependencies: 4244 | dequal: 2.0.3 4245 | react: 19.1.0 4246 | use-sync-external-store: 1.5.0(react@19.1.0) 4247 | 4248 | tailwind-merge@3.2.0: {} 4249 | 4250 | tailwindcss@4.1.5: {} 4251 | 4252 | tapable@2.2.1: {} 4253 | 4254 | throttleit@2.1.0: {} 4255 | 4256 | tinyglobby@0.2.13: 4257 | dependencies: 4258 | fdir: 6.4.4(picomatch@4.0.2) 4259 | picomatch: 4.0.2 4260 | 4261 | to-regex-range@5.0.1: 4262 | dependencies: 4263 | is-number: 7.0.0 4264 | 4265 | ts-api-utils@2.1.0(typescript@5.8.3): 4266 | dependencies: 4267 | typescript: 5.8.3 4268 | 4269 | tsconfig-paths@3.15.0: 4270 | dependencies: 4271 | '@types/json5': 0.0.29 4272 | json5: 1.0.2 4273 | minimist: 1.2.8 4274 | strip-bom: 3.0.0 4275 | 4276 | tslib@2.8.1: {} 4277 | 4278 | tw-animate-css@1.2.8: {} 4279 | 4280 | type-check@0.4.0: 4281 | dependencies: 4282 | prelude-ls: 1.2.1 4283 | 4284 | typed-array-buffer@1.0.3: 4285 | dependencies: 4286 | call-bound: 1.0.4 4287 | es-errors: 1.3.0 4288 | is-typed-array: 1.1.15 4289 | 4290 | typed-array-byte-length@1.0.3: 4291 | dependencies: 4292 | call-bind: 1.0.8 4293 | for-each: 0.3.5 4294 | gopd: 1.2.0 4295 | has-proto: 1.2.0 4296 | is-typed-array: 1.1.15 4297 | 4298 | typed-array-byte-offset@1.0.4: 4299 | dependencies: 4300 | available-typed-arrays: 1.0.7 4301 | call-bind: 1.0.8 4302 | for-each: 0.3.5 4303 | gopd: 1.2.0 4304 | has-proto: 1.2.0 4305 | is-typed-array: 1.1.15 4306 | reflect.getprototypeof: 1.0.10 4307 | 4308 | typed-array-length@1.0.7: 4309 | dependencies: 4310 | call-bind: 1.0.8 4311 | for-each: 0.3.5 4312 | gopd: 1.2.0 4313 | is-typed-array: 1.1.15 4314 | possible-typed-array-names: 1.1.0 4315 | reflect.getprototypeof: 1.0.10 4316 | 4317 | typescript@5.8.3: {} 4318 | 4319 | unbox-primitive@1.1.0: 4320 | dependencies: 4321 | call-bound: 1.0.4 4322 | has-bigints: 1.1.0 4323 | has-symbols: 1.1.0 4324 | which-boxed-primitive: 1.1.1 4325 | 4326 | undici-types@6.21.0: {} 4327 | 4328 | unrs-resolver@1.7.2: 4329 | dependencies: 4330 | napi-postinstall: 0.2.3 4331 | optionalDependencies: 4332 | '@unrs/resolver-binding-darwin-arm64': 1.7.2 4333 | '@unrs/resolver-binding-darwin-x64': 1.7.2 4334 | '@unrs/resolver-binding-freebsd-x64': 1.7.2 4335 | '@unrs/resolver-binding-linux-arm-gnueabihf': 1.7.2 4336 | '@unrs/resolver-binding-linux-arm-musleabihf': 1.7.2 4337 | '@unrs/resolver-binding-linux-arm64-gnu': 1.7.2 4338 | '@unrs/resolver-binding-linux-arm64-musl': 1.7.2 4339 | '@unrs/resolver-binding-linux-ppc64-gnu': 1.7.2 4340 | '@unrs/resolver-binding-linux-riscv64-gnu': 1.7.2 4341 | '@unrs/resolver-binding-linux-riscv64-musl': 1.7.2 4342 | '@unrs/resolver-binding-linux-s390x-gnu': 1.7.2 4343 | '@unrs/resolver-binding-linux-x64-gnu': 1.7.2 4344 | '@unrs/resolver-binding-linux-x64-musl': 1.7.2 4345 | '@unrs/resolver-binding-wasm32-wasi': 1.7.2 4346 | '@unrs/resolver-binding-win32-arm64-msvc': 1.7.2 4347 | '@unrs/resolver-binding-win32-ia32-msvc': 1.7.2 4348 | '@unrs/resolver-binding-win32-x64-msvc': 1.7.2 4349 | 4350 | uri-js@4.4.1: 4351 | dependencies: 4352 | punycode: 2.3.1 4353 | 4354 | use-callback-ref@1.3.3(@types/react@19.1.2)(react@19.1.0): 4355 | dependencies: 4356 | react: 19.1.0 4357 | tslib: 2.8.1 4358 | optionalDependencies: 4359 | '@types/react': 19.1.2 4360 | 4361 | use-sidecar@1.1.3(@types/react@19.1.2)(react@19.1.0): 4362 | dependencies: 4363 | detect-node-es: 1.1.0 4364 | react: 19.1.0 4365 | tslib: 2.8.1 4366 | optionalDependencies: 4367 | '@types/react': 19.1.2 4368 | 4369 | use-sync-external-store@1.5.0(react@19.1.0): 4370 | dependencies: 4371 | react: 19.1.0 4372 | 4373 | which-boxed-primitive@1.1.1: 4374 | dependencies: 4375 | is-bigint: 1.1.0 4376 | is-boolean-object: 1.2.2 4377 | is-number-object: 1.1.1 4378 | is-string: 1.1.1 4379 | is-symbol: 1.1.1 4380 | 4381 | which-builtin-type@1.2.1: 4382 | dependencies: 4383 | call-bound: 1.0.4 4384 | function.prototype.name: 1.1.8 4385 | has-tostringtag: 1.0.2 4386 | is-async-function: 2.1.1 4387 | is-date-object: 1.1.0 4388 | is-finalizationregistry: 1.1.1 4389 | is-generator-function: 1.1.0 4390 | is-regex: 1.2.1 4391 | is-weakref: 1.1.1 4392 | isarray: 2.0.5 4393 | which-boxed-primitive: 1.1.1 4394 | which-collection: 1.0.2 4395 | which-typed-array: 1.1.19 4396 | 4397 | which-collection@1.0.2: 4398 | dependencies: 4399 | is-map: 2.0.3 4400 | is-set: 2.0.3 4401 | is-weakmap: 2.0.2 4402 | is-weakset: 2.0.4 4403 | 4404 | which-typed-array@1.1.19: 4405 | dependencies: 4406 | available-typed-arrays: 1.0.7 4407 | call-bind: 1.0.8 4408 | call-bound: 1.0.4 4409 | for-each: 0.3.5 4410 | get-proto: 1.0.1 4411 | gopd: 1.2.0 4412 | has-tostringtag: 1.0.2 4413 | 4414 | which@2.0.2: 4415 | dependencies: 4416 | isexe: 2.0.0 4417 | 4418 | word-wrap@1.2.5: {} 4419 | 4420 | yocto-queue@0.1.0: {} 4421 | 4422 | zod-to-json-schema@3.24.6(zod@3.25.49): 4423 | dependencies: 4424 | zod: 3.25.49 4425 | 4426 | zod@3.25.49: {} 4427 | -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- 1 | const config = { 2 | plugins: ["@tailwindcss/postcss"], 3 | }; 4 | 5 | export default config; 6 | -------------------------------------------------------------------------------- /public/file.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/globe.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/next.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/window.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2017", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "strict": true, 8 | "noEmit": true, 9 | "esModuleInterop": true, 10 | "module": "esnext", 11 | "moduleResolution": "bundler", 12 | "resolveJsonModule": true, 13 | "isolatedModules": true, 14 | "jsx": "preserve", 15 | "incremental": true, 16 | "plugins": [ 17 | { 18 | "name": "next" 19 | } 20 | ], 21 | "paths": { 22 | "@/*": ["./*"] 23 | } 24 | }, 25 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], 26 | "exclude": ["node_modules"] 27 | } 28 | --------------------------------------------------------------------------------