├── .eslintrc.json ├── src ├── app │ ├── globals.css │ ├── favicon.ico │ ├── SavedAlbums.tsx │ ├── Counter.tsx │ ├── page.tsx │ ├── layout.tsx │ ├── AlbumProvider.tsx │ ├── chat.tsx │ ├── Album.tsx │ ├── action.tsx │ └── spotify.ts ├── lib │ └── utils.ts └── components │ ├── theme-provider.tsx │ └── ui │ ├── label.tsx │ ├── input.tsx │ ├── button.tsx │ ├── tabs.tsx │ └── card.tsx ├── postcss.config.js ├── next.config.js ├── components.json ├── .gitignore ├── tailwind.config.ts ├── public ├── vercel.svg └── next.svg ├── tsconfig.json ├── package.json ├── README.md ├── tailwind.config.js └── pnpm-lock.yaml /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /src/app/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jherr/streaming-sa-spotify/HEAD/src/app/favicon.ico -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /src/lib/utils.ts: -------------------------------------------------------------------------------- 1 | import { type ClassValue, clsx } from "clsx" 2 | import { twMerge } from "tailwind-merge" 3 | 4 | export function cn(...inputs: ClassValue[]) { 5 | return twMerge(clsx(inputs)) 6 | } 7 | -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | images: { 4 | remotePatterns: [ 5 | { 6 | protocol: "https", 7 | hostname: "i.scdn.co", 8 | port: "", 9 | pathname: "/**", 10 | }, 11 | ], 12 | }, 13 | }; 14 | 15 | module.exports = nextConfig; 16 | -------------------------------------------------------------------------------- /src/components/theme-provider.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import * as React from "react"; 4 | import { ThemeProvider as NextThemesProvider } from "next-themes"; 5 | import { type ThemeProviderProps } from "next-themes/dist/types"; 6 | 7 | export function ThemeProvider({ children, ...props }: ThemeProviderProps) { 8 | return {children}; 9 | } 10 | -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://ui.shadcn.com/schema.json", 3 | "style": "default", 4 | "rsc": true, 5 | "tsx": true, 6 | "tailwind": { 7 | "config": "tailwind.config.js", 8 | "css": "src/app/globals.css", 9 | "baseColor": "slate", 10 | "cssVariables": true 11 | }, 12 | "aliases": { 13 | "components": "@/components", 14 | "utils": "@/lib/utils" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | .yarn/install-state.gz 8 | 9 | # testing 10 | /coverage 11 | 12 | # next.js 13 | /.next/ 14 | /out/ 15 | 16 | # production 17 | /build 18 | 19 | # misc 20 | .DS_Store 21 | *.pem 22 | 23 | # debug 24 | npm-debug.log* 25 | yarn-debug.log* 26 | yarn-error.log* 27 | 28 | # local env files 29 | .env*.local 30 | 31 | # vercel 32 | .vercel 33 | 34 | # typescript 35 | *.tsbuildinfo 36 | next-env.d.ts 37 | -------------------------------------------------------------------------------- /src/app/SavedAlbums.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | import { useAlbumsContext } from "./AlbumProvider"; 3 | import Album from "./Album"; 4 | 5 | export default function SavedCode() { 6 | const [albums] = useAlbumsContext(); 7 | return ( 8 | <> 9 |

Saved Albums

10 |
11 | {albums.map((album) => ( 12 |
13 | 14 |
15 | ))} 16 |
17 | 18 | ); 19 | } 20 | -------------------------------------------------------------------------------- /src/app/Counter.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | import { useState } from "react"; 3 | 4 | export default function Counter() { 5 | const [count, setCount] = useState(0); 6 | return ( 7 |
8 |

Counter

9 |

You clicked {count} times

10 | 16 |
17 | ); 18 | } 19 | -------------------------------------------------------------------------------- /tailwind.config.ts: -------------------------------------------------------------------------------- 1 | import type { Config } from 'tailwindcss' 2 | 3 | const config: Config = { 4 | content: [ 5 | './src/pages/**/*.{js,ts,jsx,tsx,mdx}', 6 | './src/components/**/*.{js,ts,jsx,tsx,mdx}', 7 | './src/app/**/*.{js,ts,jsx,tsx,mdx}', 8 | ], 9 | theme: { 10 | extend: { 11 | backgroundImage: { 12 | 'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))', 13 | 'gradient-conic': 14 | 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))', 15 | }, 16 | }, 17 | }, 18 | plugins: [], 19 | } 20 | export default config 21 | -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/app/page.tsx: -------------------------------------------------------------------------------- 1 | import AlbumsProvider from "./AlbumProvider"; 2 | import SavedAlbums from "./SavedAlbums"; 3 | import { handler } from "./action"; 4 | import { Chat } from "./chat"; 5 | 6 | export const runtime = "edge"; 7 | 8 | export default function Page() { 9 | return ( 10 | 11 |
12 |
13 | 14 |
15 |
16 | 17 |
18 |
19 |
20 | ); 21 | } 22 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 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 | "@/*": ["./src/*"] 23 | } 24 | }, 25 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], 26 | "exclude": ["node_modules"] 27 | } 28 | -------------------------------------------------------------------------------- /src/app/layout.tsx: -------------------------------------------------------------------------------- 1 | import type { Metadata } from "next"; 2 | import { ThemeProvider } from "@/components/theme-provider"; 3 | import "./globals.css"; 4 | 5 | export const metadata: Metadata = { 6 | title: "Create Next App", 7 | description: "Generated by create next app", 8 | }; 9 | 10 | export default function RootLayout({ 11 | children, 12 | }: { 13 | children: React.ReactNode; 14 | }) { 15 | return ( 16 | 17 | 18 | 24 | {children} 25 | 26 | 27 | 28 | ); 29 | } 30 | -------------------------------------------------------------------------------- /src/components/ui/label.tsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import * as React from "react" 4 | import * as LabelPrimitive from "@radix-ui/react-label" 5 | import { cva, type VariantProps } from "class-variance-authority" 6 | 7 | import { cn } from "@/lib/utils" 8 | 9 | const labelVariants = cva( 10 | "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70" 11 | ) 12 | 13 | const Label = React.forwardRef< 14 | React.ElementRef, 15 | React.ComponentPropsWithoutRef & 16 | VariantProps 17 | >(({ className, ...props }, ref) => ( 18 | 23 | )) 24 | Label.displayName = LabelPrimitive.Root.displayName 25 | 26 | export { Label } 27 | -------------------------------------------------------------------------------- /src/components/ui/input.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | 3 | import { cn } from "@/lib/utils" 4 | 5 | export interface InputProps 6 | extends React.InputHTMLAttributes {} 7 | 8 | const Input = React.forwardRef( 9 | ({ className, type, ...props }, ref) => { 10 | return ( 11 | 20 | ) 21 | } 22 | ) 23 | Input.displayName = "Input" 24 | 25 | export { Input } 26 | -------------------------------------------------------------------------------- /src/app/AlbumProvider.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | import { createContext, useState, useContext } from "react"; 3 | 4 | export interface AlbumInfo { 5 | url: string; 6 | image: { 7 | url: string; 8 | width: number; 9 | height: number; 10 | }; 11 | name: string; 12 | artist: string; 13 | release_date: string; 14 | } 15 | 16 | const useAlbums = () => useState([]); 17 | 18 | const AlbumsContext = createContext | null>(null); 19 | 20 | export const useAlbumsContext = () => { 21 | const context = useContext(AlbumsContext); 22 | if (context === null) { 23 | throw new Error("useAlbumsContext must be used within an AlbumsContext"); 24 | } 25 | return context; 26 | }; 27 | 28 | export default function AlbumsProvider({ 29 | children, 30 | }: { 31 | children: React.ReactNode; 32 | }) { 33 | const blocks = useAlbums(); 34 | return ( 35 | {children} 36 | ); 37 | } 38 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "streaming-sa-test-1", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "predev": "rm -fr .next", 7 | "dev": "next dev", 8 | "build": "next build", 9 | "start": "next start", 10 | "lint": "next lint" 11 | }, 12 | "dependencies": { 13 | "@radix-ui/react-label": "^2.0.2", 14 | "@radix-ui/react-slot": "^1.0.2", 15 | "@radix-ui/react-tabs": "^1.0.4", 16 | "ai": "^2.2.25", 17 | "async-mutex": "^0.4.0", 18 | "babel-plugin-prismjs": "^2.1.0", 19 | "class-variance-authority": "^0.7.0", 20 | "clsx": "^2.0.0", 21 | "fs": "0.0.1-security", 22 | "lucide-react": "^0.293.0", 23 | "next": "14.0.4-canary.17", 24 | "next-themes": "^0.2.1", 25 | "openai": "^4.20.0", 26 | "prismjs": "^1.29.0", 27 | "react": "^18", 28 | "react-dom": "^18", 29 | "tailwind-merge": "^2.0.0", 30 | "tailwindcss-animate": "^1.0.7" 31 | }, 32 | "devDependencies": { 33 | "@types/node": "^20", 34 | "@types/react": "^18", 35 | "@types/react-dom": "^18", 36 | "autoprefixer": "^10.0.1", 37 | "eslint": "^8", 38 | "eslint-config-next": "14.0.4-canary.17", 39 | "postcss": "^8", 40 | "tailwindcss": "^3.3.0", 41 | "typescript": "^5" 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /public/next.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/app/chat.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | import { Label } from "@/components/ui/label"; 3 | import { Input } from "@/components/ui/input"; 4 | import { Button } from "@/components/ui/button"; 5 | import { useChat } from "ai/react"; 6 | 7 | export function Chat({ handler }: { handler: any }) { 8 | const { messages, input, handleInputChange, handleSubmit } = useChat({ 9 | api: handler, 10 | }); 11 | 12 | return ( 13 |
14 |
18 | 21 | 27 | 30 |
31 |
    32 | {messages.map((m, index) => ( 33 |
  • 34 | {/* {m.role === "user" ? "User: " : "AI: "} */} 35 | {m.role === "user" ? m.content : m.ui} 36 |
  • 37 | ))} 38 |
39 |
40 | ); 41 | } 42 | -------------------------------------------------------------------------------- /src/app/Album.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | import Image from "next/image"; 3 | import { 4 | Card, 5 | CardContent, 6 | CardDescription, 7 | CardHeader, 8 | CardTitle, 9 | CardFooter, 10 | } from "@/components/ui/card"; 11 | import { Button } from "@/components/ui/button"; 12 | import { buttonVariants } from "@/components/ui/button"; 13 | 14 | import { useAlbumsContext } from "./AlbumProvider"; 15 | import type { AlbumInfo } from "./AlbumProvider"; 16 | 17 | export default function Album({ 18 | url, 19 | image, 20 | name, 21 | artist, 22 | release_date, 23 | allowAdd, 24 | }: AlbumInfo & { 25 | allowAdd?: boolean; 26 | }) { 27 | const albums = useAlbumsContext(); 28 | const onAdd = () => { 29 | albums[1]((prev) => [ 30 | ...prev, 31 | { 32 | url, 33 | image, 34 | name, 35 | artist, 36 | release_date, 37 | }, 38 | ]); 39 | }; 40 | 41 | return ( 42 | 43 | 44 | {name} 45 | 46 | {artist} - ${release_date} 47 | 48 | 49 | 50 | 51 | {`${name} 57 | 58 | 59 | 60 | {allowAdd && ( 61 | 69 | )} 70 | 71 | 72 | ); 73 | } 74 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). 2 | 3 | ## Getting Started 4 | 5 | You'll need to have these environment variables: 6 | 7 | - SPOTIFY_CLIENT_ID - The Spotify client ID 8 | - SPOTIFY_CLIENT_SECRET - The Spotify client secret 9 | - OPENAI_API_KEY - Your OpenAI key 10 | 11 | Follow the [Getting Started](https://developer.spotify.com/documentation/web-api) on the Spotify site to create a new App with "web api" permissions to get the client ID and secret. 12 | 13 | First, run the development server: 14 | 15 | ```bash 16 | npm run dev 17 | # or 18 | yarn dev 19 | # or 20 | pnpm dev 21 | # or 22 | bun dev 23 | ``` 24 | 25 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. 26 | 27 | You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. 28 | 29 | This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. 30 | 31 | ## Learn More 32 | 33 | To learn more about Next.js, take a look at the following resources: 34 | 35 | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. 36 | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. 37 | 38 | You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! 39 | 40 | ## Deploy on Vercel 41 | 42 | The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. 43 | 44 | Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. 45 | -------------------------------------------------------------------------------- /src/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 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", 9 | { 10 | variants: { 11 | variant: { 12 | default: "bg-primary text-primary-foreground hover:bg-primary/90", 13 | destructive: 14 | "bg-destructive text-destructive-foreground hover:bg-destructive/90", 15 | outline: 16 | "border border-input bg-background hover:bg-accent hover:text-accent-foreground", 17 | secondary: 18 | "bg-secondary text-secondary-foreground hover:bg-secondary/80", 19 | ghost: "hover:bg-accent hover:text-accent-foreground", 20 | link: "text-primary underline-offset-4 hover:underline", 21 | }, 22 | size: { 23 | default: "h-10 px-4 py-2", 24 | sm: "h-9 rounded-md px-3", 25 | lg: "h-11 rounded-md px-8", 26 | icon: "h-10 w-10", 27 | }, 28 | }, 29 | defaultVariants: { 30 | variant: "default", 31 | size: "default", 32 | }, 33 | } 34 | ) 35 | 36 | export interface ButtonProps 37 | extends React.ButtonHTMLAttributes, 38 | VariantProps { 39 | asChild?: boolean 40 | } 41 | 42 | const Button = React.forwardRef( 43 | ({ className, variant, size, asChild = false, ...props }, ref) => { 44 | const Comp = asChild ? Slot : "button" 45 | return ( 46 | 51 | ) 52 | } 53 | ) 54 | Button.displayName = "Button" 55 | 56 | export { Button, buttonVariants } 57 | -------------------------------------------------------------------------------- /src/components/ui/tabs.tsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import * as React from "react" 4 | import * as TabsPrimitive from "@radix-ui/react-tabs" 5 | 6 | import { cn } from "@/lib/utils" 7 | 8 | const Tabs = TabsPrimitive.Root 9 | 10 | const TabsList = React.forwardRef< 11 | React.ElementRef, 12 | React.ComponentPropsWithoutRef 13 | >(({ className, ...props }, ref) => ( 14 | 22 | )) 23 | TabsList.displayName = TabsPrimitive.List.displayName 24 | 25 | const TabsTrigger = React.forwardRef< 26 | React.ElementRef, 27 | React.ComponentPropsWithoutRef 28 | >(({ className, ...props }, ref) => ( 29 | 37 | )) 38 | TabsTrigger.displayName = TabsPrimitive.Trigger.displayName 39 | 40 | const TabsContent = React.forwardRef< 41 | React.ElementRef, 42 | React.ComponentPropsWithoutRef 43 | >(({ className, ...props }, ref) => ( 44 | 52 | )) 53 | TabsContent.displayName = TabsPrimitive.Content.displayName 54 | 55 | export { Tabs, TabsList, TabsTrigger, TabsContent } 56 | -------------------------------------------------------------------------------- /src/components/ui/card.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | 3 | import { cn } from "@/lib/utils" 4 | 5 | const Card = React.forwardRef< 6 | HTMLDivElement, 7 | React.HTMLAttributes 8 | >(({ className, ...props }, ref) => ( 9 |
17 | )) 18 | Card.displayName = "Card" 19 | 20 | const CardHeader = React.forwardRef< 21 | HTMLDivElement, 22 | React.HTMLAttributes 23 | >(({ className, ...props }, ref) => ( 24 |
29 | )) 30 | CardHeader.displayName = "CardHeader" 31 | 32 | const CardTitle = React.forwardRef< 33 | HTMLParagraphElement, 34 | React.HTMLAttributes 35 | >(({ className, ...props }, ref) => ( 36 |

44 | )) 45 | CardTitle.displayName = "CardTitle" 46 | 47 | const CardDescription = React.forwardRef< 48 | HTMLParagraphElement, 49 | React.HTMLAttributes 50 | >(({ className, ...props }, ref) => ( 51 |

56 | )) 57 | CardDescription.displayName = "CardDescription" 58 | 59 | const CardContent = React.forwardRef< 60 | HTMLDivElement, 61 | React.HTMLAttributes 62 | >(({ className, ...props }, ref) => ( 63 |

64 | )) 65 | CardContent.displayName = "CardContent" 66 | 67 | const CardFooter = React.forwardRef< 68 | HTMLDivElement, 69 | React.HTMLAttributes 70 | >(({ className, ...props }, ref) => ( 71 |
76 | )) 77 | CardFooter.displayName = "CardFooter" 78 | 79 | export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } 80 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | darkMode: ["class"], 4 | content: [ 5 | "./pages/**/*.{ts,tsx}", 6 | "./components/**/*.{ts,tsx}", 7 | "./app/**/*.{ts,tsx}", 8 | "./src/**/*.{ts,tsx}", 9 | ], 10 | safelist: ["w-1/2", "p-2"], 11 | theme: { 12 | container: { 13 | center: true, 14 | padding: "2rem", 15 | screens: { 16 | "2xl": "1400px", 17 | }, 18 | }, 19 | extend: { 20 | colors: { 21 | border: "hsl(var(--border))", 22 | input: "hsl(var(--input))", 23 | ring: "hsl(var(--ring))", 24 | background: "hsl(var(--background))", 25 | foreground: "hsl(var(--foreground))", 26 | primary: { 27 | DEFAULT: "hsl(var(--primary))", 28 | foreground: "hsl(var(--primary-foreground))", 29 | }, 30 | secondary: { 31 | DEFAULT: "hsl(var(--secondary))", 32 | foreground: "hsl(var(--secondary-foreground))", 33 | }, 34 | destructive: { 35 | DEFAULT: "hsl(var(--destructive))", 36 | foreground: "hsl(var(--destructive-foreground))", 37 | }, 38 | muted: { 39 | DEFAULT: "hsl(var(--muted))", 40 | foreground: "hsl(var(--muted-foreground))", 41 | }, 42 | accent: { 43 | DEFAULT: "hsl(var(--accent))", 44 | foreground: "hsl(var(--accent-foreground))", 45 | }, 46 | popover: { 47 | DEFAULT: "hsl(var(--popover))", 48 | foreground: "hsl(var(--popover-foreground))", 49 | }, 50 | card: { 51 | DEFAULT: "hsl(var(--card))", 52 | foreground: "hsl(var(--card-foreground))", 53 | }, 54 | }, 55 | borderRadius: { 56 | lg: "var(--radius)", 57 | md: "calc(var(--radius) - 2px)", 58 | sm: "calc(var(--radius) - 4px)", 59 | }, 60 | keyframes: { 61 | "accordion-down": { 62 | from: { height: 0 }, 63 | to: { height: "var(--radix-accordion-content-height)" }, 64 | }, 65 | "accordion-up": { 66 | from: { height: "var(--radix-accordion-content-height)" }, 67 | to: { height: 0 }, 68 | }, 69 | }, 70 | animation: { 71 | "accordion-down": "accordion-down 0.2s ease-out", 72 | "accordion-up": "accordion-up 0.2s ease-out", 73 | }, 74 | }, 75 | }, 76 | plugins: [require("tailwindcss-animate")], 77 | }; 78 | -------------------------------------------------------------------------------- /src/app/action.tsx: -------------------------------------------------------------------------------- 1 | "use server"; 2 | 3 | import React from "react"; 4 | import OpenAI from "openai"; 5 | import { OpenAIStream, experimental_StreamingReactResponse, Message } from "ai"; 6 | // import Counter from "./Counter"; 7 | import { getAlbumInfo } from "./spotify"; 8 | import Album from "./Album"; 9 | 10 | const openai = new OpenAI({ 11 | apiKey: process.env.OPENAI_API_KEY!, 12 | }); 13 | 14 | const getAlbums = (aiResponse: string) => { 15 | const albums = aiResponse.split("\n"); 16 | return albums 17 | .map((l) => { 18 | if (l.match(/\(\d+\)$/)) { 19 | const [album, artist] = l 20 | .replace(/\(\d+\)$/, "") 21 | .replace(/-\s+/, "") 22 | .split(/ - /); 23 | return { 24 | artist: artist.trim(), 25 | album: album.replace(/\"/g, "").trim(), 26 | }; 27 | } 28 | return null; 29 | }) 30 | .filter((v) => v) as { artist: string; album: string }[]; 31 | }; 32 | 33 | export async function handler({ messages }: { messages: Message[] }) { 34 | const response = await openai.chat.completions.create({ 35 | model: "gpt-3.5-turbo", 36 | stream: true, 37 | messages: messages.map((m) => ({ 38 | role: m.role as "user" | "assistant", 39 | content: 40 | m.role === "user" 41 | ? `bullet list in the format "- album - artist (year)" of three music albums from 1970-2000 with beautiful album covers in the theme of "${m.content}"` 42 | : m.content, 43 | })), 44 | }); 45 | 46 | const stream = OpenAIStream(response); 47 | 48 | return new experimental_StreamingReactResponse(stream, { 49 | ui: async (params) => { 50 | const data = await Promise.all( 51 | getAlbums(params.content).map(({ artist, album }) => 52 | getAlbumInfo(artist, album).then((info) => ({ 53 | url: info?.albums?.items[0]?.external_urls?.spotify, 54 | image: info?.albums?.items[0]?.images?.[0], 55 | name: info?.albums?.items[0]?.name, 56 | release_date: info?.albums?.items[0]?.release_date, 57 | artist: info?.albums?.items[0]?.artists?.[0]?.name, 58 | })) 59 | ) 60 | ); 61 | return ( 62 |
63 | {data 64 | .filter((album) => album?.image?.url) 65 | .map((album) => ( 66 |
67 | 68 |
69 | ))} 70 |
71 | ); 72 | }, 73 | }); 74 | } 75 | -------------------------------------------------------------------------------- /src/app/spotify.ts: -------------------------------------------------------------------------------- 1 | import { Buffer } from "buffer"; 2 | import { Mutex } from "async-mutex"; 3 | 4 | interface Album { 5 | href: string; 6 | items: { 7 | album_type: string; 8 | artists: { 9 | external_urls: { 10 | spotify: string; 11 | }; 12 | href: string; 13 | id: string; 14 | name: string; 15 | type: string; 16 | uri: string; 17 | }[]; 18 | available_markets: string[]; 19 | external_urls: { 20 | spotify: string; 21 | }; 22 | href: string; 23 | id: string; 24 | images: { 25 | height: number; 26 | url: string; 27 | width: number; 28 | }[]; 29 | name: string; 30 | release_date: string; 31 | release_date_precision: string; 32 | total_tracks: number; 33 | type: string; 34 | uri: string; 35 | }[]; 36 | limit: number; 37 | next: string; 38 | offset: number; 39 | previous?: any; 40 | total: number; 41 | } 42 | 43 | interface SpotifyResult { 44 | albums: Album; 45 | } 46 | 47 | let cachedToken: Promise | null = null; 48 | 49 | const tokenMutex = new Mutex(); 50 | 51 | async function getToken() { 52 | return tokenMutex.runExclusive(async () => { 53 | if (!cachedToken) { 54 | console.log("Fetching Spotify token"); 55 | const creds = `${process.env.SPOTIFY_CLIENT_ID}:${process.env.SPOTIFY_CLIENT_SECRET}`; 56 | const encodedCreds = Buffer.from(creds).toString("base64"); 57 | 58 | cachedToken = await fetch("https://accounts.spotify.com/api/token", { 59 | method: "POST", 60 | headers: { 61 | Authorization: `Basic ${encodedCreds}`, 62 | "Content-Type": "application/x-www-form-urlencoded", 63 | }, 64 | body: "grant_type=client_credentials", 65 | }) 66 | .then((res) => res.json()) 67 | .then((res) => res.access_token); 68 | } 69 | return cachedToken; 70 | }); 71 | } 72 | 73 | const albumCache: Record> = {}; 74 | 75 | const albumMutex = new Mutex(); 76 | 77 | export async function getAlbumInfo(artist: string, album: string) { 78 | const token = await getToken(); 79 | return albumMutex.runExclusive(async () => { 80 | const cacheKey = `${artist}:${album}`; 81 | if (!albumCache[cacheKey]) { 82 | console.log("Fetching album info for ", cacheKey); 83 | albumCache[cacheKey] = fetch( 84 | `https://api.spotify.com/v1/search?q=${encodeURIComponent( 85 | `${album} by ${artist}` 86 | )}&type=album&limit=1&offset=0`, 87 | { 88 | headers: { 89 | Authorization: `Bearer ${token}`, 90 | "Content-Type": "application/json", 91 | }, 92 | } 93 | ).then((res) => res.json()); 94 | } 95 | 96 | return albumCache[cacheKey]; 97 | }); 98 | } 99 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | dependencies: 8 | '@radix-ui/react-label': 9 | specifier: ^2.0.2 10 | version: 2.0.2(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0) 11 | '@radix-ui/react-slot': 12 | specifier: ^1.0.2 13 | version: 1.0.2(@types/react@18.2.38)(react@18.2.0) 14 | '@radix-ui/react-tabs': 15 | specifier: ^1.0.4 16 | version: 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0) 17 | ai: 18 | specifier: ^2.2.25 19 | version: 2.2.25(react@18.2.0)(solid-js@1.8.6)(svelte@4.2.7)(vue@3.3.9) 20 | async-mutex: 21 | specifier: ^0.4.0 22 | version: 0.4.0 23 | babel-plugin-prismjs: 24 | specifier: ^2.1.0 25 | version: 2.1.0(prismjs@1.29.0) 26 | class-variance-authority: 27 | specifier: ^0.7.0 28 | version: 0.7.0 29 | clsx: 30 | specifier: ^2.0.0 31 | version: 2.0.0 32 | fs: 33 | specifier: 0.0.1-security 34 | version: 0.0.1-security 35 | lucide-react: 36 | specifier: ^0.293.0 37 | version: 0.293.0(react@18.2.0) 38 | next: 39 | specifier: 14.0.4-canary.17 40 | version: 14.0.4-canary.17(react-dom@18.2.0)(react@18.2.0) 41 | next-themes: 42 | specifier: ^0.2.1 43 | version: 0.2.1(next@14.0.4-canary.17)(react-dom@18.2.0)(react@18.2.0) 44 | openai: 45 | specifier: ^4.20.0 46 | version: 4.20.0 47 | prismjs: 48 | specifier: ^1.29.0 49 | version: 1.29.0 50 | react: 51 | specifier: ^18 52 | version: 18.2.0 53 | react-dom: 54 | specifier: ^18 55 | version: 18.2.0(react@18.2.0) 56 | tailwind-merge: 57 | specifier: ^2.0.0 58 | version: 2.0.0 59 | tailwindcss-animate: 60 | specifier: ^1.0.7 61 | version: 1.0.7(tailwindcss@3.3.5) 62 | 63 | devDependencies: 64 | '@types/node': 65 | specifier: ^20 66 | version: 20.10.0 67 | '@types/react': 68 | specifier: ^18 69 | version: 18.2.38 70 | '@types/react-dom': 71 | specifier: ^18 72 | version: 18.2.17 73 | autoprefixer: 74 | specifier: ^10.0.1 75 | version: 10.4.16(postcss@8.4.31) 76 | eslint: 77 | specifier: ^8 78 | version: 8.54.0 79 | eslint-config-next: 80 | specifier: 14.0.4-canary.17 81 | version: 14.0.4-canary.17(eslint@8.54.0)(typescript@5.3.2) 82 | postcss: 83 | specifier: ^8 84 | version: 8.4.31 85 | tailwindcss: 86 | specifier: ^3.3.0 87 | version: 3.3.5 88 | typescript: 89 | specifier: ^5 90 | version: 5.3.2 91 | 92 | packages: 93 | 94 | /@aashutoshrathi/word-wrap@1.2.6: 95 | resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} 96 | engines: {node: '>=0.10.0'} 97 | dev: true 98 | 99 | /@alloc/quick-lru@5.2.0: 100 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} 101 | engines: {node: '>=10'} 102 | 103 | /@ampproject/remapping@2.2.1: 104 | resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} 105 | engines: {node: '>=6.0.0'} 106 | dependencies: 107 | '@jridgewell/gen-mapping': 0.3.3 108 | '@jridgewell/trace-mapping': 0.3.20 109 | dev: false 110 | 111 | /@babel/helper-string-parser@7.23.4: 112 | resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} 113 | engines: {node: '>=6.9.0'} 114 | dev: false 115 | 116 | /@babel/helper-validator-identifier@7.22.20: 117 | resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} 118 | engines: {node: '>=6.9.0'} 119 | dev: false 120 | 121 | /@babel/parser@7.23.4: 122 | resolution: {integrity: sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==} 123 | engines: {node: '>=6.0.0'} 124 | hasBin: true 125 | dependencies: 126 | '@babel/types': 7.23.4 127 | dev: false 128 | 129 | /@babel/runtime@7.23.4: 130 | resolution: {integrity: sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==} 131 | engines: {node: '>=6.9.0'} 132 | dependencies: 133 | regenerator-runtime: 0.14.0 134 | 135 | /@babel/types@7.23.4: 136 | resolution: {integrity: sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==} 137 | engines: {node: '>=6.9.0'} 138 | dependencies: 139 | '@babel/helper-string-parser': 7.23.4 140 | '@babel/helper-validator-identifier': 7.22.20 141 | to-fast-properties: 2.0.0 142 | dev: false 143 | 144 | /@eslint-community/eslint-utils@4.4.0(eslint@8.54.0): 145 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} 146 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 147 | peerDependencies: 148 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 149 | dependencies: 150 | eslint: 8.54.0 151 | eslint-visitor-keys: 3.4.3 152 | dev: true 153 | 154 | /@eslint-community/regexpp@4.10.0: 155 | resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} 156 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 157 | dev: true 158 | 159 | /@eslint/eslintrc@2.1.3: 160 | resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==} 161 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 162 | dependencies: 163 | ajv: 6.12.6 164 | debug: 4.3.4 165 | espree: 9.6.1 166 | globals: 13.23.0 167 | ignore: 5.3.0 168 | import-fresh: 3.3.0 169 | js-yaml: 4.1.0 170 | minimatch: 3.1.2 171 | strip-json-comments: 3.1.1 172 | transitivePeerDependencies: 173 | - supports-color 174 | dev: true 175 | 176 | /@eslint/js@8.54.0: 177 | resolution: {integrity: sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==} 178 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 179 | dev: true 180 | 181 | /@humanwhocodes/config-array@0.11.13: 182 | resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} 183 | engines: {node: '>=10.10.0'} 184 | dependencies: 185 | '@humanwhocodes/object-schema': 2.0.1 186 | debug: 4.3.4 187 | minimatch: 3.1.2 188 | transitivePeerDependencies: 189 | - supports-color 190 | dev: true 191 | 192 | /@humanwhocodes/module-importer@1.0.1: 193 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 194 | engines: {node: '>=12.22'} 195 | dev: true 196 | 197 | /@humanwhocodes/object-schema@2.0.1: 198 | resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} 199 | dev: true 200 | 201 | /@jridgewell/gen-mapping@0.3.3: 202 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} 203 | engines: {node: '>=6.0.0'} 204 | dependencies: 205 | '@jridgewell/set-array': 1.1.2 206 | '@jridgewell/sourcemap-codec': 1.4.15 207 | '@jridgewell/trace-mapping': 0.3.20 208 | 209 | /@jridgewell/resolve-uri@3.1.1: 210 | resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} 211 | engines: {node: '>=6.0.0'} 212 | 213 | /@jridgewell/set-array@1.1.2: 214 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} 215 | engines: {node: '>=6.0.0'} 216 | 217 | /@jridgewell/sourcemap-codec@1.4.15: 218 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 219 | 220 | /@jridgewell/trace-mapping@0.3.20: 221 | resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} 222 | dependencies: 223 | '@jridgewell/resolve-uri': 3.1.1 224 | '@jridgewell/sourcemap-codec': 1.4.15 225 | 226 | /@next/env@14.0.4-canary.17: 227 | resolution: {integrity: sha512-5YDCijl+6+zTzd+CpNCwhLwpwaIeiH4g+ATHN+sAwAZYv6LPRSjISYYso7LaUx86lUSmEVSdH8Nfl5N/4P4vdw==} 228 | dev: false 229 | 230 | /@next/eslint-plugin-next@14.0.4-canary.17: 231 | resolution: {integrity: sha512-K1i9iS68SCWfhc7GuzdU/mirnMnN8VACUtDA+JOs4VICqgJOVUut6Ddtv+XBF2Apb7qq9O2r1mG4vnGll0A6mQ==} 232 | dependencies: 233 | glob: 7.1.7 234 | dev: true 235 | 236 | /@next/swc-darwin-arm64@14.0.4-canary.17: 237 | resolution: {integrity: sha512-nncEc4DYfz6YLZMwwDLFg0LnceU9GG4M5I/fBdjFyySgj1NTEZ8Ixdn309rTl5rjPg49R9yCw7vVCixMd0WF7A==} 238 | engines: {node: '>= 10'} 239 | cpu: [arm64] 240 | os: [darwin] 241 | requiresBuild: true 242 | dev: false 243 | optional: true 244 | 245 | /@next/swc-darwin-x64@14.0.4-canary.17: 246 | resolution: {integrity: sha512-hpPViY7TKYKZtGUaKz5IOICFVDXsCsZnmIY+oTe0pVo4gTZ9fbnKZmC3CdLSxht8tHycQ2aohbfrM975vnbz9A==} 247 | engines: {node: '>= 10'} 248 | cpu: [x64] 249 | os: [darwin] 250 | requiresBuild: true 251 | dev: false 252 | optional: true 253 | 254 | /@next/swc-linux-arm64-gnu@14.0.4-canary.17: 255 | resolution: {integrity: sha512-gcwen6B0inzL4K+k9lFtIRVM9qfYngSZF/EWs2LLqNXoR+pxpmRyZUlYgR1in9gKmHxDVni1hg0x2YXmkYHx+A==} 256 | engines: {node: '>= 10'} 257 | cpu: [arm64] 258 | os: [linux] 259 | requiresBuild: true 260 | dev: false 261 | optional: true 262 | 263 | /@next/swc-linux-arm64-musl@14.0.4-canary.17: 264 | resolution: {integrity: sha512-xopjpTP3l6Cz0X4lvlimmLjKRL7qqy36kT++n8g09jjtSl8qsvporG6629azNC5VI+B/koHlX4WI9xkLzm7UmQ==} 265 | engines: {node: '>= 10'} 266 | cpu: [arm64] 267 | os: [linux] 268 | requiresBuild: true 269 | dev: false 270 | optional: true 271 | 272 | /@next/swc-linux-x64-gnu@14.0.4-canary.17: 273 | resolution: {integrity: sha512-rVoyQyJo3EFO5FzKpYMhkJ2gAikAz8WPm/SAFZ6oSJz3u9/PXfvmG9U7J+XFRE9MxGoX1i2MCaR/+i/m2AbKlA==} 274 | engines: {node: '>= 10'} 275 | cpu: [x64] 276 | os: [linux] 277 | requiresBuild: true 278 | dev: false 279 | optional: true 280 | 281 | /@next/swc-linux-x64-musl@14.0.4-canary.17: 282 | resolution: {integrity: sha512-yuDsRAidXeAAdgBlE9saI6vGcNZ0ObSrwmK+It1hlaRg4o43w3jPVPo2i8NFk5EA+bC0IZn9TK3FoiC8WHph9g==} 283 | engines: {node: '>= 10'} 284 | cpu: [x64] 285 | os: [linux] 286 | requiresBuild: true 287 | dev: false 288 | optional: true 289 | 290 | /@next/swc-win32-arm64-msvc@14.0.4-canary.17: 291 | resolution: {integrity: sha512-QgwX3rbsEvsnbyMRIuRyvTWATjyFZLNz/KIj9ZmK6/4druBcHrJL5n2NDOFmDGFjOyCHT/RX7m6WJbQzjvRp2Q==} 292 | engines: {node: '>= 10'} 293 | cpu: [arm64] 294 | os: [win32] 295 | requiresBuild: true 296 | dev: false 297 | optional: true 298 | 299 | /@next/swc-win32-ia32-msvc@14.0.4-canary.17: 300 | resolution: {integrity: sha512-pReqq5u2XOP6yCStJBiBeO0nCzMOhAkNtIPHHFGw3YridoBs6PeEM8Sd83tzOjowtZWOUcO+r7zAotK2h5+xvw==} 301 | engines: {node: '>= 10'} 302 | cpu: [ia32] 303 | os: [win32] 304 | requiresBuild: true 305 | dev: false 306 | optional: true 307 | 308 | /@next/swc-win32-x64-msvc@14.0.4-canary.17: 309 | resolution: {integrity: sha512-kmEnEH+A4pfhH3PHzGoDsIR6ZD5BcWrZMQgR+6DLpjTGEW+bB6M+KGyKklNXf21w8hzhkmkoRw44Y/nklpq70A==} 310 | engines: {node: '>= 10'} 311 | cpu: [x64] 312 | os: [win32] 313 | requiresBuild: true 314 | dev: false 315 | optional: true 316 | 317 | /@nodelib/fs.scandir@2.1.5: 318 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 319 | engines: {node: '>= 8'} 320 | dependencies: 321 | '@nodelib/fs.stat': 2.0.5 322 | run-parallel: 1.2.0 323 | 324 | /@nodelib/fs.stat@2.0.5: 325 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 326 | engines: {node: '>= 8'} 327 | 328 | /@nodelib/fs.walk@1.2.8: 329 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 330 | engines: {node: '>= 8'} 331 | dependencies: 332 | '@nodelib/fs.scandir': 2.1.5 333 | fastq: 1.15.0 334 | 335 | /@radix-ui/primitive@1.0.1: 336 | resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} 337 | dependencies: 338 | '@babel/runtime': 7.23.4 339 | dev: false 340 | 341 | /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0): 342 | resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} 343 | peerDependencies: 344 | '@types/react': '*' 345 | '@types/react-dom': '*' 346 | react: ^16.8 || ^17.0 || ^18.0 347 | react-dom: ^16.8 || ^17.0 || ^18.0 348 | peerDependenciesMeta: 349 | '@types/react': 350 | optional: true 351 | '@types/react-dom': 352 | optional: true 353 | dependencies: 354 | '@babel/runtime': 7.23.4 355 | '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.38)(react@18.2.0) 356 | '@radix-ui/react-context': 1.0.1(@types/react@18.2.38)(react@18.2.0) 357 | '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0) 358 | '@radix-ui/react-slot': 1.0.2(@types/react@18.2.38)(react@18.2.0) 359 | '@types/react': 18.2.38 360 | '@types/react-dom': 18.2.17 361 | react: 18.2.0 362 | react-dom: 18.2.0(react@18.2.0) 363 | dev: false 364 | 365 | /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.38)(react@18.2.0): 366 | resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} 367 | peerDependencies: 368 | '@types/react': '*' 369 | react: ^16.8 || ^17.0 || ^18.0 370 | peerDependenciesMeta: 371 | '@types/react': 372 | optional: true 373 | dependencies: 374 | '@babel/runtime': 7.23.4 375 | '@types/react': 18.2.38 376 | react: 18.2.0 377 | dev: false 378 | 379 | /@radix-ui/react-context@1.0.1(@types/react@18.2.38)(react@18.2.0): 380 | resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} 381 | peerDependencies: 382 | '@types/react': '*' 383 | react: ^16.8 || ^17.0 || ^18.0 384 | peerDependenciesMeta: 385 | '@types/react': 386 | optional: true 387 | dependencies: 388 | '@babel/runtime': 7.23.4 389 | '@types/react': 18.2.38 390 | react: 18.2.0 391 | dev: false 392 | 393 | /@radix-ui/react-direction@1.0.1(@types/react@18.2.38)(react@18.2.0): 394 | resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} 395 | peerDependencies: 396 | '@types/react': '*' 397 | react: ^16.8 || ^17.0 || ^18.0 398 | peerDependenciesMeta: 399 | '@types/react': 400 | optional: true 401 | dependencies: 402 | '@babel/runtime': 7.23.4 403 | '@types/react': 18.2.38 404 | react: 18.2.0 405 | dev: false 406 | 407 | /@radix-ui/react-id@1.0.1(@types/react@18.2.38)(react@18.2.0): 408 | resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} 409 | peerDependencies: 410 | '@types/react': '*' 411 | react: ^16.8 || ^17.0 || ^18.0 412 | peerDependenciesMeta: 413 | '@types/react': 414 | optional: true 415 | dependencies: 416 | '@babel/runtime': 7.23.4 417 | '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.38)(react@18.2.0) 418 | '@types/react': 18.2.38 419 | react: 18.2.0 420 | dev: false 421 | 422 | /@radix-ui/react-label@2.0.2(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0): 423 | resolution: {integrity: sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==} 424 | peerDependencies: 425 | '@types/react': '*' 426 | '@types/react-dom': '*' 427 | react: ^16.8 || ^17.0 || ^18.0 428 | react-dom: ^16.8 || ^17.0 || ^18.0 429 | peerDependenciesMeta: 430 | '@types/react': 431 | optional: true 432 | '@types/react-dom': 433 | optional: true 434 | dependencies: 435 | '@babel/runtime': 7.23.4 436 | '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0) 437 | '@types/react': 18.2.38 438 | '@types/react-dom': 18.2.17 439 | react: 18.2.0 440 | react-dom: 18.2.0(react@18.2.0) 441 | dev: false 442 | 443 | /@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0): 444 | resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} 445 | peerDependencies: 446 | '@types/react': '*' 447 | '@types/react-dom': '*' 448 | react: ^16.8 || ^17.0 || ^18.0 449 | react-dom: ^16.8 || ^17.0 || ^18.0 450 | peerDependenciesMeta: 451 | '@types/react': 452 | optional: true 453 | '@types/react-dom': 454 | optional: true 455 | dependencies: 456 | '@babel/runtime': 7.23.4 457 | '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.38)(react@18.2.0) 458 | '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.38)(react@18.2.0) 459 | '@types/react': 18.2.38 460 | '@types/react-dom': 18.2.17 461 | react: 18.2.0 462 | react-dom: 18.2.0(react@18.2.0) 463 | dev: false 464 | 465 | /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0): 466 | resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} 467 | peerDependencies: 468 | '@types/react': '*' 469 | '@types/react-dom': '*' 470 | react: ^16.8 || ^17.0 || ^18.0 471 | react-dom: ^16.8 || ^17.0 || ^18.0 472 | peerDependenciesMeta: 473 | '@types/react': 474 | optional: true 475 | '@types/react-dom': 476 | optional: true 477 | dependencies: 478 | '@babel/runtime': 7.23.4 479 | '@radix-ui/react-slot': 1.0.2(@types/react@18.2.38)(react@18.2.0) 480 | '@types/react': 18.2.38 481 | '@types/react-dom': 18.2.17 482 | react: 18.2.0 483 | react-dom: 18.2.0(react@18.2.0) 484 | dev: false 485 | 486 | /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0): 487 | resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} 488 | peerDependencies: 489 | '@types/react': '*' 490 | '@types/react-dom': '*' 491 | react: ^16.8 || ^17.0 || ^18.0 492 | react-dom: ^16.8 || ^17.0 || ^18.0 493 | peerDependenciesMeta: 494 | '@types/react': 495 | optional: true 496 | '@types/react-dom': 497 | optional: true 498 | dependencies: 499 | '@babel/runtime': 7.23.4 500 | '@radix-ui/primitive': 1.0.1 501 | '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0) 502 | '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.38)(react@18.2.0) 503 | '@radix-ui/react-context': 1.0.1(@types/react@18.2.38)(react@18.2.0) 504 | '@radix-ui/react-direction': 1.0.1(@types/react@18.2.38)(react@18.2.0) 505 | '@radix-ui/react-id': 1.0.1(@types/react@18.2.38)(react@18.2.0) 506 | '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0) 507 | '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.38)(react@18.2.0) 508 | '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.38)(react@18.2.0) 509 | '@types/react': 18.2.38 510 | '@types/react-dom': 18.2.17 511 | react: 18.2.0 512 | react-dom: 18.2.0(react@18.2.0) 513 | dev: false 514 | 515 | /@radix-ui/react-slot@1.0.2(@types/react@18.2.38)(react@18.2.0): 516 | resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} 517 | peerDependencies: 518 | '@types/react': '*' 519 | react: ^16.8 || ^17.0 || ^18.0 520 | peerDependenciesMeta: 521 | '@types/react': 522 | optional: true 523 | dependencies: 524 | '@babel/runtime': 7.23.4 525 | '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.38)(react@18.2.0) 526 | '@types/react': 18.2.38 527 | react: 18.2.0 528 | dev: false 529 | 530 | /@radix-ui/react-tabs@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0): 531 | resolution: {integrity: sha512-egZfYY/+wRNCflXNHx+dePvnz9FbmssDTJBtgRfDY7e8SE5oIo3Py2eCB1ckAbh1Q7cQ/6yJZThJ++sgbxibog==} 532 | peerDependencies: 533 | '@types/react': '*' 534 | '@types/react-dom': '*' 535 | react: ^16.8 || ^17.0 || ^18.0 536 | react-dom: ^16.8 || ^17.0 || ^18.0 537 | peerDependenciesMeta: 538 | '@types/react': 539 | optional: true 540 | '@types/react-dom': 541 | optional: true 542 | dependencies: 543 | '@babel/runtime': 7.23.4 544 | '@radix-ui/primitive': 1.0.1 545 | '@radix-ui/react-context': 1.0.1(@types/react@18.2.38)(react@18.2.0) 546 | '@radix-ui/react-direction': 1.0.1(@types/react@18.2.38)(react@18.2.0) 547 | '@radix-ui/react-id': 1.0.1(@types/react@18.2.38)(react@18.2.0) 548 | '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0) 549 | '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0) 550 | '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0) 551 | '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.38)(react@18.2.0) 552 | '@types/react': 18.2.38 553 | '@types/react-dom': 18.2.17 554 | react: 18.2.0 555 | react-dom: 18.2.0(react@18.2.0) 556 | dev: false 557 | 558 | /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.38)(react@18.2.0): 559 | resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} 560 | peerDependencies: 561 | '@types/react': '*' 562 | react: ^16.8 || ^17.0 || ^18.0 563 | peerDependenciesMeta: 564 | '@types/react': 565 | optional: true 566 | dependencies: 567 | '@babel/runtime': 7.23.4 568 | '@types/react': 18.2.38 569 | react: 18.2.0 570 | dev: false 571 | 572 | /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.38)(react@18.2.0): 573 | resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} 574 | peerDependencies: 575 | '@types/react': '*' 576 | react: ^16.8 || ^17.0 || ^18.0 577 | peerDependenciesMeta: 578 | '@types/react': 579 | optional: true 580 | dependencies: 581 | '@babel/runtime': 7.23.4 582 | '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.38)(react@18.2.0) 583 | '@types/react': 18.2.38 584 | react: 18.2.0 585 | dev: false 586 | 587 | /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.38)(react@18.2.0): 588 | resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} 589 | peerDependencies: 590 | '@types/react': '*' 591 | react: ^16.8 || ^17.0 || ^18.0 592 | peerDependenciesMeta: 593 | '@types/react': 594 | optional: true 595 | dependencies: 596 | '@babel/runtime': 7.23.4 597 | '@types/react': 18.2.38 598 | react: 18.2.0 599 | dev: false 600 | 601 | /@rushstack/eslint-patch@1.6.0: 602 | resolution: {integrity: sha512-2/U3GXA6YiPYQDLGwtGlnNgKYBSwCFIHf8Y9LUY5VATHdtbLlU0Y1R3QoBnT0aB4qv/BEiVVsj7LJXoQCgJ2vA==} 603 | dev: true 604 | 605 | /@swc/helpers@0.5.2: 606 | resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} 607 | dependencies: 608 | tslib: 2.6.2 609 | dev: false 610 | 611 | /@types/estree@1.0.5: 612 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} 613 | dev: false 614 | 615 | /@types/json5@0.0.29: 616 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 617 | dev: true 618 | 619 | /@types/node-fetch@2.6.9: 620 | resolution: {integrity: sha512-bQVlnMLFJ2d35DkPNjEPmd9ueO/rh5EiaZt2bhqiSarPjZIuIV6bPQVqcrEyvNo+AfTrRGVazle1tl597w3gfA==} 621 | dependencies: 622 | '@types/node': 20.10.0 623 | form-data: 4.0.0 624 | dev: false 625 | 626 | /@types/node@18.18.13: 627 | resolution: {integrity: sha512-vXYZGRrSCreZmq1rEjMRLXJhiy8MrIeVasx+PCVlP414N7CJLHnMf+juVvjdprHyH+XRy3zKZLHeNueOpJCn0g==} 628 | dependencies: 629 | undici-types: 5.26.5 630 | dev: false 631 | 632 | /@types/node@20.10.0: 633 | resolution: {integrity: sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==} 634 | dependencies: 635 | undici-types: 5.26.5 636 | 637 | /@types/prop-types@15.7.11: 638 | resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} 639 | 640 | /@types/react-dom@18.2.17: 641 | resolution: {integrity: sha512-rvrT/M7Df5eykWFxn6MYt5Pem/Dbyc1N8Y0S9Mrkw2WFCRiqUgw9P7ul2NpwsXCSM1DVdENzdG9J5SreqfAIWg==} 642 | dependencies: 643 | '@types/react': 18.2.38 644 | 645 | /@types/react@18.2.38: 646 | resolution: {integrity: sha512-cBBXHzuPtQK6wNthuVMV6IjHAFkdl/FOPFIlkd81/Cd1+IqkHu/A+w4g43kaQQoYHik/ruaQBDL72HyCy1vuMw==} 647 | dependencies: 648 | '@types/prop-types': 15.7.11 649 | '@types/scheduler': 0.16.8 650 | csstype: 3.1.2 651 | 652 | /@types/scheduler@0.16.8: 653 | resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} 654 | 655 | /@typescript-eslint/parser@6.12.0(eslint@8.54.0)(typescript@5.3.2): 656 | resolution: {integrity: sha512-s8/jNFPKPNRmXEnNXfuo1gemBdVmpQsK1pcu+QIvuNJuhFzGrpD7WjOcvDc/+uEdfzSYpNu7U/+MmbScjoQ6vg==} 657 | engines: {node: ^16.0.0 || >=18.0.0} 658 | peerDependencies: 659 | eslint: ^7.0.0 || ^8.0.0 660 | typescript: '*' 661 | peerDependenciesMeta: 662 | typescript: 663 | optional: true 664 | dependencies: 665 | '@typescript-eslint/scope-manager': 6.12.0 666 | '@typescript-eslint/types': 6.12.0 667 | '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.2) 668 | '@typescript-eslint/visitor-keys': 6.12.0 669 | debug: 4.3.4 670 | eslint: 8.54.0 671 | typescript: 5.3.2 672 | transitivePeerDependencies: 673 | - supports-color 674 | dev: true 675 | 676 | /@typescript-eslint/scope-manager@6.12.0: 677 | resolution: {integrity: sha512-5gUvjg+XdSj8pcetdL9eXJzQNTl3RD7LgUiYTl8Aabdi8hFkaGSYnaS6BLc0BGNaDH+tVzVwmKtWvu0jLgWVbw==} 678 | engines: {node: ^16.0.0 || >=18.0.0} 679 | dependencies: 680 | '@typescript-eslint/types': 6.12.0 681 | '@typescript-eslint/visitor-keys': 6.12.0 682 | dev: true 683 | 684 | /@typescript-eslint/types@6.12.0: 685 | resolution: {integrity: sha512-MA16p/+WxM5JG/F3RTpRIcuOghWO30//VEOvzubM8zuOOBYXsP+IfjoCXXiIfy2Ta8FRh9+IO9QLlaFQUU+10Q==} 686 | engines: {node: ^16.0.0 || >=18.0.0} 687 | dev: true 688 | 689 | /@typescript-eslint/typescript-estree@6.12.0(typescript@5.3.2): 690 | resolution: {integrity: sha512-vw9E2P9+3UUWzhgjyyVczLWxZ3GuQNT7QpnIY3o5OMeLO/c8oHljGc8ZpryBMIyympiAAaKgw9e5Hl9dCWFOYw==} 691 | engines: {node: ^16.0.0 || >=18.0.0} 692 | peerDependencies: 693 | typescript: '*' 694 | peerDependenciesMeta: 695 | typescript: 696 | optional: true 697 | dependencies: 698 | '@typescript-eslint/types': 6.12.0 699 | '@typescript-eslint/visitor-keys': 6.12.0 700 | debug: 4.3.4 701 | globby: 11.1.0 702 | is-glob: 4.0.3 703 | semver: 7.5.4 704 | ts-api-utils: 1.0.3(typescript@5.3.2) 705 | typescript: 5.3.2 706 | transitivePeerDependencies: 707 | - supports-color 708 | dev: true 709 | 710 | /@typescript-eslint/visitor-keys@6.12.0: 711 | resolution: {integrity: sha512-rg3BizTZHF1k3ipn8gfrzDXXSFKyOEB5zxYXInQ6z0hUvmQlhaZQzK+YmHmNViMA9HzW5Q9+bPPt90bU6GQwyw==} 712 | engines: {node: ^16.0.0 || >=18.0.0} 713 | dependencies: 714 | '@typescript-eslint/types': 6.12.0 715 | eslint-visitor-keys: 3.4.3 716 | dev: true 717 | 718 | /@ungap/structured-clone@1.2.0: 719 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} 720 | dev: true 721 | 722 | /@vue/compiler-core@3.3.9: 723 | resolution: {integrity: sha512-+/Lf68Vr/nFBA6ol4xOtJrW+BQWv3QWKfRwGSm70jtXwfhZNF4R/eRgyVJYoxFRhdCTk/F6g99BP0ffPgZihfQ==} 724 | dependencies: 725 | '@babel/parser': 7.23.4 726 | '@vue/shared': 3.3.9 727 | estree-walker: 2.0.2 728 | source-map-js: 1.0.2 729 | dev: false 730 | 731 | /@vue/compiler-dom@3.3.9: 732 | resolution: {integrity: sha512-nfWubTtLXuT4iBeDSZ5J3m218MjOy42Vp2pmKVuBKo2/BLcrFUX8nCSr/bKRFiJ32R8qbdnnnBgRn9AdU5v0Sg==} 733 | dependencies: 734 | '@vue/compiler-core': 3.3.9 735 | '@vue/shared': 3.3.9 736 | dev: false 737 | 738 | /@vue/compiler-sfc@3.3.9: 739 | resolution: {integrity: sha512-wy0CNc8z4ihoDzjASCOCsQuzW0A/HP27+0MDSSICMjVIFzk/rFViezkR3dzH+miS2NDEz8ywMdbjO5ylhOLI2A==} 740 | dependencies: 741 | '@babel/parser': 7.23.4 742 | '@vue/compiler-core': 3.3.9 743 | '@vue/compiler-dom': 3.3.9 744 | '@vue/compiler-ssr': 3.3.9 745 | '@vue/reactivity-transform': 3.3.9 746 | '@vue/shared': 3.3.9 747 | estree-walker: 2.0.2 748 | magic-string: 0.30.5 749 | postcss: 8.4.31 750 | source-map-js: 1.0.2 751 | dev: false 752 | 753 | /@vue/compiler-ssr@3.3.9: 754 | resolution: {integrity: sha512-NO5oobAw78R0G4SODY5A502MGnDNiDjf6qvhn7zD7TJGc8XDeIEw4fg6JU705jZ/YhuokBKz0A5a/FL/XZU73g==} 755 | dependencies: 756 | '@vue/compiler-dom': 3.3.9 757 | '@vue/shared': 3.3.9 758 | dev: false 759 | 760 | /@vue/reactivity-transform@3.3.9: 761 | resolution: {integrity: sha512-HnUFm7Ry6dFa4Lp63DAxTixUp8opMtQr6RxQCpDI1vlh12rkGIeYqMvJtK+IKyEfEOa2I9oCkD1mmsPdaGpdVg==} 762 | dependencies: 763 | '@babel/parser': 7.23.4 764 | '@vue/compiler-core': 3.3.9 765 | '@vue/shared': 3.3.9 766 | estree-walker: 2.0.2 767 | magic-string: 0.30.5 768 | dev: false 769 | 770 | /@vue/reactivity@3.3.9: 771 | resolution: {integrity: sha512-VmpIqlNp+aYDg2X0xQhJqHx9YguOmz2UxuUJDckBdQCNkipJvfk9yA75woLWElCa0Jtyec3lAAt49GO0izsphw==} 772 | dependencies: 773 | '@vue/shared': 3.3.9 774 | dev: false 775 | 776 | /@vue/runtime-core@3.3.9: 777 | resolution: {integrity: sha512-xxaG9KvPm3GTRuM4ZyU8Tc+pMVzcu6eeoSRQJ9IE7NmCcClW6z4B3Ij6L4EDl80sxe/arTtQ6YmgiO4UZqRc+w==} 778 | dependencies: 779 | '@vue/reactivity': 3.3.9 780 | '@vue/shared': 3.3.9 781 | dev: false 782 | 783 | /@vue/runtime-dom@3.3.9: 784 | resolution: {integrity: sha512-e7LIfcxYSWbV6BK1wQv9qJyxprC75EvSqF/kQKe6bdZEDNValzeRXEVgiX7AHI6hZ59HA4h7WT5CGvm69vzJTQ==} 785 | dependencies: 786 | '@vue/runtime-core': 3.3.9 787 | '@vue/shared': 3.3.9 788 | csstype: 3.1.2 789 | dev: false 790 | 791 | /@vue/server-renderer@3.3.9(vue@3.3.9): 792 | resolution: {integrity: sha512-w0zT/s5l3Oa3ZjtLW88eO4uV6AQFqU8X5GOgzq7SkQQu6vVr+8tfm+OI2kDBplS/W/XgCBuFXiPw6T5EdwXP0A==} 793 | peerDependencies: 794 | vue: 3.3.9 795 | dependencies: 796 | '@vue/compiler-ssr': 3.3.9 797 | '@vue/shared': 3.3.9 798 | vue: 3.3.9(typescript@5.3.2) 799 | dev: false 800 | 801 | /@vue/shared@3.3.9: 802 | resolution: {integrity: sha512-ZE0VTIR0LmYgeyhurPTpy4KzKsuDyQbMSdM49eKkMnT5X4VfFBLysMzjIZhLEFQYjjOVVfbvUDHckwjDFiO2eA==} 803 | dev: false 804 | 805 | /abort-controller@3.0.0: 806 | resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} 807 | engines: {node: '>=6.5'} 808 | dependencies: 809 | event-target-shim: 5.0.1 810 | dev: false 811 | 812 | /acorn-jsx@5.3.2(acorn@8.11.2): 813 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 814 | peerDependencies: 815 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 816 | dependencies: 817 | acorn: 8.11.2 818 | dev: true 819 | 820 | /acorn@8.11.2: 821 | resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} 822 | engines: {node: '>=0.4.0'} 823 | hasBin: true 824 | 825 | /agentkeepalive@4.5.0: 826 | resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} 827 | engines: {node: '>= 8.0.0'} 828 | dependencies: 829 | humanize-ms: 1.2.1 830 | dev: false 831 | 832 | /ai@2.2.25(react@18.2.0)(solid-js@1.8.6)(svelte@4.2.7)(vue@3.3.9): 833 | resolution: {integrity: sha512-iXu3pzPpDPBGDir8hz86FAJmJTynMfBH4V/DXyR3GGeaHOfjdrErlcMm862CSalR6PDMwDOSCQVwJqtdnvIncQ==} 834 | engines: {node: '>=14.6'} 835 | peerDependencies: 836 | react: ^18.2.0 837 | solid-js: ^1.7.7 838 | svelte: ^3.0.0 || ^4.0.0 839 | vue: ^3.3.4 840 | peerDependenciesMeta: 841 | react: 842 | optional: true 843 | solid-js: 844 | optional: true 845 | svelte: 846 | optional: true 847 | vue: 848 | optional: true 849 | dependencies: 850 | eventsource-parser: 1.0.0 851 | nanoid: 3.3.6 852 | react: 18.2.0 853 | solid-js: 1.8.6 854 | solid-swr-store: 0.10.7(solid-js@1.8.6)(swr-store@0.10.6) 855 | sswr: 2.0.0(svelte@4.2.7) 856 | svelte: 4.2.7 857 | swr: 2.2.0(react@18.2.0) 858 | swr-store: 0.10.6 859 | swrv: 1.0.4(vue@3.3.9) 860 | vue: 3.3.9(typescript@5.3.2) 861 | dev: false 862 | 863 | /ajv@6.12.6: 864 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 865 | dependencies: 866 | fast-deep-equal: 3.1.3 867 | fast-json-stable-stringify: 2.1.0 868 | json-schema-traverse: 0.4.1 869 | uri-js: 4.4.1 870 | dev: true 871 | 872 | /ansi-regex@5.0.1: 873 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 874 | engines: {node: '>=8'} 875 | dev: true 876 | 877 | /ansi-styles@4.3.0: 878 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 879 | engines: {node: '>=8'} 880 | dependencies: 881 | color-convert: 2.0.1 882 | dev: true 883 | 884 | /any-promise@1.3.0: 885 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 886 | 887 | /anymatch@3.1.3: 888 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 889 | engines: {node: '>= 8'} 890 | dependencies: 891 | normalize-path: 3.0.0 892 | picomatch: 2.3.1 893 | 894 | /arg@5.0.2: 895 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 896 | 897 | /argparse@2.0.1: 898 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 899 | dev: true 900 | 901 | /aria-query@5.3.0: 902 | resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} 903 | dependencies: 904 | dequal: 2.0.3 905 | 906 | /array-buffer-byte-length@1.0.0: 907 | resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} 908 | dependencies: 909 | call-bind: 1.0.5 910 | is-array-buffer: 3.0.2 911 | dev: true 912 | 913 | /array-includes@3.1.7: 914 | resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} 915 | engines: {node: '>= 0.4'} 916 | dependencies: 917 | call-bind: 1.0.5 918 | define-properties: 1.2.1 919 | es-abstract: 1.22.3 920 | get-intrinsic: 1.2.2 921 | is-string: 1.0.7 922 | dev: true 923 | 924 | /array-union@2.1.0: 925 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 926 | engines: {node: '>=8'} 927 | dev: true 928 | 929 | /array.prototype.findlastindex@1.2.3: 930 | resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} 931 | engines: {node: '>= 0.4'} 932 | dependencies: 933 | call-bind: 1.0.5 934 | define-properties: 1.2.1 935 | es-abstract: 1.22.3 936 | es-shim-unscopables: 1.0.2 937 | get-intrinsic: 1.2.2 938 | dev: true 939 | 940 | /array.prototype.flat@1.3.2: 941 | resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} 942 | engines: {node: '>= 0.4'} 943 | dependencies: 944 | call-bind: 1.0.5 945 | define-properties: 1.2.1 946 | es-abstract: 1.22.3 947 | es-shim-unscopables: 1.0.2 948 | dev: true 949 | 950 | /array.prototype.flatmap@1.3.2: 951 | resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} 952 | engines: {node: '>= 0.4'} 953 | dependencies: 954 | call-bind: 1.0.5 955 | define-properties: 1.2.1 956 | es-abstract: 1.22.3 957 | es-shim-unscopables: 1.0.2 958 | dev: true 959 | 960 | /array.prototype.tosorted@1.1.2: 961 | resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} 962 | dependencies: 963 | call-bind: 1.0.5 964 | define-properties: 1.2.1 965 | es-abstract: 1.22.3 966 | es-shim-unscopables: 1.0.2 967 | get-intrinsic: 1.2.2 968 | dev: true 969 | 970 | /arraybuffer.prototype.slice@1.0.2: 971 | resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} 972 | engines: {node: '>= 0.4'} 973 | dependencies: 974 | array-buffer-byte-length: 1.0.0 975 | call-bind: 1.0.5 976 | define-properties: 1.2.1 977 | es-abstract: 1.22.3 978 | get-intrinsic: 1.2.2 979 | is-array-buffer: 3.0.2 980 | is-shared-array-buffer: 1.0.2 981 | dev: true 982 | 983 | /ast-types-flow@0.0.8: 984 | resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} 985 | dev: true 986 | 987 | /async-mutex@0.4.0: 988 | resolution: {integrity: sha512-eJFZ1YhRR8UN8eBLoNzcDPcy/jqjsg6I1AP+KvWQX80BqOSW1oJPJXDylPUEeMr2ZQvHgnQ//Lp6f3RQ1zI7HA==} 989 | dependencies: 990 | tslib: 2.6.2 991 | dev: false 992 | 993 | /asynciterator.prototype@1.0.0: 994 | resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==} 995 | dependencies: 996 | has-symbols: 1.0.3 997 | dev: true 998 | 999 | /asynckit@0.4.0: 1000 | resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} 1001 | dev: false 1002 | 1003 | /autoprefixer@10.4.16(postcss@8.4.31): 1004 | resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} 1005 | engines: {node: ^10 || ^12 || >=14} 1006 | hasBin: true 1007 | peerDependencies: 1008 | postcss: ^8.1.0 1009 | dependencies: 1010 | browserslist: 4.22.1 1011 | caniuse-lite: 1.0.30001564 1012 | fraction.js: 4.3.7 1013 | normalize-range: 0.1.2 1014 | picocolors: 1.0.0 1015 | postcss: 8.4.31 1016 | postcss-value-parser: 4.2.0 1017 | dev: true 1018 | 1019 | /available-typed-arrays@1.0.5: 1020 | resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} 1021 | engines: {node: '>= 0.4'} 1022 | dev: true 1023 | 1024 | /axe-core@4.7.0: 1025 | resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} 1026 | engines: {node: '>=4'} 1027 | dev: true 1028 | 1029 | /axobject-query@3.2.1: 1030 | resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} 1031 | dependencies: 1032 | dequal: 2.0.3 1033 | 1034 | /babel-plugin-prismjs@2.1.0(prismjs@1.29.0): 1035 | resolution: {integrity: sha512-ehzSKYfeAz4U78zi/sfwsjDPlq0LvDKxNefcZTJ/iKBu+plsHsLqZhUeGf1+82LAcA35UZGbU6ksEx2Utphc/g==} 1036 | peerDependencies: 1037 | prismjs: ^1.18.0 1038 | dependencies: 1039 | prismjs: 1.29.0 1040 | dev: false 1041 | 1042 | /balanced-match@1.0.2: 1043 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 1044 | 1045 | /base-64@0.1.0: 1046 | resolution: {integrity: sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==} 1047 | dev: false 1048 | 1049 | /binary-extensions@2.2.0: 1050 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 1051 | engines: {node: '>=8'} 1052 | 1053 | /brace-expansion@1.1.11: 1054 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 1055 | dependencies: 1056 | balanced-match: 1.0.2 1057 | concat-map: 0.0.1 1058 | 1059 | /braces@3.0.2: 1060 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 1061 | engines: {node: '>=8'} 1062 | dependencies: 1063 | fill-range: 7.0.1 1064 | 1065 | /browserslist@4.22.1: 1066 | resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} 1067 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 1068 | hasBin: true 1069 | dependencies: 1070 | caniuse-lite: 1.0.30001564 1071 | electron-to-chromium: 1.4.594 1072 | node-releases: 2.0.13 1073 | update-browserslist-db: 1.0.13(browserslist@4.22.1) 1074 | dev: true 1075 | 1076 | /busboy@1.6.0: 1077 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} 1078 | engines: {node: '>=10.16.0'} 1079 | dependencies: 1080 | streamsearch: 1.1.0 1081 | dev: false 1082 | 1083 | /call-bind@1.0.5: 1084 | resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} 1085 | dependencies: 1086 | function-bind: 1.1.2 1087 | get-intrinsic: 1.2.2 1088 | set-function-length: 1.1.1 1089 | dev: true 1090 | 1091 | /callsites@3.1.0: 1092 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 1093 | engines: {node: '>=6'} 1094 | dev: true 1095 | 1096 | /camelcase-css@2.0.1: 1097 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 1098 | engines: {node: '>= 6'} 1099 | 1100 | /caniuse-lite@1.0.30001564: 1101 | resolution: {integrity: sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg==} 1102 | 1103 | /chalk@4.1.2: 1104 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 1105 | engines: {node: '>=10'} 1106 | dependencies: 1107 | ansi-styles: 4.3.0 1108 | supports-color: 7.2.0 1109 | dev: true 1110 | 1111 | /charenc@0.0.2: 1112 | resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} 1113 | dev: false 1114 | 1115 | /chokidar@3.5.3: 1116 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 1117 | engines: {node: '>= 8.10.0'} 1118 | dependencies: 1119 | anymatch: 3.1.3 1120 | braces: 3.0.2 1121 | glob-parent: 5.1.2 1122 | is-binary-path: 2.1.0 1123 | is-glob: 4.0.3 1124 | normalize-path: 3.0.0 1125 | readdirp: 3.6.0 1126 | optionalDependencies: 1127 | fsevents: 2.3.3 1128 | 1129 | /class-variance-authority@0.7.0: 1130 | resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==} 1131 | dependencies: 1132 | clsx: 2.0.0 1133 | dev: false 1134 | 1135 | /client-only@0.0.1: 1136 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} 1137 | dev: false 1138 | 1139 | /clsx@2.0.0: 1140 | resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==} 1141 | engines: {node: '>=6'} 1142 | dev: false 1143 | 1144 | /code-red@1.0.4: 1145 | resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==} 1146 | dependencies: 1147 | '@jridgewell/sourcemap-codec': 1.4.15 1148 | '@types/estree': 1.0.5 1149 | acorn: 8.11.2 1150 | estree-walker: 3.0.3 1151 | periscopic: 3.1.0 1152 | dev: false 1153 | 1154 | /color-convert@2.0.1: 1155 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1156 | engines: {node: '>=7.0.0'} 1157 | dependencies: 1158 | color-name: 1.1.4 1159 | dev: true 1160 | 1161 | /color-name@1.1.4: 1162 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1163 | dev: true 1164 | 1165 | /combined-stream@1.0.8: 1166 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} 1167 | engines: {node: '>= 0.8'} 1168 | dependencies: 1169 | delayed-stream: 1.0.0 1170 | dev: false 1171 | 1172 | /commander@4.1.1: 1173 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 1174 | engines: {node: '>= 6'} 1175 | 1176 | /concat-map@0.0.1: 1177 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 1178 | 1179 | /cross-spawn@7.0.3: 1180 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 1181 | engines: {node: '>= 8'} 1182 | dependencies: 1183 | path-key: 3.1.1 1184 | shebang-command: 2.0.0 1185 | which: 2.0.2 1186 | dev: true 1187 | 1188 | /crypt@0.0.2: 1189 | resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} 1190 | dev: false 1191 | 1192 | /css-tree@2.3.1: 1193 | resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} 1194 | engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} 1195 | dependencies: 1196 | mdn-data: 2.0.30 1197 | source-map-js: 1.0.2 1198 | dev: false 1199 | 1200 | /cssesc@3.0.0: 1201 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 1202 | engines: {node: '>=4'} 1203 | hasBin: true 1204 | 1205 | /csstype@3.1.2: 1206 | resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} 1207 | 1208 | /damerau-levenshtein@1.0.8: 1209 | resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} 1210 | dev: true 1211 | 1212 | /debug@3.2.7: 1213 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 1214 | peerDependencies: 1215 | supports-color: '*' 1216 | peerDependenciesMeta: 1217 | supports-color: 1218 | optional: true 1219 | dependencies: 1220 | ms: 2.1.3 1221 | dev: true 1222 | 1223 | /debug@4.3.4: 1224 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1225 | engines: {node: '>=6.0'} 1226 | peerDependencies: 1227 | supports-color: '*' 1228 | peerDependenciesMeta: 1229 | supports-color: 1230 | optional: true 1231 | dependencies: 1232 | ms: 2.1.2 1233 | dev: true 1234 | 1235 | /deep-is@0.1.4: 1236 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 1237 | dev: true 1238 | 1239 | /define-data-property@1.1.1: 1240 | resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} 1241 | engines: {node: '>= 0.4'} 1242 | dependencies: 1243 | get-intrinsic: 1.2.2 1244 | gopd: 1.0.1 1245 | has-property-descriptors: 1.0.1 1246 | dev: true 1247 | 1248 | /define-properties@1.2.1: 1249 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} 1250 | engines: {node: '>= 0.4'} 1251 | dependencies: 1252 | define-data-property: 1.1.1 1253 | has-property-descriptors: 1.0.1 1254 | object-keys: 1.1.1 1255 | dev: true 1256 | 1257 | /delayed-stream@1.0.0: 1258 | resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} 1259 | engines: {node: '>=0.4.0'} 1260 | dev: false 1261 | 1262 | /dequal@2.0.3: 1263 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} 1264 | engines: {node: '>=6'} 1265 | 1266 | /didyoumean@1.2.2: 1267 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 1268 | 1269 | /digest-fetch@1.3.0: 1270 | resolution: {integrity: sha512-CGJuv6iKNM7QyZlM2T3sPAdZWd/p9zQiRNS9G+9COUCwzWFTs0Xp8NF5iePx7wtvhDykReiRRrSeNb4oMmB8lA==} 1271 | dependencies: 1272 | base-64: 0.1.0 1273 | md5: 2.3.0 1274 | dev: false 1275 | 1276 | /dir-glob@3.0.1: 1277 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1278 | engines: {node: '>=8'} 1279 | dependencies: 1280 | path-type: 4.0.0 1281 | dev: true 1282 | 1283 | /dlv@1.1.3: 1284 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 1285 | 1286 | /doctrine@2.1.0: 1287 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 1288 | engines: {node: '>=0.10.0'} 1289 | dependencies: 1290 | esutils: 2.0.3 1291 | dev: true 1292 | 1293 | /doctrine@3.0.0: 1294 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 1295 | engines: {node: '>=6.0.0'} 1296 | dependencies: 1297 | esutils: 2.0.3 1298 | dev: true 1299 | 1300 | /electron-to-chromium@1.4.594: 1301 | resolution: {integrity: sha512-xT1HVAu5xFn7bDfkjGQi9dNpMqGchUkebwf1GL7cZN32NSwwlHRPMSDJ1KN6HkS0bWUtndbSQZqvpQftKG2uFQ==} 1302 | dev: true 1303 | 1304 | /emoji-regex@9.2.2: 1305 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 1306 | dev: true 1307 | 1308 | /enhanced-resolve@5.15.0: 1309 | resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} 1310 | engines: {node: '>=10.13.0'} 1311 | dependencies: 1312 | graceful-fs: 4.2.11 1313 | tapable: 2.2.1 1314 | dev: true 1315 | 1316 | /es-abstract@1.22.3: 1317 | resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} 1318 | engines: {node: '>= 0.4'} 1319 | dependencies: 1320 | array-buffer-byte-length: 1.0.0 1321 | arraybuffer.prototype.slice: 1.0.2 1322 | available-typed-arrays: 1.0.5 1323 | call-bind: 1.0.5 1324 | es-set-tostringtag: 2.0.2 1325 | es-to-primitive: 1.2.1 1326 | function.prototype.name: 1.1.6 1327 | get-intrinsic: 1.2.2 1328 | get-symbol-description: 1.0.0 1329 | globalthis: 1.0.3 1330 | gopd: 1.0.1 1331 | has-property-descriptors: 1.0.1 1332 | has-proto: 1.0.1 1333 | has-symbols: 1.0.3 1334 | hasown: 2.0.0 1335 | internal-slot: 1.0.6 1336 | is-array-buffer: 3.0.2 1337 | is-callable: 1.2.7 1338 | is-negative-zero: 2.0.2 1339 | is-regex: 1.1.4 1340 | is-shared-array-buffer: 1.0.2 1341 | is-string: 1.0.7 1342 | is-typed-array: 1.1.12 1343 | is-weakref: 1.0.2 1344 | object-inspect: 1.13.1 1345 | object-keys: 1.1.1 1346 | object.assign: 4.1.4 1347 | regexp.prototype.flags: 1.5.1 1348 | safe-array-concat: 1.0.1 1349 | safe-regex-test: 1.0.0 1350 | string.prototype.trim: 1.2.8 1351 | string.prototype.trimend: 1.0.7 1352 | string.prototype.trimstart: 1.0.7 1353 | typed-array-buffer: 1.0.0 1354 | typed-array-byte-length: 1.0.0 1355 | typed-array-byte-offset: 1.0.0 1356 | typed-array-length: 1.0.4 1357 | unbox-primitive: 1.0.2 1358 | which-typed-array: 1.1.13 1359 | dev: true 1360 | 1361 | /es-iterator-helpers@1.0.15: 1362 | resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} 1363 | dependencies: 1364 | asynciterator.prototype: 1.0.0 1365 | call-bind: 1.0.5 1366 | define-properties: 1.2.1 1367 | es-abstract: 1.22.3 1368 | es-set-tostringtag: 2.0.2 1369 | function-bind: 1.1.2 1370 | get-intrinsic: 1.2.2 1371 | globalthis: 1.0.3 1372 | has-property-descriptors: 1.0.1 1373 | has-proto: 1.0.1 1374 | has-symbols: 1.0.3 1375 | internal-slot: 1.0.6 1376 | iterator.prototype: 1.1.2 1377 | safe-array-concat: 1.0.1 1378 | dev: true 1379 | 1380 | /es-set-tostringtag@2.0.2: 1381 | resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} 1382 | engines: {node: '>= 0.4'} 1383 | dependencies: 1384 | get-intrinsic: 1.2.2 1385 | has-tostringtag: 1.0.0 1386 | hasown: 2.0.0 1387 | dev: true 1388 | 1389 | /es-shim-unscopables@1.0.2: 1390 | resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} 1391 | dependencies: 1392 | hasown: 2.0.0 1393 | dev: true 1394 | 1395 | /es-to-primitive@1.2.1: 1396 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 1397 | engines: {node: '>= 0.4'} 1398 | dependencies: 1399 | is-callable: 1.2.7 1400 | is-date-object: 1.0.5 1401 | is-symbol: 1.0.4 1402 | dev: true 1403 | 1404 | /escalade@3.1.1: 1405 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1406 | engines: {node: '>=6'} 1407 | dev: true 1408 | 1409 | /escape-string-regexp@4.0.0: 1410 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1411 | engines: {node: '>=10'} 1412 | dev: true 1413 | 1414 | /eslint-config-next@14.0.4-canary.17(eslint@8.54.0)(typescript@5.3.2): 1415 | resolution: {integrity: sha512-d22MoZUobf4/KsgZlX5VOrpToewaoRVW7MIYNKluZal4I7y4eSFqMJqe/7nfZ7svwd4xSWHSss66XfmRRo+npg==} 1416 | peerDependencies: 1417 | eslint: ^7.23.0 || ^8.0.0 1418 | typescript: '>=3.3.1' 1419 | peerDependenciesMeta: 1420 | typescript: 1421 | optional: true 1422 | dependencies: 1423 | '@next/eslint-plugin-next': 14.0.4-canary.17 1424 | '@rushstack/eslint-patch': 1.6.0 1425 | '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.3.2) 1426 | eslint: 8.54.0 1427 | eslint-import-resolver-node: 0.3.9 1428 | eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.54.0) 1429 | eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) 1430 | eslint-plugin-jsx-a11y: 6.8.0(eslint@8.54.0) 1431 | eslint-plugin-react: 7.33.2(eslint@8.54.0) 1432 | eslint-plugin-react-hooks: 4.6.0(eslint@8.54.0) 1433 | typescript: 5.3.2 1434 | transitivePeerDependencies: 1435 | - eslint-import-resolver-webpack 1436 | - supports-color 1437 | dev: true 1438 | 1439 | /eslint-import-resolver-node@0.3.9: 1440 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} 1441 | dependencies: 1442 | debug: 3.2.7 1443 | is-core-module: 2.13.1 1444 | resolve: 1.22.8 1445 | transitivePeerDependencies: 1446 | - supports-color 1447 | dev: true 1448 | 1449 | /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.54.0): 1450 | resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} 1451 | engines: {node: ^14.18.0 || >=16.0.0} 1452 | peerDependencies: 1453 | eslint: '*' 1454 | eslint-plugin-import: '*' 1455 | dependencies: 1456 | debug: 4.3.4 1457 | enhanced-resolve: 5.15.0 1458 | eslint: 8.54.0 1459 | eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) 1460 | eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) 1461 | fast-glob: 3.3.2 1462 | get-tsconfig: 4.7.2 1463 | is-core-module: 2.13.1 1464 | is-glob: 4.0.3 1465 | transitivePeerDependencies: 1466 | - '@typescript-eslint/parser' 1467 | - eslint-import-resolver-node 1468 | - eslint-import-resolver-webpack 1469 | - supports-color 1470 | dev: true 1471 | 1472 | /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0): 1473 | resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} 1474 | engines: {node: '>=4'} 1475 | peerDependencies: 1476 | '@typescript-eslint/parser': '*' 1477 | eslint: '*' 1478 | eslint-import-resolver-node: '*' 1479 | eslint-import-resolver-typescript: '*' 1480 | eslint-import-resolver-webpack: '*' 1481 | peerDependenciesMeta: 1482 | '@typescript-eslint/parser': 1483 | optional: true 1484 | eslint: 1485 | optional: true 1486 | eslint-import-resolver-node: 1487 | optional: true 1488 | eslint-import-resolver-typescript: 1489 | optional: true 1490 | eslint-import-resolver-webpack: 1491 | optional: true 1492 | dependencies: 1493 | '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.3.2) 1494 | debug: 3.2.7 1495 | eslint: 8.54.0 1496 | eslint-import-resolver-node: 0.3.9 1497 | eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.54.0) 1498 | transitivePeerDependencies: 1499 | - supports-color 1500 | dev: true 1501 | 1502 | /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0): 1503 | resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} 1504 | engines: {node: '>=4'} 1505 | peerDependencies: 1506 | '@typescript-eslint/parser': '*' 1507 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 1508 | peerDependenciesMeta: 1509 | '@typescript-eslint/parser': 1510 | optional: true 1511 | dependencies: 1512 | '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.3.2) 1513 | array-includes: 3.1.7 1514 | array.prototype.findlastindex: 1.2.3 1515 | array.prototype.flat: 1.3.2 1516 | array.prototype.flatmap: 1.3.2 1517 | debug: 3.2.7 1518 | doctrine: 2.1.0 1519 | eslint: 8.54.0 1520 | eslint-import-resolver-node: 0.3.9 1521 | eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) 1522 | hasown: 2.0.0 1523 | is-core-module: 2.13.1 1524 | is-glob: 4.0.3 1525 | minimatch: 3.1.2 1526 | object.fromentries: 2.0.7 1527 | object.groupby: 1.0.1 1528 | object.values: 1.1.7 1529 | semver: 6.3.1 1530 | tsconfig-paths: 3.14.2 1531 | transitivePeerDependencies: 1532 | - eslint-import-resolver-typescript 1533 | - eslint-import-resolver-webpack 1534 | - supports-color 1535 | dev: true 1536 | 1537 | /eslint-plugin-jsx-a11y@6.8.0(eslint@8.54.0): 1538 | resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} 1539 | engines: {node: '>=4.0'} 1540 | peerDependencies: 1541 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 1542 | dependencies: 1543 | '@babel/runtime': 7.23.4 1544 | aria-query: 5.3.0 1545 | array-includes: 3.1.7 1546 | array.prototype.flatmap: 1.3.2 1547 | ast-types-flow: 0.0.8 1548 | axe-core: 4.7.0 1549 | axobject-query: 3.2.1 1550 | damerau-levenshtein: 1.0.8 1551 | emoji-regex: 9.2.2 1552 | es-iterator-helpers: 1.0.15 1553 | eslint: 8.54.0 1554 | hasown: 2.0.0 1555 | jsx-ast-utils: 3.3.5 1556 | language-tags: 1.0.9 1557 | minimatch: 3.1.2 1558 | object.entries: 1.1.7 1559 | object.fromentries: 2.0.7 1560 | dev: true 1561 | 1562 | /eslint-plugin-react-hooks@4.6.0(eslint@8.54.0): 1563 | resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} 1564 | engines: {node: '>=10'} 1565 | peerDependencies: 1566 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 1567 | dependencies: 1568 | eslint: 8.54.0 1569 | dev: true 1570 | 1571 | /eslint-plugin-react@7.33.2(eslint@8.54.0): 1572 | resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} 1573 | engines: {node: '>=4'} 1574 | peerDependencies: 1575 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 1576 | dependencies: 1577 | array-includes: 3.1.7 1578 | array.prototype.flatmap: 1.3.2 1579 | array.prototype.tosorted: 1.1.2 1580 | doctrine: 2.1.0 1581 | es-iterator-helpers: 1.0.15 1582 | eslint: 8.54.0 1583 | estraverse: 5.3.0 1584 | jsx-ast-utils: 3.3.5 1585 | minimatch: 3.1.2 1586 | object.entries: 1.1.7 1587 | object.fromentries: 2.0.7 1588 | object.hasown: 1.1.3 1589 | object.values: 1.1.7 1590 | prop-types: 15.8.1 1591 | resolve: 2.0.0-next.5 1592 | semver: 6.3.1 1593 | string.prototype.matchall: 4.0.10 1594 | dev: true 1595 | 1596 | /eslint-scope@7.2.2: 1597 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} 1598 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1599 | dependencies: 1600 | esrecurse: 4.3.0 1601 | estraverse: 5.3.0 1602 | dev: true 1603 | 1604 | /eslint-visitor-keys@3.4.3: 1605 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 1606 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1607 | dev: true 1608 | 1609 | /eslint@8.54.0: 1610 | resolution: {integrity: sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==} 1611 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1612 | hasBin: true 1613 | dependencies: 1614 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) 1615 | '@eslint-community/regexpp': 4.10.0 1616 | '@eslint/eslintrc': 2.1.3 1617 | '@eslint/js': 8.54.0 1618 | '@humanwhocodes/config-array': 0.11.13 1619 | '@humanwhocodes/module-importer': 1.0.1 1620 | '@nodelib/fs.walk': 1.2.8 1621 | '@ungap/structured-clone': 1.2.0 1622 | ajv: 6.12.6 1623 | chalk: 4.1.2 1624 | cross-spawn: 7.0.3 1625 | debug: 4.3.4 1626 | doctrine: 3.0.0 1627 | escape-string-regexp: 4.0.0 1628 | eslint-scope: 7.2.2 1629 | eslint-visitor-keys: 3.4.3 1630 | espree: 9.6.1 1631 | esquery: 1.5.0 1632 | esutils: 2.0.3 1633 | fast-deep-equal: 3.1.3 1634 | file-entry-cache: 6.0.1 1635 | find-up: 5.0.0 1636 | glob-parent: 6.0.2 1637 | globals: 13.23.0 1638 | graphemer: 1.4.0 1639 | ignore: 5.3.0 1640 | imurmurhash: 0.1.4 1641 | is-glob: 4.0.3 1642 | is-path-inside: 3.0.3 1643 | js-yaml: 4.1.0 1644 | json-stable-stringify-without-jsonify: 1.0.1 1645 | levn: 0.4.1 1646 | lodash.merge: 4.6.2 1647 | minimatch: 3.1.2 1648 | natural-compare: 1.4.0 1649 | optionator: 0.9.3 1650 | strip-ansi: 6.0.1 1651 | text-table: 0.2.0 1652 | transitivePeerDependencies: 1653 | - supports-color 1654 | dev: true 1655 | 1656 | /espree@9.6.1: 1657 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} 1658 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1659 | dependencies: 1660 | acorn: 8.11.2 1661 | acorn-jsx: 5.3.2(acorn@8.11.2) 1662 | eslint-visitor-keys: 3.4.3 1663 | dev: true 1664 | 1665 | /esquery@1.5.0: 1666 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} 1667 | engines: {node: '>=0.10'} 1668 | dependencies: 1669 | estraverse: 5.3.0 1670 | dev: true 1671 | 1672 | /esrecurse@4.3.0: 1673 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1674 | engines: {node: '>=4.0'} 1675 | dependencies: 1676 | estraverse: 5.3.0 1677 | dev: true 1678 | 1679 | /estraverse@5.3.0: 1680 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1681 | engines: {node: '>=4.0'} 1682 | dev: true 1683 | 1684 | /estree-walker@2.0.2: 1685 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 1686 | dev: false 1687 | 1688 | /estree-walker@3.0.3: 1689 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} 1690 | dependencies: 1691 | '@types/estree': 1.0.5 1692 | dev: false 1693 | 1694 | /esutils@2.0.3: 1695 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1696 | engines: {node: '>=0.10.0'} 1697 | dev: true 1698 | 1699 | /event-target-shim@5.0.1: 1700 | resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} 1701 | engines: {node: '>=6'} 1702 | dev: false 1703 | 1704 | /eventsource-parser@1.0.0: 1705 | resolution: {integrity: sha512-9jgfSCa3dmEme2ES3mPByGXfgZ87VbP97tng1G2nWwWx6bV2nYxm2AWCrbQjXToSe+yYlqaZNtxffR9IeQr95g==} 1706 | engines: {node: '>=14.18'} 1707 | dev: false 1708 | 1709 | /fast-deep-equal@3.1.3: 1710 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1711 | dev: true 1712 | 1713 | /fast-glob@3.3.2: 1714 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 1715 | engines: {node: '>=8.6.0'} 1716 | dependencies: 1717 | '@nodelib/fs.stat': 2.0.5 1718 | '@nodelib/fs.walk': 1.2.8 1719 | glob-parent: 5.1.2 1720 | merge2: 1.4.1 1721 | micromatch: 4.0.5 1722 | 1723 | /fast-json-stable-stringify@2.1.0: 1724 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1725 | dev: true 1726 | 1727 | /fast-levenshtein@2.0.6: 1728 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1729 | dev: true 1730 | 1731 | /fastq@1.15.0: 1732 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} 1733 | dependencies: 1734 | reusify: 1.0.4 1735 | 1736 | /file-entry-cache@6.0.1: 1737 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1738 | engines: {node: ^10.12.0 || >=12.0.0} 1739 | dependencies: 1740 | flat-cache: 3.2.0 1741 | dev: true 1742 | 1743 | /fill-range@7.0.1: 1744 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1745 | engines: {node: '>=8'} 1746 | dependencies: 1747 | to-regex-range: 5.0.1 1748 | 1749 | /find-up@5.0.0: 1750 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1751 | engines: {node: '>=10'} 1752 | dependencies: 1753 | locate-path: 6.0.0 1754 | path-exists: 4.0.0 1755 | dev: true 1756 | 1757 | /flat-cache@3.2.0: 1758 | resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} 1759 | engines: {node: ^10.12.0 || >=12.0.0} 1760 | dependencies: 1761 | flatted: 3.2.9 1762 | keyv: 4.5.4 1763 | rimraf: 3.0.2 1764 | dev: true 1765 | 1766 | /flatted@3.2.9: 1767 | resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} 1768 | dev: true 1769 | 1770 | /for-each@0.3.3: 1771 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} 1772 | dependencies: 1773 | is-callable: 1.2.7 1774 | dev: true 1775 | 1776 | /form-data-encoder@1.7.2: 1777 | resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==} 1778 | dev: false 1779 | 1780 | /form-data@4.0.0: 1781 | resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} 1782 | engines: {node: '>= 6'} 1783 | dependencies: 1784 | asynckit: 0.4.0 1785 | combined-stream: 1.0.8 1786 | mime-types: 2.1.35 1787 | dev: false 1788 | 1789 | /formdata-node@4.4.1: 1790 | resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} 1791 | engines: {node: '>= 12.20'} 1792 | dependencies: 1793 | node-domexception: 1.0.0 1794 | web-streams-polyfill: 4.0.0-beta.3 1795 | dev: false 1796 | 1797 | /fraction.js@4.3.7: 1798 | resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} 1799 | dev: true 1800 | 1801 | /fs.realpath@1.0.0: 1802 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1803 | 1804 | /fs@0.0.1-security: 1805 | resolution: {integrity: sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==} 1806 | dev: false 1807 | 1808 | /fsevents@2.3.3: 1809 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1810 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1811 | os: [darwin] 1812 | requiresBuild: true 1813 | optional: true 1814 | 1815 | /function-bind@1.1.2: 1816 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1817 | 1818 | /function.prototype.name@1.1.6: 1819 | resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} 1820 | engines: {node: '>= 0.4'} 1821 | dependencies: 1822 | call-bind: 1.0.5 1823 | define-properties: 1.2.1 1824 | es-abstract: 1.22.3 1825 | functions-have-names: 1.2.3 1826 | dev: true 1827 | 1828 | /functions-have-names@1.2.3: 1829 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1830 | dev: true 1831 | 1832 | /get-intrinsic@1.2.2: 1833 | resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} 1834 | dependencies: 1835 | function-bind: 1.1.2 1836 | has-proto: 1.0.1 1837 | has-symbols: 1.0.3 1838 | hasown: 2.0.0 1839 | dev: true 1840 | 1841 | /get-symbol-description@1.0.0: 1842 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} 1843 | engines: {node: '>= 0.4'} 1844 | dependencies: 1845 | call-bind: 1.0.5 1846 | get-intrinsic: 1.2.2 1847 | dev: true 1848 | 1849 | /get-tsconfig@4.7.2: 1850 | resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} 1851 | dependencies: 1852 | resolve-pkg-maps: 1.0.0 1853 | dev: true 1854 | 1855 | /glob-parent@5.1.2: 1856 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1857 | engines: {node: '>= 6'} 1858 | dependencies: 1859 | is-glob: 4.0.3 1860 | 1861 | /glob-parent@6.0.2: 1862 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1863 | engines: {node: '>=10.13.0'} 1864 | dependencies: 1865 | is-glob: 4.0.3 1866 | 1867 | /glob-to-regexp@0.4.1: 1868 | resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} 1869 | dev: false 1870 | 1871 | /glob@7.1.6: 1872 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} 1873 | dependencies: 1874 | fs.realpath: 1.0.0 1875 | inflight: 1.0.6 1876 | inherits: 2.0.4 1877 | minimatch: 3.1.2 1878 | once: 1.4.0 1879 | path-is-absolute: 1.0.1 1880 | 1881 | /glob@7.1.7: 1882 | resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} 1883 | dependencies: 1884 | fs.realpath: 1.0.0 1885 | inflight: 1.0.6 1886 | inherits: 2.0.4 1887 | minimatch: 3.1.2 1888 | once: 1.4.0 1889 | path-is-absolute: 1.0.1 1890 | dev: true 1891 | 1892 | /glob@7.2.3: 1893 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1894 | dependencies: 1895 | fs.realpath: 1.0.0 1896 | inflight: 1.0.6 1897 | inherits: 2.0.4 1898 | minimatch: 3.1.2 1899 | once: 1.4.0 1900 | path-is-absolute: 1.0.1 1901 | dev: true 1902 | 1903 | /globals@13.23.0: 1904 | resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} 1905 | engines: {node: '>=8'} 1906 | dependencies: 1907 | type-fest: 0.20.2 1908 | dev: true 1909 | 1910 | /globalthis@1.0.3: 1911 | resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} 1912 | engines: {node: '>= 0.4'} 1913 | dependencies: 1914 | define-properties: 1.2.1 1915 | dev: true 1916 | 1917 | /globby@11.1.0: 1918 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1919 | engines: {node: '>=10'} 1920 | dependencies: 1921 | array-union: 2.1.0 1922 | dir-glob: 3.0.1 1923 | fast-glob: 3.3.2 1924 | ignore: 5.3.0 1925 | merge2: 1.4.1 1926 | slash: 3.0.0 1927 | dev: true 1928 | 1929 | /gopd@1.0.1: 1930 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 1931 | dependencies: 1932 | get-intrinsic: 1.2.2 1933 | dev: true 1934 | 1935 | /graceful-fs@4.2.11: 1936 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1937 | 1938 | /graphemer@1.4.0: 1939 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1940 | dev: true 1941 | 1942 | /has-bigints@1.0.2: 1943 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 1944 | dev: true 1945 | 1946 | /has-flag@4.0.0: 1947 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1948 | engines: {node: '>=8'} 1949 | dev: true 1950 | 1951 | /has-property-descriptors@1.0.1: 1952 | resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} 1953 | dependencies: 1954 | get-intrinsic: 1.2.2 1955 | dev: true 1956 | 1957 | /has-proto@1.0.1: 1958 | resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} 1959 | engines: {node: '>= 0.4'} 1960 | dev: true 1961 | 1962 | /has-symbols@1.0.3: 1963 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1964 | engines: {node: '>= 0.4'} 1965 | dev: true 1966 | 1967 | /has-tostringtag@1.0.0: 1968 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} 1969 | engines: {node: '>= 0.4'} 1970 | dependencies: 1971 | has-symbols: 1.0.3 1972 | dev: true 1973 | 1974 | /hasown@2.0.0: 1975 | resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} 1976 | engines: {node: '>= 0.4'} 1977 | dependencies: 1978 | function-bind: 1.1.2 1979 | 1980 | /humanize-ms@1.2.1: 1981 | resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} 1982 | dependencies: 1983 | ms: 2.1.3 1984 | dev: false 1985 | 1986 | /ignore@5.3.0: 1987 | resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} 1988 | engines: {node: '>= 4'} 1989 | dev: true 1990 | 1991 | /import-fresh@3.3.0: 1992 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1993 | engines: {node: '>=6'} 1994 | dependencies: 1995 | parent-module: 1.0.1 1996 | resolve-from: 4.0.0 1997 | dev: true 1998 | 1999 | /imurmurhash@0.1.4: 2000 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 2001 | engines: {node: '>=0.8.19'} 2002 | dev: true 2003 | 2004 | /inflight@1.0.6: 2005 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 2006 | dependencies: 2007 | once: 1.4.0 2008 | wrappy: 1.0.2 2009 | 2010 | /inherits@2.0.4: 2011 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 2012 | 2013 | /internal-slot@1.0.6: 2014 | resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} 2015 | engines: {node: '>= 0.4'} 2016 | dependencies: 2017 | get-intrinsic: 1.2.2 2018 | hasown: 2.0.0 2019 | side-channel: 1.0.4 2020 | dev: true 2021 | 2022 | /is-array-buffer@3.0.2: 2023 | resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} 2024 | dependencies: 2025 | call-bind: 1.0.5 2026 | get-intrinsic: 1.2.2 2027 | is-typed-array: 1.1.12 2028 | dev: true 2029 | 2030 | /is-async-function@2.0.0: 2031 | resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} 2032 | engines: {node: '>= 0.4'} 2033 | dependencies: 2034 | has-tostringtag: 1.0.0 2035 | dev: true 2036 | 2037 | /is-bigint@1.0.4: 2038 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 2039 | dependencies: 2040 | has-bigints: 1.0.2 2041 | dev: true 2042 | 2043 | /is-binary-path@2.1.0: 2044 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 2045 | engines: {node: '>=8'} 2046 | dependencies: 2047 | binary-extensions: 2.2.0 2048 | 2049 | /is-boolean-object@1.1.2: 2050 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 2051 | engines: {node: '>= 0.4'} 2052 | dependencies: 2053 | call-bind: 1.0.5 2054 | has-tostringtag: 1.0.0 2055 | dev: true 2056 | 2057 | /is-buffer@1.1.6: 2058 | resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} 2059 | dev: false 2060 | 2061 | /is-callable@1.2.7: 2062 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 2063 | engines: {node: '>= 0.4'} 2064 | dev: true 2065 | 2066 | /is-core-module@2.13.1: 2067 | resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} 2068 | dependencies: 2069 | hasown: 2.0.0 2070 | 2071 | /is-date-object@1.0.5: 2072 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 2073 | engines: {node: '>= 0.4'} 2074 | dependencies: 2075 | has-tostringtag: 1.0.0 2076 | dev: true 2077 | 2078 | /is-extglob@2.1.1: 2079 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 2080 | engines: {node: '>=0.10.0'} 2081 | 2082 | /is-finalizationregistry@1.0.2: 2083 | resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} 2084 | dependencies: 2085 | call-bind: 1.0.5 2086 | dev: true 2087 | 2088 | /is-generator-function@1.0.10: 2089 | resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} 2090 | engines: {node: '>= 0.4'} 2091 | dependencies: 2092 | has-tostringtag: 1.0.0 2093 | dev: true 2094 | 2095 | /is-glob@4.0.3: 2096 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 2097 | engines: {node: '>=0.10.0'} 2098 | dependencies: 2099 | is-extglob: 2.1.1 2100 | 2101 | /is-map@2.0.2: 2102 | resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} 2103 | dev: true 2104 | 2105 | /is-negative-zero@2.0.2: 2106 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} 2107 | engines: {node: '>= 0.4'} 2108 | dev: true 2109 | 2110 | /is-number-object@1.0.7: 2111 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 2112 | engines: {node: '>= 0.4'} 2113 | dependencies: 2114 | has-tostringtag: 1.0.0 2115 | dev: true 2116 | 2117 | /is-number@7.0.0: 2118 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 2119 | engines: {node: '>=0.12.0'} 2120 | 2121 | /is-path-inside@3.0.3: 2122 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 2123 | engines: {node: '>=8'} 2124 | dev: true 2125 | 2126 | /is-reference@3.0.2: 2127 | resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} 2128 | dependencies: 2129 | '@types/estree': 1.0.5 2130 | dev: false 2131 | 2132 | /is-regex@1.1.4: 2133 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 2134 | engines: {node: '>= 0.4'} 2135 | dependencies: 2136 | call-bind: 1.0.5 2137 | has-tostringtag: 1.0.0 2138 | dev: true 2139 | 2140 | /is-set@2.0.2: 2141 | resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} 2142 | dev: true 2143 | 2144 | /is-shared-array-buffer@1.0.2: 2145 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} 2146 | dependencies: 2147 | call-bind: 1.0.5 2148 | dev: true 2149 | 2150 | /is-string@1.0.7: 2151 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 2152 | engines: {node: '>= 0.4'} 2153 | dependencies: 2154 | has-tostringtag: 1.0.0 2155 | dev: true 2156 | 2157 | /is-symbol@1.0.4: 2158 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 2159 | engines: {node: '>= 0.4'} 2160 | dependencies: 2161 | has-symbols: 1.0.3 2162 | dev: true 2163 | 2164 | /is-typed-array@1.1.12: 2165 | resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} 2166 | engines: {node: '>= 0.4'} 2167 | dependencies: 2168 | which-typed-array: 1.1.13 2169 | dev: true 2170 | 2171 | /is-weakmap@2.0.1: 2172 | resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} 2173 | dev: true 2174 | 2175 | /is-weakref@1.0.2: 2176 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 2177 | dependencies: 2178 | call-bind: 1.0.5 2179 | dev: true 2180 | 2181 | /is-weakset@2.0.2: 2182 | resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} 2183 | dependencies: 2184 | call-bind: 1.0.5 2185 | get-intrinsic: 1.2.2 2186 | dev: true 2187 | 2188 | /isarray@2.0.5: 2189 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 2190 | dev: true 2191 | 2192 | /isexe@2.0.0: 2193 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 2194 | dev: true 2195 | 2196 | /iterator.prototype@1.1.2: 2197 | resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} 2198 | dependencies: 2199 | define-properties: 1.2.1 2200 | get-intrinsic: 1.2.2 2201 | has-symbols: 1.0.3 2202 | reflect.getprototypeof: 1.0.4 2203 | set-function-name: 2.0.1 2204 | dev: true 2205 | 2206 | /jiti@1.21.0: 2207 | resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} 2208 | hasBin: true 2209 | 2210 | /js-tokens@4.0.0: 2211 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 2212 | 2213 | /js-yaml@4.1.0: 2214 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 2215 | hasBin: true 2216 | dependencies: 2217 | argparse: 2.0.1 2218 | dev: true 2219 | 2220 | /json-buffer@3.0.1: 2221 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 2222 | dev: true 2223 | 2224 | /json-schema-traverse@0.4.1: 2225 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 2226 | dev: true 2227 | 2228 | /json-stable-stringify-without-jsonify@1.0.1: 2229 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 2230 | dev: true 2231 | 2232 | /json5@1.0.2: 2233 | resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} 2234 | hasBin: true 2235 | dependencies: 2236 | minimist: 1.2.8 2237 | dev: true 2238 | 2239 | /jsx-ast-utils@3.3.5: 2240 | resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} 2241 | engines: {node: '>=4.0'} 2242 | dependencies: 2243 | array-includes: 3.1.7 2244 | array.prototype.flat: 1.3.2 2245 | object.assign: 4.1.4 2246 | object.values: 1.1.7 2247 | dev: true 2248 | 2249 | /keyv@4.5.4: 2250 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 2251 | dependencies: 2252 | json-buffer: 3.0.1 2253 | dev: true 2254 | 2255 | /language-subtag-registry@0.3.22: 2256 | resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} 2257 | dev: true 2258 | 2259 | /language-tags@1.0.9: 2260 | resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} 2261 | engines: {node: '>=0.10'} 2262 | dependencies: 2263 | language-subtag-registry: 0.3.22 2264 | dev: true 2265 | 2266 | /levn@0.4.1: 2267 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 2268 | engines: {node: '>= 0.8.0'} 2269 | dependencies: 2270 | prelude-ls: 1.2.1 2271 | type-check: 0.4.0 2272 | dev: true 2273 | 2274 | /lilconfig@2.1.0: 2275 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 2276 | engines: {node: '>=10'} 2277 | 2278 | /lilconfig@3.0.0: 2279 | resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} 2280 | engines: {node: '>=14'} 2281 | 2282 | /lines-and-columns@1.2.4: 2283 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 2284 | 2285 | /locate-character@3.0.0: 2286 | resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} 2287 | dev: false 2288 | 2289 | /locate-path@6.0.0: 2290 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 2291 | engines: {node: '>=10'} 2292 | dependencies: 2293 | p-locate: 5.0.0 2294 | dev: true 2295 | 2296 | /lodash.merge@4.6.2: 2297 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 2298 | dev: true 2299 | 2300 | /loose-envify@1.4.0: 2301 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 2302 | hasBin: true 2303 | dependencies: 2304 | js-tokens: 4.0.0 2305 | 2306 | /lru-cache@6.0.0: 2307 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 2308 | engines: {node: '>=10'} 2309 | dependencies: 2310 | yallist: 4.0.0 2311 | dev: true 2312 | 2313 | /lucide-react@0.293.0(react@18.2.0): 2314 | resolution: {integrity: sha512-g3AN0EYITCpAjNgLHrKrFWvIJzZy0Y9OPBaonyKw1cM+nZE6piOM+TiuQdYfha7oa76TMiDaWXQHE44CEqsrzw==} 2315 | peerDependencies: 2316 | react: ^16.5.1 || ^17.0.0 || ^18.0.0 2317 | dependencies: 2318 | react: 18.2.0 2319 | dev: false 2320 | 2321 | /magic-string@0.30.5: 2322 | resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} 2323 | engines: {node: '>=12'} 2324 | dependencies: 2325 | '@jridgewell/sourcemap-codec': 1.4.15 2326 | dev: false 2327 | 2328 | /md5@2.3.0: 2329 | resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} 2330 | dependencies: 2331 | charenc: 0.0.2 2332 | crypt: 0.0.2 2333 | is-buffer: 1.1.6 2334 | dev: false 2335 | 2336 | /mdn-data@2.0.30: 2337 | resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} 2338 | dev: false 2339 | 2340 | /merge2@1.4.1: 2341 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 2342 | engines: {node: '>= 8'} 2343 | 2344 | /micromatch@4.0.5: 2345 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 2346 | engines: {node: '>=8.6'} 2347 | dependencies: 2348 | braces: 3.0.2 2349 | picomatch: 2.3.1 2350 | 2351 | /mime-db@1.52.0: 2352 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 2353 | engines: {node: '>= 0.6'} 2354 | dev: false 2355 | 2356 | /mime-types@2.1.35: 2357 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 2358 | engines: {node: '>= 0.6'} 2359 | dependencies: 2360 | mime-db: 1.52.0 2361 | dev: false 2362 | 2363 | /minimatch@3.1.2: 2364 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2365 | dependencies: 2366 | brace-expansion: 1.1.11 2367 | 2368 | /minimist@1.2.8: 2369 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 2370 | dev: true 2371 | 2372 | /ms@2.1.2: 2373 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2374 | dev: true 2375 | 2376 | /ms@2.1.3: 2377 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 2378 | 2379 | /mz@2.7.0: 2380 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 2381 | dependencies: 2382 | any-promise: 1.3.0 2383 | object-assign: 4.1.1 2384 | thenify-all: 1.6.0 2385 | 2386 | /nanoid@3.3.6: 2387 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} 2388 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2389 | hasBin: true 2390 | dev: false 2391 | 2392 | /nanoid@3.3.7: 2393 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 2394 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2395 | hasBin: true 2396 | 2397 | /natural-compare@1.4.0: 2398 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 2399 | dev: true 2400 | 2401 | /next-themes@0.2.1(next@14.0.4-canary.17)(react-dom@18.2.0)(react@18.2.0): 2402 | resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} 2403 | peerDependencies: 2404 | next: '*' 2405 | react: '*' 2406 | react-dom: '*' 2407 | dependencies: 2408 | next: 14.0.4-canary.17(react-dom@18.2.0)(react@18.2.0) 2409 | react: 18.2.0 2410 | react-dom: 18.2.0(react@18.2.0) 2411 | dev: false 2412 | 2413 | /next@14.0.4-canary.17(react-dom@18.2.0)(react@18.2.0): 2414 | resolution: {integrity: sha512-hbzyQsirzI7RONtnMHK36fqZHq/qKHsxz/GBX1m2qrEc2hIl0efgLiSjn/z6Vy8CUsH+V1HK6vv/qm0DxyqpKQ==} 2415 | engines: {node: '>=18.17.0'} 2416 | hasBin: true 2417 | peerDependencies: 2418 | '@opentelemetry/api': ^1.1.0 2419 | react: ^18.2.0 2420 | react-dom: ^18.2.0 2421 | sass: ^1.3.0 2422 | peerDependenciesMeta: 2423 | '@opentelemetry/api': 2424 | optional: true 2425 | sass: 2426 | optional: true 2427 | dependencies: 2428 | '@next/env': 14.0.4-canary.17 2429 | '@swc/helpers': 0.5.2 2430 | busboy: 1.6.0 2431 | caniuse-lite: 1.0.30001564 2432 | postcss: 8.4.31 2433 | react: 18.2.0 2434 | react-dom: 18.2.0(react@18.2.0) 2435 | styled-jsx: 5.1.1(react@18.2.0) 2436 | watchpack: 2.4.0 2437 | optionalDependencies: 2438 | '@next/swc-darwin-arm64': 14.0.4-canary.17 2439 | '@next/swc-darwin-x64': 14.0.4-canary.17 2440 | '@next/swc-linux-arm64-gnu': 14.0.4-canary.17 2441 | '@next/swc-linux-arm64-musl': 14.0.4-canary.17 2442 | '@next/swc-linux-x64-gnu': 14.0.4-canary.17 2443 | '@next/swc-linux-x64-musl': 14.0.4-canary.17 2444 | '@next/swc-win32-arm64-msvc': 14.0.4-canary.17 2445 | '@next/swc-win32-ia32-msvc': 14.0.4-canary.17 2446 | '@next/swc-win32-x64-msvc': 14.0.4-canary.17 2447 | transitivePeerDependencies: 2448 | - '@babel/core' 2449 | - babel-plugin-macros 2450 | dev: false 2451 | 2452 | /node-domexception@1.0.0: 2453 | resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} 2454 | engines: {node: '>=10.5.0'} 2455 | dev: false 2456 | 2457 | /node-fetch@2.7.0: 2458 | resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} 2459 | engines: {node: 4.x || >=6.0.0} 2460 | peerDependencies: 2461 | encoding: ^0.1.0 2462 | peerDependenciesMeta: 2463 | encoding: 2464 | optional: true 2465 | dependencies: 2466 | whatwg-url: 5.0.0 2467 | dev: false 2468 | 2469 | /node-releases@2.0.13: 2470 | resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} 2471 | dev: true 2472 | 2473 | /normalize-path@3.0.0: 2474 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 2475 | engines: {node: '>=0.10.0'} 2476 | 2477 | /normalize-range@0.1.2: 2478 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} 2479 | engines: {node: '>=0.10.0'} 2480 | dev: true 2481 | 2482 | /object-assign@4.1.1: 2483 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 2484 | engines: {node: '>=0.10.0'} 2485 | 2486 | /object-hash@3.0.0: 2487 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} 2488 | engines: {node: '>= 6'} 2489 | 2490 | /object-inspect@1.13.1: 2491 | resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} 2492 | dev: true 2493 | 2494 | /object-keys@1.1.1: 2495 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 2496 | engines: {node: '>= 0.4'} 2497 | dev: true 2498 | 2499 | /object.assign@4.1.4: 2500 | resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} 2501 | engines: {node: '>= 0.4'} 2502 | dependencies: 2503 | call-bind: 1.0.5 2504 | define-properties: 1.2.1 2505 | has-symbols: 1.0.3 2506 | object-keys: 1.1.1 2507 | dev: true 2508 | 2509 | /object.entries@1.1.7: 2510 | resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} 2511 | engines: {node: '>= 0.4'} 2512 | dependencies: 2513 | call-bind: 1.0.5 2514 | define-properties: 1.2.1 2515 | es-abstract: 1.22.3 2516 | dev: true 2517 | 2518 | /object.fromentries@2.0.7: 2519 | resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} 2520 | engines: {node: '>= 0.4'} 2521 | dependencies: 2522 | call-bind: 1.0.5 2523 | define-properties: 1.2.1 2524 | es-abstract: 1.22.3 2525 | dev: true 2526 | 2527 | /object.groupby@1.0.1: 2528 | resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} 2529 | dependencies: 2530 | call-bind: 1.0.5 2531 | define-properties: 1.2.1 2532 | es-abstract: 1.22.3 2533 | get-intrinsic: 1.2.2 2534 | dev: true 2535 | 2536 | /object.hasown@1.1.3: 2537 | resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} 2538 | dependencies: 2539 | define-properties: 1.2.1 2540 | es-abstract: 1.22.3 2541 | dev: true 2542 | 2543 | /object.values@1.1.7: 2544 | resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} 2545 | engines: {node: '>= 0.4'} 2546 | dependencies: 2547 | call-bind: 1.0.5 2548 | define-properties: 1.2.1 2549 | es-abstract: 1.22.3 2550 | dev: true 2551 | 2552 | /once@1.4.0: 2553 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2554 | dependencies: 2555 | wrappy: 1.0.2 2556 | 2557 | /openai@4.20.0: 2558 | resolution: {integrity: sha512-VbAYerNZFfIIeESS+OL9vgDkK8Mnri55n+jN0UN/HZeuM0ghGh6nDN6UGRZxslNgyJ7XmY/Ca9DO4YYyvrszGA==} 2559 | hasBin: true 2560 | dependencies: 2561 | '@types/node': 18.18.13 2562 | '@types/node-fetch': 2.6.9 2563 | abort-controller: 3.0.0 2564 | agentkeepalive: 4.5.0 2565 | digest-fetch: 1.3.0 2566 | form-data-encoder: 1.7.2 2567 | formdata-node: 4.4.1 2568 | node-fetch: 2.7.0 2569 | web-streams-polyfill: 3.2.1 2570 | transitivePeerDependencies: 2571 | - encoding 2572 | dev: false 2573 | 2574 | /optionator@0.9.3: 2575 | resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} 2576 | engines: {node: '>= 0.8.0'} 2577 | dependencies: 2578 | '@aashutoshrathi/word-wrap': 1.2.6 2579 | deep-is: 0.1.4 2580 | fast-levenshtein: 2.0.6 2581 | levn: 0.4.1 2582 | prelude-ls: 1.2.1 2583 | type-check: 0.4.0 2584 | dev: true 2585 | 2586 | /p-limit@3.1.0: 2587 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 2588 | engines: {node: '>=10'} 2589 | dependencies: 2590 | yocto-queue: 0.1.0 2591 | dev: true 2592 | 2593 | /p-locate@5.0.0: 2594 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 2595 | engines: {node: '>=10'} 2596 | dependencies: 2597 | p-limit: 3.1.0 2598 | dev: true 2599 | 2600 | /parent-module@1.0.1: 2601 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 2602 | engines: {node: '>=6'} 2603 | dependencies: 2604 | callsites: 3.1.0 2605 | dev: true 2606 | 2607 | /path-exists@4.0.0: 2608 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 2609 | engines: {node: '>=8'} 2610 | dev: true 2611 | 2612 | /path-is-absolute@1.0.1: 2613 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 2614 | engines: {node: '>=0.10.0'} 2615 | 2616 | /path-key@3.1.1: 2617 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2618 | engines: {node: '>=8'} 2619 | dev: true 2620 | 2621 | /path-parse@1.0.7: 2622 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2623 | 2624 | /path-type@4.0.0: 2625 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2626 | engines: {node: '>=8'} 2627 | dev: true 2628 | 2629 | /periscopic@3.1.0: 2630 | resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} 2631 | dependencies: 2632 | '@types/estree': 1.0.5 2633 | estree-walker: 3.0.3 2634 | is-reference: 3.0.2 2635 | dev: false 2636 | 2637 | /picocolors@1.0.0: 2638 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 2639 | 2640 | /picomatch@2.3.1: 2641 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2642 | engines: {node: '>=8.6'} 2643 | 2644 | /pify@2.3.0: 2645 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 2646 | engines: {node: '>=0.10.0'} 2647 | 2648 | /pirates@4.0.6: 2649 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 2650 | engines: {node: '>= 6'} 2651 | 2652 | /postcss-import@15.1.0(postcss@8.4.31): 2653 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} 2654 | engines: {node: '>=14.0.0'} 2655 | peerDependencies: 2656 | postcss: ^8.0.0 2657 | dependencies: 2658 | postcss: 8.4.31 2659 | postcss-value-parser: 4.2.0 2660 | read-cache: 1.0.0 2661 | resolve: 1.22.8 2662 | 2663 | /postcss-js@4.0.1(postcss@8.4.31): 2664 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} 2665 | engines: {node: ^12 || ^14 || >= 16} 2666 | peerDependencies: 2667 | postcss: ^8.4.21 2668 | dependencies: 2669 | camelcase-css: 2.0.1 2670 | postcss: 8.4.31 2671 | 2672 | /postcss-load-config@4.0.2(postcss@8.4.31): 2673 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} 2674 | engines: {node: '>= 14'} 2675 | peerDependencies: 2676 | postcss: '>=8.0.9' 2677 | ts-node: '>=9.0.0' 2678 | peerDependenciesMeta: 2679 | postcss: 2680 | optional: true 2681 | ts-node: 2682 | optional: true 2683 | dependencies: 2684 | lilconfig: 3.0.0 2685 | postcss: 8.4.31 2686 | yaml: 2.3.4 2687 | 2688 | /postcss-nested@6.0.1(postcss@8.4.31): 2689 | resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} 2690 | engines: {node: '>=12.0'} 2691 | peerDependencies: 2692 | postcss: ^8.2.14 2693 | dependencies: 2694 | postcss: 8.4.31 2695 | postcss-selector-parser: 6.0.13 2696 | 2697 | /postcss-selector-parser@6.0.13: 2698 | resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} 2699 | engines: {node: '>=4'} 2700 | dependencies: 2701 | cssesc: 3.0.0 2702 | util-deprecate: 1.0.2 2703 | 2704 | /postcss-value-parser@4.2.0: 2705 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 2706 | 2707 | /postcss@8.4.31: 2708 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} 2709 | engines: {node: ^10 || ^12 || >=14} 2710 | dependencies: 2711 | nanoid: 3.3.7 2712 | picocolors: 1.0.0 2713 | source-map-js: 1.0.2 2714 | 2715 | /prelude-ls@1.2.1: 2716 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 2717 | engines: {node: '>= 0.8.0'} 2718 | dev: true 2719 | 2720 | /prismjs@1.29.0: 2721 | resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} 2722 | engines: {node: '>=6'} 2723 | dev: false 2724 | 2725 | /prop-types@15.8.1: 2726 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} 2727 | dependencies: 2728 | loose-envify: 1.4.0 2729 | object-assign: 4.1.1 2730 | react-is: 16.13.1 2731 | dev: true 2732 | 2733 | /punycode@2.3.1: 2734 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 2735 | engines: {node: '>=6'} 2736 | dev: true 2737 | 2738 | /queue-microtask@1.2.3: 2739 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2740 | 2741 | /react-dom@18.2.0(react@18.2.0): 2742 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} 2743 | peerDependencies: 2744 | react: ^18.2.0 2745 | dependencies: 2746 | loose-envify: 1.4.0 2747 | react: 18.2.0 2748 | scheduler: 0.23.0 2749 | dev: false 2750 | 2751 | /react-is@16.13.1: 2752 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 2753 | dev: true 2754 | 2755 | /react@18.2.0: 2756 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} 2757 | engines: {node: '>=0.10.0'} 2758 | dependencies: 2759 | loose-envify: 1.4.0 2760 | dev: false 2761 | 2762 | /read-cache@1.0.0: 2763 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 2764 | dependencies: 2765 | pify: 2.3.0 2766 | 2767 | /readdirp@3.6.0: 2768 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 2769 | engines: {node: '>=8.10.0'} 2770 | dependencies: 2771 | picomatch: 2.3.1 2772 | 2773 | /reflect.getprototypeof@1.0.4: 2774 | resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} 2775 | engines: {node: '>= 0.4'} 2776 | dependencies: 2777 | call-bind: 1.0.5 2778 | define-properties: 1.2.1 2779 | es-abstract: 1.22.3 2780 | get-intrinsic: 1.2.2 2781 | globalthis: 1.0.3 2782 | which-builtin-type: 1.1.3 2783 | dev: true 2784 | 2785 | /regenerator-runtime@0.14.0: 2786 | resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} 2787 | 2788 | /regexp.prototype.flags@1.5.1: 2789 | resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} 2790 | engines: {node: '>= 0.4'} 2791 | dependencies: 2792 | call-bind: 1.0.5 2793 | define-properties: 1.2.1 2794 | set-function-name: 2.0.1 2795 | dev: true 2796 | 2797 | /resolve-from@4.0.0: 2798 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2799 | engines: {node: '>=4'} 2800 | dev: true 2801 | 2802 | /resolve-pkg-maps@1.0.0: 2803 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 2804 | dev: true 2805 | 2806 | /resolve@1.22.8: 2807 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 2808 | hasBin: true 2809 | dependencies: 2810 | is-core-module: 2.13.1 2811 | path-parse: 1.0.7 2812 | supports-preserve-symlinks-flag: 1.0.0 2813 | 2814 | /resolve@2.0.0-next.5: 2815 | resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} 2816 | hasBin: true 2817 | dependencies: 2818 | is-core-module: 2.13.1 2819 | path-parse: 1.0.7 2820 | supports-preserve-symlinks-flag: 1.0.0 2821 | dev: true 2822 | 2823 | /reusify@1.0.4: 2824 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2825 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2826 | 2827 | /rimraf@3.0.2: 2828 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 2829 | hasBin: true 2830 | dependencies: 2831 | glob: 7.2.3 2832 | dev: true 2833 | 2834 | /run-parallel@1.2.0: 2835 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2836 | dependencies: 2837 | queue-microtask: 1.2.3 2838 | 2839 | /safe-array-concat@1.0.1: 2840 | resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} 2841 | engines: {node: '>=0.4'} 2842 | dependencies: 2843 | call-bind: 1.0.5 2844 | get-intrinsic: 1.2.2 2845 | has-symbols: 1.0.3 2846 | isarray: 2.0.5 2847 | dev: true 2848 | 2849 | /safe-regex-test@1.0.0: 2850 | resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} 2851 | dependencies: 2852 | call-bind: 1.0.5 2853 | get-intrinsic: 1.2.2 2854 | is-regex: 1.1.4 2855 | dev: true 2856 | 2857 | /scheduler@0.23.0: 2858 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} 2859 | dependencies: 2860 | loose-envify: 1.4.0 2861 | dev: false 2862 | 2863 | /semver@6.3.1: 2864 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 2865 | hasBin: true 2866 | dev: true 2867 | 2868 | /semver@7.5.4: 2869 | resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} 2870 | engines: {node: '>=10'} 2871 | hasBin: true 2872 | dependencies: 2873 | lru-cache: 6.0.0 2874 | dev: true 2875 | 2876 | /seroval@0.14.1: 2877 | resolution: {integrity: sha512-ZlC9y1KVDhZFdEHLYZup1RjKDutyX1tt3ffOauqRbRURa2vRr2NU/bHuVEuNEqR3zE2uCU3WM6LqH6Oinc3tWg==} 2878 | engines: {node: '>=10'} 2879 | dev: false 2880 | 2881 | /set-function-length@1.1.1: 2882 | resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} 2883 | engines: {node: '>= 0.4'} 2884 | dependencies: 2885 | define-data-property: 1.1.1 2886 | get-intrinsic: 1.2.2 2887 | gopd: 1.0.1 2888 | has-property-descriptors: 1.0.1 2889 | dev: true 2890 | 2891 | /set-function-name@2.0.1: 2892 | resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} 2893 | engines: {node: '>= 0.4'} 2894 | dependencies: 2895 | define-data-property: 1.1.1 2896 | functions-have-names: 1.2.3 2897 | has-property-descriptors: 1.0.1 2898 | dev: true 2899 | 2900 | /shebang-command@2.0.0: 2901 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2902 | engines: {node: '>=8'} 2903 | dependencies: 2904 | shebang-regex: 3.0.0 2905 | dev: true 2906 | 2907 | /shebang-regex@3.0.0: 2908 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2909 | engines: {node: '>=8'} 2910 | dev: true 2911 | 2912 | /side-channel@1.0.4: 2913 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 2914 | dependencies: 2915 | call-bind: 1.0.5 2916 | get-intrinsic: 1.2.2 2917 | object-inspect: 1.13.1 2918 | dev: true 2919 | 2920 | /slash@3.0.0: 2921 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2922 | engines: {node: '>=8'} 2923 | dev: true 2924 | 2925 | /solid-js@1.8.6: 2926 | resolution: {integrity: sha512-yiH6ZfBBZ3xj/aU/PBpVKB+8r8WWp100NGF7k/Z0IrK9Y8Lv0jwvFiJY1cHdc6Tj7GqXArKnMBabM0m1k+LzkA==} 2927 | dependencies: 2928 | csstype: 3.1.2 2929 | seroval: 0.14.1 2930 | dev: false 2931 | 2932 | /solid-swr-store@0.10.7(solid-js@1.8.6)(swr-store@0.10.6): 2933 | resolution: {integrity: sha512-A6d68aJmRP471aWqKKPE2tpgOiR5fH4qXQNfKIec+Vap+MGQm3tvXlT8n0I8UgJSlNAsSAUuw2VTviH2h3Vv5g==} 2934 | engines: {node: '>=10'} 2935 | peerDependencies: 2936 | solid-js: ^1.2 2937 | swr-store: ^0.10 2938 | dependencies: 2939 | solid-js: 1.8.6 2940 | swr-store: 0.10.6 2941 | dev: false 2942 | 2943 | /source-map-js@1.0.2: 2944 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 2945 | engines: {node: '>=0.10.0'} 2946 | 2947 | /sswr@2.0.0(svelte@4.2.7): 2948 | resolution: {integrity: sha512-mV0kkeBHcjcb0M5NqKtKVg/uTIYNlIIniyDfSGrSfxpEdM9C365jK0z55pl9K0xAkNTJi2OAOVFQpgMPUk+V0w==} 2949 | peerDependencies: 2950 | svelte: ^4.0.0 2951 | dependencies: 2952 | svelte: 4.2.7 2953 | swrev: 4.0.0 2954 | dev: false 2955 | 2956 | /streamsearch@1.1.0: 2957 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} 2958 | engines: {node: '>=10.0.0'} 2959 | dev: false 2960 | 2961 | /string.prototype.matchall@4.0.10: 2962 | resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} 2963 | dependencies: 2964 | call-bind: 1.0.5 2965 | define-properties: 1.2.1 2966 | es-abstract: 1.22.3 2967 | get-intrinsic: 1.2.2 2968 | has-symbols: 1.0.3 2969 | internal-slot: 1.0.6 2970 | regexp.prototype.flags: 1.5.1 2971 | set-function-name: 2.0.1 2972 | side-channel: 1.0.4 2973 | dev: true 2974 | 2975 | /string.prototype.trim@1.2.8: 2976 | resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} 2977 | engines: {node: '>= 0.4'} 2978 | dependencies: 2979 | call-bind: 1.0.5 2980 | define-properties: 1.2.1 2981 | es-abstract: 1.22.3 2982 | dev: true 2983 | 2984 | /string.prototype.trimend@1.0.7: 2985 | resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} 2986 | dependencies: 2987 | call-bind: 1.0.5 2988 | define-properties: 1.2.1 2989 | es-abstract: 1.22.3 2990 | dev: true 2991 | 2992 | /string.prototype.trimstart@1.0.7: 2993 | resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} 2994 | dependencies: 2995 | call-bind: 1.0.5 2996 | define-properties: 1.2.1 2997 | es-abstract: 1.22.3 2998 | dev: true 2999 | 3000 | /strip-ansi@6.0.1: 3001 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 3002 | engines: {node: '>=8'} 3003 | dependencies: 3004 | ansi-regex: 5.0.1 3005 | dev: true 3006 | 3007 | /strip-bom@3.0.0: 3008 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 3009 | engines: {node: '>=4'} 3010 | dev: true 3011 | 3012 | /strip-json-comments@3.1.1: 3013 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 3014 | engines: {node: '>=8'} 3015 | dev: true 3016 | 3017 | /styled-jsx@5.1.1(react@18.2.0): 3018 | resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} 3019 | engines: {node: '>= 12.0.0'} 3020 | peerDependencies: 3021 | '@babel/core': '*' 3022 | babel-plugin-macros: '*' 3023 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' 3024 | peerDependenciesMeta: 3025 | '@babel/core': 3026 | optional: true 3027 | babel-plugin-macros: 3028 | optional: true 3029 | dependencies: 3030 | client-only: 0.0.1 3031 | react: 18.2.0 3032 | dev: false 3033 | 3034 | /sucrase@3.34.0: 3035 | resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} 3036 | engines: {node: '>=8'} 3037 | hasBin: true 3038 | dependencies: 3039 | '@jridgewell/gen-mapping': 0.3.3 3040 | commander: 4.1.1 3041 | glob: 7.1.6 3042 | lines-and-columns: 1.2.4 3043 | mz: 2.7.0 3044 | pirates: 4.0.6 3045 | ts-interface-checker: 0.1.13 3046 | 3047 | /supports-color@7.2.0: 3048 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 3049 | engines: {node: '>=8'} 3050 | dependencies: 3051 | has-flag: 4.0.0 3052 | dev: true 3053 | 3054 | /supports-preserve-symlinks-flag@1.0.0: 3055 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 3056 | engines: {node: '>= 0.4'} 3057 | 3058 | /svelte@4.2.7: 3059 | resolution: {integrity: sha512-UExR1KS7raTdycsUrKLtStayu4hpdV3VZQgM0akX8XbXgLBlosdE/Sf3crOgyh9xIjqSYB3UEBuUlIQKRQX2hg==} 3060 | engines: {node: '>=16'} 3061 | dependencies: 3062 | '@ampproject/remapping': 2.2.1 3063 | '@jridgewell/sourcemap-codec': 1.4.15 3064 | '@jridgewell/trace-mapping': 0.3.20 3065 | acorn: 8.11.2 3066 | aria-query: 5.3.0 3067 | axobject-query: 3.2.1 3068 | code-red: 1.0.4 3069 | css-tree: 2.3.1 3070 | estree-walker: 3.0.3 3071 | is-reference: 3.0.2 3072 | locate-character: 3.0.0 3073 | magic-string: 0.30.5 3074 | periscopic: 3.1.0 3075 | dev: false 3076 | 3077 | /swr-store@0.10.6: 3078 | resolution: {integrity: sha512-xPjB1hARSiRaNNlUQvWSVrG5SirCjk2TmaUyzzvk69SZQan9hCJqw/5rG9iL7xElHU784GxRPISClq4488/XVw==} 3079 | engines: {node: '>=10'} 3080 | dependencies: 3081 | dequal: 2.0.3 3082 | dev: false 3083 | 3084 | /swr@2.2.0(react@18.2.0): 3085 | resolution: {integrity: sha512-AjqHOv2lAhkuUdIiBu9xbuettzAzWXmCEcLONNKJRba87WAefz8Ca9d6ds/SzrPc235n1IxWYdhJ2zF3MNUaoQ==} 3086 | peerDependencies: 3087 | react: ^16.11.0 || ^17.0.0 || ^18.0.0 3088 | dependencies: 3089 | react: 18.2.0 3090 | use-sync-external-store: 1.2.0(react@18.2.0) 3091 | dev: false 3092 | 3093 | /swrev@4.0.0: 3094 | resolution: {integrity: sha512-LqVcOHSB4cPGgitD1riJ1Hh4vdmITOp+BkmfmXRh4hSF/t7EnS4iD+SOTmq7w5pPm/SiPeto4ADbKS6dHUDWFA==} 3095 | dev: false 3096 | 3097 | /swrv@1.0.4(vue@3.3.9): 3098 | resolution: {integrity: sha512-zjEkcP8Ywmj+xOJW3lIT65ciY/4AL4e/Or7Gj0MzU3zBJNMdJiT8geVZhINavnlHRMMCcJLHhraLTAiDOTmQ9g==} 3099 | peerDependencies: 3100 | vue: '>=3.2.26 < 4' 3101 | dependencies: 3102 | vue: 3.3.9(typescript@5.3.2) 3103 | dev: false 3104 | 3105 | /tailwind-merge@2.0.0: 3106 | resolution: {integrity: sha512-WO8qghn9yhsldLSg80au+3/gY9E4hFxIvQ3qOmlpXnqpDKoMruKfi/56BbbMg6fHTQJ9QD3cc79PoWqlaQE4rw==} 3107 | dependencies: 3108 | '@babel/runtime': 7.23.4 3109 | dev: false 3110 | 3111 | /tailwindcss-animate@1.0.7(tailwindcss@3.3.5): 3112 | resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==} 3113 | peerDependencies: 3114 | tailwindcss: '>=3.0.0 || insiders' 3115 | dependencies: 3116 | tailwindcss: 3.3.5 3117 | dev: false 3118 | 3119 | /tailwindcss@3.3.5: 3120 | resolution: {integrity: sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==} 3121 | engines: {node: '>=14.0.0'} 3122 | hasBin: true 3123 | dependencies: 3124 | '@alloc/quick-lru': 5.2.0 3125 | arg: 5.0.2 3126 | chokidar: 3.5.3 3127 | didyoumean: 1.2.2 3128 | dlv: 1.1.3 3129 | fast-glob: 3.3.2 3130 | glob-parent: 6.0.2 3131 | is-glob: 4.0.3 3132 | jiti: 1.21.0 3133 | lilconfig: 2.1.0 3134 | micromatch: 4.0.5 3135 | normalize-path: 3.0.0 3136 | object-hash: 3.0.0 3137 | picocolors: 1.0.0 3138 | postcss: 8.4.31 3139 | postcss-import: 15.1.0(postcss@8.4.31) 3140 | postcss-js: 4.0.1(postcss@8.4.31) 3141 | postcss-load-config: 4.0.2(postcss@8.4.31) 3142 | postcss-nested: 6.0.1(postcss@8.4.31) 3143 | postcss-selector-parser: 6.0.13 3144 | resolve: 1.22.8 3145 | sucrase: 3.34.0 3146 | transitivePeerDependencies: 3147 | - ts-node 3148 | 3149 | /tapable@2.2.1: 3150 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} 3151 | engines: {node: '>=6'} 3152 | dev: true 3153 | 3154 | /text-table@0.2.0: 3155 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 3156 | dev: true 3157 | 3158 | /thenify-all@1.6.0: 3159 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 3160 | engines: {node: '>=0.8'} 3161 | dependencies: 3162 | thenify: 3.3.1 3163 | 3164 | /thenify@3.3.1: 3165 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 3166 | dependencies: 3167 | any-promise: 1.3.0 3168 | 3169 | /to-fast-properties@2.0.0: 3170 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 3171 | engines: {node: '>=4'} 3172 | dev: false 3173 | 3174 | /to-regex-range@5.0.1: 3175 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 3176 | engines: {node: '>=8.0'} 3177 | dependencies: 3178 | is-number: 7.0.0 3179 | 3180 | /tr46@0.0.3: 3181 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 3182 | dev: false 3183 | 3184 | /ts-api-utils@1.0.3(typescript@5.3.2): 3185 | resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} 3186 | engines: {node: '>=16.13.0'} 3187 | peerDependencies: 3188 | typescript: '>=4.2.0' 3189 | dependencies: 3190 | typescript: 5.3.2 3191 | dev: true 3192 | 3193 | /ts-interface-checker@0.1.13: 3194 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 3195 | 3196 | /tsconfig-paths@3.14.2: 3197 | resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} 3198 | dependencies: 3199 | '@types/json5': 0.0.29 3200 | json5: 1.0.2 3201 | minimist: 1.2.8 3202 | strip-bom: 3.0.0 3203 | dev: true 3204 | 3205 | /tslib@2.6.2: 3206 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} 3207 | dev: false 3208 | 3209 | /type-check@0.4.0: 3210 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 3211 | engines: {node: '>= 0.8.0'} 3212 | dependencies: 3213 | prelude-ls: 1.2.1 3214 | dev: true 3215 | 3216 | /type-fest@0.20.2: 3217 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 3218 | engines: {node: '>=10'} 3219 | dev: true 3220 | 3221 | /typed-array-buffer@1.0.0: 3222 | resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} 3223 | engines: {node: '>= 0.4'} 3224 | dependencies: 3225 | call-bind: 1.0.5 3226 | get-intrinsic: 1.2.2 3227 | is-typed-array: 1.1.12 3228 | dev: true 3229 | 3230 | /typed-array-byte-length@1.0.0: 3231 | resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} 3232 | engines: {node: '>= 0.4'} 3233 | dependencies: 3234 | call-bind: 1.0.5 3235 | for-each: 0.3.3 3236 | has-proto: 1.0.1 3237 | is-typed-array: 1.1.12 3238 | dev: true 3239 | 3240 | /typed-array-byte-offset@1.0.0: 3241 | resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} 3242 | engines: {node: '>= 0.4'} 3243 | dependencies: 3244 | available-typed-arrays: 1.0.5 3245 | call-bind: 1.0.5 3246 | for-each: 0.3.3 3247 | has-proto: 1.0.1 3248 | is-typed-array: 1.1.12 3249 | dev: true 3250 | 3251 | /typed-array-length@1.0.4: 3252 | resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} 3253 | dependencies: 3254 | call-bind: 1.0.5 3255 | for-each: 0.3.3 3256 | is-typed-array: 1.1.12 3257 | dev: true 3258 | 3259 | /typescript@5.3.2: 3260 | resolution: {integrity: sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==} 3261 | engines: {node: '>=14.17'} 3262 | hasBin: true 3263 | 3264 | /unbox-primitive@1.0.2: 3265 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 3266 | dependencies: 3267 | call-bind: 1.0.5 3268 | has-bigints: 1.0.2 3269 | has-symbols: 1.0.3 3270 | which-boxed-primitive: 1.0.2 3271 | dev: true 3272 | 3273 | /undici-types@5.26.5: 3274 | resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 3275 | 3276 | /update-browserslist-db@1.0.13(browserslist@4.22.1): 3277 | resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} 3278 | hasBin: true 3279 | peerDependencies: 3280 | browserslist: '>= 4.21.0' 3281 | dependencies: 3282 | browserslist: 4.22.1 3283 | escalade: 3.1.1 3284 | picocolors: 1.0.0 3285 | dev: true 3286 | 3287 | /uri-js@4.4.1: 3288 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 3289 | dependencies: 3290 | punycode: 2.3.1 3291 | dev: true 3292 | 3293 | /use-sync-external-store@1.2.0(react@18.2.0): 3294 | resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} 3295 | peerDependencies: 3296 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 3297 | dependencies: 3298 | react: 18.2.0 3299 | dev: false 3300 | 3301 | /util-deprecate@1.0.2: 3302 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 3303 | 3304 | /vue@3.3.9(typescript@5.3.2): 3305 | resolution: {integrity: sha512-sy5sLCTR8m6tvUk1/ijri3Yqzgpdsmxgj6n6yl7GXXCXqVbmW2RCXe9atE4cEI6Iv7L89v5f35fZRRr5dChP9w==} 3306 | peerDependencies: 3307 | typescript: '*' 3308 | peerDependenciesMeta: 3309 | typescript: 3310 | optional: true 3311 | dependencies: 3312 | '@vue/compiler-dom': 3.3.9 3313 | '@vue/compiler-sfc': 3.3.9 3314 | '@vue/runtime-dom': 3.3.9 3315 | '@vue/server-renderer': 3.3.9(vue@3.3.9) 3316 | '@vue/shared': 3.3.9 3317 | typescript: 5.3.2 3318 | dev: false 3319 | 3320 | /watchpack@2.4.0: 3321 | resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} 3322 | engines: {node: '>=10.13.0'} 3323 | dependencies: 3324 | glob-to-regexp: 0.4.1 3325 | graceful-fs: 4.2.11 3326 | dev: false 3327 | 3328 | /web-streams-polyfill@3.2.1: 3329 | resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} 3330 | engines: {node: '>= 8'} 3331 | dev: false 3332 | 3333 | /web-streams-polyfill@4.0.0-beta.3: 3334 | resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} 3335 | engines: {node: '>= 14'} 3336 | dev: false 3337 | 3338 | /webidl-conversions@3.0.1: 3339 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 3340 | dev: false 3341 | 3342 | /whatwg-url@5.0.0: 3343 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 3344 | dependencies: 3345 | tr46: 0.0.3 3346 | webidl-conversions: 3.0.1 3347 | dev: false 3348 | 3349 | /which-boxed-primitive@1.0.2: 3350 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 3351 | dependencies: 3352 | is-bigint: 1.0.4 3353 | is-boolean-object: 1.1.2 3354 | is-number-object: 1.0.7 3355 | is-string: 1.0.7 3356 | is-symbol: 1.0.4 3357 | dev: true 3358 | 3359 | /which-builtin-type@1.1.3: 3360 | resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} 3361 | engines: {node: '>= 0.4'} 3362 | dependencies: 3363 | function.prototype.name: 1.1.6 3364 | has-tostringtag: 1.0.0 3365 | is-async-function: 2.0.0 3366 | is-date-object: 1.0.5 3367 | is-finalizationregistry: 1.0.2 3368 | is-generator-function: 1.0.10 3369 | is-regex: 1.1.4 3370 | is-weakref: 1.0.2 3371 | isarray: 2.0.5 3372 | which-boxed-primitive: 1.0.2 3373 | which-collection: 1.0.1 3374 | which-typed-array: 1.1.13 3375 | dev: true 3376 | 3377 | /which-collection@1.0.1: 3378 | resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} 3379 | dependencies: 3380 | is-map: 2.0.2 3381 | is-set: 2.0.2 3382 | is-weakmap: 2.0.1 3383 | is-weakset: 2.0.2 3384 | dev: true 3385 | 3386 | /which-typed-array@1.1.13: 3387 | resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} 3388 | engines: {node: '>= 0.4'} 3389 | dependencies: 3390 | available-typed-arrays: 1.0.5 3391 | call-bind: 1.0.5 3392 | for-each: 0.3.3 3393 | gopd: 1.0.1 3394 | has-tostringtag: 1.0.0 3395 | dev: true 3396 | 3397 | /which@2.0.2: 3398 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 3399 | engines: {node: '>= 8'} 3400 | hasBin: true 3401 | dependencies: 3402 | isexe: 2.0.0 3403 | dev: true 3404 | 3405 | /wrappy@1.0.2: 3406 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 3407 | 3408 | /yallist@4.0.0: 3409 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 3410 | dev: true 3411 | 3412 | /yaml@2.3.4: 3413 | resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} 3414 | engines: {node: '>= 14'} 3415 | 3416 | /yocto-queue@0.1.0: 3417 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 3418 | engines: {node: '>=10'} 3419 | dev: true 3420 | --------------------------------------------------------------------------------