From 347c9847d29800682b158187d930a8cbab455dd8 Mon Sep 17 00:00:00 2001 From: Zopt <100939012+Zopt@users.noreply.github.com> Date: Tue, 16 Sep 2025 17:40:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.json | 3 + .gitignore | 39 + .prettierrc | 11 + README.md | 25 + app/[...slug]/page.tsx | 46 + app/favicon.ico | Bin 0 -> 179344 bytes app/globals.css | 114 + app/layout.tsx | 15 + app/news/[id]/page.tsx | 90 + app/news/page.tsx | 20 + app/page.tsx | 9 + app/products/page.tsx | 9 + bun.lockb | Bin 0 -> 184880 bytes components.json | 20 + components/HomePage.tsx | 524 ++ components/NewsDetailPage.tsx | 649 ++ components/NewsPage.tsx | 1195 +++ components/ProductsPage.tsx | 1070 +++ .../digital-transformation-trends-2024.md | 183 + .../techcorp-expands-global-operations.md | 466 ++ content/news/techcorp-launches-ai-platform.md | 238 + lib/i18n/config.ts | 32 + lib/i18n/translations.ts | 345 + lib/i18n/useTranslation.ts | 138 + lib/i18n/utils.ts | 75 + lib/news.ts | 90 + lib/utils.ts | 6 + next.config.mjs | 6 + package-lock.json | 6684 +++++++++++++++++ package.json | 37 + postcss.config.mjs | 8 + public/images/logo-text.png | Bin 0 -> 1174 bytes tailwind.config.ts | 67 + tsconfig.json | 26 + yarn.lock | 3478 +++++++++ 35 files changed, 15718 insertions(+) create mode 100644 .eslintrc.json create mode 100644 .gitignore create mode 100644 .prettierrc create mode 100644 README.md create mode 100644 app/[...slug]/page.tsx create mode 100644 app/favicon.ico create mode 100644 app/globals.css create mode 100644 app/layout.tsx create mode 100644 app/news/[id]/page.tsx create mode 100644 app/news/page.tsx create mode 100644 app/page.tsx create mode 100644 app/products/page.tsx create mode 100644 bun.lockb create mode 100644 components.json create mode 100644 components/HomePage.tsx create mode 100644 components/NewsDetailPage.tsx create mode 100644 components/NewsPage.tsx create mode 100644 components/ProductsPage.tsx create mode 100644 content/news/digital-transformation-trends-2024.md create mode 100644 content/news/techcorp-expands-global-operations.md create mode 100644 content/news/techcorp-launches-ai-platform.md create mode 100644 lib/i18n/config.ts create mode 100644 lib/i18n/translations.ts create mode 100644 lib/i18n/useTranslation.ts create mode 100644 lib/i18n/utils.ts create mode 100644 lib/news.ts create mode 100644 lib/utils.ts create mode 100644 next.config.mjs create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 postcss.config.mjs create mode 100644 public/images/logo-text.png create mode 100644 tailwind.config.ts create mode 100644 tsconfig.json create mode 100644 yarn.lock diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..bffb357 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "next/core-web-vitals" +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b45fcb9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,39 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js +.yarn/install-state.gz + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts + +# vscode +.vscode \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..36f0850 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,11 @@ +{ + "singleQuote": true, + "printWidth": 100, + "tabWidth": 4, + "useTabs": false, + "semi": true, + "jsxSingleQuote": false, + "bracketSpacing": true, + "arrowParens": "always", + "endOfLine": "lf" +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..839f8b3 --- /dev/null +++ b/README.md @@ -0,0 +1,25 @@ +# Onlook Starter Template + +

+ +

+ +This is an [Onlook](https://onlook.com/) project set up with +[Next.js](https://nextjs.org/), [TailwindCSS](https://tailwindcss.com/) and +[ShadCN](https://ui.shadcn.com). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +# or +bun dev +``` + +Open [http://localhost:3000](http://localhost:3000) in Onlook to see the result. diff --git a/app/[...slug]/page.tsx b/app/[...slug]/page.tsx new file mode 100644 index 0000000..a5ee585 --- /dev/null +++ b/app/[...slug]/page.tsx @@ -0,0 +1,46 @@ +'use client'; + +import { useEffect, useState } from 'react'; +import { useParams, useRouter } from 'next/navigation'; +import HomePage from '../../components/HomePage'; + +export default function DynamicPage() { + const params = useParams(); + const router = useRouter(); + const [language, setLanguage] = useState('en'); + + useEffect(() => { + const slug = params.slug as string[]; + let detectedLanguage = 'en'; + + // Check if the first segment is a language code + if (slug && slug.length > 0) { + const firstSegment = slug[0]; + if (['zh-CN', 'zh-TW'].includes(firstSegment)) { + detectedLanguage = firstSegment; + + // If it's just the language root (e.g., /zh-CN), show the homepage + if (slug.length === 1) { + setLanguage(detectedLanguage); + return; + } + + // For other pages like /zh-CN/products, redirect to main site with language preference + localStorage.setItem('preferred-language', detectedLanguage); + const remainingPath = slug.slice(1).join('/'); + router.replace(`/${remainingPath}`); + return; + } + } + + // Check localStorage for saved preference + const savedLanguage = localStorage.getItem('preferred-language'); + if (savedLanguage && ['en', 'zh-CN', 'zh-TW'].includes(savedLanguage)) { + detectedLanguage = savedLanguage; + } + + setLanguage(detectedLanguage); + }, [params, router]); + + return ; +} diff --git a/app/favicon.ico b/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..1b3613cdcb50762ecb025f49ff186a45afe4dcc7 GIT binary patch literal 179344 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 literal 0 HcmV?d00001 diff --git a/app/globals.css b/app/globals.css new file mode 100644 index 0000000..bf607eb --- /dev/null +++ b/app/globals.css @@ -0,0 +1,114 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +:root { + --foreground-rgb: 0, 0, 0; + --background-start-rgb: 214, 219, 220; + --background-end-rgb: 255, 255, 255; +} + +@media (prefers-color-scheme: dark) { + :root { + --foreground-rgb: 255, 255, 255; + --background-start-rgb: 0, 0, 0; + --background-end-rgb: 0, 0, 0; + } +} + +@layer utilities { + .text-balance { + text-wrap: balance; + } +} + +@layer base { + :root { + --background: 0 0% 100%; + --foreground: 0 0% 3.9%; + --card: 0 0% 100%; + --card-foreground: 0 0% 3.9%; + --popover: 0 0% 100%; + --popover-foreground: 0 0% 3.9%; + --primary: 0 0% 9%; + --primary-foreground: 0 0% 98%; + --secondary: 0 0% 96.1%; + --secondary-foreground: 0 0% 9%; + --muted: 0 0% 96.1%; + --muted-foreground: 0 0% 45.1%; + --accent: 0 0% 96.1%; + --accent-foreground: 0 0% 9%; + --destructive: 0 84.2% 60.2%; + --destructive-foreground: 0 0% 98%; + --border: 0 0% 89.8%; + --input: 0 0% 89.8%; + --ring: 0 0% 3.9%; + --chart-1: 12 76% 61%; + --chart-2: 173 58% 39%; + --chart-3: 197 37% 24%; + --chart-4: 43 74% 66%; + --chart-5: 27 87% 67%; + --radius: 0.5rem; + } + .dark { + --background: 0 0% 3.9%; + --foreground: 0 0% 98%; + --card: 0 0% 3.9%; + --card-foreground: 0 0% 98%; + --popover: 0 0% 3.9%; + --popover-foreground: 0 0% 98%; + --primary: 0 0% 98%; + --primary-foreground: 0 0% 9%; + --secondary: 0 0% 14.9%; + --secondary-foreground: 0 0% 98%; + --muted: 0 0% 14.9%; + --muted-foreground: 0 0% 63.9%; + --accent: 0 0% 14.9%; + --accent-foreground: 0 0% 98%; + --destructive: 0 62.8% 30.6%; + --destructive-foreground: 0 0% 98%; + --border: 0 0% 14.9%; + --input: 0 0% 14.9%; + --ring: 0 0% 83.1%; + --chart-1: 220 70% 50%; + --chart-2: 160 60% 45%; + --chart-3: 30 80% 55%; + --chart-4: 280 65% 60%; + --chart-5: 340 75% 55%; + } +} + +@layer base { + * { + @apply border-border; + } + body { + @apply bg-background text-foreground; + } +} + +/* Animation styles */ +@keyframes fade-in-up { + from { + opacity: 0; + transform: translateY(30px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +.animate-fade-in-up { + animation: fade-in-up 0.8s ease-out forwards; +} + +.animation-delay-200 { + animation-delay: 0.2s; + opacity: 0; +} + +.animation-delay-400 { + animation-delay: 0.4s; + opacity: 0; +} diff --git a/app/layout.tsx b/app/layout.tsx new file mode 100644 index 0000000..bc697e0 --- /dev/null +++ b/app/layout.tsx @@ -0,0 +1,15 @@ +import type { Metadata } from 'next'; +import './globals.css'; +export const metadata: Metadata = { + title: 'My New App', + description: 'Generated by Onlook', +}; +export default function RootLayout({ children }: Readonly<{ children: React.ReactNode }>) { + return ( + + + {children} + + + ); +} diff --git a/app/news/[id]/page.tsx b/app/news/[id]/page.tsx new file mode 100644 index 0000000..ae109f9 --- /dev/null +++ b/app/news/[id]/page.tsx @@ -0,0 +1,90 @@ +import fs from 'fs'; +import path from 'path'; +import matter from 'gray-matter'; +import { remark } from 'remark'; +import html from 'remark-html'; +import { notFound } from 'next/navigation'; +import { useTranslation } from '../../../lib/i18n/useTranslation'; +import { languages } from '../../../lib/i18n/config'; + +const NEWS_DIR = path.join(process.cwd(), 'content/news'); + +export async function generateStaticParams() { + const files = fs.readdirSync(NEWS_DIR); + return files.map((file) => ({ id: file.replace(/\.md$/, '') })); +} + +async function getNewsData(id: string) { + const filePath = path.join(NEWS_DIR, `${id}.md`); + if (!fs.existsSync(filePath)) return null; + const fileContent = fs.readFileSync(filePath, 'utf-8'); + const { data, content } = matter(fileContent); + + // 提取多语言正文 + const langSections: Record = {}; + let currentLang = ''; + let buffer: string[] = []; + for (const line of content.split('\n')) { + const langMatch = line.match(/^##\s*(\w[\w-]*)/); + if (langMatch) { + if (currentLang && buffer.length) { + langSections[currentLang] = buffer.join('\n').trim(); + } + currentLang = langMatch[1]; + buffer = []; + } else if (currentLang) { + buffer.push(line); + } + } + if (currentLang && buffer.length) { + langSections[currentLang] = buffer.join('\n').trim(); + } + + return { frontmatter: data, langSections }; +} + +export default async function NewsDetailPage({ params }: { params: { id: string } }) { + const { id } = params; + const news = await getNewsData(id); + if (!news) return notFound(); + + // 默认语言优先级 + const langOrder = ['en', 'zh-CN', 'zh-TW']; + // 这里假设 SSR 时用 Accept-Language 或默认 en + let lang = langOrder.find((l) => news.langSections[l]); + let htmlContent = ''; + if (lang) { + htmlContent = (await remark().use(html).process(news.langSections[lang])).toString(); + } + + // 渲染页面 + return ( +
+
+

+ {news.frontmatter[`title_${lang}`] || news.frontmatter.title} +

+
+ {news.frontmatter.date} · {news.frontmatter.readTime} ·{' '} + {news.frontmatter.category} +
+
+ {news.frontmatter.title} +
+
+
+
+ ); +} diff --git a/app/news/page.tsx b/app/news/page.tsx new file mode 100644 index 0000000..3665eb9 --- /dev/null +++ b/app/news/page.tsx @@ -0,0 +1,20 @@ +import fs from 'fs'; +import path from 'path'; +import matter from 'gray-matter'; +import NewsPage from '../../components/NewsPage'; +import { isValidLanguage } from '../../lib/i18n/config'; + +const NEWS_DIR = path.join(process.cwd(), 'content/news'); + +export default function News({ searchParams }: { searchParams?: { lang?: string } }) { + const files = fs.readdirSync(NEWS_DIR).filter((f) => f.endsWith('.md')); + const newsList = files.map((file) => { + const id = file.replace(/\\.md$/, ''); + const fileContent = fs.readFileSync(path.join(NEWS_DIR, file), 'utf-8'); + const { data } = matter(fileContent); + return { id, ...data }; + }); + const lang = searchParams?.lang; + const initialLanguage = lang && isValidLanguage(lang) ? lang : undefined; + return ; +} diff --git a/app/page.tsx b/app/page.tsx new file mode 100644 index 0000000..4f39806 --- /dev/null +++ b/app/page.tsx @@ -0,0 +1,9 @@ +import HomePage from '../components/HomePage'; +import { isValidLanguage } from '../lib/i18n/config'; + +export default function Page({ searchParams }: { searchParams?: { lang?: string } }) { + // 校验 lang 参数 + const lang = searchParams?.lang; + const initialLanguage = lang && isValidLanguage(lang) ? lang : undefined; + return ; +} diff --git a/app/products/page.tsx b/app/products/page.tsx new file mode 100644 index 0000000..27fd7b5 --- /dev/null +++ b/app/products/page.tsx @@ -0,0 +1,9 @@ +import ProductsPage from '../../components/ProductsPage'; +import { isValidLanguage } from '../../lib/i18n/config'; + +export default function Products({ searchParams }: { searchParams?: { lang?: string } }) { + // 校验 lang 参数 + const lang = searchParams?.lang; + const initialLanguage = lang && isValidLanguage(lang) ? lang : undefined; + return ; +} diff --git a/bun.lockb b/bun.lockb new file mode 100644 index 0000000000000000000000000000000000000000..529e1710365f1b2f30da6b57f852ff5d9eec6612 GIT binary patch literal 184880 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 literal 0 HcmV?d00001 diff --git a/components.json b/components.json new file mode 100644 index 0000000..481633d --- /dev/null +++ b/components.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://ui.shadcn.com/schema.json", + "style": "default", + "rsc": true, + "tsx": true, + "tailwind": { + "config": "tailwind.config.ts", + "css": "app/globals.css", + "baseColor": "neutral", + "cssVariables": true, + "prefix": "" + }, + "aliases": { + "components": "@/components", + "utils": "@/lib/utils", + "ui": "@/components/ui", + "lib": "@/lib", + "hooks": "@/hooks" + } +} \ No newline at end of file diff --git a/components/HomePage.tsx b/components/HomePage.tsx new file mode 100644 index 0000000..10940a8 --- /dev/null +++ b/components/HomePage.tsx @@ -0,0 +1,524 @@ +'use client'; + +import { useState, useEffect, useCallback } from 'react'; +import { languages } from '../lib/i18n/config'; +import { useTranslation } from '../lib/i18n/useTranslation'; + +const bannerImages = [ + 'https://images.unsplash.com/photo-1451187580459-43490279c0fa?w=1920&h=1080&fit=crop', + 'https://images.unsplash.com/photo-1504384308090-c894fdcc538d?w=1920&h=1080&fit=crop', + 'https://images.unsplash.com/photo-1519389950473-47ba0277781c?w=1920&h=1080&fit=crop', +]; + +export default function HomePage({ initialLanguage }: { initialLanguage?: string }) { + const { language, t, changeLanguage, getLocalizedPath, isInitialized } = + useTranslation(initialLanguage); + const [currentSlide, setCurrentSlide] = useState(0); + const [isMenuOpen, setIsMenuOpen] = useState(false); + + // Auto-advance carousel + useEffect(() => { + const timer = setInterval(() => { + setCurrentSlide((prev) => (prev + 1) % t.banner.slides.length); + }, 5000); + return () => clearInterval(timer); + }, [t.banner.slides.length]); + + // 防抖的语言切换处理 + const handleLanguageChange = useCallback( + (newLanguage: string) => { + changeLanguage(newLanguage as any); + }, + [changeLanguage], + ); + + // Navigation items + const navItems = [ + { key: 'home', label: t.nav.home, href: getLocalizedPath('/') }, + { key: 'products', label: t.nav.products, href: getLocalizedPath('/products') }, + { key: 'news', label: t.nav.news, href: getLocalizedPath('/news') }, + { key: 'support', label: t.nav.support, href: getLocalizedPath('/support') }, + { key: 'about', label: t.nav.about, href: getLocalizedPath('/about') }, + ]; + + if (!isInitialized) { + return ( +
+
+
+

+ Loading... +

+
+
+ ); + } + + return ( +
+ {/* Navigation */} + + + {/* Banner Carousel */} +
+
+
+ {t.banner.slides.map((slide, index) => ( +
+
+
+
+
+

+ {slide.title} +

+

+ {slide.subtitle} +

+ +
+
+
+
+ ))} +
+ + {/* Carousel Indicators */} +
+ {t.banner.slides.map((_, index) => ( +
+ + {/* Carousel Navigation */} + + +
+
+ + {/* Features Section */} +
+
+
+

+ {t.features.title} +

+

+ {t.features.subtitle} +

+
+ +
+ {t.features.items.map((feature, index) => ( +
+
+ {feature.icon} +
+

+ {feature.title} +

+

+ {feature.description} +

+
+ ))} +
+
+
+ + {/* CTA Section */} +
+
+

+ {t.cta.title} +

+

+ {t.cta.subtitle} +

+
+ + +
+
+
+ + {/* Footer */} + + + +
+ ); +} diff --git a/components/NewsDetailPage.tsx b/components/NewsDetailPage.tsx new file mode 100644 index 0000000..986c7bd --- /dev/null +++ b/components/NewsDetailPage.tsx @@ -0,0 +1,649 @@ +'use client'; + +import { useState, useCallback, useEffect } from 'react'; +import { useTranslation } from '../lib/i18n/useTranslation'; +import { languages } from '../lib/i18n/config'; +import { getNewsById, getAllNews, parseMarkdownContent, type NewsItem } from '../lib/news'; + +interface NewsDetailPageProps { + initialLanguage?: string; + newsId: string; +} + +// 只保留元信息,正文内容已迁移到 md 文件 +interface NewsArticleMeta { + id: number; + category: string; + date: string; + readTime: string; + image: string; +} + +// 仅示例,实际内容请从 md 文件读取 +const newsArticles: NewsArticleMeta[] = [ + { + id: 1, + category: 'product', + date: '2024-01-15', + readTime: '5 min', + image: 'https://images.unsplash.com/photo-1504711434969-e33886168f5c?w=800&h=600&fit=crop', + }, + { + id: 2, + category: 'industry', + date: '2024-01-12', + readTime: '8 min', + image: 'https://images.unsplash.com/photo-1586953208448-b95a79798f07?w=800&h=600&fit=crop', + }, + { + id: 3, + category: 'company', + date: '2024-01-10', + readTime: '3 min', + image: 'https://images.unsplash.com/photo-1552664730-d307ca884978?w=800&h=600&fit=crop', + }, +]; + +// 分类图标映射 +const categoryIcons = { + company: '🏢', + product: '📦', + industry: '🏭', + technology: '💻', +}; + +export default function NewsDetailPage({ initialLanguage, newsId }: NewsDetailPageProps) { + const { language, t, changeLanguage, getLocalizedPath, isInitialized } = + useTranslation(initialLanguage); + const [isMenuOpen, setIsMenuOpen] = useState(false); + const [showScrollTop, setShowScrollTop] = useState(false); + + const handleLanguageChange = useCallback( + (newLanguage: string) => { + changeLanguage(newLanguage as any); + }, + [changeLanguage], + ); + + // 获取新闻元信息 + const article = newsArticles.find((article) => article.id.toString() === newsId); + + // 滚动到顶部功能 + const scrollToTop = () => { + window.scrollTo({ top: 0, behavior: 'smooth' }); + }; + + // 监听滚动事件 + useEffect(() => { + const handleScroll = () => { + setShowScrollTop(window.scrollY > 300); + }; + window.addEventListener('scroll', handleScroll); + return () => window.removeEventListener('scroll', handleScroll); + }, []); + + // 格式化日期 + const formatDate = (dateString: string) => { + const date = new Date(dateString); + if (language === 'en') { + return date.toLocaleDateString('en-US', { + year: 'numeric', + month: 'long', + day: 'numeric', + }); + } else { + return date.toLocaleDateString('zh-CN', { + year: 'numeric', + month: 'long', + day: 'numeric', + }); + } + }; + + // 在语言初始化完成前显示加载状态 + if (!isInitialized) { + return ( +
+
+
+

+ Loading... +

+
+
+ ); + } + + // 如果找不到文章,显示404页面 + if (!article) { + return ( +
+
+
+ 📰 +
+

+ {language === 'en' + ? 'Article Not Found' + : language === 'zh-CN' + ? '文章未找到' + : '文章未找到'} +

+

+ {language === 'en' + ? 'The article you are looking for does not exist or has been moved.' + : language === 'zh-CN' + ? '您查找的文章不存在或已被移动。' + : '您查找的文章不存在或已被移動。'} +

+ + {language === 'en' + ? 'Back to News' + : language === 'zh-CN' + ? '返回新闻' + : '返回新聞'} + +
+
+ ); + } + + // Navigation items + const navItems = [ + { key: 'home', label: t.nav.home, href: getLocalizedPath('/') }, + { key: 'products', label: t.nav.products, href: getLocalizedPath('/products') }, + { key: 'news', label: t.nav.news, href: getLocalizedPath('/news') }, + { key: 'support', label: t.nav.support, href: getLocalizedPath('/support') }, + { key: 'about', label: t.nav.about, href: getLocalizedPath('/about') }, + ]; + + return ( +
+ {/* Navigation */} + + + {/* Breadcrumb */} +
+
+ +
+
+ + {/* Article Header */} +
+
+ {/* Category Badge */} +
+ + + {categoryIcons[article.category as keyof typeof categoryIcons]} + + {language === 'en' + ? article.category.charAt(0).toUpperCase() + + article.category.slice(1) + : article.category === 'company' + ? language === 'zh-CN' + ? '公司' + : '公司' + : article.category === 'product' + ? language === 'zh-CN' + ? '产品' + : '產品' + : article.category === 'industry' + ? language === 'zh-CN' + ? '行业' + : '行業' + : article.category === 'technology' + ? language === 'zh-CN' + ? '技术' + : '技術' + : article.category} + +
+ + {/* Title */} +

+ {article.category.charAt(0).toUpperCase() + article.category.slice(1)} +

+ + {/* Meta Information */} +
+
+ + + + {formatDate(article.date)} +
+
+ + + + {article.readTime} +
+
+
+
+ + {/* Featured Image */} +
+
+
+ { + +
+
+
+
+ + {/* CTA Section */} +
+
+

+ {language === 'en' + ? 'Stay Updated' + : language === 'zh-CN' + ? '保持更新' + : '保持更新'} +

+

+ {language === 'en' + ? 'Subscribe to our newsletter and never miss important updates and insights.' + : language === 'zh-CN' + ? '订阅我们的新闻通讯,不要错过重要的更新和见解。' + : '訂閱我們的新聞通訊,不要錯過重要的更新和見解。'} +

+
+ + + {language === 'en' + ? 'View All News' + : language === 'zh-CN' + ? '查看所有新闻' + : '查看所有新聞'} + +
+
+
+ + {/* 回到顶部按钮 */} + {showScrollTop && ( + + )} + + {/* Footer */} + +
+ ); +} diff --git a/components/NewsPage.tsx b/components/NewsPage.tsx new file mode 100644 index 0000000..4f1b58c --- /dev/null +++ b/components/NewsPage.tsx @@ -0,0 +1,1195 @@ +'use client'; +import { useState, useCallback, useEffect } from 'react'; +import { useTranslation } from '../lib/i18n/useTranslation'; +import { languages } from '../lib/i18n/config'; + +// ===== 类型定义 ===== +export interface NewsItem { + id: string; + title: string; + title_zh_CN?: string; + title_zh_TW?: string; + summary: string; + summary_zh_CN?: string; + summary_zh_TW?: string; + category: string; + date: string; + readTime: string; + tags: string[]; + tags_zh_CN?: string[]; + tags_zh_TW?: string[]; + image?: string; +} + +interface NewsPageProps { + initialLanguage?: string; + newsList?: NewsItem[]; +} + +// ===== 常量定义 ===== +const newsCategories = ['all', 'company', 'product', 'industry', 'technology']; +const categoryIcons = { + company: '🏢', + product: '📦', + industry: '🏭', + technology: '💻', + all: '📰', +}; +const newsImages = [ + 'https://images.unsplash.com/photo-1504711434969-e33886168f5c?w=400&h=300&fit=crop', + 'https://images.unsplash.com/photo-1586953208448-b95a79798f07?w=400&h=300&fit=crop', + 'https://images.unsplash.com/photo-1552664730-d307ca884978?w=400&h=300&fit=crop', + 'https://images.unsplash.com/photo-1460925895917-afdab827c52f?w=400&h=300&fit=crop', + 'https://images.unsplash.com/photo-1519389950473-47ba0277781c?w=400&h=300&fit=crop', + 'https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=400&h=300&fit=crop', +]; + +// ===== 工具函数 ===== +const scrollToTop = () => { + window.scrollTo({ top: 0, behavior: 'smooth' }); +}; + +// ===== 组件主体 ===== +export default function NewsPage({ initialLanguage, newsList = [] }: NewsPageProps) { + // ===== 国际化与状态 ===== + const { language, t, changeLanguage, getLocalizedPath, isInitialized } = + useTranslation(initialLanguage); + const [selectedCategory, setSelectedCategory] = useState('all'); + const [isMenuOpen, setIsMenuOpen] = useState(false); + const [searchTerm, setSearchTerm] = useState(''); + const [viewMode, setViewMode] = useState<'grid' | 'list'>('grid'); + const [sortBy, setSortBy] = useState<'date' | 'title' | 'category'>('date'); + const [showScrollTop, setShowScrollTop] = useState(false); + + // ===== 事件处理 ===== + const handleLanguageChange = useCallback( + (newLanguage: string) => { + changeLanguage(newLanguage); + }, + [changeLanguage], + ); + + // ===== 本地化内容辅助函数 ===== + const getLocalizedNewsData = (news: NewsItem) => { + switch (language) { + case 'zh-CN': + return { + title: news.title_zh_CN || news.title, + summary: news.summary_zh_CN || news.summary, + tags: news.tags_zh_CN || news.tags, + }; + case 'zh-TW': + return { + title: news.title_zh_TW || news.title, + summary: news.summary_zh_TW || news.summary, + tags: news.tags_zh_TW || news.tags, + }; + default: + return { + title: news.title, + summary: news.summary, + tags: news.tags, + }; + } + }; + + // ===== 搜索和筛选逻辑 ===== + const filteredNews = (newsList || []) + .filter((news: NewsItem) => { + const matchesCategory = + selectedCategory === 'all' || news.category === selectedCategory; + const matchesSearch = + searchTerm === '' || + (news.title && news.title.toLowerCase().includes(searchTerm.toLowerCase())) || + (news.summary && news.summary.toLowerCase().includes(searchTerm.toLowerCase())) || + (news.tags && + news.tags.some((tag: string) => + tag.toLowerCase().includes(searchTerm.toLowerCase()), + )); + return matchesCategory && matchesSearch; + }) + .sort((a: NewsItem, b: NewsItem) => { + switch (sortBy) { + case 'date': + return new Date(b.date).getTime() - new Date(a.date).getTime(); + case 'title': + return (a.title || '').localeCompare(b.title || ''); + case 'category': + return (a.category || '').localeCompare(b.category || ''); + default: + return 0; + } + }); + + // ===== 滚动监听 ===== + useEffect(() => { + const handleScroll = () => { + setShowScrollTop(window.scrollY > 300); + }; + window.addEventListener('scroll', handleScroll); + return () => window.removeEventListener('scroll', handleScroll); + }, []); + + // ===== 日期格式化 ===== + const formatDate = (dateString: string) => { + const date = new Date(dateString); + if (language === 'en') { + return date.toLocaleDateString('en-US', { + year: 'numeric', + month: 'long', + day: 'numeric', + }); + } else { + return date.toLocaleDateString('zh-CN', { + year: 'numeric', + month: 'long', + day: 'numeric', + }); + } + }; + + // ===== 加载状态 ===== + if (!isInitialized) { + return ( +
+
+
+

+ Loading... +

+
+
+ ); + } + + // ===== 导航项 ===== + const navItems = [ + { key: 'home', label: t.nav.home, href: getLocalizedPath('/') }, + { key: 'products', label: t.nav.products, href: getLocalizedPath('/products') }, + { key: 'news', label: t.nav.news, href: getLocalizedPath('/news') }, + { key: 'support', label: t.nav.support, href: getLocalizedPath('/support') }, + { key: 'about', label: t.nav.about, href: getLocalizedPath('/about') }, + ]; + + // ===== 渲染部分 ===== + return ( +
+ {/* Navigation */} + + {/* Mobile Navigation */} + {isMenuOpen && ( +
+
+ {navItems.map((item) => ( + + {item.label} + + ))} +
+
+ )} + {/* Hero Section */} +
+
+

+ {language === 'en' + ? 'News & Insights' + : language === 'zh-CN' + ? '新闻资讯' + : '新聞資訊'} +

+

+ {language === 'en' + ? 'Stay updated with the latest news, insights, and developments from TechCorp and the industry.' + : language === 'zh-CN' + ? '了解 TechCorp 和行业的最新新闻、见解和发展动态。' + : '了解 TechCorp 和行業的最新新聞、見解和發展動態。'} +

+ {/* 搜索栏 */} +
+
+
+ + + +
+ setSearchTerm(e.target.value)} + className="block w-full pl-10 pr-3 py-4 border border-gray-300 rounded-full leading-5 bg-white/80 backdrop-blur-sm placeholder-gray-500 focus:outline-none focus:placeholder-gray-400 focus:ring-2 focus:ring-blue-500 focus:border-blue-500 text-lg" + data-oid="u:i8n-v" + /> +
+
+ {/* 统计信息 */} +
+
+
+ {newsList.length} +
+
+ {language === 'en' + ? 'Articles' + : language === 'zh-CN' + ? '文章' + : '文章'} +
+
+
+
+ 4 +
+
+ {language === 'en' + ? 'Categories' + : language === 'zh-CN' + ? '分类' + : '分類'} +
+
+
+
+ {language === 'en' + ? 'Weekly' + : language === 'zh-CN' + ? '每周' + : '每週'} +
+
+ {language === 'en' + ? 'Updates' + : language === 'zh-CN' + ? '更新' + : '更新'} +
+
+
+
+ 2024 +
+
+ {language === 'en' + ? 'Latest' + : language === 'zh-CN' + ? '最新' + : '最新'} +
+
+
+
+
+ {/* 筛选和排序控制 */} +
+
+ {/* 分类筛选 */} +
+ {newsCategories.map((category) => ( + + ))} +
+ {/* 工具栏 */} +
+
+ {/* 结果计数 */} + + {language === 'en' + ? `${filteredNews.length} articles found` + : language === 'zh-CN' + ? `找到 ${filteredNews.length} 篇文章` + : `找到 ${filteredNews.length} 篇文章`} + +
+
+ {/* 排序选择 */} + + {/* 视图切换 */} +
+ + +
+
+
+
+
+ {/* News Display */} +
+
+ {filteredNews.length === 0 ? ( + /* 无结果状态 */ +
+
+ 📰 +
+

+ {language === 'en' + ? 'No articles found' + : language === 'zh-CN' + ? '未找到文章' + : '未找到文章'} +

+

+ {language === 'en' + ? 'Try adjusting your search terms or clearing the filters to see more results.' + : language === 'zh-CN' + ? '尝试调整您的搜索词或清除筛选条件以查看更多结果。' + : '嘗試調整您的搜尋詞或清除篩選條件以查看更多結果。'} +

+
+ +
+
+ ) : ( +
+ {filteredNews.map((news, index) => { + const localizedData = getLocalizedNewsData(news); + console.log(news.id); + if (viewMode === 'grid') { + return ( + /* 网格视图 */ +
+ + {/* 新闻图片区域 */} +
+ {localizedData.title} + + {/* 分类标签 */} +
+ + + { + categoryIcons[ + news.category as keyof typeof categoryIcons + ] + } + + {language === 'en' + ? (news.category || '').charAt(0).toUpperCase() + (news.category || '').slice(1) + : news.category === 'company' + ? language === 'zh-CN' + ? '公司' + : '公司' + : news.category === 'product' + ? language === 'zh-CN' + ? '产品' + : '產品' + : news.category === 'industry' + ? language === 'zh-CN' + ? '行业' + : '行業' + : news.category === + 'technology' + ? language === 'zh-CN' + ? '技术' + : '技術' + : news.category} + +
+ {/* 阅读时间 */} +
+ + 📖 {news.readTime} + +
+ {/* 悬停叠加层 */} +
+
+ {/* 新闻内容区域 */} +
+ +
+ ); + } else { + return ( + /* 列表视图 */ +
+ +
+ {/* 图片区域 */} +
+ {localizedData.title} + + {/* 分类标签 */} +
+ + + { + categoryIcons[ + news.category as keyof typeof categoryIcons + ] + } + + {language === 'en' + ? (news.category || '').charAt(0).toUpperCase() + (news.category || '').slice(1) + : news.category === 'company' + ? language === 'zh-CN' + ? '公司' + : '公司' + : news.category === 'product' + ? language === 'zh-CN' + ? '产品' + : '產品' + : news.category === + 'industry' + ? language === 'zh-CN' + ? '行业' + : '行業' + : news.category === + 'technology' + ? language === 'zh-CN' + ? '技术' + : '技術' + : news.category} + +
+ {/* 阅读时间 */} +
+ + 📖 {news.readTime} + +
+
+ {/* 内容区域 */} +
+
+ +
+ ); + } + })} +
+ )} +
+
+ {/* CTA Section */} +
+
+

+ {language === 'en' + ? 'Stay Updated' + : language === 'zh-CN' + ? '保持更新' + : '保持更新'} +

+

+ {language === 'en' + ? 'Subscribe to our newsletter and never miss important updates and insights.' + : language === 'zh-CN' + ? '订阅我们的新闻通讯,不要错过重要的更新和见解。' + : '訂閱我們的新聞通訊,不要錯過重要的更新和見解。'} +

+
+ + +
+
+
+ {/* 回到顶部按钮 */} + {showScrollTop && ( + + )} + {/* Footer */} + +
+ ); +} diff --git a/components/ProductsPage.tsx b/components/ProductsPage.tsx new file mode 100644 index 0000000..82ea6bf --- /dev/null +++ b/components/ProductsPage.tsx @@ -0,0 +1,1070 @@ +'use client'; + +import { useState, useCallback, useEffect } from 'react'; +import { useTranslation } from '../lib/i18n/useTranslation'; +import { languages } from '../lib/i18n/config'; + +const productCategories = ['all', 'software', 'hardware', 'consulting', 'integration']; + +const productImages = [ + 'https://images.unsplash.com/photo-1551288049-bebda4e38f71?w=400&h=300&fit=crop', + 'https://images.unsplash.com/photo-1518709268805-4e9042af2176?w=400&h=300&fit=crop', + 'https://images.unsplash.com/photo-1560472354-b33ff0c44a43?w=400&h=300&fit=crop', + 'https://images.unsplash.com/photo-1573164713714-d95e436ab8d6?w=400&h=300&fit=crop', + 'https://images.unsplash.com/photo-1581091226825-a6a2a5aee158?w=400&h=300&fit=crop', + 'https://images.unsplash.com/photo-1504384308090-c894fdcc538d?w=400&h=300&fit=crop', +]; + +// 产品图标映射 +const categoryIcons = { + software: '💻', + hardware: '🖥️', + consulting: '💡', + integration: '🔗', + all: '🌟', +}; + +export default function ProductsPage({ initialLanguage }: { initialLanguage?: string }) { + const { language, t, changeLanguage, getLocalizedPath, isInitialized } = + useTranslation(initialLanguage); + const [selectedCategory, setSelectedCategory] = useState('all'); + const [isMenuOpen, setIsMenuOpen] = useState(false); + const [searchTerm, setSearchTerm] = useState(''); + const [viewMode, setViewMode] = useState<'grid' | 'list'>('grid'); + const [sortBy, setSortBy] = useState<'name' | 'price' | 'category'>('name'); + const [showFilters, setShowFilters] = useState(false); + + const handleLanguageChange = useCallback( + (newLanguage: string) => { + changeLanguage(newLanguage as any); + }, + [changeLanguage], + ); + + // 搜索和筛选逻辑 + const filteredProducts = t.products.items + .filter((product) => { + const matchesCategory = + selectedCategory === 'all' || product.category === selectedCategory; + const matchesSearch = + searchTerm === '' || + product.name.toLowerCase().includes(searchTerm.toLowerCase()) || + product.description.toLowerCase().includes(searchTerm.toLowerCase()) || + product.features.some((feature) => + feature.toLowerCase().includes(searchTerm.toLowerCase()), + ); + return matchesCategory && matchesSearch; + }) + .sort((a, b) => { + switch (sortBy) { + case 'name': + return a.name.localeCompare(b.name); + case 'category': + return a.category.localeCompare(b.category); + case 'price': + // 简单的价格排序(基于价格字符串中的数字) + const priceA = parseInt(a.price.replace(/[^\d]/g, '')) || 0; + const priceB = parseInt(b.price.replace(/[^\d]/g, '')) || 0; + return priceA - priceB; + default: + return 0; + } + }); + + // 滚动到顶部功能 + const scrollToTop = () => { + window.scrollTo({ top: 0, behavior: 'smooth' }); + }; + + // 监听滚动事件 + const [showScrollTop, setShowScrollTop] = useState(false); + useEffect(() => { + const handleScroll = () => { + setShowScrollTop(window.scrollY > 300); + }; + window.addEventListener('scroll', handleScroll); + return () => window.removeEventListener('scroll', handleScroll); + }, []); + + // 在语言初始化完成前显示加载状态 + if (!isInitialized) { + return ( +
+
+
+

+ Loading... +

+
+
+ ); + } + + // Navigation items + const navItems = [ + { key: 'home', label: t.nav.home, href: getLocalizedPath('/') }, + { key: 'products', label: t.nav.products, href: getLocalizedPath('/products') }, + { key: 'news', label: t.nav.news, href: getLocalizedPath('/news') }, + { key: 'support', label: t.nav.support, href: getLocalizedPath('/support') }, + { key: 'about', label: t.nav.about, href: getLocalizedPath('/about') }, + ]; + + return ( +
+ {/* Navigation */} + + + {/* Hero Section */} +
+
+

+ {t.products.hero.title} +

+

+ {t.products.hero.subtitle} +

+ + {/* 搜索栏 */} +
+
+
+ + + +
+ setSearchTerm(e.target.value)} + className="block w-full pl-10 pr-3 py-4 border border-gray-300 rounded-full leading-5 bg-white/80 backdrop-blur-sm placeholder-gray-500 focus:outline-none focus:placeholder-gray-400 focus:ring-2 focus:ring-blue-500 focus:border-blue-500 text-lg" + data-oid="qdbs9ve" + /> +
+
+ + {/* 统计信息 */} +
+
+
+ {t.products.items.length} +
+
+ {language === 'en' + ? 'Products' + : language === 'zh-CN' + ? '产品' + : '產品'} +
+
+
+
+ 5 +
+
+ {language === 'en' + ? 'Categories' + : language === 'zh-CN' + ? '分类' + : '分類'} +
+
+
+
+ 24/7 +
+
+ {language === 'en' + ? 'Support' + : language === 'zh-CN' + ? '支持' + : '支援'} +
+
+
+
+ 100+ +
+
+ {language === 'en' + ? 'Clients' + : language === 'zh-CN' + ? '客户' + : '客戶'} +
+
+
+
+
+ + {/* 筛选和排序控制 */} +
+
+ {/* 分类筛选 */} +
+ {productCategories.map((category) => ( + + ))} +
+ + {/* 工具栏 */} +
+
+ {/* 结果计数 */} + + {language === 'en' + ? `${filteredProducts.length} products found` + : language === 'zh-CN' + ? `找到 ${filteredProducts.length} 个产品` + : `找到 ${filteredProducts.length} 個產品`} + + + {/* 筛选按钮 */} + +
+ +
+ {/* 排序选择 */} + + + {/* 视图切换 */} +
+ + +
+
+
+
+
+ + {/* Products Display */} +
+
+ {filteredProducts.length === 0 ? ( + /* 无结果状态 */ +
+
+ 🔍 +
+

+ {language === 'en' + ? 'No products found' + : language === 'zh-CN' + ? '未找到产品' + : '未找到產品'} +

+

+ {language === 'en' + ? 'Try adjusting your search or filters' + : language === 'zh-CN' + ? '尝试调整您的搜索或筛选条件' + : '嘗試調整您的搜尋或篩選條件'} +

+ +
+ ) : ( +
+ {filteredProducts.map((product, index) => + viewMode === 'grid' ? ( + /* 网格视图 */ +
+
+ {product.name} + +
+ + + { + categoryIcons[ + product.category as keyof typeof categoryIcons + ] + } + + { + t.products.categories[ + product.category as keyof typeof t.products.categories + ] + } + +
+
+
+
+
+

+ {product.name} +

+

+ {product.description} +

+
+ {product.features + .slice(0, 3) + .map((feature, featureIndex) => ( + + {feature} + + ))} + {product.features.length > 3 && ( + + +{product.features.length - 3} more + + )} +
+
+
+
+
+ {language === 'en' + ? 'Starting from' + : language === 'zh-CN' + ? '起价' + : '起價'} +
+ + {product.price} + +
+ +
+
+
+ ) : ( + /* 列表视图 */ +
+
+
+ {product.name} + +
+ + + { + categoryIcons[ + product.category as keyof typeof categoryIcons + ] + } + + { + t.products.categories[ + product.category as keyof typeof t.products.categories + ] + } + +
+
+
+
+

+ {product.name} +

+

+ {product.description} +

+
+ {product.features.map( + (feature, featureIndex) => ( + + {feature} + + ), + )} +
+
+
+
+
+ {language === 'en' + ? 'Starting from' + : language === 'zh-CN' + ? '起价' + : '起價'} +
+ + {product.price} + +
+
+ + +
+
+
+
+
+ ), + )} +
+ )} +
+
+ + {/* CTA Section */} +
+
+

+ {t.products.cta.title} +

+

+ {t.products.cta.subtitle} +

+
+ + +
+
+
+ + {/* 回到顶部按钮 */} + {showScrollTop && ( + + )} + + {/* Footer */} + +
+ ); +} diff --git a/content/news/digital-transformation-trends-2024.md b/content/news/digital-transformation-trends-2024.md new file mode 100644 index 0000000..d97e5d0 --- /dev/null +++ b/content/news/digital-transformation-trends-2024.md @@ -0,0 +1,183 @@ +--- +title: "Industry Report Digital Transformation Trends 2024" +title_zh_CN: 行业报告:2024年数字化转型趋势 +title_zh_TW: 行業報告:2024年數位化轉型趨勢 +summary: Comprehensive analysis of emerging trends in digital transformation across various industries. +summary_zh_CN: 全面分析各行业数字化转型的新兴趋势。 +summary_zh_TW: 全面分析各行業數位化轉型的新興趨勢。 +category: industry +date: 2024-01-12 +readTime: 8 min +tags: + - Digital Transformation + - Trends + - Report +tags_zh_CN: + - 数字化转型 + - 趋势 + - 报告 +tags_zh_TW: + - 數位化轉型 + - 趨勢 + - 報告 +author: Research Team +author_zh_CN: 研究团队 +author_zh_TW: 研究團隊 +image: https://images.unsplash.com/photo-1586953208448-b95a79798f07?w=800&h=600&fit=crop +--- +## en + +As we advance through 2024, digital transformation continues to reshape industries worldwide. Our comprehensive research reveals key trends that are defining the future of business operations, customer experiences, and technological innovation. + +### Executive Summary + +Digital transformation is no longer a choice but a necessity for businesses seeking to remain competitive. Our analysis of over 500 companies across 15 industries reveals that organizations investing in digital transformation are experiencing: + +- **35% increase** in operational efficiency +- **42% improvement** in customer satisfaction +- **28% growth** in revenue +- **50% reduction** in time-to-market for new products + +### Key Trends Shaping 2024 + +#### 1. AI-First Approach + +Organizations are moving beyond pilot projects to full-scale AI implementation: + +**Adoption Statistics:** + +- 78% of enterprises have AI initiatives in production +- 65% report significant ROI from AI investments +- 89% plan to increase AI spending in 2024 + +**Key Applications:** + +- Customer service automation +- Predictive maintenance +- Supply chain optimization +- Fraud detection and prevention + +#### 2. Cloud-Native Architecture + +The shift to cloud-native solutions accelerates: + +**Market Insights:** + +- 92% of organizations have a multi-cloud strategy +- 67% are adopting containerization technologies +- 54% are implementing microservices architecture + +**Benefits Realized:** + +- Improved scalability and flexibility +- Reduced infrastructure costs +- Enhanced security and compliance +- Faster deployment cycles + +This comprehensive report provides insights into the digital transformation landscape and helps organizations navigate the evolving technology ecosystem. + +--- + +## zh-CN + +随着我们进入2024年,数字化转型继续重塑全球各行各业。我们的综合研究揭示了定义商业运营、客户体验和技术创新未来的关键趋势。 + +### 执行摘要 + +数字化转型不再是选择,而是企业保持竞争力的必需品。我们对15个行业500多家公司的分析显示,投资数字化转型的组织正在经历: + +- **运营效率提升35%** +- **客户满意度改善42%** +- **收入增长28%** +- **新产品上市时间缩短50%** + +### 塑造2024年的关键趋势 + +#### 1. AI优先方法 + +组织正从试点项目转向全面的AI实施: + +**采用统计:** + +- 78%的企业在生产中有AI计划 +- 65%报告AI投资有显著ROI +- 89%计划在2024年增加AI支出 + +**关键应用:** + +- 客户服务自动化 +- 预测性维护 +- 供应链优化 +- 欺诈检测和预防 + +#### 2. 云原生架构 + +向云原生解决方案的转变加速: + +**市场洞察:** + +- 92%的组织有多云策略 +- 67%正在采用容器化技术 +- 54%正在实施微服务架构 + +**实现的好处:** + +- 改善可扩展性和灵活性 +- 降低基础设施成本 +- 增强安全性和合规性 +- 更快的部署周期 + +这份综合报告提供了对数字化转型格局的洞察,帮助组织导航不断发展的技术生态系统。 + +--- + +## zh-TW + +隨著我們進入2024年,數位化轉型繼續重塑全球各行各業。我們的綜合研究揭示了定義商業運營、客戶體驗和技術創新未來的關鍵趨勢。 + +### 執行摘要 + +數位化轉型不再是選擇,而是企業保持競爭力的必需品。我們對15個行業500多家公司的分析顯示,投資數位化轉型的組織正在經歷: + +- **運營效率提升35%** +- **客戶滿意度改善42%** +- **收入增長28%** +- **新產品上市時間縮短50%** + +### 塑造2024年的關鍵趨勢 + +#### 1. AI優先方法 + +組織正從試點項目轉向全面的AI實施: + +**採用統計:** + +- 78%的企業在生產中有AI計劃 +- 65%報告AI投資有顯著ROI +- 89%計劃在2024年增加AI支出 + +**關鍵應用:** + +- 客戶服務自動化 +- 預測性維護 +- 供應鏈優化 +- 欺詐檢測和預防 + +#### 2. 雲原生架構 + +向雲原生解決方案的轉變加速: + +**市場洞察:** + +- 92%的組織有多雲策略 +- 67%正在採用容器化技術 +- 54%正在實施微服務架構 + +**實現的好處:** + +- 改善可擴展性和靈活性 +- 降低基礎設施成本 +- 增強安全性和合規性 +- 更快的部署週期 + +這份綜合報告提供了對數位化轉型格局的洞察,幫助組織導航不斷發展的技術生態系統。 diff --git a/content/news/techcorp-expands-global-operations.md b/content/news/techcorp-expands-global-operations.md new file mode 100644 index 0000000..a538040 --- /dev/null +++ b/content/news/techcorp-expands-global-operations.md @@ -0,0 +1,466 @@ +--- +title: TechCorp Expands Global Operations +title_zh_CN: TechCorp 扩展全球业务 +title_zh_TW: TechCorp 擴展全球業務 +summary: We are excited to announce the opening of new offices in three major international markets. +summary_zh_CN: 我们很高兴地宣布在三个主要国际市场开设新办事处。 +summary_zh_TW: 我們很高興地宣布在三個主要國際市場開設新辦事處。 +category: company +date: 2024-01-10 +readTime: 3 min +tags: + - Expansion + - Global + - Growth +tags_zh_CN: + - 扩张 + - 全球 + - 增长 +tags_zh_TW: + - 擴張 + - 全球 + - 增長 +author: Corporate Communications +author_zh_CN: 企业传播部 +author_zh_TW: 企業傳播部 +image: https://images.unsplash.com/photo-1552664730-d307ca884978?w=800&h=600&fit=crop +--- + +# TechCorp Expands Global Operations + +_Published on January 10, 2024 | 3 min read_ + +We are thrilled to announce a significant milestone in TechCorp's growth journey - the expansion of our global operations with new offices in Singapore, London, and São Paulo. This strategic expansion represents our commitment to serving customers worldwide and bringing our innovative solutions closer to international markets. + +## Strategic Locations + +### Singapore - Asia-Pacific Hub + +Our new Singapore office will serve as the regional headquarters for the Asia-Pacific market, providing: + +- Local customer support in multiple languages +- Faster deployment and implementation services +- Regional partnerships and integrations +- Compliance with local data protection regulations + +### London - European Operations Center + +The London office will anchor our European operations, offering: + +- EU-compliant cloud infrastructure +- Local sales and technical teams +- Partnership with European technology providers +- Support for GDPR and other regulatory requirements + +### São Paulo - Latin American Gateway + +Our São Paulo location will serve the growing Latin American market with: + +- Portuguese and Spanish language support +- Local payment processing capabilities +- Regional business partnerships +- Customized solutions for emerging markets + +## Investment and Growth + +This expansion represents a $50 million investment in international operations, including: + +- **150 new jobs** across all three locations +- **State-of-the-art facilities** with modern technology infrastructure +- **Local data centers** for improved performance and compliance +- **Regional R&D capabilities** for market-specific innovations + +## Market Opportunity + +Our research indicates significant growth potential in these markets: + +- Asia-Pacific digital transformation market expected to reach $2.8 trillion by 2025 +- European cloud services market growing at 22% annually +- Latin American enterprise software market expanding by 15% year-over-year + +## Local Leadership + +We've appointed experienced regional leaders to drive our expansion: + +**Dr. Sarah Chen** - Asia-Pacific Regional Director + +- Former VP of Technology at leading Singapore fintech company +- 15 years of experience in enterprise software +- Expertise in regional market dynamics + +**James Morrison** - European Operations Director + +- Previously led European expansion for major SaaS provider +- Deep understanding of EU regulatory landscape +- Strong network of technology partnerships + +**Maria Rodriguez** - Latin American Regional Manager + +- Former country manager for international software company +- Bilingual expertise in Portuguese and Spanish markets +- Proven track record in emerging market development + +## Customer Benefits + +This expansion will provide immediate benefits to our global customers: + +### Enhanced Support + +- 24/7 customer support across all time zones +- Local language support in 12 additional languages +- Faster response times for technical issues +- Regional account management teams + +### Improved Performance + +- Reduced latency through local data centers +- Faster content delivery and application performance +- Local backup and disaster recovery capabilities +- Compliance with regional data residency requirements + +### Market-Specific Solutions + +- Customized features for local business practices +- Integration with regional payment systems +- Support for local compliance requirements +- Partnerships with regional technology providers + +## Sustainability Commitment + +All new offices are designed with sustainability in mind: + +- LEED Gold certification targets +- 100% renewable energy usage +- Carbon-neutral operations by 2025 +- Green building technologies and practices + +## Future Plans + +This expansion is just the beginning of our global growth strategy: + +- Additional offices planned for Tokyo and Mumbai in 2025 +- Investment in local talent development programs +- Expansion of regional partnership networks +- Development of market-specific product offerings + +## Community Engagement + +We're committed to being good corporate citizens in our new markets: + +- Local hiring initiatives with focus on diversity +- Partnerships with universities and technical schools +- Support for local technology communities +- Charitable giving and volunteer programs + +## Technology Infrastructure + +Each new office features cutting-edge technology: + +- High-speed fiber connectivity +- Advanced security systems +- Modern collaboration tools +- Flexible workspace designs + +## Conclusion + +This global expansion marks an exciting new chapter for TechCorp. By establishing a strong international presence, we're better positioned to serve our customers worldwide and drive innovation in the global technology landscape. + +We look forward to building lasting relationships with customers, partners, and communities in these new markets while continuing to deliver the exceptional service and innovative solutions that define TechCorp. + +--- + +_For more information about our global expansion, contact our international business development team._ + +--- + +# TechCorp 扩展全球业务 + +_发布于 2024年1月10日 | 3分钟阅读_ + +我们很高兴地宣布 TechCorp 成长历程中的一个重要里程碑——通过在新加坡、伦敦和圣保罗开设新办事处来扩展我们的全球业务。这一战略扩张体现了我们为全球客户服务的承诺,并将我们的创新解决方案带到更接近国际市场的地方。 + +## 战略位置 + +### 新加坡 - 亚太地区中心 + +我们的新加坡新办事处将作为亚太市场的区域总部,提供: + +- 多语言本地客户支持 +- 更快的部署和实施服务 +- 区域合作伙伴关系和集成 +- 符合当地数据保护法规 + +### 伦敦 - 欧洲运营中心 + +伦敦办事处将成为我们欧洲业务的支点,提供: + +- 符合欧盟标准的云基础设施 +- 本地销售和技术团队 +- 与欧洲技术提供商的合作伙伴关系 +- 对GDPR和其他监管要求的支持 + +### 圣保罗 - 拉丁美洲门户 + +我们的圣保罗办事处将为不断增长的拉丁美洲市场提供服务: + +- 葡萄牙语和西班牙语支持 +- 本地支付处理能力 +- 区域商业合作伙伴关系 +- 为新兴市场定制的解决方案 + +## 投资和增长 + +这次扩张代表了对国际业务5000万美元的投资,包括: + +- **在所有三个地点创造150个新工作岗位** +- **配备现代技术基础设施的最先进设施** +- **本地数据中心**以提高性能和合规性 +- **区域研发能力**用于特定市场的创新 + +## 市场机会 + +我们的研究表明这些市场具有巨大的增长潜力: + +- 亚太地区数字化转型市场预计到2025年将达到2.8万亿美元 +- 欧洲云服务市场年增长率为22% +- 拉丁美洲企业软件市场年增长率为15% + +## 本地领导团队 + +我们已任命经验丰富的区域领导者来推动我们的扩张: + +**陈莎拉博士** - 亚太地区总监 + +- 前新加坡领先金融科技公司技术副总裁 +- 15年企业软件经验 +- 在区域市场动态方面的专业知识 + +**詹姆斯·莫里森** - 欧洲运营总监 + +- 曾领导主要SaaS提供商的欧洲扩张 +- 对欧盟监管环境的深入了解 +- 强大的技术合作伙伴网络 + +**玛丽亚·罗德里格斯** - 拉丁美洲区域经理 + +- 前国际软件公司国家经理 +- 在葡萄牙语和西班牙语市场的双语专业知识 +- 在新兴市场发展方面的成功记录 + +## 客户受益 + +这次扩张将为我们的全球客户提供即时好处: + +### 增强支持 + +- 跨所有时区的24/7客户支持 +- 12种额外语言的本地语言支持 +- 更快的技术问题响应时间 +- 区域客户管理团队 + +### 改善性能 + +- 通过本地数据中心减少延迟 +- 更快的内容交付和应用程序性能 +- 本地备份和灾难恢复能力 +- 符合区域数据驻留要求 + +### 特定市场解决方案 + +- 为本地商业实践定制的功能 +- 与区域支付系统的集成 +- 对本地合规要求的支持 +- 与区域技术提供商的合作伙伴关系 + +## 可持续发展承诺 + +所有新办事处都以可持续发展为设计理念: + +- LEED金级认证目标 +- 100%可再生能源使用 +- 到2025年实现碳中和运营 +- 绿色建筑技术和实践 + +## 未来计划 + +这次扩张只是我们全球增长战略的开始: + +- 计划在2025年在东京和孟买开设更多办事处 +- 投资本地人才发展计划 +- 扩展区域合作伙伴网络 +- 开发特定市场的产品供应 + +## 社区参与 + +我们致力于在新市场中成为良好的企业公民: + +- 注重多样性的本地招聘计划 +- 与大学和技术学校的合作伙伴关系 +- 对本地技术社区的支持 +- 慈善捐赠和志愿者计划 + +## 技术基础设施 + +每个新办事处都配备了尖端技术: + +- 高速光纤连接 +- 先进的安全系统 +- 现代协作工具 +- 灵活的工作空间设计 + +## 结论 + +这次全球扩张标志着TechCorp激动人心的新篇章。通过建立强大的国际存在,我们能够更好地为全球客户服务,并推动全球技术领域的创新。 + +我们期待在这些新市场中与客户、合作伙伴和社区建立持久的关系,同时继续提供定义TechCorp的卓越服务和创新解决方案。 + +--- + +_有关我们全球扩张的更多信息,请联系我们的国际业务发展团队。_ + +--- + +# TechCorp 擴展全球業務 + +_發布於 2024年1月10日 | 3分鐘閱讀_ + +我們很高興地宣布 TechCorp 成長歷程中的一個重要里程碑——通過在新加坡、倫敦和聖保羅開設新辦事處來擴展我們的全球業務。這一戰略擴張體現了我們為全球客戶服務的承諾,並將我們的創新解決方案帶到更接近國際市場的地方。 + +## 戰略位置 + +### 新加坡 - 亞太地區中心 + +我們的新加坡新辦事處將作為亞太市場的區域總部,提供: + +- 多語言本地客戶支援 +- 更快的部署和實施服務 +- 區域合作夥伴關係和集成 +- 符合當地數據保護法規 + +### 倫敦 - 歐洲運營中心 + +倫敦辦事處將成為我們歐洲業務的支點,提供: + +- 符合歐盟標準的雲基礎設施 +- 本地銷售和技術團隊 +- 與歐洲技術提供商的合作夥伴關係 +- 對GDPR和其他監管要求的支援 + +### 聖保羅 - 拉丁美洲門戶 + +我們的聖保羅辦事處將為不斷增長的拉丁美洲市場提供服務: + +- 葡萄牙語和西班牙語支援 +- 本地支付處理能力 +- 區域商業合作夥伴關係 +- 為新興市場定制的解決方案 + +## 投資和增長 + +這次擴張代表了對國際業務5000萬美元的投資,包括: + +- **在所有三個地點創造150個新工作崗位** +- **配備現代技術基礎設施的最先進設施** +- **本地數據中心**以提高性能和合規性 +- **區域研發能力**用於特定市場的創新 + +## 市場機會 + +我們的研究表明這些市場具有巨大的增長潛力: + +- 亞太地區數位化轉型市場預計到2025年將達到2.8萬億美元 +- 歐洲雲服務市場年增長率為22% +- 拉丁美洲企業軟體市場年增長率為15% + +## 本地領導團隊 + +我們已任命經驗豐富的區域領導者來推動我們的擴張: + +**陳莎拉博士** - 亞太地區總監 + +- 前新加坡領先金融科技公司技術副總裁 +- 15年企業軟體經驗 +- 在區域市場動態方面的專業知識 + +**詹姆斯·莫里森** - 歐洲運營總監 + +- 曾領導主要SaaS提供商的歐洲擴張 +- 對歐盟監管環境的深入了解 +- 強大的技術合作夥伴網絡 + +**瑪麗亞·羅德里格斯** - 拉丁美洲區域經理 + +- 前國際軟體公司國家經理 +- 在葡萄牙語和西班牙語市場的雙語專業知識 +- 在新興市場發展方面的成功記錄 + +## 客戶受益 + +這次擴張將為我們的全球客戶提供即時好處: + +### 增強支援 + +- 跨所有時區的24/7客戶支援 +- 12種額外語言的本地語言支援 +- 更快的技術問題響應時間 +- 區域客戶管理團隊 + +### 改善性能 + +- 通過本地數據中心減少延遲 +- 更快的內容交付和應用程式性能 +- 本地備份和災難恢復能力 +- 符合區域數據駐留要求 + +### 特定市場解決方案 + +- 為本地商業實踐定制的功能 +- 與區域支付系統的集成 +- 對本地合規要求的支援 +- 與區域技術提供商的合作夥伴關係 + +## 可持續發展承諾 + +所有新辦事處都以可持續發展為設計理念: + +- LEED金級認證目標 +- 100%可再生能源使用 +- 到2025年實現碳中和運營 +- 綠色建築技術和實踐 + +## 未來計劃 + +這次擴張只是我們全球增長戰略的開始: + +- 計劃在2025年在東京和孟買開設更多辦事處 +- 投資本地人才發展計劃 +- 擴展區域合作夥伴網絡 +- 開發特定市場的產品供應 + +## 社區參與 + +我們致力於在新市場中成為良好的企業公民: + +- 注重多樣性的本地招聘計劃 +- 與大學和技術學校的合作夥伴關係 +- 對本地技術社區的支援 +- 慈善捐贈和志願者計劃 + +## 技術基礎設施 + +每個新辦事處都配備了尖端技術: + +- 高速光纖連接 +- 先進的安全系統 +- 現代協作工具 +- 靈活的工作空間設計 + +## 結論 + +這次全球擴張標誌著TechCorp激動人心的新篇章。通過建立強大的國際存在,我們能夠更好地為全球客戶服務,並推動全球技術領域的創新。 + +我們期待在這些新市場中與客戶、合作夥伴和社區建立持久的關係,同時繼續提供定義TechCorp的卓越服務和創新解決方案。 + +--- + +_有關我們全球擴張的更多信息,請聯繫我們的國際業務發展團隊。_ diff --git a/content/news/techcorp-launches-ai-platform.md b/content/news/techcorp-launches-ai-platform.md new file mode 100644 index 0000000..e80555b --- /dev/null +++ b/content/news/techcorp-launches-ai-platform.md @@ -0,0 +1,238 @@ +--- +title: Industry Report Digital Transformation Trends 2024 +title_zh_CN: 行业报告:2024年数字化转型趋势 +title_zh_TW: 行業報告:2024年數位化轉型趨勢 +summary: Comprehensive analysis of emerging trends in digital transformation across various industries. +summary_zh_CN: 全面分析各行业数字化转型的新兴趋势。 +summary_zh_TW: 全面分析各行業數位化轉型的新興趨勢。 +category: industry +date: 2024-01-12 +readTime: 8 min +tags: + - Digital Transformation + - Trends + - Report +tags_zh_CN: + - 数字化转型 + - 趋势 + - 报告 +tags_zh_TW: + - 數位化轉型 + - 趨勢 + - 報告 +author: Research Team +author_zh_CN: 研究团队 +author_zh_TW: 研究團隊 +image: https://images.unsplash.com/photo-1586953208448-b95a79798f07?w=800&h=600&fit=crop +--- + +## en + +We are excited to announce the launch of our groundbreaking AI platform that will transform how enterprises approach automation and decision-making. This revolutionary solution represents years of research and development, bringing together cutting-edge machine learning algorithms with intuitive user interfaces. + +### Key Features + +#### Advanced Machine Learning Capabilities + +Our platform leverages state-of-the-art neural networks and deep learning models to provide: + +- **Predictive Analytics**: Forecast business trends with 95% accuracy +- **Natural Language Processing**: Understand and process human language in real-time +- **Computer Vision**: Analyze images and videos for actionable insights +- **Automated Decision Making**: Make complex decisions based on data patterns + +#### Enterprise-Grade Security + +Security is at the core of our platform design: + +- End-to-end encryption for all data transmissions +- Multi-factor authentication and role-based access control +- Compliance with GDPR, HIPAA, and SOC 2 standards +- Regular security audits and penetration testing + +#### Seamless Integration + +The platform is designed to work with your existing infrastructure: + +- RESTful APIs for easy integration +- Support for popular databases and cloud platforms +- Pre-built connectors for major enterprise software +- Flexible deployment options (cloud, on-premise, hybrid) + +### Industry Impact + +This AI platform addresses critical challenges across multiple industries: + +#### Healthcare + +- Accelerate drug discovery processes +- Improve diagnostic accuracy +- Optimize patient care workflows +- Reduce administrative overhead + +#### Finance + +- Enhance fraud detection capabilities +- Automate risk assessment +- Improve customer service with AI chatbots +- Optimize trading strategies + +#### Manufacturing + +- Predictive maintenance for equipment +- Quality control automation +- Supply chain optimization +- Energy efficiency improvements + +### Getting Started + +Ready to transform your business with AI? Our platform offers: + +1. **Free Trial**: 30-day trial with full feature access +2. **Consultation**: Free strategy session with our AI experts +3. **Custom Implementation**: Tailored deployment for your specific needs +4. **Training & Support**: Comprehensive training programs and 24/7 support + +Contact our team today to learn how our AI platform can transform your business operations and unlock new opportunities for growth. + +--- + +## zh-CN + +我们很高兴地宣布推出突破性的 AI 平台,它将改变企业处理自动化和决策制定的方式。这一革命性解决方案代表了多年的研发成果,将尖端的机器学习算法与直观的用户界面相结合。 + +### 主要功能 + +#### 先进的机器学习能力 + +我们的平台利用最先进的神经网络和深度学习模型提供: + +- **预测分析**:以95%的准确率预测业务趋势 +- **自然语言处理**:实时理解和处理人类语言 +- **计算机视觉**:分析图像和视频以获得可操作的见解 +- **自动决策制定**:基于数据模式做出复杂决策 + +#### 企业级安全性 + +安全性是我们平台设计的核心: + +- 所有数据传输的端到端加密 +- 多因素身份验证和基于角色的访问控制 +- 符合 GDPR、HIPAA 和 SOC 2 标准 +- 定期安全审计和渗透测试 + +#### 无缝集成 + +该平台旨在与您现有的基础设施协同工作: + +- 用于轻松集成的 RESTful API +- 支持流行的数据库和云平台 +- 为主要企业软件预构建连接器 +- 灵活的部署选项(云端、本地、混合) + +### 行业影响 + +这个 AI 平台解决了多个行业的关键挑战: + +#### 医疗保健 + +- 加速药物发现过程 +- 提高诊断准确性 +- 优化患者护理工作流程 +- 减少管理开销 + +#### 金融 + +- 增强欺诈检测能力 +- 自动化风险评估 +- 通过 AI 聊天机器人改善客户服务 +- 优化交易策略 + +#### 制造业 + +- 设备预测性维护 +- 质量控制自动化 +- 供应链优化 +- 能效改进 + +### 开始使用 + +准备用 AI 改变您的业务?我们的平台提供: + +1. **免费试用**:30天试用,完整功能访问 +2. **咨询**:与我们的 AI 专家免费策略会议 +3. **定制实施**:针对您特定需求的定制部署 +4. **培训和支持**:全面的培训计划和24/7支持 + +立即联系我们的团队,了解我们的 AI 平台如何改变您的业务运营并释放新的增长机会。 + +--- + +## zh-TW + +我們很高興地宣布推出突破性的 AI 平台,它將改變企業處理自動化和決策制定的方式。這一革命性解決方案代表了多年的研發成果,將尖端的機器學習算法與直觀的用戶界面相結合。 + +### 主要功能 + +#### 先進的機器學習能力 + +我們的平台利用最先進的神經網絡和深度學習模型提供: + +- **預測分析**:以95%的準確率預測業務趨勢 +- **自然語言處理**:實時理解和處理人類語言 +- **計算機視覺**:分析圖像和視頻以獲得可操作的見解 +- **自動決策制定**:基於數據模式做出複雜決策 + +#### 企業級安全性 + +安全性是我們平台設計的核心: + +- 所有數據傳輸的端到端加密 +- 多因素身份驗證和基於角色的訪問控制 +- 符合 GDPR、HIPAA 和 SOC 2 標準 +- 定期安全審計和滲透測試 + +#### 無縫集成 + +該平台旨在與您現有的基礎設施協同工作: + +- 用於輕鬆集成的 RESTful API +- 支持流行的數據庫和雲平台 +- 為主要企業軟件預構建連接器 +- 靈活的部署選項(雲端、本地、混合) + +### 行業影響 + +這個 AI 平台解決了多個行業的關鍵挑戰: + +#### 醫療保健 + +- 加速藥物發現過程 +- 提高診斷準確性 +- 優化患者護理工作流程 +- 減少管理開銷 + +#### 金融 + +- 增強欺詐檢測能力 +- 自動化風險評估 +- 通過 AI 聊天機器人改善客戶服務 +- 優化交易策略 + +#### 製造業 + +- 設備預測性維護 +- 質量控制自動化 +- 供應鏈優化 +- 能效改進 + +### 開始使用 + +準備用 AI 改變您的業務?我們的平台提供: + +1. **免費試用**:30天試用,完整功能訪問 +2. **諮詢**:與我們的 AI 專家免費策略會議 +3. **定制實施**:針對您特定需求的定制部署 +4. **培訓和支持**:全面的培訓計劃和24/7支持 + +立即聯繫我們的團隊,了解我們的 AI 平台如何改變您的業務運營並釋放新的增長機會。 diff --git a/lib/i18n/config.ts b/lib/i18n/config.ts new file mode 100644 index 0000000..a3bee7d --- /dev/null +++ b/lib/i18n/config.ts @@ -0,0 +1,32 @@ +export const defaultLanguage = 'en'; + +export const languages = [ + { + code: 'en', + label: 'English', + flag: '🇺🇸', + dir: 'ltr', + }, + { + code: 'zh-CN', + label: '简体中文', + flag: '🇨🇳', + dir: 'ltr', + }, + { + code: 'zh-TW', + label: '繁體中文', + flag: '🇹🇼', + dir: 'ltr', + }, +]; + +export type Language = (typeof languages)[number]['code']; + +export const isValidLanguage = (lang: string): lang is Language => { + return languages.some((l) => l.code === lang); +}; + +export const getLanguageConfig = (lang: Language) => { + return languages.find((l) => l.code === lang) || languages[0]; +}; diff --git a/lib/i18n/translations.ts b/lib/i18n/translations.ts new file mode 100644 index 0000000..a484480 --- /dev/null +++ b/lib/i18n/translations.ts @@ -0,0 +1,345 @@ +import { Language } from './config'; + +export interface Translation { + nav: { + home: string; + products: string; + news: string; + support: string; + about: string; + }; + banner: { + slides: Array<{ + title: string; + subtitle: string; + cta: string; + }>; + }; + features: { + title: string; + subtitle: string; + items: Array<{ + icon: string; + title: string; + description: string; + }>; + }; + products: { + hero: { + title: string; + subtitle: string; + }; + categories: { + all: string; + software: string; + hardware: string; + consulting: string; + integration: string; + }; + items: Array<{ + name: string; + description: string; + category: string; + price: string; + features: string[]; + }>; + learnMore: string; + cta: { + title: string; + subtitle: string; + primaryButton: string; + secondaryButton: string; + }; + }; + cta: { + title: string; + subtitle: string; + primaryButton: string; + secondaryButton: string; + }; + footer: { + description: string; + sections: { + products: { + title: string; + items: Array<{ + label: string; + href: string; + }>; + }; + support: { + title: string; + items: Array<{ + label: string; + href: string; + }>; + }; + social: { + title: string; + }; + }; + copyright: string; + }; +} + +export const translations: Record = { + en: { + nav: { + home: 'Home', + products: 'Products & Services', + news: 'News', + support: 'Support', + about: 'About Us', + }, + banner: { + slides: [ + { title: 'Innovative Technology Solutions', subtitle: 'Leading the future, creating unlimited possibilities', cta: 'Learn More', }, + { title: 'Professional Service Team', subtitle: 'Providing comprehensive technical support', cta: 'Contact Us', }, + { title: 'Intelligent Product Experience', subtitle: 'Simplifying processes, improving efficiency', cta: 'Try Now', }, + ], + }, + features: { + title: 'Why Choose Us', + subtitle: 'We are committed to providing customers with the highest quality products and services, driving business development with innovative technology', + items: [ + { icon: '🚀', title: 'High Performance Solutions', description: 'Using the latest technology architecture to ensure stable and efficient system operation', }, + { icon: '🔒', title: 'Secure & Reliable', description: 'Multi-layer security protection to ensure your data security', }, + { icon: '⚡', title: 'Fast Response', description: '7x24 hours technical support to quickly solve your problems', }, + { icon: '🎯', title: 'Precise Customization', description: 'Tailor-made exclusive solutions according to your needs', }, + ], + }, + products: { + hero: { + title: 'Products & Services', + subtitle: 'Comprehensive technology solutions to drive your business forward', + }, + categories: { + all: 'All Products', + software: 'Software Solutions', + hardware: 'Hardware Products', + consulting: 'Consulting Services', + integration: 'System Integration', + }, + items: [ + { name: 'Enterprise Management System', description: 'Comprehensive enterprise resource planning solution with advanced analytics and reporting capabilities.', category: 'software', price: 'From $999/month', features: [ 'Real-time Analytics', 'Cloud-based', 'Multi-platform', '24/7 Support', ], }, + { name: 'AI-Powered Analytics Platform', description: 'Advanced machine learning platform for business intelligence and predictive analytics.', category: 'software', price: 'From $1,499/month', features: [ 'Machine Learning', 'Predictive Analytics', 'Custom Dashboards', 'API Integration', ], }, + { name: 'High-Performance Server', description: 'Enterprise-grade server solutions with exceptional performance and reliability.', category: 'hardware', price: 'From $4,999', features: [ 'High Performance', 'Scalable', 'Energy Efficient', '5-year Warranty', ], }, + { name: 'Digital Transformation Consulting', description: 'Expert consulting services to guide your digital transformation journey.', category: 'consulting', price: 'Custom Quote', features: [ 'Strategy Planning', 'Implementation Support', 'Training', 'Ongoing Support', ], }, + { name: 'Cloud Infrastructure Setup', description: 'Complete cloud infrastructure design and implementation services.', category: 'integration', price: 'From $2,999', features: [ 'Cloud Migration', 'Security Setup', 'Performance Optimization', 'Monitoring', ], }, + { name: 'IoT Device Management', description: 'Comprehensive IoT device management and monitoring solution.', category: 'software', price: 'From $799/month', features: [ 'Device Monitoring', 'Remote Control', 'Data Analytics', 'Security Management', ], }, + ], + learnMore: 'Learn More', + cta: { + title: 'Need a Custom Solution?', + subtitle: 'Our experts are ready to help you find the perfect solution for your business needs.', + primaryButton: 'Get Quote', + secondaryButton: 'Schedule Demo', + }, + }, + cta: { + title: 'Ready to Start Your Digital Transformation Journey?', + subtitle: 'Contact our professional team for customized solutions', + primaryButton: 'Free Consultation', + secondaryButton: 'View Cases', + }, + footer: { + description: 'Professional technology solution provider, committed to creating value for customers.', + sections: { + products: { + title: 'Products & Services', + items: [ + { label: 'Solutions', href: '/products' }, + { label: 'Technical Consulting', href: '/products' }, + { label: 'System Integration', href: '/products' }, + ], + }, + support: { + title: 'Support', + items: [ + { label: 'Technical Support', href: '/support' }, + { label: 'Documentation', href: '/support' }, + { label: 'Contact Us', href: '/support' }, + ], + }, + social: { + title: 'Follow Us', + }, + }, + copyright: 'All rights reserved.', + }, + }, + 'zh-CN': { + nav: { + home: '首页', + products: '产品与服务', + news: '新闻资讯', + support: '客户支持', + about: '关于我们', + }, + banner: { + slides: [ + { title: '创新科技解决方案', subtitle: '引领未来,创造无限可能', cta: '了解更多', }, + { title: '专业服务团队', subtitle: '为您提供全方位技术支持', cta: '联系我们', }, + { title: '智能化产品体验', subtitle: '简化流程,提升效率', cta: '立即体验', }, + ], + }, + features: { + title: '为什么选择我们', + subtitle: '我们致力于为客户提供最优质的产品和服务,以创新技术驱动业务发展', + items: [ + { icon: '🚀', title: '高性能解决方案', description: '采用最新技术架构,确保系统稳定高效运行', }, + { icon: '🔒', title: '安全可靠', description: '多层安全防护,保障您的数据安全无忧', }, + { icon: '⚡', title: '快速响应', description: '7x24小时技术支持,快速解决您的问题', }, + { icon: '🎯', title: '精准定制', description: '根据您的需求量身定制专属解决方案', }, + ], + }, + products: { + hero: { + title: '产品与服务', + subtitle: '全面的技术解决方案,推动您的业务向前发展', + }, + categories: { + all: '全部产品', + software: '软件解决方案', + hardware: '硬件产品', + consulting: '咨询服务', + integration: '系统集成', + }, + items: [ + { name: '企业管理系统', description: '全面的企业资源规划解决方案,具备先进的分析和报告功能。', category: 'software', price: '起价 ¥6,999/月', features: ['实时分析', '云端部署', '多平台支持', '24/7支持'], }, + { name: 'AI智能分析平台', description: '先进的机器学习平台,用于商业智能和预测分析。', category: 'software', price: '起价 ¥10,499/月', features: ['机器学习', '预测分析', '自定义仪表板', 'API集成'], }, + { name: '高性能服务器', description: '企业级服务器解决方案,具有卓越的性能和可靠性。', category: 'hardware', price: '起价 ¥34,999', features: ['高性能', '可扩展', '节能环保', '5年保修'], }, + { name: '数字化转型咨询', description: '专业咨询服务,指导您的数字化转型之旅。', category: 'consulting', price: '定制报价', features: ['战略规划', '实施支持', '培训服务', '持续支持'], }, + { name: '云基础设施搭建', description: '完整的云基础设施设计和实施服务。', category: 'integration', price: '起价 ¥20,999', features: ['云迁移', '安全配置', '性能优化', '监控服务'], }, + { name: '物联网设备管理', description: '全面的物联网设备管理和监控解决方案。', category: 'software', price: '起价 ¥5,599/月', features: ['设备监控', '远程控制', '数据分析', '安全管理'], }, + ], + learnMore: '了解更多', + cta: { + title: '需要定制解决方案?', + subtitle: '我们的专家随时准备帮助您找到适合您业务需求的完美解决方案。', + primaryButton: '获取报价', + secondaryButton: '预约演示', + }, + }, + cta: { + title: '准备开始您的数字化转型之旅?', + subtitle: '联系我们的专业团队,获取定制化解决方案', + primaryButton: '免费咨询', + secondaryButton: '查看案例', + }, + footer: { + description: '专业的技术解决方案提供商,致力于为客户创造价值。', + sections: { + products: { + title: '产品服务', + items: [ + { label: '解决方案', href: '/products' }, + { label: '技术咨询', href: '/products' }, + { label: '系统集成', href: '/products' }, + ], + }, + support: { + title: '支持', + items: [ + { label: '技术支持', href: '/support' }, + { label: '文档中心', href: '/support' }, + { label: '联系我们', href: '/support' }, + ], + }, + social: { + title: '关注我们', + }, + }, + copyright: '保留所有权利。', + }, + }, + 'zh-TW': { + nav: { + home: '首頁', + products: '產品與服務', + news: '新聞資訊', + support: '客戶支持', + about: '關於我們', + }, + banner: { + slides: [ + { title: '創新科技解決方案', subtitle: '引領未來,創造無限可能', cta: '了解更多', }, + { title: '專業服務團隊', subtitle: '為您提供全方位技術支持', cta: '聯繫我們', }, + { title: '智能化產品體驗', subtitle: '簡化流程,提升效率', cta: '立即體驗', }, + ], + }, + features: { + title: '為什麼選擇我們', + subtitle: '我們致力於為客戶提供最優質的產品和服務,以創新技術驅動業務發展', + items: [ + { icon: '🚀', title: '高性能解決方案', description: '採用最新技術架構,確保系統穩定高效運行', }, + { icon: '🔒', title: '安全可靠', description: '多層安全防護,保障您的數據安全無憂', }, + { icon: '⚡', title: '快速響應', description: '7x24小時技術支持,快速解決您的問題', }, + { icon: '🎯', title: '精準定制', description: '根據您的需求量身定制專屬解決方案', }, + ], + }, + products: { + hero: { + title: '產品與服務', + subtitle: '全面的技術解決方案,推動您的業務向前發展', + }, + categories: { + all: '全部產品', + software: '軟體解決方案', + hardware: '硬體產品', + consulting: '諮詢服務', + integration: '系統整合', + }, + items: [ + { name: '企業管理系統', description: '全面的企業資源規劃解決方案,具備先進的分析和報告功能。', category: 'software', price: '起價 NT$29,999/月', features: ['即時分析', '雲端部署', '多平台支援', '24/7支援'], }, + { name: 'AI智能分析平台', description: '先進的機器學習平台,用於商業智能和預測分析。', category: 'software', price: '起價 NT$44,999/月', features: ['機器學習', '預測分析', '自訂儀表板', 'API整合'], }, + { name: '高性能伺服器', description: '企業級伺服器解決方案,具有卓越的性能和可靠性。', category: 'hardware', price: '起價 NT$149,999', features: ['高性能', '可擴展', '節能環保', '5年保固'], }, + { name: '數位化轉型諮詢', description: '專業諮詢服務,指導您的數位化轉型之旅。', category: 'consulting', price: '客製報價', features: ['策略規劃', '實施支援', '培訓服務', '持續支援'], }, + { name: '雲端基礎設施建置', description: '完整的雲端基礎設施設計和實施服務。', category: 'integration', price: '起價 NT$89,999', features: ['雲端遷移', '安全配置', '性能優化', '監控服務'], }, + { name: '物聯網設備管理', description: '全面的物聯網設備管理和監控解決方案。', category: 'software', price: '起價 NT$23,999/月', features: ['設備監控', '遠端控制', '數據分析', '安全管理'], }, + ], + learnMore: '了解更多', + cta: { + title: '需要客製解決方案?', + subtitle: '我們的專家隨時準備幫助您找到適合您業務需求的完美解決方案。', + primaryButton: '獲取報價', + secondaryButton: '預約展示', + }, + }, + cta: { + title: '準備開始您的數字化轉型之旅?', + subtitle: '聯繫我們的專業團隊,獲取定制化解決方案', + primaryButton: '免費諮詢', + secondaryButton: '查看案例', + }, + footer: { + description: '專業的技術解決方案提供商,致力於為客戶創造價值。', + sections: { + products: { + title: '產品服務', + items: [ + { label: '解決方案', href: '/products' }, + { label: '技術諮詢', href: '/products' }, + { label: '系統集成', href: '/products' }, + ], + }, + support: { + title: '支持', + items: [ + { label: '技術支持', href: '/support' }, + { label: '文檔中心', href: '/support' }, + { label: '聯繫我們', href: '/support' }, + ], + }, + social: { + title: '關注我們', + }, + }, + copyright: '保留所有權利。', + }, + }, +}; + +export const getTranslation = (language: Language): Translation => { + return translations[language] || translations.en; +}; \ No newline at end of file diff --git a/lib/i18n/useTranslation.ts b/lib/i18n/useTranslation.ts new file mode 100644 index 0000000..b6cea56 --- /dev/null +++ b/lib/i18n/useTranslation.ts @@ -0,0 +1,138 @@ +'use client'; + +import { useState, useEffect, useRef, useCallback } from 'react'; +import { useRouter, usePathname, useSearchParams } from 'next/navigation'; +import { Language, defaultLanguage } from './config'; +import { getTranslation } from './translations'; +import { + getLanguageFromPath, + removeLanguageFromPath, + addLanguageToPath, + getStoredLanguage, + setStoredLanguage, + getBrowserLanguage, +} from './utils'; + +export const useTranslation = (initialLanguage?: Language) => { + const router = useRouter(); + const pathname = usePathname(); + const searchParams = useSearchParams(); + const isChangingLanguage = useRef(false); + + const [language, setLanguage] = useState(() => { + if (initialLanguage) return initialLanguage; + return defaultLanguage; + }); + + const [isInitialized, setIsInitialized] = useState(false); + + const t = getTranslation(language); + + const changeLanguage = useCallback( + (newLanguage: Language) => { + if (isChangingLanguage.current) return; + + isChangingLanguage.current = true; + setLanguage(newLanguage); + setStoredLanguage(newLanguage); + + // 使用 setTimeout 来避免状态更新冲突 + setTimeout(() => { + // 首页特殊处理,切换语言时加上 ?lang=xx + if (pathname === '/' || pathname === '') { + const url = newLanguage === defaultLanguage ? '/' : `/?lang=${newLanguage}`; + router.push(url); + } + // 产品页面特殊处理 + else if (pathname === '/products') { + const url = + newLanguage === defaultLanguage + ? '/products' + : `/products?lang=${newLanguage}`; + router.push(url); + } + // 新闻页面特殊处理 + else if (pathname === '/news') { + const url = + newLanguage === defaultLanguage ? '/news' : `/news?lang=${newLanguage}`; + router.push(url); + } + // 其他页面保持原有逻辑 + else { + const currentPath = removeLanguageFromPath(pathname); + const newPath = addLanguageToPath(currentPath, newLanguage); + if (newPath !== pathname) { + router.push(newPath); + } + } + + // 重置标志 + setTimeout(() => { + isChangingLanguage.current = false; + }, 100); + }, 0); + }, + [pathname, router], + ); + + const getLocalizedPath = useCallback( + (path: string) => { + return addLanguageToPath(path, language); + }, + [language], + ); + + // 初始化语言设置 + useEffect(() => { + if (isInitialized || isChangingLanguage.current) return; + + let detectedLanguage = defaultLanguage; + + if (initialLanguage) { + detectedLanguage = initialLanguage; + } else { + // 首页和产品页面支持 ?lang=xx + const search = searchParams ? `?${searchParams.toString()}` : ''; + const urlLanguage = getLanguageFromPath(pathname, search); + + if (urlLanguage !== defaultLanguage) { + detectedLanguage = urlLanguage; + } else { + // 尝试从存储中获取语言 + const storedLanguage = getStoredLanguage(); + if (storedLanguage !== defaultLanguage) { + detectedLanguage = storedLanguage; + } else { + // 最后尝试浏览器语言 + detectedLanguage = getBrowserLanguage(); + } + } + } + + if (detectedLanguage !== language) { + setLanguage(detectedLanguage); + } + + setIsInitialized(true); + }, [initialLanguage, pathname, searchParams, language, isInitialized]); + + // 监听URL变化,但避免在语言切换过程中触发 + useEffect(() => { + if (!isInitialized || isChangingLanguage.current) return; + + const search = searchParams ? `?${searchParams.toString()}` : ''; + const urlLanguage = getLanguageFromPath(pathname, search); + + if (urlLanguage !== language) { + setLanguage(urlLanguage); + } + }, [pathname, searchParams, language, isInitialized]); + + return { + language, + t, + changeLanguage, + getLocalizedPath, + isInitialized, + }; +}; diff --git a/lib/i18n/utils.ts b/lib/i18n/utils.ts new file mode 100644 index 0000000..65a30de --- /dev/null +++ b/lib/i18n/utils.ts @@ -0,0 +1,75 @@ +import { Language, defaultLanguage, isValidLanguage } from './config'; + +export const getLanguageFromPath = (pathname: string, search?: string): Language => { + // 首页、产品页面和新闻页面支持 ?lang=xx + if ( + (pathname === '/' || pathname === '' || pathname === '/products' || pathname === '/news') && + search + ) { + const params = new URLSearchParams(search); + const lang = params.get('lang'); + if (lang && isValidLanguage(lang)) { + return lang as Language; + } + } + const segments = pathname.split('/').filter(Boolean); + const firstSegment = segments[0]; + if (firstSegment && isValidLanguage(firstSegment)) { + return firstSegment; + } + return defaultLanguage; +}; + +export const removeLanguageFromPath = (pathname: string): string => { + const segments = pathname.split('/').filter(Boolean); + const firstSegment = segments[0]; + + if (firstSegment && isValidLanguage(firstSegment)) { + return '/' + segments.slice(1).join('/'); + } + + return pathname; +}; + +export const addLanguageToPath = (pathname: string, language: Language): string => { + if (language === defaultLanguage) { + return pathname; + } + + const cleanPath = removeLanguageFromPath(pathname); + return `/${language}${cleanPath === '/' ? '' : cleanPath}`; +}; + +export const getStoredLanguage = (): Language => { + if (typeof window === 'undefined') return defaultLanguage; + + const stored = localStorage.getItem('preferred-language'); + if (stored && isValidLanguage(stored)) { + return stored; + } + + return defaultLanguage; +}; + +export const setStoredLanguage = (language: Language): void => { + if (typeof window === 'undefined') return; + localStorage.setItem('preferred-language', language); +}; + +export const getBrowserLanguage = (): Language => { + if (typeof window === 'undefined') return defaultLanguage; + + const browserLang = navigator.language.toLowerCase(); + + if (browserLang.startsWith('zh-cn') || browserLang.startsWith('zh-hans')) { + return 'zh-CN'; + } + if (browserLang.startsWith('zh-tw') || browserLang.startsWith('zh-hant')) { + return 'zh-TW'; + } + if (browserLang.startsWith('en')) { + return 'en'; + } + + return defaultLanguage; +}; diff --git a/lib/news.ts b/lib/news.ts new file mode 100644 index 0000000..cfdb240 --- /dev/null +++ b/lib/news.ts @@ -0,0 +1,90 @@ +import fs from 'fs'; +import path from 'path'; +import matter from 'gray-matter'; + +const newsDirectory = path.join(process.cwd(), 'content/news'); + +export interface NewsItem { + id: string; + title: string; + title_zh_CN: string; + title_zh_TW: string; + summary: string; + summary_zh_CN: string; + summary_zh_TW: string; + category: string; + date: string; + readTime: string; + tags: string[]; + tags_zh_CN: string[]; + tags_zh_TW: string[]; + author: string; + author_zh_CN: string; + author_zh_TW: string; + image: string; + content: string; +} + +export function getAllNews(): NewsItem[] { + const fileNames = fs.readdirSync(newsDirectory); + const allNewsData = fileNames + .filter((fileName) => fileName.endsWith('.md')) + .map((fileName) => { + const id = fileName.replace(/\.md$/, ''); + const fullPath = path.join(newsDirectory, fileName); + const fileContents = fs.readFileSync(fullPath, 'utf8'); + const matterResult = matter(fileContents); + + return { + id, + content: matterResult.content, + ...matterResult.data, + } as NewsItem; + }); + + return allNewsData.sort((a, b) => { + if (a.date < b.date) { + return 1; + } else { + return -1; + } + }); +} + +export function getNewsById(id: string): NewsItem | undefined { + const allNews = getAllNews(); + return allNews.find((news) => news.id === id); +} + +// 简单的 markdown 解析器,用于提取特定语言的内容 +export function parseMarkdownContent(content: string, language: string): string { + const sections = content.split(/^## (en|zh-CN|zh-TW)$/m); + + // 如果没有语言分节,返回原内容 + if (sections.length === 1) { + return content; + } + + // 查找对应语言的内容 + for (let i = 1; i < sections.length; i += 2) { + const sectionLang = sections[i]; + const sectionContent = sections[i + 1]; + + if (sectionLang === language) { + return sectionContent.trim(); + } + } + + // 如果没找到对应语言,返回英文内容或第一个内容 + for (let i = 1; i < sections.length; i += 2) { + const sectionLang = sections[i]; + const sectionContent = sections[i + 1]; + + if (sectionLang === 'en') { + return sectionContent.trim(); + } + } + + // 如果都没有,返回第一个可用的内容 + return sections[2] ? sections[2].trim() : content; +} diff --git a/lib/utils.ts b/lib/utils.ts new file mode 100644 index 0000000..bd0c391 --- /dev/null +++ b/lib/utils.ts @@ -0,0 +1,6 @@ +import { clsx, type ClassValue } from "clsx" +import { twMerge } from "tailwind-merge" + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)) +} diff --git a/next.config.mjs b/next.config.mjs new file mode 100644 index 0000000..575c3fe --- /dev/null +++ b/next.config.mjs @@ -0,0 +1,6 @@ +import path from 'path'; +/** @type {import('next').NextConfig} */ +const nextConfig = { + output: 'standalone', +}; +export default nextConfig; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..f331854 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6684 @@ +{ + "name": "@onlook/next-template", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@onlook/next-template", + "version": "0.1.0", + "dependencies": { + "@radix-ui/react-slot": "^1.1.0", + "class-variance-authority": "^0.7.0", + "clsx": "^2.1.1", + "gray-matter": "^4.0.3", + "lucide-react": "^0.438.0", + "next": "14.2.23", + "react": "^18", + "react-dom": "^18", + "remark": "^15.0.1", + "remark-html": "^16.0.1", + "tailwind-merge": "^2.5.2", + "tailwindcss-animate": "^1.0.7" + }, + "devDependencies": { + "@types/node": "^20", + "@types/react": "^18", + "@types/react-dom": "^18", + "eslint": "^8", + "eslint-config-next": "^15.1.6", + "postcss": "^8", + "prettier": "^3.3.3", + "tailwindcss": "^3.4.1", + "typescript": "^5" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.7.0", + "resolved": "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@next/env": { + "version": "14.2.23", + "resolved": "https://registry.npmmirror.com/@next/env/-/env-14.2.23.tgz", + "integrity": "sha512-CysUC9IO+2Bh0omJ3qrb47S8DtsTKbFidGm6ow4gXIG6reZybqxbkH2nhdEm1tC8SmgzDdpq3BIML0PWsmyUYA==", + "license": "MIT" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "15.3.4", + "resolved": "https://registry.npmmirror.com/@next/eslint-plugin-next/-/eslint-plugin-next-15.3.4.tgz", + "integrity": "sha512-lBxYdj7TI8phbJcLSAqDt57nIcobEign5NYIKCiy0hXQhrUbTqLqOaSDi568U6vFg4hJfBdZYsG4iP/uKhCqgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "3.3.1" + } + }, + "node_modules/@next/eslint-plugin-next/node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/@next/eslint-plugin-next/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "14.2.23", + "resolved": "https://registry.npmmirror.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.23.tgz", + "integrity": "sha512-WhtEntt6NcbABA8ypEoFd3uzq5iAnrl9AnZt9dXdO+PZLACE32z3a3qA5OoV20JrbJfSJ6Sd6EqGZTrlRnGxQQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "14.2.23", + "resolved": "https://registry.npmmirror.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.23.tgz", + "integrity": "sha512-vwLw0HN2gVclT/ikO6EcE+LcIN+0mddJ53yG4eZd0rXkuEr/RnOaMH8wg/sYl5iz5AYYRo/l6XX7FIo6kwbw1Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "14.2.23", + "resolved": "https://registry.npmmirror.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.23.tgz", + "integrity": "sha512-uuAYwD3At2fu5CH1wD7FpP87mnjAv4+DNvLaR9kiIi8DLStWSW304kF09p1EQfhcbUI1Py2vZlBO2VaVqMRtpg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "14.2.23", + "resolved": "https://registry.npmmirror.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.23.tgz", + "integrity": "sha512-Mm5KHd7nGgeJ4EETvVgFuqKOyDh+UMXHXxye6wRRFDr4FdVRI6YTxajoV2aHE8jqC14xeAMVZvLqYqS7isHL+g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "14.2.23", + "resolved": "https://registry.npmmirror.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.23.tgz", + "integrity": "sha512-Ybfqlyzm4sMSEQO6lDksggAIxnvWSG2cDWnG2jgd+MLbHYn2pvFA8DQ4pT2Vjk3Cwrv+HIg7vXJ8lCiLz79qoQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "14.2.23", + "resolved": "https://registry.npmmirror.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.23.tgz", + "integrity": "sha512-OSQX94sxd1gOUz3jhhdocnKsy4/peG8zV1HVaW6DLEbEmRRtUCUQZcKxUD9atLYa3RZA+YJx+WZdOnTkDuNDNA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "14.2.23", + "resolved": "https://registry.npmmirror.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.23.tgz", + "integrity": "sha512-ezmbgZy++XpIMTcTNd0L4k7+cNI4ET5vMv/oqNfTuSXkZtSA9BURElPFyarjjGtRgZ9/zuKDHoMdZwDZIY3ehQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "14.2.23", + "resolved": "https://registry.npmmirror.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.23.tgz", + "integrity": "sha512-zfHZOGguFCqAJ7zldTKg4tJHPJyJCOFhpoJcVxKL9BSUHScVDnMdDuOU1zPPGdOzr/GWxbhYTjyiEgLEpAoFPA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "14.2.23", + "resolved": "https://registry.npmmirror.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.23.tgz", + "integrity": "sha512-xCtq5BD553SzOgSZ7UH5LH+OATQihydObTrCTvVzOro8QiWYKdBVwcB2Mn2MLMo6DGW9yH1LSPw7jS7HhgJgjw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz", + "integrity": "sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.0.tgz", + "integrity": "sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz", + "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "license": "Apache-2.0" + }, + "node_modules/@swc/helpers": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", + "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3", + "tslib": "^2.4.0" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmmirror.com/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.16.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.3.tgz", + "integrity": "sha512-/wdGiWRkMOm53gAsSyFMXFZHbVg7C6CbkrzHNpaHoYfsUWPg7m6ZRKtvQjgvQ9i8WT540a3ydRlRQbxjY30XxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.5", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.5.tgz", + "integrity": "sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", + "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.34.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.34.1.tgz", + "integrity": "sha512-STXcN6ebF6li4PxwNeFnqF8/2BNDvBupf2OPx2yWNzr6mKNGF7q49VM00Pz5FaomJyqvbXpY6PhO+T9w139YEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.34.1", + "@typescript-eslint/type-utils": "8.34.1", + "@typescript-eslint/utils": "8.34.1", + "@typescript-eslint/visitor-keys": "8.34.1", + "graphemer": "^1.4.0", + "ignore": "^7.0.0", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.34.1", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.34.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-8.34.1.tgz", + "integrity": "sha512-4O3idHxhyzjClSMJ0a29AcoK0+YwnEqzI6oz3vlRf3xw0zbzt15MzXwItOlnr5nIth6zlY2RENLsOPvhyrKAQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.34.1", + "@typescript-eslint/types": "8.34.1", + "@typescript-eslint/typescript-estree": "8.34.1", + "@typescript-eslint/visitor-keys": "8.34.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.34.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/project-service/-/project-service-8.34.1.tgz", + "integrity": "sha512-nuHlOmFZfuRwLJKDGQOVc0xnQrAmuq1Mj/ISou5044y1ajGNp2BNliIqp7F2LPQ5sForz8lempMFCovfeS1XoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.34.1", + "@typescript-eslint/types": "^8.34.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.34.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-8.34.1.tgz", + "integrity": "sha512-beu6o6QY4hJAgL1E8RaXNC071G4Kso2MGmJskCFQhRhg8VOH/FDbC8soP8NHN7e/Hdphwp8G8cE6OBzC8o41ZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.34.1", + "@typescript-eslint/visitor-keys": "8.34.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.34.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.34.1.tgz", + "integrity": "sha512-K4Sjdo4/xF9NEeA2khOb7Y5nY6NSXBnod87uniVYW9kHP+hNlDV8trUSFeynA2uxWam4gIWgWoygPrv9VMWrYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.34.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-8.34.1.tgz", + "integrity": "sha512-Tv7tCCr6e5m8hP4+xFugcrwTOucB8lshffJ6zf1mF1TbU67R+ntCc6DzLNKM+s/uzDyv8gLq7tufaAhIBYeV8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "8.34.1", + "@typescript-eslint/utils": "8.34.1", + "debug": "^4.3.4", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.34.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-8.34.1.tgz", + "integrity": "sha512-rjLVbmE7HR18kDsjNIZQHxmv9RZwlgzavryL5Lnj2ujIRTeXlKtILHgRNmQ3j4daw7zd+mQgy+uyt6Zo6I0IGA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.34.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.34.1.tgz", + "integrity": "sha512-rjCNqqYPuMUF5ODD+hWBNmOitjBWghkGKJg6hiCHzUvXRy6rK22Jd3rwbP2Xi+R7oYVvIKhokHVhH41BxPV5mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.34.1", + "@typescript-eslint/tsconfig-utils": "8.34.1", + "@typescript-eslint/types": "8.34.1", + "@typescript-eslint/visitor-keys": "8.34.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.34.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-8.34.1.tgz", + "integrity": "sha512-mqOwUdZ3KjtGk7xJJnLbHxTuWVn3GO2WZZuM+Slhkun4+qthLdXx32C8xIXbO1kfCECb3jIs3eoxK3eryk7aoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.34.1", + "@typescript-eslint/types": "8.34.1", + "@typescript-eslint/typescript-estree": "8.34.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.34.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.34.1.tgz", + "integrity": "sha512-xoh5rJ+tgsRKoXnkBPFRLZ7rjKM0AfVbC68UZ/ECXoDbfggb9RbEySN359acY1vS3qZ0jVTVWzbtfapwm5ztxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.34.1", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmmirror.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmmirror.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.10.3", + "resolved": "https://registry.npmmirror.com/axe-core/-/axe-core-4.10.3.tgz", + "integrity": "sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001655", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001655.tgz", + "integrity": "sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/class-variance-authority": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.0.tgz", + "integrity": "sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==", + "license": "Apache-2.0", + "dependencies": { + "clsx": "2.0.0" + }, + "funding": { + "url": "https://joebell.co.uk" + } + }, + "node_modules/class-variance-authority/node_modules/clsx": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", + "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debug": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz", + "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "license": "Apache-2.0" + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/enhanced-resolve": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-abstract": { + "version": "1.24.0", + "resolved": "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.24.0.tgz", + "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.6", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-next": { + "version": "15.3.4", + "resolved": "https://registry.npmmirror.com/eslint-config-next/-/eslint-config-next-15.3.4.tgz", + "integrity": "sha512-WqeumCq57QcTP2lYlV6BRUySfGiBYEXlQ1L0mQ+u4N4X4ZhUVSSQ52WtjqHv60pJ6dD7jn+YZc0d1/ZSsxccvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@next/eslint-plugin-next": "15.3.4", + "@rushstack/eslint-patch": "^1.10.3", + "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-jsx-a11y": "^6.10.0", + "eslint-plugin-react": "^7.37.0", + "eslint-plugin-react-hooks": "^5.0.0" + }, + "peerDependencies": { + "eslint": "^7.23.0 || ^8.0.0 || ^9.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.3.tgz", + "integrity": "sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.3.5", + "enhanced-resolve": "^5.15.0", + "eslint-module-utils": "^2.8.1", + "fast-glob": "^3.3.2", + "get-tsconfig": "^4.7.5", + "is-bun-module": "^1.0.2", + "is-glob": "^4.0.3" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.1", + "resolved": "https://registry.npmmirror.com/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.31.0", + "resolved": "https://registry.npmmirror.com/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.8", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmmirror.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmmirror.com/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", + "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true, + "license": "ISC" + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmmirror.com/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmmirror.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.0.tgz", + "integrity": "sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "license": "MIT", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-sanitize": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/hast-util-sanitize/-/hast-util-sanitize-5.0.2.tgz", + "integrity": "sha512-3yTWghByc50aGS7JlGhk61SPenfE/p1oaFeNwkOOyrscaOkMGrcW9+Cy/QAIOBpZxP1yqDIzFMR0+Np0i0+usg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "unist-util-position": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmmirror.com/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmmirror.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bun-module": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.1.0.tgz", + "integrity": "sha512-4mTAVPlrXpaN3jtF0lsnPCMGnq4+qZjVIKq0HCpfcqf8OC1SM5oATCIAPM5V5FN05qp2NNnFndphmdZS9CV3hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.6.3" + } + }, + "node_modules/is-bun-module/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmmirror.com/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmmirror.com/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmmirror.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmmirror.com/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmmirror.com/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/lucide-react": { + "version": "0.438.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.438.0.tgz", + "integrity": "sha512-uq6yCB+IzVfgIPMK8ibkecXSWTTSOMs9UjUgZigfrDCVqgdwkpIgYg1fSYnf0XXF2AoSyCJZhoZXQwzoai7VGw==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.0", + "resolved": "https://registry.npmmirror.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "license": "MIT" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/next": { + "version": "14.2.23", + "resolved": "https://registry.npmmirror.com/next/-/next-14.2.23.tgz", + "integrity": "sha512-mjN3fE6u/tynneLiEg56XnthzuYw+kD7mCujgVqioxyPqbmiotUCGJpIZGS/VaPg3ZDT1tvWxiVyRzeqJFm/kw==", + "license": "MIT", + "dependencies": { + "@next/env": "14.2.23", + "@swc/helpers": "0.5.5", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001579", + "graceful-fs": "^4.2.11", + "postcss": "8.4.31", + "styled-jsx": "5.1.1" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=18.17.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "14.2.23", + "@next/swc-darwin-x64": "14.2.23", + "@next/swc-linux-arm64-gnu": "14.2.23", + "@next/swc-linux-arm64-musl": "14.2.23", + "@next/swc-linux-x64-gnu": "14.2.23", + "@next/swc-linux-x64-musl": "14.2.23", + "@next/swc-win32-arm64-msvc": "14.2.23", + "@next/swc-win32-ia32-msvc": "14.2.23", + "@next/swc-win32-x64-msvc": "14.2.23" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.41.2", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmmirror.com/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "license": "BlueOak-1.0.0" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.44", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.44.tgz", + "integrity": "sha512-Aweb9unOEpQ3ezu4Q00DPvvM2ZTUitJdNKeP/+uQgr1IBIqu574IaZoURId7BKtWMREwzKa9OgzPzezWGPWFQw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.5.3", + "resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.5.3.tgz", + "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmmirror.com/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/remark": { + "version": "15.0.1", + "resolved": "https://registry.npmmirror.com/remark/-/remark-15.0.1.tgz", + "integrity": "sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-html": { + "version": "16.0.1", + "resolved": "https://registry.npmmirror.com/remark-html/-/remark-html-16.0.1.tgz", + "integrity": "sha512-B9JqA5i0qZe0Nsf49q3OXyGvyXuZFDzAP2iOFLEumymuYJITVpiH1IgsTEwTpdptDmZlMDMWeDmSawdaJIGCXQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "hast-util-sanitize": "^5.0.0", + "hast-util-to-html": "^9.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmmirror.com/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmmirror.com/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmmirror.com/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmmirror.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmmirror.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/glob/node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/sucrase/node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwind-merge": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.5.2.tgz", + "integrity": "sha512-kjEBm+pvD+6eAwzJL2Bi+02/9LFLal1Gs61+QB7HvTfQQ0aXwC5LGT8PEt1gS0CWKktKe6ysPTAy3cBC5MeiIg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.10.tgz", + "integrity": "sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w==", + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss-animate": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz", + "integrity": "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==", + "license": "MIT", + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "license": "Apache-2.0" + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmmirror.com/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmmirror.com/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", + "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..b2c9ec6 --- /dev/null +++ b/package.json @@ -0,0 +1,37 @@ +{ + "name": "@onlook/next-template", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint", + "format": "prettier --write ." + }, + "dependencies": { + "@radix-ui/react-slot": "^1.1.0", + "class-variance-authority": "^0.7.0", + "clsx": "^2.1.1", + "gray-matter": "^4.0.3", + "lucide-react": "^0.438.0", + "next": "14.2.23", + "react": "^18", + "react-dom": "^18", + "remark": "^15.0.1", + "remark-html": "^16.0.1", + "tailwind-merge": "^2.5.2", + "tailwindcss-animate": "^1.0.7" + }, + "devDependencies": { + "@types/node": "^20", + "@types/react": "^18", + "@types/react-dom": "^18", + "eslint": "^8", + "eslint-config-next": "^15.1.6", + "postcss": "^8", + "prettier": "^3.3.3", + "tailwindcss": "^3.4.1", + "typescript": "^5" + } +} diff --git a/postcss.config.mjs b/postcss.config.mjs new file mode 100644 index 0000000..1a69fd2 --- /dev/null +++ b/postcss.config.mjs @@ -0,0 +1,8 @@ +/** @type {import('postcss-load-config').Config} */ +const config = { + plugins: { + tailwindcss: {}, + }, +}; + +export default config; diff --git a/public/images/logo-text.png b/public/images/logo-text.png new file mode 100644 index 0000000000000000000000000000000000000000..551dcaf4405784c4cce113bcdeb902f1e6999652 GIT binary patch literal 1174 zcmV;H1Zn$;P)at5VQ9hz=bbGKoXf z(h7EQXe$&&FjNJrQ<{DWZG0ptQgIVkDfk~)!C7#yh*WTKa1cZX5#5|RDY$5O-j`I` zBHqX4{WzR+xm>^-P#G)s0x0R0kxay-wbZ)gdxM9bQ>tdNsG=+i{{6e_^U?L*Pl#Df zyLJ%SPh6MIE|+$m0#kqeUDcn-ni~Dz)Ip6I7T}SIm2Ha&-X$I}Xer{V;JnMng3~Ua zJD!zfocNYl(h6#ZxJfLhJM?@9mx^VrwS(B+pVe2F#T@EU%wZEI7>ZC)fdmENfBe&q zKaMSOS71;sj{+>pL`e}7vc&VypY?`La=`luFqi^{?6}A1zWKzL5jYAmt z6tP2;Js_UcqC*n#%^YoKEc08;6+D;0CkW;55gUhfk-eoXK#RT*ak^S>kIkisYkBsO zIwDX$bd?+fPpNu>VOxv}kUVYCu2drK4Z1?c$vJt*vlhAzt*$A5-yvFObHqEMvgjhg z1o6l%jTZ*KC&UsFAqq6O82cDiP1SFCxJSGpJ~~7w2GZxb=JPG$)a5_PY!E3=y`Vp- zWJpC;V{jy!oS2IkC6AAYq(fiOokt57wsQ|T>2m=+>vhm)i&N*$V?Pc;HZw65T}pZ! z+Zh6WPM&b06!U9~uF%O#MA1Z^va#@Yruh;oPMPqpG~g(FSef+RL32b9y?{TxaU0th z_}G~vUU`a~-oWjtJ>K4Zk89-Li(#a-q2n}T-8$Mka*zIOO-k=HB}1w1`iRDB#4l*> zL828`@@H(0MYEo<51Hab_vXTYHde8%*eQ8c%LM-P!0jIwW=vovokARZk2DXexP9;~ z5_Nf}eQ5e(@Taagm9*0h$l$Wr*Ct1YUc`?=E*0|^cb-Ky5oda-n*Xp{JXnspP6s)8 zM@wHq$I0neLGUR(fm6(IP6nWXm|cZthi6>e-b{A9w)X-$)heM?$pP*vtOoXsVf!A z{*xZ{Ii{{(qI$I#Y8YigM>as7cC76uJye{WcAnth3Vo*?IOXhC*vwV4t*N@A9$i$u z&)TcZo5(KOq?afyAb}eYS8k5o44R$Qb^le+JRr8Ta}B!a`{;3E+bb>rvP)~KCh(t- o`nOZ-HgN3hkk?&p3jSB4zh`^7Wt9yLdjJ3c07*qoM6N<$g0uV`7XSbN literal 0 HcmV?d00001 diff --git a/tailwind.config.ts b/tailwind.config.ts new file mode 100644 index 0000000..141f840 --- /dev/null +++ b/tailwind.config.ts @@ -0,0 +1,67 @@ +import type { Config } from "tailwindcss"; + +const config: Config = { + darkMode: ["class"], + content: [ + "./pages/**/*.{js,ts,jsx,tsx,mdx}", + "./components/**/*.{js,ts,jsx,tsx,mdx}", + "./app/**/*.{js,ts,jsx,tsx,mdx}", + ], + theme: { + extend: { + backgroundImage: { + 'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))', + 'gradient-conic': 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))' + }, + borderRadius: { + lg: 'var(--radius)', + md: 'calc(var(--radius) - 2px)', + sm: 'calc(var(--radius) - 4px)' + }, + colors: { + background: 'hsl(var(--background))', + foreground: 'hsl(var(--foreground))', + card: { + DEFAULT: 'hsl(var(--card))', + foreground: 'hsl(var(--card-foreground))' + }, + popover: { + DEFAULT: 'hsl(var(--popover))', + foreground: 'hsl(var(--popover-foreground))' + }, + primary: { + DEFAULT: 'hsl(var(--primary))', + foreground: 'hsl(var(--primary-foreground))' + }, + secondary: { + DEFAULT: 'hsl(var(--secondary))', + foreground: 'hsl(var(--secondary-foreground))' + }, + muted: { + DEFAULT: 'hsl(var(--muted))', + foreground: 'hsl(var(--muted-foreground))' + }, + accent: { + DEFAULT: 'hsl(var(--accent))', + foreground: 'hsl(var(--accent-foreground))' + }, + destructive: { + DEFAULT: 'hsl(var(--destructive))', + foreground: 'hsl(var(--destructive-foreground))' + }, + border: 'hsl(var(--border))', + input: 'hsl(var(--input))', + ring: 'hsl(var(--ring))', + chart: { + '1': 'hsl(var(--chart-1))', + '2': 'hsl(var(--chart-2))', + '3': 'hsl(var(--chart-3))', + '4': 'hsl(var(--chart-4))', + '5': 'hsl(var(--chart-5))' + } + } + } + }, + plugins: [require("tailwindcss-animate")], +}; +export default config; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..e7ff90f --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": ["./*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..eb2435a --- /dev/null +++ b/yarn.lock @@ -0,0 +1,3478 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@alloc/quick-lru@^5.2.0": + version "5.2.0" + resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" + integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== + +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.7.0": + version "4.7.0" + resolved "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz" + integrity sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw== + dependencies: + eslint-visitor-keys "^3.4.3" + +"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1": + version "4.11.0" + resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz" + integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== + +"@eslint/eslintrc@^2.1.4": + version "2.1.4" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.57.0": + version "8.57.0" + resolved "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz" + integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== + +"@humanwhocodes/config-array@^0.11.14": + version "0.11.14" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz" + integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== + dependencies: + "@humanwhocodes/object-schema" "^2.0.2" + debug "^4.3.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^2.0.2": + version "2.0.3" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz" + integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== + +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.5" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.5.0" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + +"@jridgewell/trace-mapping@^0.3.24": + version "0.3.25" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@next/env@14.2.23": + version "14.2.23" + resolved "https://registry.npmmirror.com/@next/env/-/env-14.2.23.tgz" + integrity sha512-CysUC9IO+2Bh0omJ3qrb47S8DtsTKbFidGm6ow4gXIG6reZybqxbkH2nhdEm1tC8SmgzDdpq3BIML0PWsmyUYA== + +"@next/eslint-plugin-next@15.3.4": + version "15.3.4" + resolved "https://registry.npmmirror.com/@next/eslint-plugin-next/-/eslint-plugin-next-15.3.4.tgz" + integrity sha512-lBxYdj7TI8phbJcLSAqDt57nIcobEign5NYIKCiy0hXQhrUbTqLqOaSDi568U6vFg4hJfBdZYsG4iP/uKhCqgg== + dependencies: + fast-glob "3.3.1" + +"@next/swc-win32-x64-msvc@14.2.23": + version "14.2.23" + resolved "https://registry.npmmirror.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.23.tgz" + integrity sha512-xCtq5BD553SzOgSZ7UH5LH+OATQihydObTrCTvVzOro8QiWYKdBVwcB2Mn2MLMo6DGW9yH1LSPw7jS7HhgJgjw== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@nolyfill/is-core-module@1.0.39": + version "1.0.39" + resolved "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz" + integrity sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA== + +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + +"@radix-ui/react-compose-refs@1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz" + integrity sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw== + +"@radix-ui/react-slot@^1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.0.tgz" + integrity sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw== + dependencies: + "@radix-ui/react-compose-refs" "1.1.0" + +"@rtsao/scc@^1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz" + integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== + +"@rushstack/eslint-patch@^1.10.3": + version "1.10.4" + resolved "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz" + integrity sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA== + +"@swc/counter@^0.1.3": + version "0.1.3" + resolved "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz" + integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== + +"@swc/helpers@0.5.5": + version "0.5.5" + resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz" + integrity sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A== + dependencies: + "@swc/counter" "^0.1.3" + tslib "^2.4.0" + +"@types/debug@^4.0.0": + version "4.1.12" + resolved "https://registry.npmmirror.com/@types/debug/-/debug-4.1.12.tgz" + integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== + dependencies: + "@types/ms" "*" + +"@types/hast@^3.0.0": + version "3.0.4" + resolved "https://registry.npmmirror.com/@types/hast/-/hast-3.0.4.tgz" + integrity sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== + dependencies: + "@types/unist" "*" + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/mdast@^4.0.0": + version "4.0.4" + resolved "https://registry.npmmirror.com/@types/mdast/-/mdast-4.0.4.tgz" + integrity sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA== + dependencies: + "@types/unist" "*" + +"@types/ms@*": + version "2.1.0" + resolved "https://registry.npmmirror.com/@types/ms/-/ms-2.1.0.tgz" + integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA== + +"@types/node@^20": + version "20.16.3" + resolved "https://registry.npmjs.org/@types/node/-/node-20.16.3.tgz" + integrity sha512-/wdGiWRkMOm53gAsSyFMXFZHbVg7C6CbkrzHNpaHoYfsUWPg7m6ZRKtvQjgvQ9i8WT540a3ydRlRQbxjY30XxQ== + dependencies: + undici-types "~6.19.2" + +"@types/prop-types@*": + version "15.7.12" + resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz" + integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== + +"@types/react-dom@^18": + version "18.3.0" + resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz" + integrity sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg== + dependencies: + "@types/react" "*" + +"@types/react@*", "@types/react@^18": + version "18.3.5" + resolved "https://registry.npmjs.org/@types/react/-/react-18.3.5.tgz" + integrity sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA== + dependencies: + "@types/prop-types" "*" + csstype "^3.0.2" + +"@types/unist@*", "@types/unist@^3.0.0": + version "3.0.3" + resolved "https://registry.npmmirror.com/@types/unist/-/unist-3.0.3.tgz" + integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q== + +"@typescript-eslint/eslint-plugin@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0": + version "8.34.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.34.1.tgz" + integrity sha512-STXcN6ebF6li4PxwNeFnqF8/2BNDvBupf2OPx2yWNzr6mKNGF7q49VM00Pz5FaomJyqvbXpY6PhO+T9w139YEQ== + dependencies: + "@eslint-community/regexpp" "^4.10.0" + "@typescript-eslint/scope-manager" "8.34.1" + "@typescript-eslint/type-utils" "8.34.1" + "@typescript-eslint/utils" "8.34.1" + "@typescript-eslint/visitor-keys" "8.34.1" + graphemer "^1.4.0" + ignore "^7.0.0" + natural-compare "^1.4.0" + ts-api-utils "^2.1.0" + +"@typescript-eslint/parser@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", "@typescript-eslint/parser@^8.34.1": + version "8.34.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-8.34.1.tgz" + integrity sha512-4O3idHxhyzjClSMJ0a29AcoK0+YwnEqzI6oz3vlRf3xw0zbzt15MzXwItOlnr5nIth6zlY2RENLsOPvhyrKAQA== + dependencies: + "@typescript-eslint/scope-manager" "8.34.1" + "@typescript-eslint/types" "8.34.1" + "@typescript-eslint/typescript-estree" "8.34.1" + "@typescript-eslint/visitor-keys" "8.34.1" + debug "^4.3.4" + +"@typescript-eslint/project-service@8.34.1": + version "8.34.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/project-service/-/project-service-8.34.1.tgz" + integrity sha512-nuHlOmFZfuRwLJKDGQOVc0xnQrAmuq1Mj/ISou5044y1ajGNp2BNliIqp7F2LPQ5sForz8lempMFCovfeS1XoA== + dependencies: + "@typescript-eslint/tsconfig-utils" "^8.34.1" + "@typescript-eslint/types" "^8.34.1" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@8.34.1": + version "8.34.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-8.34.1.tgz" + integrity sha512-beu6o6QY4hJAgL1E8RaXNC071G4Kso2MGmJskCFQhRhg8VOH/FDbC8soP8NHN7e/Hdphwp8G8cE6OBzC8o41ZA== + dependencies: + "@typescript-eslint/types" "8.34.1" + "@typescript-eslint/visitor-keys" "8.34.1" + +"@typescript-eslint/tsconfig-utils@^8.34.1", "@typescript-eslint/tsconfig-utils@8.34.1": + version "8.34.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.34.1.tgz" + integrity sha512-K4Sjdo4/xF9NEeA2khOb7Y5nY6NSXBnod87uniVYW9kHP+hNlDV8trUSFeynA2uxWam4gIWgWoygPrv9VMWrYg== + +"@typescript-eslint/type-utils@8.34.1": + version "8.34.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-8.34.1.tgz" + integrity sha512-Tv7tCCr6e5m8hP4+xFugcrwTOucB8lshffJ6zf1mF1TbU67R+ntCc6DzLNKM+s/uzDyv8gLq7tufaAhIBYeV8g== + dependencies: + "@typescript-eslint/typescript-estree" "8.34.1" + "@typescript-eslint/utils" "8.34.1" + debug "^4.3.4" + ts-api-utils "^2.1.0" + +"@typescript-eslint/types@^8.34.1", "@typescript-eslint/types@8.34.1": + version "8.34.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/types/-/types-8.34.1.tgz" + integrity sha512-rjLVbmE7HR18kDsjNIZQHxmv9RZwlgzavryL5Lnj2ujIRTeXlKtILHgRNmQ3j4daw7zd+mQgy+uyt6Zo6I0IGA== + +"@typescript-eslint/typescript-estree@8.34.1": + version "8.34.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.34.1.tgz" + integrity sha512-rjCNqqYPuMUF5ODD+hWBNmOitjBWghkGKJg6hiCHzUvXRy6rK22Jd3rwbP2Xi+R7oYVvIKhokHVhH41BxPV5mA== + dependencies: + "@typescript-eslint/project-service" "8.34.1" + "@typescript-eslint/tsconfig-utils" "8.34.1" + "@typescript-eslint/types" "8.34.1" + "@typescript-eslint/visitor-keys" "8.34.1" + debug "^4.3.4" + fast-glob "^3.3.2" + is-glob "^4.0.3" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^2.1.0" + +"@typescript-eslint/utils@8.34.1": + version "8.34.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-8.34.1.tgz" + integrity sha512-mqOwUdZ3KjtGk7xJJnLbHxTuWVn3GO2WZZuM+Slhkun4+qthLdXx32C8xIXbO1kfCECb3jIs3eoxK3eryk7aoQ== + dependencies: + "@eslint-community/eslint-utils" "^4.7.0" + "@typescript-eslint/scope-manager" "8.34.1" + "@typescript-eslint/types" "8.34.1" + "@typescript-eslint/typescript-estree" "8.34.1" + +"@typescript-eslint/visitor-keys@8.34.1": + version "8.34.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.34.1.tgz" + integrity sha512-xoh5rJ+tgsRKoXnkBPFRLZ7rjKM0AfVbC68UZ/ECXoDbfggb9RbEySN359acY1vS3qZ0jVTVWzbtfapwm5ztxw== + dependencies: + "@typescript-eslint/types" "8.34.1" + eslint-visitor-keys "^4.2.1" + +"@ungap/structured-clone@^1.0.0", "@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.9.0: + version "8.12.1" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz" + integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== + +ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" + integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +aria-query@^5.3.2: + version "5.3.2" + resolved "https://registry.npmmirror.com/aria-query/-/aria-query-5.3.2.tgz" + integrity sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw== + +array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz" + integrity sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw== + dependencies: + call-bound "^1.0.3" + is-array-buffer "^3.0.5" + +array-includes@^3.1.6, array-includes@^3.1.8: + version "3.1.8" + resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz" + integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + is-string "^1.0.7" + +array.prototype.findlast@^1.2.5: + version "1.2.5" + resolved "https://registry.npmmirror.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz" + integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" + +array.prototype.findlastindex@^1.2.5: + version "1.2.5" + resolved "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz" + integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" + +array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: + version "1.3.2" + resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.2, array.prototype.flatmap@^1.3.3: + version "1.3.3" + resolved "https://registry.npmmirror.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz" + integrity sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-shim-unscopables "^1.0.2" + +array.prototype.tosorted@^1.1.4: + version "1.1.4" + resolved "https://registry.npmmirror.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz" + integrity sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.3" + es-errors "^1.3.0" + es-shim-unscopables "^1.0.2" + +arraybuffer.prototype.slice@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz" + integrity sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ== + dependencies: + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + is-array-buffer "^3.0.4" + +ast-types-flow@^0.0.8: + version "0.0.8" + resolved "https://registry.npmmirror.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz" + integrity sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ== + +async-function@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/async-function/-/async-function-1.0.0.tgz" + integrity sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA== + +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + +axe-core@^4.10.0: + version "4.10.3" + resolved "https://registry.npmmirror.com/axe-core/-/axe-core-4.10.3.tgz" + integrity sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg== + +axobject-query@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/axobject-query/-/axobject-query-4.1.0.tgz" + integrity sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ== + +bail@^2.0.0: + version "2.0.2" + resolved "https://registry.npmmirror.com/bail/-/bail-2.0.2.tgz" + integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +binary-extensions@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.2" + resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.2.tgz" + integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== + dependencies: + fill-range "^7.1.1" + +busboy@1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz" + integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== + dependencies: + streamsearch "^1.1.0" + +call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + +call-bind@^1.0.2, call-bind@^1.0.7, call-bind@^1.0.8: + version "1.0.8" + resolved "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.8.tgz" + integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== + dependencies: + call-bind-apply-helpers "^1.0.0" + es-define-property "^1.0.0" + get-intrinsic "^1.2.4" + set-function-length "^1.2.2" + +call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/call-bound/-/call-bound-1.0.4.tgz" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + dependencies: + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase-css@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + +caniuse-lite@^1.0.30001579: + version "1.0.30001655" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001655.tgz" + integrity sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg== + +ccount@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/ccount/-/ccount-2.0.1.tgz" + integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +character-entities-html4@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz" + integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== + +character-entities-legacy@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz" + integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== + +character-entities@^2.0.0: + version "2.0.2" + resolved "https://registry.npmmirror.com/character-entities/-/character-entities-2.0.2.tgz" + integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== + +chokidar@^3.5.3: + version "3.6.0" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +class-variance-authority@^0.7.0: + version "0.7.0" + resolved "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.0.tgz" + integrity sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A== + dependencies: + clsx "2.0.0" + +client-only@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz" + integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== + +clsx@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz" + integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== + +clsx@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz" + integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q== + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +comma-separated-tokens@^2.0.0: + version "2.0.3" + resolved "https://registry.npmmirror.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz" + integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== + +commander@^4.0.0: + version "4.1.1" + resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +cross-spawn@^7.0.0, cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +csstype@^3.0.2: + version "3.1.3" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +damerau-levenshtein@^1.0.8: + version "1.0.8" + resolved "https://registry.npmmirror.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz" + integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== + +data-view-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz" + integrity sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-data-view "^1.0.2" + +data-view-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz" + integrity sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-data-view "^1.0.2" + +data-view-byte-offset@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz" + integrity sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.0.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5: + version "4.3.6" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz" + integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== + dependencies: + ms "2.1.2" + +decode-named-character-reference@^1.0.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz" + integrity sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q== + dependencies: + character-entities "^2.0.0" + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +dequal@^2.0.0: + version "2.0.3" + resolved "https://registry.npmmirror.com/dequal/-/dequal-2.0.3.tgz" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + +devlop@^1.0.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/devlop/-/devlop-1.1.0.tgz" + integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== + dependencies: + dequal "^2.0.0" + +didyoumean@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" + integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== + +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/doctrine/-/doctrine-2.1.0.tgz" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dunder-proto@^1.0.0, dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +enhanced-resolve@^5.15.0: + version "5.17.1" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz" + integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +es-abstract@^1.17.5, es-abstract@^1.22.1, es-abstract@^1.23.2, es-abstract@^1.23.3, es-abstract@^1.23.5, es-abstract@^1.23.6, es-abstract@^1.23.9: + version "1.24.0" + resolved "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.24.0.tgz" + integrity sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg== + dependencies: + array-buffer-byte-length "^1.0.2" + arraybuffer.prototype.slice "^1.0.4" + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.4" + data-view-buffer "^1.0.2" + data-view-byte-length "^1.0.2" + data-view-byte-offset "^1.0.1" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + es-set-tostringtag "^2.1.0" + es-to-primitive "^1.3.0" + function.prototype.name "^1.1.8" + get-intrinsic "^1.3.0" + get-proto "^1.0.1" + get-symbol-description "^1.1.0" + globalthis "^1.0.4" + gopd "^1.2.0" + has-property-descriptors "^1.0.2" + has-proto "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + internal-slot "^1.1.0" + is-array-buffer "^3.0.5" + is-callable "^1.2.7" + is-data-view "^1.0.2" + is-negative-zero "^2.0.3" + is-regex "^1.2.1" + is-set "^2.0.3" + is-shared-array-buffer "^1.0.4" + is-string "^1.1.1" + is-typed-array "^1.1.15" + is-weakref "^1.1.1" + math-intrinsics "^1.1.0" + object-inspect "^1.13.4" + object-keys "^1.1.1" + object.assign "^4.1.7" + own-keys "^1.0.1" + regexp.prototype.flags "^1.5.4" + safe-array-concat "^1.1.3" + safe-push-apply "^1.0.0" + safe-regex-test "^1.1.0" + set-proto "^1.0.0" + stop-iteration-iterator "^1.1.0" + string.prototype.trim "^1.2.10" + string.prototype.trimend "^1.0.9" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.3" + typed-array-byte-length "^1.0.3" + typed-array-byte-offset "^1.0.4" + typed-array-length "^1.0.7" + unbox-primitive "^1.1.0" + which-typed-array "^1.1.19" + +es-define-property@^1.0.0, es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-iterator-helpers@^1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz" + integrity sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-abstract "^1.23.6" + es-errors "^1.3.0" + es-set-tostringtag "^2.0.3" + function-bind "^1.1.2" + get-intrinsic "^1.2.6" + globalthis "^1.0.4" + gopd "^1.2.0" + has-property-descriptors "^1.0.2" + has-proto "^1.2.0" + has-symbols "^1.1.0" + internal-slot "^1.1.0" + iterator.prototype "^1.1.4" + safe-array-concat "^1.1.3" + +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.0.3, es-set-tostringtag@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz" + integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== + dependencies: + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + has-tostringtag "^1.0.2" + hasown "^2.0.2" + +es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz" + integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== + dependencies: + hasown "^2.0.0" + +es-to-primitive@^1.3.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz" + integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g== + dependencies: + is-callable "^1.2.7" + is-date-object "^1.0.5" + is-symbol "^1.0.4" + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-next@^15.1.6: + version "15.3.4" + resolved "https://registry.npmmirror.com/eslint-config-next/-/eslint-config-next-15.3.4.tgz" + integrity sha512-WqeumCq57QcTP2lYlV6BRUySfGiBYEXlQ1L0mQ+u4N4X4ZhUVSSQ52WtjqHv60pJ6dD7jn+YZc0d1/ZSsxccvg== + dependencies: + "@next/eslint-plugin-next" "15.3.4" + "@rushstack/eslint-patch" "^1.10.3" + "@typescript-eslint/eslint-plugin" "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0" + "@typescript-eslint/parser" "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0" + eslint-import-resolver-node "^0.3.6" + eslint-import-resolver-typescript "^3.5.2" + eslint-plugin-import "^2.31.0" + eslint-plugin-jsx-a11y "^6.10.0" + eslint-plugin-react "^7.37.0" + eslint-plugin-react-hooks "^5.0.0" + +eslint-import-resolver-node@^0.3.6, eslint-import-resolver-node@^0.3.9: + version "0.3.9" + resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== + dependencies: + debug "^3.2.7" + is-core-module "^2.13.0" + resolve "^1.22.4" + +eslint-import-resolver-typescript@^3.5.2: + version "3.6.3" + resolved "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.3.tgz" + integrity sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA== + dependencies: + "@nolyfill/is-core-module" "1.0.39" + debug "^4.3.5" + enhanced-resolve "^5.15.0" + eslint-module-utils "^2.8.1" + fast-glob "^3.3.2" + get-tsconfig "^4.7.5" + is-bun-module "^1.0.2" + is-glob "^4.0.3" + +eslint-module-utils@^2.12.0, eslint-module-utils@^2.8.1: + version "2.12.1" + resolved "https://registry.npmmirror.com/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz" + integrity sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw== + dependencies: + debug "^3.2.7" + +eslint-plugin-import@*, eslint-plugin-import@^2.31.0: + version "2.31.0" + resolved "https://registry.npmmirror.com/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz" + integrity sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A== + dependencies: + "@rtsao/scc" "^1.1.0" + array-includes "^3.1.8" + array.prototype.findlastindex "^1.2.5" + array.prototype.flat "^1.3.2" + array.prototype.flatmap "^1.3.2" + debug "^3.2.7" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.9" + eslint-module-utils "^2.12.0" + hasown "^2.0.2" + is-core-module "^2.15.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.fromentries "^2.0.8" + object.groupby "^1.0.3" + object.values "^1.2.0" + semver "^6.3.1" + string.prototype.trimend "^1.0.8" + tsconfig-paths "^3.15.0" + +eslint-plugin-jsx-a11y@^6.10.0: + version "6.10.2" + resolved "https://registry.npmmirror.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz" + integrity sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q== + dependencies: + aria-query "^5.3.2" + array-includes "^3.1.8" + array.prototype.flatmap "^1.3.2" + ast-types-flow "^0.0.8" + axe-core "^4.10.0" + axobject-query "^4.1.0" + damerau-levenshtein "^1.0.8" + emoji-regex "^9.2.2" + hasown "^2.0.2" + jsx-ast-utils "^3.3.5" + language-tags "^1.0.9" + minimatch "^3.1.2" + object.fromentries "^2.0.8" + safe-regex-test "^1.0.3" + string.prototype.includes "^2.0.1" + +eslint-plugin-react-hooks@^5.0.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz" + integrity sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg== + +eslint-plugin-react@^7.37.0: + version "7.37.5" + resolved "https://registry.npmmirror.com/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz" + integrity sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA== + dependencies: + array-includes "^3.1.8" + array.prototype.findlast "^1.2.5" + array.prototype.flatmap "^1.3.3" + array.prototype.tosorted "^1.1.4" + doctrine "^2.1.0" + es-iterator-helpers "^1.2.1" + estraverse "^5.3.0" + hasown "^2.0.2" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.9" + object.fromentries "^2.0.8" + object.values "^1.2.1" + prop-types "^15.8.1" + resolve "^2.0.0-next.5" + semver "^6.3.1" + string.prototype.matchall "^4.0.12" + string.prototype.repeat "^1.0.0" + +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint-visitor-keys@^4.2.1: + version "4.2.1" + resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz" + integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ== + +eslint@*, "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.23.0 || ^8.0.0 || ^9.0.0", eslint@^8, "eslint@^8.57.0 || ^9.0.0": + version "8.57.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz" + integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.57.0" + "@humanwhocodes/config-array" "^0.11.14" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.2: + version "1.6.0" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz" + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== + dependencies: + is-extendable "^0.1.0" + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.3.0, fast-glob@^3.3.2: + version "3.3.2" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-glob@3.3.1: + version "3.3.1" + resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.1.tgz" + integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastq@^1.6.0: + version "1.17.1" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + dependencies: + reusify "^1.0.4" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== + dependencies: + to-regex-range "^5.0.1" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.2.0" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.3" + rimraf "^3.0.2" + +flatted@^3.2.9: + version "3.3.1" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz" + integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== + +for-each@^0.3.3, for-each@^0.3.5: + version "0.3.5" + resolved "https://registry.npmmirror.com/for-each/-/for-each-0.3.5.tgz" + integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg== + dependencies: + is-callable "^1.2.7" + +foreground-child@^3.1.0: + version "3.3.0" + resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz" + integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.6, function.prototype.name@^1.1.8: + version "1.1.8" + resolved "https://registry.npmmirror.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz" + integrity sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + functions-have-names "^1.2.3" + hasown "^2.0.2" + is-callable "^1.2.7" + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== + dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + function-bind "^1.1.2" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" + +get-proto@^1.0.0, get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + +get-symbol-description@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz" + integrity sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + +get-tsconfig@^4.7.5: + version "4.8.0" + resolved "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.0.tgz" + integrity sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw== + dependencies: + resolve-pkg-maps "^1.0.0" + +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^10.3.10: + version "10.4.5" + resolved "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz" + integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== + dependencies: + foreground-child "^3.1.0" + jackspeak "^3.1.2" + minimatch "^9.0.4" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^1.11.1" + +glob@^7.1.3: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^13.19.0: + version "13.24.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== + dependencies: + define-properties "^1.2.1" + gopd "^1.0.1" + +gopd@^1.0.1, gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== + +graceful-fs@^4.2.11, graceful-fs@^4.2.4: + version "4.2.11" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +gray-matter@^4.0.3: + version "4.0.3" + resolved "https://registry.npmmirror.com/gray-matter/-/gray-matter-4.0.3.tgz" + integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== + dependencies: + js-yaml "^3.13.1" + kind-of "^6.0.2" + section-matter "^1.0.0" + strip-bom-string "^1.0.0" + +has-bigints@^1.0.2: + version "1.1.0" + resolved "https://registry.npmmirror.com/has-bigints/-/has-bigints-1.1.0.tgz" + integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-proto@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/has-proto/-/has-proto-1.2.0.tgz" + integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ== + dependencies: + dunder-proto "^1.0.0" + +has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== + +has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +hasown@^2.0.0, hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +hast-util-sanitize@^5.0.0: + version "5.0.2" + resolved "https://registry.npmmirror.com/hast-util-sanitize/-/hast-util-sanitize-5.0.2.tgz" + integrity sha512-3yTWghByc50aGS7JlGhk61SPenfE/p1oaFeNwkOOyrscaOkMGrcW9+Cy/QAIOBpZxP1yqDIzFMR0+Np0i0+usg== + dependencies: + "@types/hast" "^3.0.0" + "@ungap/structured-clone" "^1.0.0" + unist-util-position "^5.0.0" + +hast-util-to-html@^9.0.0: + version "9.0.5" + resolved "https://registry.npmmirror.com/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz" + integrity sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw== + dependencies: + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + ccount "^2.0.0" + comma-separated-tokens "^2.0.0" + hast-util-whitespace "^3.0.0" + html-void-elements "^3.0.0" + mdast-util-to-hast "^13.0.0" + property-information "^7.0.0" + space-separated-tokens "^2.0.0" + stringify-entities "^4.0.0" + zwitch "^2.0.4" + +hast-util-whitespace@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz" + integrity sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw== + dependencies: + "@types/hast" "^3.0.0" + +html-void-elements@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/html-void-elements/-/html-void-elements-3.0.0.tgz" + integrity sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg== + +ignore@^5.2.0: + version "5.3.2" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== + +ignore@^7.0.0: + version "7.0.5" + resolved "https://registry.npmmirror.com/ignore/-/ignore-7.0.5.tgz" + integrity sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg== + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +internal-slot@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/internal-slot/-/internal-slot-1.1.0.tgz" + integrity sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw== + dependencies: + es-errors "^1.3.0" + hasown "^2.0.2" + side-channel "^1.1.0" + +is-array-buffer@^3.0.4, is-array-buffer@^3.0.5: + version "3.0.5" + resolved "https://registry.npmmirror.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz" + integrity sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + get-intrinsic "^1.2.6" + +is-async-function@^2.0.0: + version "2.1.1" + resolved "https://registry.npmmirror.com/is-async-function/-/is-async-function-2.1.1.tgz" + integrity sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ== + dependencies: + async-function "^1.0.0" + call-bound "^1.0.3" + get-proto "^1.0.1" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" + +is-bigint@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-bigint/-/is-bigint-1.1.0.tgz" + integrity sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ== + dependencies: + has-bigints "^1.0.2" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.2.1: + version "1.2.2" + resolved "https://registry.npmmirror.com/is-boolean-object/-/is-boolean-object-1.2.2.tgz" + integrity sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A== + dependencies: + call-bound "^1.0.3" + has-tostringtag "^1.0.2" + +is-bun-module@^1.0.2: + version "1.1.0" + resolved "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.1.0.tgz" + integrity sha512-4mTAVPlrXpaN3jtF0lsnPCMGnq4+qZjVIKq0HCpfcqf8OC1SM5oATCIAPM5V5FN05qp2NNnFndphmdZS9CV3hA== + dependencies: + semver "^7.6.3" + +is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.npmmirror.com/is-callable/-/is-callable-1.2.7.tgz" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-core-module@^2.13.0, is-core-module@^2.15.1: + version "2.15.1" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz" + integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== + dependencies: + hasown "^2.0.2" + +is-data-view@^1.0.1, is-data-view@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/is-data-view/-/is-data-view-1.0.2.tgz" + integrity sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw== + dependencies: + call-bound "^1.0.2" + get-intrinsic "^1.2.6" + is-typed-array "^1.1.13" + +is-date-object@^1.0.5, is-date-object@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-date-object/-/is-date-object-1.1.0.tgz" + integrity sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg== + dependencies: + call-bound "^1.0.2" + has-tostringtag "^1.0.2" + +is-extendable@^0.1.0: + version "0.1.1" + resolved "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz" + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-finalizationregistry@^1.1.0: + version "1.1.1" + resolved "https://registry.npmmirror.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz" + integrity sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg== + dependencies: + call-bound "^1.0.3" + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-function@^1.0.10: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-generator-function/-/is-generator-function-1.1.0.tgz" + integrity sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ== + dependencies: + call-bound "^1.0.3" + get-proto "^1.0.0" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-map@^2.0.3: + version "2.0.3" + resolved "https://registry.npmmirror.com/is-map/-/is-map-2.0.3.tgz" + integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== + +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== + +is-number-object@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/is-number-object/-/is-number-object-1.1.1.tgz" + integrity sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw== + dependencies: + call-bound "^1.0.3" + has-tostringtag "^1.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^4.0.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz" + integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== + +is-regex@^1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/is-regex/-/is-regex-1.2.1.tgz" + integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== + dependencies: + call-bound "^1.0.2" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + hasown "^2.0.2" + +is-set@^2.0.3: + version "2.0.3" + resolved "https://registry.npmmirror.com/is-set/-/is-set-2.0.3.tgz" + integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== + +is-shared-array-buffer@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz" + integrity sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A== + dependencies: + call-bound "^1.0.3" + +is-string@^1.0.7, is-string@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/is-string/-/is-string-1.1.1.tgz" + integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA== + dependencies: + call-bound "^1.0.3" + has-tostringtag "^1.0.2" + +is-symbol@^1.0.4, is-symbol@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/is-symbol/-/is-symbol-1.1.1.tgz" + integrity sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w== + dependencies: + call-bound "^1.0.2" + has-symbols "^1.1.0" + safe-regex-test "^1.1.0" + +is-typed-array@^1.1.13, is-typed-array@^1.1.14, is-typed-array@^1.1.15: + version "1.1.15" + resolved "https://registry.npmmirror.com/is-typed-array/-/is-typed-array-1.1.15.tgz" + integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== + dependencies: + which-typed-array "^1.1.16" + +is-weakmap@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/is-weakmap/-/is-weakmap-2.0.2.tgz" + integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== + +is-weakref@^1.0.2, is-weakref@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.1.1.tgz" + integrity sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew== + dependencies: + call-bound "^1.0.3" + +is-weakset@^2.0.3: + version "2.0.4" + resolved "https://registry.npmmirror.com/is-weakset/-/is-weakset-2.0.4.tgz" + integrity sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ== + dependencies: + call-bound "^1.0.3" + get-intrinsic "^1.2.6" + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +iterator.prototype@^1.1.4: + version "1.1.5" + resolved "https://registry.npmmirror.com/iterator.prototype/-/iterator.prototype-1.1.5.tgz" + integrity sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g== + dependencies: + define-data-property "^1.1.4" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.6" + get-proto "^1.0.0" + has-symbols "^1.1.0" + set-function-name "^2.0.2" + +jackspeak@^3.1.2: + version "3.4.3" + resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz" + integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +jiti@^1.21.0: + version "1.21.6" + resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz" + integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== + +"js-tokens@^3.0.0 || ^4.0.0": + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json5@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: + version "3.3.5" + resolved "https://registry.npmmirror.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz" + integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + object.assign "^4.1.4" + object.values "^1.1.6" + +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +language-subtag-registry@^0.3.20: + version "0.3.23" + resolved "https://registry.npmmirror.com/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz" + integrity sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ== + +language-tags@^1.0.9: + version "1.0.9" + resolved "https://registry.npmmirror.com/language-tags/-/language-tags-1.0.9.tgz" + integrity sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA== + dependencies: + language-subtag-registry "^0.3.20" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +lilconfig@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== + +lilconfig@^3.0.0: + version "3.1.2" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz" + integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +longest-streak@^3.0.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/longest-streak/-/longest-streak-3.1.0.tgz" + integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== + +loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lru-cache@^10.2.0: + version "10.4.3" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== + +lucide-react@^0.438.0: + version "0.438.0" + resolved "https://registry.npmjs.org/lucide-react/-/lucide-react-0.438.0.tgz" + integrity sha512-uq6yCB+IzVfgIPMK8ibkecXSWTTSOMs9UjUgZigfrDCVqgdwkpIgYg1fSYnf0XXF2AoSyCJZhoZXQwzoai7VGw== + +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + +mdast-util-from-markdown@^2.0.0: + version "2.0.2" + resolved "https://registry.npmmirror.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz" + integrity sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA== + dependencies: + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + mdast-util-to-string "^4.0.0" + micromark "^4.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-decode-string "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + unist-util-stringify-position "^4.0.0" + +mdast-util-phrasing@^4.0.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz" + integrity sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w== + dependencies: + "@types/mdast" "^4.0.0" + unist-util-is "^6.0.0" + +mdast-util-to-hast@^13.0.0: + version "13.2.0" + resolved "https://registry.npmmirror.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz" + integrity sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA== + dependencies: + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + "@ungap/structured-clone" "^1.0.0" + devlop "^1.0.0" + micromark-util-sanitize-uri "^2.0.0" + trim-lines "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit "^5.0.0" + vfile "^6.0.0" + +mdast-util-to-markdown@^2.0.0: + version "2.1.2" + resolved "https://registry.npmmirror.com/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz" + integrity sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA== + dependencies: + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + longest-streak "^3.0.0" + mdast-util-phrasing "^4.0.0" + mdast-util-to-string "^4.0.0" + micromark-util-classify-character "^2.0.0" + micromark-util-decode-string "^2.0.0" + unist-util-visit "^5.0.0" + zwitch "^2.0.0" + +mdast-util-to-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz" + integrity sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg== + dependencies: + "@types/mdast" "^4.0.0" + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromark-core-commonmark@^2.0.0: + version "2.0.3" + resolved "https://registry.npmmirror.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz" + integrity sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg== + dependencies: + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + micromark-factory-destination "^2.0.0" + micromark-factory-label "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-factory-title "^2.0.0" + micromark-factory-whitespace "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-classify-character "^2.0.0" + micromark-util-html-tag-name "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-subtokenize "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-destination@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz" + integrity sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-label@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz" + integrity sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg== + dependencies: + devlop "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-space@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz" + integrity sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-title@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz" + integrity sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw== + dependencies: + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-whitespace@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz" + integrity sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ== + dependencies: + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-character@^2.0.0: + version "2.1.1" + resolved "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz" + integrity sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q== + dependencies: + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-chunked@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz" + integrity sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-classify-character@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz" + integrity sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-combine-extensions@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz" + integrity sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg== + dependencies: + micromark-util-chunked "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-decode-numeric-character-reference@^2.0.0: + version "2.0.2" + resolved "https://registry.npmmirror.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz" + integrity sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-decode-string@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz" + integrity sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ== + dependencies: + decode-named-character-reference "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-symbol "^2.0.0" + +micromark-util-encode@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz" + integrity sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw== + +micromark-util-html-tag-name@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz" + integrity sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA== + +micromark-util-normalize-identifier@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz" + integrity sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-resolve-all@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz" + integrity sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg== + dependencies: + micromark-util-types "^2.0.0" + +micromark-util-sanitize-uri@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz" + integrity sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-encode "^2.0.0" + micromark-util-symbol "^2.0.0" + +micromark-util-subtokenize@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz" + integrity sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA== + dependencies: + devlop "^1.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-symbol@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz" + integrity sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q== + +micromark-util-types@^2.0.0: + version "2.0.2" + resolved "https://registry.npmmirror.com/micromark-util-types/-/micromark-util-types-2.0.2.tgz" + integrity sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA== + +micromark@^4.0.0: + version "4.0.2" + resolved "https://registry.npmmirror.com/micromark/-/micromark-4.0.2.tgz" + integrity sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA== + dependencies: + "@types/debug" "^4.0.0" + debug "^4.0.0" + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-combine-extensions "^2.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-encode "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-subtokenize "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.8" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + +minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^9.0.4: + version "9.0.5" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.0, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: + version "7.1.2" + resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + +ms@^2.1.1, ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +mz@^2.7.0: + version "2.7.0" + resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nanoid@^3.3.6, nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +next@14.2.23: + version "14.2.23" + resolved "https://registry.npmmirror.com/next/-/next-14.2.23.tgz" + integrity sha512-mjN3fE6u/tynneLiEg56XnthzuYw+kD7mCujgVqioxyPqbmiotUCGJpIZGS/VaPg3ZDT1tvWxiVyRzeqJFm/kw== + dependencies: + "@next/env" "14.2.23" + "@swc/helpers" "0.5.5" + busboy "1.6.0" + caniuse-lite "^1.0.30001579" + graceful-fs "^4.2.11" + postcss "8.4.31" + styled-jsx "5.1.1" + optionalDependencies: + "@next/swc-darwin-arm64" "14.2.23" + "@next/swc-darwin-x64" "14.2.23" + "@next/swc-linux-arm64-gnu" "14.2.23" + "@next/swc-linux-arm64-musl" "14.2.23" + "@next/swc-linux-x64-gnu" "14.2.23" + "@next/swc-linux-x64-musl" "14.2.23" + "@next/swc-win32-arm64-msvc" "14.2.23" + "@next/swc-win32-ia32-msvc" "14.2.23" + "@next/swc-win32-x64-msvc" "14.2.23" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +object-assign@^4.0.1, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" + integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== + +object-inspect@^1.13.3, object-inspect@^1.13.4: + version "1.13.4" + resolved "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.4.tgz" + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.4, object.assign@^4.1.7: + version "4.1.7" + resolved "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.7.tgz" + integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + has-symbols "^1.1.0" + object-keys "^1.1.1" + +object.entries@^1.1.9: + version "1.1.9" + resolved "https://registry.npmmirror.com/object.entries/-/object.entries-1.1.9.tgz" + integrity sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.4" + define-properties "^1.2.1" + es-object-atoms "^1.1.1" + +object.fromentries@^2.0.8: + version "2.0.8" + resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz" + integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + +object.groupby@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz" + integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + +object.values@^1.1.6, object.values@^1.2.0, object.values@^1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/object.values/-/object.values-1.2.1.tgz" + integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +optionator@^0.9.3: + version "0.9.4" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.5" + +own-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/own-keys/-/own-keys-1.0.1.tgz" + integrity sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg== + dependencies: + get-intrinsic "^1.2.6" + object-keys "^1.1.1" + safe-push-apply "^1.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +package-json-from-dist@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz" + integrity sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-scurry@^1.11.1: + version "1.11.1" + resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + +picocolors@^1.0.0, picocolors@^1.0.1: + version "1.1.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz" + integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pirates@^4.0.1: + version "4.0.6" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +possible-typed-array-names@^1.0.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz" + integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== + +postcss-import@^15.1.0: + version "15.1.0" + resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz" + integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== + dependencies: + postcss-value-parser "^4.0.0" + read-cache "^1.0.0" + resolve "^1.1.7" + +postcss-js@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz" + integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== + dependencies: + camelcase-css "^2.0.1" + +postcss-load-config@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz" + integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== + dependencies: + lilconfig "^3.0.0" + yaml "^2.3.4" + +postcss-nested@^6.0.1: + version "6.2.0" + resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz" + integrity sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ== + dependencies: + postcss-selector-parser "^6.1.1" + +postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.1.1: + version "6.1.2" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz" + integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-value-parser@^4.0.0: + version "4.2.0" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^8, postcss@^8.0.0, postcss@^8.2.14, postcss@^8.4.21, postcss@^8.4.23, postcss@>=8.0.9: + version "8.4.44" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.44.tgz" + integrity sha512-Aweb9unOEpQ3ezu4Q00DPvvM2ZTUitJdNKeP/+uQgr1IBIqu574IaZoURId7BKtWMREwzKa9OgzPzezWGPWFQw== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.1" + source-map-js "^1.2.0" + +postcss@8.4.31: + version "8.4.31" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz" + integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== + dependencies: + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier@^3.3.3: + version "3.5.3" + resolved "https://registry.npmmirror.com/prettier/-/prettier-3.5.3.tgz" + integrity sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw== + +prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.npmmirror.com/prop-types/-/prop-types-15.8.1.tgz" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +property-information@^7.0.0: + version "7.1.0" + resolved "https://registry.npmmirror.com/property-information/-/property-information-7.1.0.tgz" + integrity sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ== + +punycode@^2.1.0: + version "2.3.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +react-dom@^18, react-dom@^18.2.0: + version "18.3.1" + resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz" + integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.2" + +react-is@^16.13.1: + version "16.13.1" + resolved "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +"react@^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc", "react@^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", react@^18, react@^18.2.0, react@^18.3.1, "react@>= 16.8.0 || 17.x.x || ^18.0.0-0": + version "18.3.1" + resolved "https://registry.npmjs.org/react/-/react-18.3.1.tgz" + integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== + dependencies: + loose-envify "^1.1.0" + +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" + integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== + dependencies: + pify "^2.3.0" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9: + version "1.0.10" + resolved "https://registry.npmmirror.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz" + integrity sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.9" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.7" + get-proto "^1.0.1" + which-builtin-type "^1.2.1" + +regexp.prototype.flags@^1.5.3, regexp.prototype.flags@^1.5.4: + version "1.5.4" + resolved "https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz" + integrity sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-errors "^1.3.0" + get-proto "^1.0.1" + gopd "^1.2.0" + set-function-name "^2.0.2" + +remark-html@^16.0.1: + version "16.0.1" + resolved "https://registry.npmmirror.com/remark-html/-/remark-html-16.0.1.tgz" + integrity sha512-B9JqA5i0qZe0Nsf49q3OXyGvyXuZFDzAP2iOFLEumymuYJITVpiH1IgsTEwTpdptDmZlMDMWeDmSawdaJIGCXQ== + dependencies: + "@types/mdast" "^4.0.0" + hast-util-sanitize "^5.0.0" + hast-util-to-html "^9.0.0" + mdast-util-to-hast "^13.0.0" + unified "^11.0.0" + +remark-parse@^11.0.0: + version "11.0.0" + resolved "https://registry.npmmirror.com/remark-parse/-/remark-parse-11.0.0.tgz" + integrity sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-from-markdown "^2.0.0" + micromark-util-types "^2.0.0" + unified "^11.0.0" + +remark-stringify@^11.0.0: + version "11.0.0" + resolved "https://registry.npmmirror.com/remark-stringify/-/remark-stringify-11.0.0.tgz" + integrity sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-to-markdown "^2.0.0" + unified "^11.0.0" + +remark@^15.0.1: + version "15.0.1" + resolved "https://registry.npmmirror.com/remark/-/remark-15.0.1.tgz" + integrity sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A== + dependencies: + "@types/mdast" "^4.0.0" + remark-parse "^11.0.0" + remark-stringify "^11.0.0" + unified "^11.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-pkg-maps@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz" + integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== + +resolve@^1.1.7, resolve@^1.22.2, resolve@^1.22.4: + version "1.22.8" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^2.0.0-next.5: + version "2.0.0-next.5" + resolved "https://registry.npmmirror.com/resolve/-/resolve-2.0.0-next.5.tgz" + integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-array-concat@^1.1.3: + version "1.1.3" + resolved "https://registry.npmmirror.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz" + integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.2" + get-intrinsic "^1.2.6" + has-symbols "^1.1.0" + isarray "^2.0.5" + +safe-push-apply@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz" + integrity sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA== + dependencies: + es-errors "^1.3.0" + isarray "^2.0.5" + +safe-regex-test@^1.0.3, safe-regex-test@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz" + integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-regex "^1.2.1" + +scheduler@^0.23.2: + version "0.23.2" + resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz" + integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== + dependencies: + loose-envify "^1.1.0" + +section-matter@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/section-matter/-/section-matter-1.0.0.tgz" + integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== + dependencies: + extend-shallow "^2.0.1" + kind-of "^6.0.0" + +semver@^6.3.1: + version "6.3.1" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.6.0: + version "7.7.2" + resolved "https://registry.npmmirror.com/semver/-/semver-7.7.2.tgz" + integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== + +semver@^7.6.3: + version "7.6.3" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + +set-function-length@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +set-function-name@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + +set-proto@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/set-proto/-/set-proto-1.0.0.tgz" + integrity sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw== + dependencies: + dunder-proto "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/side-channel-list/-/side-channel-list-1.0.0.tgz" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/side-channel-map/-/side-channel-map-1.0.1.tgz" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/side-channel/-/side-channel-1.1.0.tgz" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" + +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +source-map-js@^1.0.2, source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== + +space-separated-tokens@^2.0.0: + version "2.0.2" + resolved "https://registry.npmmirror.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz" + integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stop-iteration-iterator@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz" + integrity sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ== + dependencies: + es-errors "^1.3.0" + internal-slot "^1.1.0" + +streamsearch@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz" + integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== + +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.1.0: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string.prototype.includes@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz" + integrity sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.3" + +string.prototype.matchall@^4.0.12: + version "4.0.12" + resolved "https://registry.npmmirror.com/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz" + integrity sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-abstract "^1.23.6" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.6" + gopd "^1.2.0" + has-symbols "^1.1.0" + internal-slot "^1.1.0" + regexp.prototype.flags "^1.5.3" + set-function-name "^2.0.2" + side-channel "^1.1.0" + +string.prototype.repeat@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz" + integrity sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string.prototype.trim@^1.2.10: + version "1.2.10" + resolved "https://registry.npmmirror.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz" + integrity sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.2" + define-data-property "^1.1.4" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-object-atoms "^1.0.0" + has-property-descriptors "^1.0.2" + +string.prototype.trimend@^1.0.8, string.prototype.trimend@^1.0.9: + version "1.0.9" + resolved "https://registry.npmmirror.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz" + integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.2" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +stringify-entities@^4.0.0: + version "4.0.4" + resolved "https://registry.npmmirror.com/stringify-entities/-/stringify-entities-4.0.4.tgz" + integrity sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg== + dependencies: + character-entities-html4 "^2.0.0" + character-entities-legacy "^3.0.0" + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-bom-string@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz" + integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g== + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +styled-jsx@5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz" + integrity sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw== + dependencies: + client-only "0.0.1" + +sucrase@^3.32.0: + version "3.35.0" + resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz" + integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== + dependencies: + "@jridgewell/gen-mapping" "^0.3.2" + commander "^4.0.0" + glob "^10.3.10" + lines-and-columns "^1.1.6" + mz "^2.7.0" + pirates "^4.0.1" + ts-interface-checker "^0.1.9" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +tailwind-merge@^2.5.2: + version "2.5.2" + resolved "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.5.2.tgz" + integrity sha512-kjEBm+pvD+6eAwzJL2Bi+02/9LFLal1Gs61+QB7HvTfQQ0aXwC5LGT8PEt1gS0CWKktKe6ysPTAy3cBC5MeiIg== + +tailwindcss-animate@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz" + integrity sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA== + +tailwindcss@^3.4.1, "tailwindcss@>=3.0.0 || insiders": + version "3.4.10" + resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.10.tgz" + integrity sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w== + dependencies: + "@alloc/quick-lru" "^5.2.0" + arg "^5.0.2" + chokidar "^3.5.3" + didyoumean "^1.2.2" + dlv "^1.1.3" + fast-glob "^3.3.0" + glob-parent "^6.0.2" + is-glob "^4.0.3" + jiti "^1.21.0" + lilconfig "^2.1.0" + micromatch "^4.0.5" + normalize-path "^3.0.0" + object-hash "^3.0.0" + picocolors "^1.0.0" + postcss "^8.4.23" + postcss-import "^15.1.0" + postcss-js "^4.0.1" + postcss-load-config "^4.0.1" + postcss-nested "^6.0.1" + postcss-selector-parser "^6.0.11" + resolve "^1.22.2" + sucrase "^3.32.0" + +tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" + integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +trim-lines@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/trim-lines/-/trim-lines-3.0.1.tgz" + integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== + +trough@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/trough/-/trough-2.2.0.tgz" + integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== + +ts-api-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/ts-api-utils/-/ts-api-utils-2.1.0.tgz" + integrity sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ== + +ts-interface-checker@^0.1.9: + version "0.1.13" + resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" + integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== + +tsconfig-paths@^3.15.0: + version "3.15.0" + resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz" + integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@^2.4.0: + version "2.7.0" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz" + integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +typed-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz" + integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-typed-array "^1.1.14" + +typed-array-byte-length@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz" + integrity sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg== + dependencies: + call-bind "^1.0.8" + for-each "^0.3.3" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.14" + +typed-array-byte-offset@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz" + integrity sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + for-each "^0.3.3" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.15" + reflect.getprototypeof "^1.0.9" + +typed-array-length@^1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/typed-array-length/-/typed-array-length-1.0.7.tgz" + integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + reflect.getprototypeof "^1.0.6" + +typescript@^5, typescript@>=3.3.1, typescript@>=4.8.4, "typescript@>=4.8.4 <5.9.0": + version "5.5.4" + resolved "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz" + integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q== + +unbox-primitive@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz" + integrity sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw== + dependencies: + call-bound "^1.0.3" + has-bigints "^1.0.2" + has-symbols "^1.1.0" + which-boxed-primitive "^1.1.1" + +undici-types@~6.19.2: + version "6.19.8" + resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== + +unified@^11.0.0: + version "11.0.5" + resolved "https://registry.npmmirror.com/unified/-/unified-11.0.5.tgz" + integrity sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA== + dependencies: + "@types/unist" "^3.0.0" + bail "^2.0.0" + devlop "^1.0.0" + extend "^3.0.0" + is-plain-obj "^4.0.0" + trough "^2.0.0" + vfile "^6.0.0" + +unist-util-is@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/unist-util-is/-/unist-util-is-6.0.0.tgz" + integrity sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-position@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/unist-util-position/-/unist-util-position-5.0.0.tgz" + integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-stringify-position@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz" + integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-visit-parents@^6.0.0: + version "6.0.1" + resolved "https://registry.npmmirror.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz" + integrity sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw== + dependencies: + "@types/unist" "^3.0.0" + unist-util-is "^6.0.0" + +unist-util-visit@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/unist-util-visit/-/unist-util-visit-5.0.0.tgz" + integrity sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg== + dependencies: + "@types/unist" "^3.0.0" + unist-util-is "^6.0.0" + unist-util-visit-parents "^6.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +util-deprecate@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +vfile-message@^4.0.0: + version "4.0.2" + resolved "https://registry.npmmirror.com/vfile-message/-/vfile-message-4.0.2.tgz" + integrity sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw== + dependencies: + "@types/unist" "^3.0.0" + unist-util-stringify-position "^4.0.0" + +vfile@^6.0.0: + version "6.0.3" + resolved "https://registry.npmmirror.com/vfile/-/vfile-6.0.3.tgz" + integrity sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q== + dependencies: + "@types/unist" "^3.0.0" + vfile-message "^4.0.0" + +which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz" + integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA== + dependencies: + is-bigint "^1.1.0" + is-boolean-object "^1.2.1" + is-number-object "^1.1.1" + is-string "^1.1.1" + is-symbol "^1.1.1" + +which-builtin-type@^1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz" + integrity sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q== + dependencies: + call-bound "^1.0.2" + function.prototype.name "^1.1.6" + has-tostringtag "^1.0.2" + is-async-function "^2.0.0" + is-date-object "^1.1.0" + is-finalizationregistry "^1.1.0" + is-generator-function "^1.0.10" + is-regex "^1.2.1" + is-weakref "^1.0.2" + isarray "^2.0.5" + which-boxed-primitive "^1.1.0" + which-collection "^1.0.2" + which-typed-array "^1.1.16" + +which-collection@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/which-collection/-/which-collection-1.0.2.tgz" + integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== + dependencies: + is-map "^2.0.3" + is-set "^2.0.3" + is-weakmap "^2.0.2" + is-weakset "^2.0.3" + +which-typed-array@^1.1.16, which-typed-array@^1.1.19: + version "1.1.19" + resolved "https://registry.npmmirror.com/which-typed-array/-/which-typed-array-1.1.19.tgz" + integrity sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.4" + for-each "^0.3.5" + get-proto "^1.0.1" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +yaml@^2.3.4: + version "2.5.0" + resolved "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz" + integrity sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +zwitch@^2.0.0, zwitch@^2.0.4: + version "2.0.4" + resolved "https://registry.npmmirror.com/zwitch/-/zwitch-2.0.4.tgz" + integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==