From cf3bb4467672fbe71481632e84053a0cc44b15d0 Mon Sep 17 00:00:00 2001 From: Elad Rosenheim Date: Mon, 24 Jun 2024 16:51:16 +0100 Subject: [PATCH] chore: streamline E2E report (#2489) * Streamline & simplify E2E report * chore: format with prettier * chore: SVG badge, responsive design, data util * chore: format with prettier * chore: add copy badge button * chore: badge - consts, smaller, get host name * chore: review notes + tweaks * nicer shortening of long test names/reasons * show tooltip for long text * Update stats.js --------- Co-authored-by: Philippe Serhal --- e2e-report/app/badge/route.js | 47 + e2e-report/app/globals.css | 33 + e2e-report/app/globals.scss | 463 -- e2e-report/app/layout.js | 10 +- e2e-report/app/page.js | 77 +- e2e-report/components/chart.js | 43 - e2e-report/components/copy-badge.js | 32 + e2e-report/components/filter-data.js | 173 - e2e-report/components/grouped-tests.js | 79 - e2e-report/components/hero.js | 33 - e2e-report/components/icons.js | 85 + e2e-report/components/stats.js | 65 + e2e-report/components/switcher.js | 45 + e2e-report/components/table.js | 182 +- e2e-report/components/test-suites.js | 43 - e2e-report/next.config.mjs | 11 +- e2e-report/package-lock.json | 3993 ++++------------- e2e-report/package.json | 12 +- e2e-report/postcss.config.js | 6 + e2e-report/public/MulishVar-latin.woff2 | Bin 0 -> 31156 bytes .../arrow-up-right-from-square-solid.svg | 1 - e2e-report/public/down.svg | 3 - e2e-report/{app => public}/favicon.ico | Bin .../public/{logo-light.svg => logo.svg} | 0 e2e-report/public/noise.png | Bin 5812 -> 0 bytes e2e-report/public/up.svg | 3 - e2e-report/tailwind.config.js | 18 + e2e-report/utils/consts.js | 7 + e2e-report/utils/data.js | 42 + 29 files changed, 1497 insertions(+), 4009 deletions(-) create mode 100644 e2e-report/app/badge/route.js create mode 100644 e2e-report/app/globals.css delete mode 100644 e2e-report/app/globals.scss delete mode 100644 e2e-report/components/chart.js create mode 100644 e2e-report/components/copy-badge.js delete mode 100644 e2e-report/components/filter-data.js delete mode 100644 e2e-report/components/grouped-tests.js delete mode 100644 e2e-report/components/hero.js create mode 100644 e2e-report/components/icons.js create mode 100644 e2e-report/components/stats.js create mode 100644 e2e-report/components/switcher.js delete mode 100644 e2e-report/components/test-suites.js create mode 100644 e2e-report/postcss.config.js create mode 100644 e2e-report/public/MulishVar-latin.woff2 delete mode 100644 e2e-report/public/arrow-up-right-from-square-solid.svg delete mode 100644 e2e-report/public/down.svg rename e2e-report/{app => public}/favicon.ico (100%) rename e2e-report/public/{logo-light.svg => logo.svg} (100%) delete mode 100644 e2e-report/public/noise.png delete mode 100644 e2e-report/public/up.svg create mode 100644 e2e-report/tailwind.config.js create mode 100644 e2e-report/utils/consts.js create mode 100644 e2e-report/utils/data.js diff --git a/e2e-report/app/badge/route.js b/e2e-report/app/badge/route.js new file mode 100644 index 0000000000..fc5ab1e152 --- /dev/null +++ b/e2e-report/app/badge/route.js @@ -0,0 +1,47 @@ +import { ImageResponse } from 'next/og' +import testData from '@/utils/data' +import { badgeSettings, badgeSize } from '@/utils/consts' + +export const dynamic = 'force-static' + +const labelStyle = { + background: 'linear-gradient(#2e51ed, #316bf4)', + color: 'white', +} + +const bgStyles = { + ok: { background: 'linear-gradient(to bottom, #22c55e, #86efac)' }, + warning: { background: 'linear-gradient(to bottom, #ca8a04, #fef08a)' }, + error: { background: 'linear-gradient(to bottom, #dc2626, #f87171)', color: 'white' }, +} + +// Generate an SVG badge with test status and target Next.js version +export async function GET(request) { + const valueStyle = + bgStyles[testData.failed === 0 ? 'ok' : testData.unknownFailuresCount > 0 ? 'error' : 'warning'] + + const badge = ( + + ) + return new ImageResponse(badge, { + ...badgeSettings.imageSize, + }) +} + +function Badge({ label, labelStyle, value, valueStyle }) { + return ( +
+ + {label} + + + {value} + +
+ ) +} diff --git a/e2e-report/app/globals.css b/e2e-report/app/globals.css new file mode 100644 index 0000000000..4f32beb9c7 --- /dev/null +++ b/e2e-report/app/globals.css @@ -0,0 +1,33 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer base { + @font-face { + font-family: Mulish; + src: url(/MulishVar-latin.woff2) format('woff2'); + unicode-range: U+5, U+20, U+21, U+24, U+25, U+26, U+27, U+2B-2E, U+30-3A, U+3F, U+41-5A, U+61-7A, + U+D7, U+2019, U+201C, U+201D; + font-weight: 200 900; + font-display: swap; + } +} + +@layer components { + .table.issues-table :where(td) { + @apply py-1.5; + } + + .table.issues-table :where(td:nth-last-child(-n + 4)) { + @apply text-center p-1 md:p-4; + } + + .table.issues-table :where(td:nth-last-child(-n + 3)) { + @apply text-neutral-content; + } + + .stat-value { + @apply font-bold; + @apply text-3xl; + } +} diff --git a/e2e-report/app/globals.scss b/e2e-report/app/globals.scss deleted file mode 100644 index e703edab25..0000000000 --- a/e2e-report/app/globals.scss +++ /dev/null @@ -1,463 +0,0 @@ -$card-bg-img: url('../public/noise.png'); -$base-card-width: 300px; -$card-width: clamp($base-card-width, 65%, 35%); -$base-font-size: clamp(1rem, 0.8764rem + 0.4121vw, 1.34rem); -$netlify-blue: rgb(30 58 138); - -@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap'); - -* { - font-family: - 'Inter', - system-ui, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen-Sans, - Ubuntu, - Cantarell, - 'Helvetica Neue', - Arial, - sans-serif; - box-sizing: border-box; -} - -html, -body { - max-width: 100vw; - overflow-x: hidden; -} - -html { - font-size: 12px; -} - -body { - margin: 0; -} - -h1 { - font-size: clamp(1rem, -0.5782rem + 5.2606vw, 4rem); - margin: 2% 0; - text-align: center; -} - -h2 { - font-size: clamp(1rem, -0.0909rem + 3.6364vw, 3.25rem); - margin-bottom: 0; -} - -h3 { - font-size: clamp(1rem, 0.2727rem + 2.4242vw, 2.25rem); -} - -h4 { - font-size: clamp(1rem, 0.5127rem + 1.6242vw, 2rem); - font-weight: 700; - margin: 1% 2%; -} - -li { - list-style: none; -} - -span { - font-size: 2.3vw; -} - -p { - font-size: $base-font-size; -} - -img { - width: 15%; - height: auto; -} - -a { - text-decoration: none; - font-size: $base-font-size; -} - -td, -th { - text-align: left; - width: 30%; - font-size: $base-font-size; -} - -th { - font-weight: 400; -} - -a:visited, -a:link { - color: white; -} - -button { - font-size: clamp(1rem, 0.6364rem + 1.2121vw, 1.34rem); - background-image: $card-bg-img; - background-color: #060b10; - color: white; - border-radius: 5px; - width: clamp(15vw, 20vw, 25vw); - box-shadow: -3px 3px 5px #0000004f; - border: none; - a { - font-weight: bold; - } -} - -.arrow { - height: auto; - width: 5%; - margin: 1.5%; - fill: black; -} - -.logo { - text-align: center; - padding: 2%; -} - -.filterList { - padding: 0; - display: flex; - flex-wrap: wrap; - justify-content: center; -} - -button.github { - padding: 1.5%; - margin: 1%; - width: clamp(150px, 100px, 150px); -} - -button.nav { - padding: 8% 2%; - width: clamp(150px, 200px, 250px); -} - -.testResults { - padding: 2%; - background-size: cover; - flex-flow: column; -} - -.testResults { - .resultData { - justify-content: space-evenly; - display: flex; - h3 { - text-align: center; - } - } -} - -.hero { - color: white; - font-weight: 600; - padding: 0 6%; - background: $netlify-blue; - background-image: $card-bg-img; - background-attachment: fixed; - margin-bottom: 2%; -} - -.title { - display: flex; - flex-flow: column; - align-items: center; - text-align: center; -} - -.chart { - margin: 0 auto; - width: 70px; - height: 70px; - flex-basis: 15%; - @media (max-width: 450px) { - display: none; - } -} - -.card .chart { - margin: 0; -} - -.card.issues { - width: 40%; - h3 { - margin: 0; - } -} - -.grid { - padding: 1% 5% 5% 5%; - ul li { - padding: 2%; - display: flex; - justify-content: space-between; - align-items: center; - flex-wrap: wrap; - border-bottom: 1px solid #00000052; - } - - ul li:last-child { - border-bottom: none; - } - - a { - display: flex; - justify-content: space-between; - } - - button a { - justify-content: center; - color: white; - } - - h2 { - text-align: center; - } -} - -.testGroup { - display: none; -} - -.testGroup.open { - display: block; - width: clamp(350px, 60%, 1100px); - height: 70vh; - overflow: scroll; - overflow-x: hidden; -} - -.skipped.card:hover, -.open-issue.card:hover { - background-color: initial; - color: initial; -} - -.testCases { - display: none; - padding: 0.5% 2%; - box-shadow: inset -1px 4px 10px #00000047; - border-radius: 11px; - width: 60vw; - font-size: 1vw; - margin: 0 0 2% 0; - - a { - max-width: 90%; - font-weight: 600; - color: black; - } - - p { - color: $netlify-blue; - } - - li:hover { - background: $netlify-blue; - background-image: $card-bg-img; - background-blend-mode: screen; - a { - color: white; - } - p { - color: #2bdcd2; - } - } -} - -.status { - display: inline-block; - height: 15px; - width: 15px; - border-radius: 25px; - padding: 1px; - box-shadow: -2px 1px 2px #0000004a; - border: 1px solid #ffffffad; - margin: 1%; -} - -.testCases.open { - display: block; - position: relative; - width: 85%; -} - -.wrapper { - display: flex; - flex-wrap: wrap; - flex-flow: column; - width: 100%; - justify-content: center; - align-items: center; - - .card.issues { - padding: 0; - width: 65%; - li { - flex-flow: column; - align-items: normal; - } - } - - .card.skipped, - .card.open-issues { - display: none; - width: clamp(350px, 55%, 1000px); - cursor: default; - height: 70vh; - overflow: scroll; - } - - .card.skipped.open, - .card.open-issues.open { - display: block; - } -} - -.testSuite { - display: flex; - flex-flow: column; - width: 100%; - align-items: center; - - .card { - width: 90%; - margin: clamp(0.5%, 2%, 10px); - td, - th { - text-align: center; - } - } - - td h4 { - font-size: clamp(1rem, 0.5127rem + 1.6242vw, 1.4rem); - } - - .retries { - font-style: italic; - font-size: inherit; - } -} - -.card { - padding: 1%; - box-shadow: -4px 3px 7px #00000014; - width: clamp(350px, 60%, 1100px); - background: #8080800a; - border-radius: 11px; - margin: clamp(0.5%, 1%, 20px); - display: flex; - justify-content: space-between; - align-items: center; - cursor: pointer; - border-bottom: 3px solid #00000017; - border-left: 3px solid #00000017; - - i { - font-weight: 400; - } -} - -.card.test-group:hover { - background-color: $netlify-blue; - background-image: $card-bg-img; - background-blend-mode: screen; - color: white; - .arrow { - fill: white; - } -} - -span[data-status='passed'] { - background-color: #2ecc71; - background-image: $card-bg-img; -} - -span[data-status='failed'] { - background-color: #e74c3c; - background-image: $card-bg-img; -} - -span[data-status='skipped'] { - background-color: #ffeb3b; - background-image: $card-bg-img; -} - -.reason { - background: #394146cc; - color: white; - border-radius: 25px; - text-align: center; - padding: 2%; - margin: 0; - width: 35vw; -} - -.skipped, -.open-issues { - td, - th { - padding: 0.5% 2%; - border-bottom: 1px solid #00000047; - } - - td { - p { - font-size: clamp(1rem, 0.8764rem + 0.4121vw, 1.16rem); - } - } -} - -.open-issues { - a { - color: black; - font-weight: bold; - display: inline; - } - a:hover { - color: $netlify-blue; - } - .github-link-icon { - width: 0.75em; - height: auto; - margin: 0 0.5em; - } -} - -.skipped .card, -.open-issues .card { - display: flex; - justify-content: space-between; - padding: 4%; - p { - color: $netlify-blue; - } -} - -.skipped .card:hover, -.open-issues .card:hover { - p { - color: #2bdcd2; - } -} - -table { - width: 100%; - padding: 2%; -} - -table.testCases { - display: block; - width: 80%; - box-shadow: none; - border-collapse: collapse; -} diff --git a/e2e-report/app/layout.js b/e2e-report/app/layout.js index 22bb67e98f..2f66b5f551 100644 --- a/e2e-report/app/layout.js +++ b/e2e-report/app/layout.js @@ -1,17 +1,13 @@ -import './globals.scss' +import './globals.css' export const metadata = { - title: 'Next E2E Tests Report', + title: 'Netlify - Next.js E2E Tests', } export default function RootLayout({ children }) { return ( - -
-
{children}
-
- + {children} ) } diff --git a/e2e-report/app/page.js b/e2e-report/app/page.js index 0961d88e68..409dbd6f24 100644 --- a/e2e-report/app/page.js +++ b/e2e-report/app/page.js @@ -1,36 +1,55 @@ -import { OpenIssues, SkippedTests } from '../components/filter-data.js' -import GroupedTests from '../components/grouped-tests.js' -import Hero from '../components/hero.js' -import testData from '../data/test-results.json' +/* eslint-disable @next/next/no-img-element */ +import Image from 'next/image' +import Table from '@/components/table' +import ComponentSwitcher from '@/components/switcher' +import StatsRow from '@/components/stats' +import testData from '@/utils/data' +import CopyBadgeButton from '@/components/copy-badge' +import { badgeSettings } from '@/utils/consts' export default function Home() { - const { results, passed, failed, passRate, testDate, nextVersion } = testData - const skippedSuites = results.filter(({ skipped }) => skipped === true) - const skippedTestCases = results.flatMap( - ({ testCases }) => testCases?.filter(({ status }) => status === 'skipped') ?? [], - ) - const failedTestCases = results.flatMap( - ({ testCases }) => testCases?.filter(({ status }) => status === 'failed') ?? [], - ) + // User can switch between two test suite tables: one with all non-empty suites, + // and another showing only suites with failed tests (and the failed cases in them) + const tableComponents = { + 'All suites': , + 'Failed tests only':
, + } return ( - <> -
- -
-
-

E2E Test Results

-

- Next.js {nextVersion} -
- Last updated: {testDate} -

+
+
+ +
+
-
- - - -
- +
+ ) +} + +function Header() { + return ( +
+ + + Next.js E2E Tests on Netlify Runtime v5 + + + + {badgeSettings.alt} + + + +
) } diff --git a/e2e-report/components/chart.js b/e2e-report/components/chart.js deleted file mode 100644 index d6a00890e3..0000000000 --- a/e2e-report/components/chart.js +++ /dev/null @@ -1,43 +0,0 @@ -'use client' - -import { Chart } from 'chart.js/auto' -import { useEffect } from 'react' - -export const TestChart = ({ passed, failed, id }) => { - useEffect(() => { - const ctx = document?.getElementById(id) - const chart = new Chart(ctx, { - type: 'doughnut', - data: { - labels: ['Passed', 'Failed'], - datasets: [ - { - label: '', - data: [passed, failed], - backgroundColor: ['#2ecc717d', '#F44336', '#FFEB3B'], - }, - ], - }, - options: { - responsive: true, - plugins: { - legend: { - display: false, - }, - }, - }, - }) - Chart.defaults.plugins.tooltip.xAlign = 'left' - return () => { - chart.destroy() - } - }, [failed, id, passed]) - - return ( - <> -
- -
- - ) -} diff --git a/e2e-report/components/copy-badge.js b/e2e-report/components/copy-badge.js new file mode 100644 index 0000000000..848da85d1c --- /dev/null +++ b/e2e-report/components/copy-badge.js @@ -0,0 +1,32 @@ +'use client' +import { useEffect, useState } from 'react' +import { CopyIcon } from './icons' +import { badgeDisplaySize, badgeSettings } from '@/utils/consts' + +export default function CopyBadgeButton() { + const [host, setHost] = useState('') + useEffect(() => { + setHost(window?.location.origin || '') + }, []) + + const badgeLink = ` + + ${badgeSettings.alt} +` + + return ( + + ) +} diff --git a/e2e-report/components/filter-data.js b/e2e-report/components/filter-data.js deleted file mode 100644 index 0577ec9b6d..0000000000 --- a/e2e-report/components/filter-data.js +++ /dev/null @@ -1,173 +0,0 @@ -'use client' - -import { useState } from 'react' - -import Down from '../public/down.svg' -import Up from '../public/up.svg' -import ExternalLinkIcon from '../public/arrow-up-right-from-square-solid.svg' - -export const groupDefinitions = [ - { - id: 'app-dir', - title: 'App dir', - testFileMatcher: (file) => file?.startsWith(`test/e2e/app-dir`), - }, - { - id: 'middleware', - title: 'Middleware', - testFileMatcher: (file) => file?.startsWith(`test/e2e/middleware`), - }, - { - id: 'i18n', - title: 'i18n', - testFileMatcher: (file) => file?.startsWith(`test/e2e/i18n`), - }, - - { - id: 'edge', - title: 'Edge runtime', - testFileMatcher: (file) => file?.startsWith(`test/e2e/edge`), - }, - { - id: 'misc', - title: 'Other test suites', - // this will match everything that doesn't match the other groups, so it has to be last entry - testFileMatcher: () => true, - }, -] - -export const groupTests = (testSuites) => { - // TODO: most likely not the best way to group these tests but will leave for now - return testSuites.reduce( - (acc, suite) => { - const { file, passed, failed, skipped } = suite - for (const group of acc) { - if (group.testFileMatcher(file)) { - group.results.push(suite) - group.passed += passed || 0 - group.failed += failed || 0 - group.skipped += skipped || 0 - break - } - } - - return acc - }, - groupDefinitions.map((group) => { - return { ...group, results: [], passed: 0, failed: 0, skipped: 0 } - }), - ) -} - -export const OpenIssues = ({ testCases }) => { - const [slider, setSlider] = useState({}) - - function handleSelect(el) { - setSlider({ - ...slider, - [el]: !slider[el], - }) - } - - return ( -
-
handleSelect('openIssues')}> -

Open Issues

-

Total: {testCases.length}

- {slider.openIssues ? ( - - ) : ( - - )} -
-
- - - - - - {testCases.map((testCase, index) => { - const { name, link, reason = 'Reason not yet assigned', retries } = testCase - return ( - - - - - ) - })} - -
TestReason
- {name} - {retries > 0 ? ` (🔁 retries: ${retries})` : null} - -

- {link ? ( - - - {reason} - - ) : ( - reason - )} -

-
- - ) -} - -export const SkippedTests = ({ testCases, testSuites }) => { - const [slider, setSlider] = useState({}) - - function handleSelect(el) { - setSlider({ - ...slider, - [`${el}`]: !slider[el], - }) - } - - return ( -
-
handleSelect('skipped')}> -

Skipped Tests

-

- Total: {testSuites.length} suites + {testCases.length} tests -

- {slider.skipped ? ( - - ) : ( - - )} -
- - - - - - - {testSuites.map((testCase, index) => { - const { file, reason } = testCase - return ( - - - - - ) - })} - {testCases.map((testCase, index) => { - const { name, reason } = testCase - return ( - - - - - ) - })} - -
TestReason
{file} -

{reason}

-
{name} -

{reason}

-
-
- ) -} diff --git a/e2e-report/components/grouped-tests.js b/e2e-report/components/grouped-tests.js deleted file mode 100644 index e6ed96c15a..0000000000 --- a/e2e-report/components/grouped-tests.js +++ /dev/null @@ -1,79 +0,0 @@ -'use client' - -import { useState } from 'react' - -import Down from '../public/down.svg' -import Up from '../public/up.svg' - -import { TestChart } from './chart.js' -import { groupTests } from './filter-data.js' -import Table from './table.js' -import TestSuites from './test-suites.js' - -export default function GroupedTests({ testData }) { - const testGroups = groupTests(testData) - - const [slider, setSlider] = useState({}) - function handleSelect(el) { - setSlider({ - ...slider, - [el]: !slider[el], - }) - } - - const arrows = (dropdown) => { - return dropdown ? ( - - ) : ( - - ) - } - - return ( - <> - {testGroups.map((testGroup) => { - const groupTotal = (testGroup.passed ?? 0) + (testGroup.failed ?? 0) - return ( -
-
handleSelect(testGroup.id)}> - - - {arrows(slider[testGroup.id])} - -
- {testGroup.results - // We don't want to show skipped tests in this section - .map((suite) => ({ - ...suite, - testCases: suite.testCases?.filter(({ status }) => status !== 'skipped'), - })) - .filter((suite) => suite.testCases?.length > 0) - .sort( - (aa, bb) => - (bb.passed || 0) + (bb.failed || 0) - ((aa.passed || 0) + (aa.failed || 0)), - ) - .map((suite, index) => { - return ( -
- -
- ) - })} -
- - ) - })} - - ) -} diff --git a/e2e-report/components/hero.js b/e2e-report/components/hero.js deleted file mode 100644 index 38c4879e2d..0000000000 --- a/e2e-report/components/hero.js +++ /dev/null @@ -1,33 +0,0 @@ -import Image from 'next/image.js' - -export default function Hero({ passed, failed, passRate }) { - const total = passed + failed - return ( - <> -
-
- -
-

- Next.js Runtime v5 -
- Report -

-
-

- {passRate} -
Pass rate -

-

- {passed.toLocaleString()} of {total.toLocaleString()} -
Next.js tests passing -

-

- {failed} -
Tests to go -

-
-
- - ) -} diff --git a/e2e-report/components/icons.js b/e2e-report/components/icons.js new file mode 100644 index 0000000000..cd667fa977 --- /dev/null +++ b/e2e-report/components/icons.js @@ -0,0 +1,85 @@ +export function ErrorIcon() { + return ( + + + + ) +} + +export function InfoIcon() { + return ( + + + + ) +} + +export function NaIcon() { + return ( + + + + ) +} + +export function GithubIcon({ className }) { + return ( + + + + ) +} + +export function CopyIcon({ className }) { + return ( + + + + ) +} diff --git a/e2e-report/components/stats.js b/e2e-report/components/stats.js new file mode 100644 index 0000000000..1e0704db2a --- /dev/null +++ b/e2e-report/components/stats.js @@ -0,0 +1,65 @@ +import { InfoIcon, ErrorIcon, NaIcon } from '@/components/icons' + +export default function StatsRow({ testData }) { + const testsRun = testData.passed + testData.failed + const passRate = ((testData.passed / testsRun) * 100).toFixed(1) + + return ( +
+
+
Next.js version
+
{testData.nextVersion}
+
run date: {testData.testDate}
+
+ +
+
Tests Run
+
{testsRun.toLocaleString()}
+
exc. skipped tests
+
+ +
+
Passing Tests
+
+ {testData.passed.toLocaleString()} + ({passRate}%) +
+
of all tests run
+
+ +
+
Known Failures
+
+
+ +
+ {testData.knownFailuresCount} +
+
mapped to GitHub issues
+
+ +
+
Unknown Failures
+
+
+ +
+ {testData.unknownFailuresCount} +
+
not mapped to issues
+
+ +
+
Skipped
+
+
+
+ +
+ {testData.skipped.tests.toLocaleString()} +
+
using proprietary tools
+
+
+ ) +} diff --git a/e2e-report/components/switcher.js b/e2e-report/components/switcher.js new file mode 100644 index 0000000000..84c281a615 --- /dev/null +++ b/e2e-report/components/switcher.js @@ -0,0 +1,45 @@ +'use client' +import { useState } from 'react' + +// Given a map of labels->components, create a toggle button group to allow switching +// between these components. This is a stateful client component, but can receive server components. +export default function ComponentSwitcher({ components, defaultLabel }) { + const labels = Object.keys(components) + const [selectedLabel, setSelectedLabel] = useState(defaultLabel || labels[0]) + const currComponent = components[selectedLabel] + + return ( +
+
+ +
+ {currComponent} +
+ ) +} + +function ToggleButtonGroup({ labels, selectedLabel, setSelectedLabel }) { + return ( +
+ {labels.map((label) => { + return ( + { + setSelectedLabel(label) + }} + /> + ) + })} +
+ ) +} diff --git a/e2e-report/components/table.js b/e2e-report/components/table.js index ae01f78f9f..85b55a0fd6 100644 --- a/e2e-report/components/table.js +++ b/e2e-report/components/table.js @@ -1,30 +1,166 @@ -export default function Table({ th, name, suitesTotal, total, passed, retries }) { +import Link from 'next/link' +import { GithubIcon } from './icons' + +// Show test suites and non-passing cases per each +export default function Table({ suites }) { + const countColumns = ['Pass', 'Fail', 'Known', 'Skip'] + return ( -
- - - {th.map((header) => ( - - ))} - +
{header}
+ - - {suitesTotal && ( - - )} - - + + {countColumns.map((col) => { + return ( + + ) + })} + + + {suites.map((suite, idx) => { + return + })}
-

{name}

-
-

{suitesTotal}

-
-

{total.toLocaleString()}

-
-

{Math.round((passed / total) * 100)}%

- {retries > 0 ? (⚠️ retries: {retries}) : null} -
Test suite name + {col} +
) } + +function TestSuiteRow({ suite, idx }) { + const badgeClasses = 'badge font-bold rounded ' + return ( + <> + + + + {suite.name} + + + {suite.passed} + + {suite.failedUnknown > 0 ? ( +
{suite.failedUnknown}
+ ) : ( + '0' + )} + + + {suite.failedKnown > 0 ? ( +
{suite.failedKnown}
+ ) : ( + '0' + )} + + + {suite.skipped > 0 ? ( +
{suite.skipped}
+ ) : ( + '0' + )} + + + + {suite.testCases + .filter((t) => t.status != 'passed') + .map((t) => { + return + })} + + ) +} + +const maxLength = 100 + +// Simple utility not meant to cover all types of texts/lengths/cases +function shorten(text) { + if (!text || text.length <= maxLength) return text + + // Slice text in two at the first whitespace after the middle of the text + const ellipsis = ' [....]' + const midIdx = (maxLength - ellipsis.length) / 2 + const sliceInx = text.indexOf(' ', midIdx) + const beforeSlice = text.slice(0, sliceInx) + ellipsis + let afterSlice = text.slice(sliceInx) + + // As long the full text is too long, trim more full words + while (beforeSlice.length + afterSlice.length > maxLength) { + afterSlice = afterSlice.replace(/[^\s]+\s+/, '') + } + return beforeSlice + afterSlice +} + +function TestCaseRow({ test }) { + const fullName = test.name + (test.retries > 0 ? ` (${test.retries} retries)` : '') + const displayName = shorten(fullName) + const nameHasTooltip = displayName != fullName + + const displayReason = shorten(test.reason) + const reasonHasTooltip = displayReason != test.reason + + function StatusBadge() { + let badgeClasses = 'badge rounded ' + let label = '' + + if (test.status == 'failed') { + label = 'Failed' + badgeClasses += test.reason ? 'badge-warning' : 'badge-error text-white' + } else { + label = 'Skipped' + badgeClasses += 'badge-accent' + } + + return
{label}
+ } + + function NameLine() { + return ( +
+ +
+ Test: {displayName} +
+
+ ) + } + + function ReasonLine() { + return ( +
+ {test.link ? ( + + + {displayReason} + + ) : ( + {displayReason} + )} +
+ ) + } + + return ( + + +
+ + {!!test.reason && } +
+ + + ) +} diff --git a/e2e-report/components/test-suites.js b/e2e-report/components/test-suites.js deleted file mode 100644 index b57128f9c6..0000000000 --- a/e2e-report/components/test-suites.js +++ /dev/null @@ -1,43 +0,0 @@ -import Table from './table.js' - -export default function TestSuites({ suite, slider, handleSelect, arrows }) { - const { name, file, passed, failed, testCases, retries } = suite - - return ( - <> -
handleSelect(name)} className="card"> - - {arrows(slider[name])} - - - - ) -} diff --git a/e2e-report/next.config.mjs b/e2e-report/next.config.mjs index 2ebf067df9..1d6147825a 100644 --- a/e2e-report/next.config.mjs +++ b/e2e-report/next.config.mjs @@ -1,13 +1,4 @@ /** @type {import('next').NextConfig} */ -const nextConfig = { - webpack(config) { - config.module.rules.push({ - test: /\.svg$/i, - issuer: /\.[jt]sx?$/, - use: ['@svgr/webpack'], - }) - return config - }, -} +const nextConfig = {} export default nextConfig diff --git a/e2e-report/package-lock.json b/e2e-report/package-lock.json index c8d2422ca1..25bdcc6c57 100644 --- a/e2e-report/package-lock.json +++ b/e2e-report/package-lock.json @@ -1,1984 +1,47 @@ { "name": "e2e-test-site", - "version": "0.1.0", + "version": "0.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "e2e-test-site", - "version": "0.1.0", - "dependencies": { - "@netlify/plugin-nextjs": "^5.3.3", - "chart.js": "^4.4.2", - "next": "^14.2.3", - "react": "^18.3.1", - "react-dom": "^18.3.1" - }, - "devDependencies": { - "@svgr/webpack": "^8.1.0", - "eslint": "^8.57.0", - "eslint-config-next": "^14.2.3", - "sass": "^1.77.1" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", - "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.24.2", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", - "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz", - "integrity": "sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.24.5", - "@babel/helpers": "^7.24.5", - "@babel/parser": "^7.24.5", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.5", - "@babel/types": "^7.24.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/core/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, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.5.tgz", - "integrity": "sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.5", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", - "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@babel/helper-compilation-targets/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, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz", - "integrity": "sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.24.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.24.5", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", - "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", - "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz", - "integrity": "sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", - "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz", - "integrity": "sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.24.3", - "@babel/helper-simple-access": "^7.24.5", - "@babel/helper-split-export-declaration": "^7.24.5", - "@babel/helper-validator-identifier": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz", - "integrity": "sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", - "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-wrap-function": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", - "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz", - "integrity": "sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz", - "integrity": "sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", - "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz", - "integrity": "sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.5.tgz", - "integrity": "sha512-/xxzuNvgRl4/HLNKvnFwdhdgN3cpLxgLROeLDl83Yx0AJ1SGvq1ak0OszTOjDfiB8Vx03eJbeDWh9r+jCCWttw==", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.23.0", - "@babel/template": "^7.24.0", - "@babel/types": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.5.tgz", - "integrity": "sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==", - "dev": true, - "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.5", - "@babel/types": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz", - "integrity": "sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.24.5", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.5.tgz", - "integrity": "sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.5.tgz", - "integrity": "sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", - "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", - "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.24.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", - "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", - "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", - "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", - "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", - "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", - "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", - "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-remap-async-to-generator": "^7.22.20", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", - "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-remap-async-to-generator": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", - "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.5.tgz", - "integrity": "sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", - "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz", - "integrity": "sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.4", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.5.tgz", - "integrity": "sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-split-export-declaration": "^7.24.5", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-classes/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", - "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/template": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.5.tgz", - "integrity": "sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", - "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", - "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", - "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", - "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", - "dev": true, - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", - "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", - "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", - "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", - "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", - "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", - "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", - "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", - "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", - "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-simple-access": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", - "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", - "dev": true, - "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", - "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", - "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", - "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", - "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.5.tgz", - "integrity": "sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", - "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-replace-supers": "^7.24.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", - "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz", - "integrity": "sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz", - "integrity": "sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz", - "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.5.tgz", - "integrity": "sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.24.5", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", - "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.1.tgz", - "integrity": "sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz", - "integrity": "sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", - "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/types": "^7.23.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", - "dev": true, - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz", - "integrity": "sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", - "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "regenerator-transform": "^0.15.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", - "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", - "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", - "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", - "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", - "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.5.tgz", - "integrity": "sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.5.tgz", - "integrity": "sha512-E0VWu/hk83BIFUWnsKZ4D81KXjN5L3MobvevOHErASk9IPwKHOkTgvqzvNo1yP/ePJWqqK2SpUR5z+KQbl6NVw==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.24.5", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/plugin-syntax-typescript": "^7.24.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", - "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", - "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", - "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", - "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.5.tgz", - "integrity": "sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.24.4", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.24.1", - "@babel/plugin-syntax-import-attributes": "^7.24.1", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.24.1", - "@babel/plugin-transform-async-generator-functions": "^7.24.3", - "@babel/plugin-transform-async-to-generator": "^7.24.1", - "@babel/plugin-transform-block-scoped-functions": "^7.24.1", - "@babel/plugin-transform-block-scoping": "^7.24.5", - "@babel/plugin-transform-class-properties": "^7.24.1", - "@babel/plugin-transform-class-static-block": "^7.24.4", - "@babel/plugin-transform-classes": "^7.24.5", - "@babel/plugin-transform-computed-properties": "^7.24.1", - "@babel/plugin-transform-destructuring": "^7.24.5", - "@babel/plugin-transform-dotall-regex": "^7.24.1", - "@babel/plugin-transform-duplicate-keys": "^7.24.1", - "@babel/plugin-transform-dynamic-import": "^7.24.1", - "@babel/plugin-transform-exponentiation-operator": "^7.24.1", - "@babel/plugin-transform-export-namespace-from": "^7.24.1", - "@babel/plugin-transform-for-of": "^7.24.1", - "@babel/plugin-transform-function-name": "^7.24.1", - "@babel/plugin-transform-json-strings": "^7.24.1", - "@babel/plugin-transform-literals": "^7.24.1", - "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", - "@babel/plugin-transform-member-expression-literals": "^7.24.1", - "@babel/plugin-transform-modules-amd": "^7.24.1", - "@babel/plugin-transform-modules-commonjs": "^7.24.1", - "@babel/plugin-transform-modules-systemjs": "^7.24.1", - "@babel/plugin-transform-modules-umd": "^7.24.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.24.1", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", - "@babel/plugin-transform-numeric-separator": "^7.24.1", - "@babel/plugin-transform-object-rest-spread": "^7.24.5", - "@babel/plugin-transform-object-super": "^7.24.1", - "@babel/plugin-transform-optional-catch-binding": "^7.24.1", - "@babel/plugin-transform-optional-chaining": "^7.24.5", - "@babel/plugin-transform-parameters": "^7.24.5", - "@babel/plugin-transform-private-methods": "^7.24.1", - "@babel/plugin-transform-private-property-in-object": "^7.24.5", - "@babel/plugin-transform-property-literals": "^7.24.1", - "@babel/plugin-transform-regenerator": "^7.24.1", - "@babel/plugin-transform-reserved-words": "^7.24.1", - "@babel/plugin-transform-shorthand-properties": "^7.24.1", - "@babel/plugin-transform-spread": "^7.24.1", - "@babel/plugin-transform-sticky-regex": "^7.24.1", - "@babel/plugin-transform-template-literals": "^7.24.1", - "@babel/plugin-transform-typeof-symbol": "^7.24.5", - "@babel/plugin-transform-unicode-escapes": "^7.24.1", - "@babel/plugin-transform-unicode-property-regex": "^7.24.1", - "@babel/plugin-transform-unicode-regex": "^7.24.1", - "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.4", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.31.0", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "dev": true, + "version": "0.2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" + "@netlify/plugin-nextjs": "^5.3.3", + "next": "^14.2.3", + "react": "^18.3.1", + "react-dom": "^18.3.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/preset-react": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.1.tgz", - "integrity": "sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-transform-react-display-name": "^7.24.1", - "@babel/plugin-transform-react-jsx": "^7.23.4", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.24.1" + "devDependencies": { + "autoprefixer": "^10.4.19", + "daisyui": "^4.12.2", + "eslint": "^8.57.0", + "eslint-config-next": "^14.2.4", + "postcss": "^8.4.38", + "sass": "^1.77.1", + "tailwindcss": "^3.4.4" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18.0.0" } }, - "node_modules/@babel/preset-typescript": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz", - "integrity": "sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==", + "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==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-syntax-jsx": "^7.24.1", - "@babel/plugin-transform-modules-commonjs": "^7.24.1", - "@babel/plugin-transform-typescript": "^7.24.1" - }, "engines": { - "node": ">=6.9.0" + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "dev": true - }, "node_modules/@babel/runtime": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz", - "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", + "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", "dev": true, "dependencies": { "regenerator-runtime": "^0.14.0" @@ -1987,62 +50,30 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.5.tgz", - "integrity": "sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==", + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.24.5", - "@babel/parser": "^7.24.5", - "@babel/types": "^7.24.5", - "debug": "^4.3.1", - "globals": "^11.1.0" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/types": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz", - "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==", + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@babel/helper-string-parser": "^7.24.1", - "@babel/helper-validator-identifier": "^7.24.5", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, "node_modules/@eslint-community/eslint-utils": { @@ -2061,9 +92,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", + "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -2105,6 +136,7 @@ "version": "0.11.14", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^2.0.2", @@ -2132,6 +164,7 @@ "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==", + "deprecated": "Use @eslint/object-schema instead", "dev": true }, "node_modules/@isaacs/cliui": { @@ -2226,11 +259,6 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@kurkle/color": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz", - "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==" - }, "node_modules/@netlify/plugin-nextjs": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/@netlify/plugin-nextjs/-/plugin-nextjs-5.3.3.tgz", @@ -2241,23 +269,23 @@ } }, "node_modules/@next/env": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.3.tgz", - "integrity": "sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==" + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.4.tgz", + "integrity": "sha512-3EtkY5VDkuV2+lNmKlbkibIJxcO4oIHEhBWne6PaAp+76J9KoSsGvNikp6ivzAT8dhhBMYrm6op2pS1ApG0Hzg==" }, "node_modules/@next/eslint-plugin-next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.3.tgz", - "integrity": "sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.4.tgz", + "integrity": "sha512-svSFxW9f3xDaZA3idQmlFw7SusOuWTpDTAeBlO3AEPDltrraV+lqs7mAc6A27YdnpQVVIA3sODqUAAHdWhVWsA==", "dev": true, "dependencies": { "glob": "10.3.10" } }, "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.3.tgz", - "integrity": "sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.4.tgz", + "integrity": "sha512-AH3mO4JlFUqsYcwFUHb1wAKlebHU/Hv2u2kb1pAuRanDZ7pD/A/KPD98RHZmwsJpdHQwfEc/06mgpSzwrJYnNg==", "cpu": [ "arm64" ], @@ -2270,9 +298,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.3.tgz", - "integrity": "sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.4.tgz", + "integrity": "sha512-QVadW73sWIO6E2VroyUjuAxhWLZWEpiFqHdZdoQ/AMpN9YWGuHV8t2rChr0ahy+irKX5mlDU7OY68k3n4tAZTg==", "cpu": [ "x64" ], @@ -2285,9 +313,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.3.tgz", - "integrity": "sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.4.tgz", + "integrity": "sha512-KT6GUrb3oyCfcfJ+WliXuJnD6pCpZiosx2X3k66HLR+DMoilRb76LpWPGb4tZprawTtcnyrv75ElD6VncVamUQ==", "cpu": [ "arm64" ], @@ -2300,9 +328,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.3.tgz", - "integrity": "sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.4.tgz", + "integrity": "sha512-Alv8/XGSs/ytwQcbCHwze1HmiIkIVhDHYLjczSVrf0Wi2MvKn/blt7+S6FJitj3yTlMwMxII1gIJ9WepI4aZ/A==", "cpu": [ "arm64" ], @@ -2315,9 +343,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.3.tgz", - "integrity": "sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.4.tgz", + "integrity": "sha512-ze0ShQDBPCqxLImzw4sCdfnB3lRmN3qGMB2GWDRlq5Wqy4G36pxtNOo2usu/Nm9+V2Rh/QQnrRc2l94kYFXO6Q==", "cpu": [ "x64" ], @@ -2330,9 +358,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.3.tgz", - "integrity": "sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.4.tgz", + "integrity": "sha512-8dwC0UJoc6fC7PX70csdaznVMNr16hQrTDAMPvLPloazlcaWfdPogq+UpZX6Drqb1OBlwowz8iG7WR0Tzk/diQ==", "cpu": [ "x64" ], @@ -2345,9 +373,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.3.tgz", - "integrity": "sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.4.tgz", + "integrity": "sha512-jxyg67NbEWkDyvM+O8UDbPAyYRZqGLQDTPwvrBBeOSyVWW/jFQkQKQ70JDqDSYg1ZDdl+E3nkbFbq8xM8E9x8A==", "cpu": [ "arm64" ], @@ -2360,9 +388,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.3.tgz", - "integrity": "sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.4.tgz", + "integrity": "sha512-twrmN753hjXRdcrZmZttb/m5xaCBFa48Dt3FbeEItpJArxriYDunWxJn+QFXdJ3hPkm4u7CKxncVvnmgQMY1ag==", "cpu": [ "ia32" ], @@ -2371,332 +399,75 @@ "win32" ], "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.3.tgz", - "integrity": "sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==", - "cpu": [ - "x64" - ], - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "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==", - "dev": true, - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@rushstack/eslint-patch": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.2.tgz", - "integrity": "sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==", - "dev": true - }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", - "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", - "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", - "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", - "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", - "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", - "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", - "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", - "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-preset": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", - "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", - "dev": true, - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", - "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", - "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", - "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", - "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", - "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", - "@svgr/babel-plugin-transform-svg-component": "8.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">= 10" } }, - "node_modules/@svgr/core": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", - "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.21.3", - "@svgr/babel-preset": "8.1.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^8.1.3", - "snake-case": "^3.0.4" - }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.4.tgz", + "integrity": "sha512-tkLrjBzqFTP8DVrAAQmZelEahfR9OxWpFR++vAI9FBhCiIxtwHwBHC23SBHCTURBtwB4kc/x44imVOnkKGNVGg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": ">= 10" } }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", - "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "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==", "dev": true, "dependencies": { - "@babel/types": "^7.21.3", - "entities": "^4.4.0" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": ">= 8" } }, - "node_modules/@svgr/plugin-jsx": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", - "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "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==", "dev": true, - "dependencies": { - "@babel/core": "^7.21.3", - "@svgr/babel-preset": "8.1.0", - "@svgr/hast-util-to-babel-ast": "8.0.0", - "svg-parser": "^2.0.4" - }, "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" + "node": ">= 8" } }, - "node_modules/@svgr/plugin-svgo": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", - "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", + "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==", "dev": true, "dependencies": { - "cosmiconfig": "^8.1.3", - "deepmerge": "^4.3.1", - "svgo": "^3.0.2" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" + "node": ">= 8" } }, - "node_modules/@svgr/webpack": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", - "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", + "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==", "dev": true, - "dependencies": { - "@babel/core": "^7.21.3", - "@babel/plugin-transform-react-constant-elements": "^7.21.3", - "@babel/preset-env": "^7.20.2", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.21.0", - "@svgr/core": "8.1.0", - "@svgr/plugin-jsx": "8.1.0", - "@svgr/plugin-svgo": "8.1.0" - }, + "optional": true, "engines": { "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" } }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.3.tgz", + "integrity": "sha512-qC/xYId4NMebE6w/V33Fh9gWxLgURiNYgVNObbJl2LZv0GUUItCcCqC5axQSwRaAgaxl2mELq1rMzlswaQ0Zxg==", + "dev": true + }, "node_modules/@swc/counter": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", @@ -2711,14 +482,37 @@ "tslib": "^2.4.0" } }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", "dev": true, - "engines": { - "node": ">=10.13.0" - } + "optional": true, + "peer": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true, + "optional": true, + "peer": true }, "node_modules/@types/json5": { "version": "0.0.29", @@ -2726,27 +520,34 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, + "node_modules/@types/node": { + "version": "20.5.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.1.tgz", + "integrity": "sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==", + "dev": true, + "optional": true, + "peer": true + }, "node_modules/@typescript-eslint/parser": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.2.0.tgz", - "integrity": "sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "7.2.0", - "@typescript-eslint/types": "7.2.0", - "@typescript-eslint/typescript-estree": "7.2.0", - "@typescript-eslint/visitor-keys": "7.2.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "debug": "^4.3.4" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.56.0" + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -2755,16 +556,16 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.2.0.tgz", - "integrity": "sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.2.0", - "@typescript-eslint/visitor-keys": "7.2.0" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", @@ -2772,12 +573,12 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.2.0.tgz", - "integrity": "sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", @@ -2785,22 +586,21 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.2.0.tgz", - "integrity": "sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.2.0", - "@typescript-eslint/visitor-keys": "7.2.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", @@ -2812,41 +612,17 @@ } } }, - "node_modules/@typescript-eslint/typescript-estree/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==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.2.0.tgz", - "integrity": "sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.2.0", - "eslint-visitor-keys": "^3.4.1" + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", @@ -2860,9 +636,9 @@ "dev": true }, "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", + "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -2880,6 +656,20 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -2920,6 +710,12 @@ "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==", + "dev": true + }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", @@ -2933,6 +729,12 @@ "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==", + "dev": true + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -3082,16 +884,19 @@ } }, "node_modules/array.prototype.tosorted": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", - "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", "dev": true, "dependencies": { - "call-bind": "^1.0.5", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.1.0", + "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": { @@ -3122,6 +927,43 @@ "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", "dev": true }, + "node_modules/autoprefixer": { + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -3155,54 +997,6 @@ "dequal": "^2.0.3" } }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", - "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.2", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", - "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.1", - "core-js-compat": "^3.36.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", - "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -3221,12 +1015,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true - }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -3238,21 +1026,21 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "devOptional": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" } }, "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "version": "4.23.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", + "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", "dev": true, "funding": [ { @@ -3269,10 +1057,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", + "caniuse-lite": "^1.0.30001629", + "electron-to-chromium": "^1.4.796", "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "update-browserslist-db": "^1.0.16" }, "bin": { "browserslist": "cli.js" @@ -3320,22 +1108,19 @@ "node": ">=6" } }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "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==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001612", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz", - "integrity": "sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==", + "version": "1.0.30001634", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001634.tgz", + "integrity": "sha512-fbBYXQ9q3+yp1q1gBk86tOFs4pyn/yxFm5ZNP18OXJDfA3txImOY9PhfxVggZ4vRHDqoU8NrKU81eN0OtzOgRA==", "funding": [ { "type": "opencollective", @@ -3367,18 +1152,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/chart.js": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.3.tgz", - "integrity": "sha512-qK1gkGSRYcJzqrrzdR6a+I0vQ4/R+SoODXyAjscQ/4mzuNzySaMCd+hyVxitSY1+L2fjPD1Gbn+ibNqRmwQeLw==", - "license": "MIT", - "dependencies": { - "@kurkle/color": "^0.3.0" - }, - "engines": { - "pnpm": ">=8" - } - }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -3439,65 +1212,28 @@ "dev": true }, "node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "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 - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/core-js-compat": { - "version": "3.37.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz", - "integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==", - "dev": true, - "dependencies": { - "browserslist": "^4.23.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "dev": true, - "dependencies": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" - }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "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 + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true, + "optional": true, + "peer": true + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -3512,80 +1248,56 @@ "node": ">= 8" } }, - "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "node_modules/css-selector-tokenizer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz", + "integrity": "sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==", "dev": true, "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" } }, - "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "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==", "dev": true, - "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" + "bin": { + "cssesc": "bin/cssesc" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + "node": ">=4" } }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "node_modules/culori": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/culori/-/culori-3.3.0.tgz", + "integrity": "sha512-pHJg+jbuFsCjz9iclQBqyL3B2HLCBF71BwVNujUYEvCeQMvV97R59MNK3R2+jgJ3a1fcZgI9B3vYgz8lzr/BFQ==", "dev": true, "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "node_modules/daisyui": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-4.12.2.tgz", + "integrity": "sha512-ed3EFwPRLN+9+/MYPRB1pYjk6plRCBMobfBdSeB3voAS81KdL2pCKtbwJfUUpDdOnJ0F8T6oRdVX02P6UCD0Hg==", "dev": true, "dependencies": { - "css-tree": "~2.2.0" + "css-selector-tokenizer": "^0.8", + "culori": "^3", + "picocolors": "^1", + "postcss-js": "^4" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" + "node": ">=16.9.0" }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/daisyui" } }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "dev": true - }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", @@ -3644,9 +1356,9 @@ } }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -3666,15 +1378,6 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", @@ -3718,6 +1421,23 @@ "node": ">=6" } }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -3730,81 +1450,22 @@ "node": ">=8" } }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "dependencies": { "esutils": "^2.0.2" }, "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dev": true, - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "dev": true, - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dev": true, - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "node": ">=0.10.0" } }, "node_modules/eastasianwidth": { @@ -3814,9 +1475,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.758", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.758.tgz", - "integrity": "sha512-/o9x6TCdrYZBMdGeTifAP3wlF/gVT+TtWJe3BSmtNh92Mw81U9hrYwW9OAGUh+sEOX/yz5e34sksqRruZbjYrw==", + "version": "1.4.803", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.803.tgz", + "integrity": "sha512-61H9mLzGOCLLVsnLiRzCbc63uldP0AniRYPV3hbGVtONA1pI7qSGILdbofR7A8TMbOypDocEAjH/e+9k1QIe3g==", "dev": true }, "node_modules/emoji-regex": { @@ -3826,9 +1487,9 @@ "dev": true }, "node_modules/enhanced-resolve": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", - "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz", + "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -3838,27 +1499,6 @@ "node": ">=10.13.0" } }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, "node_modules/es-abstract": { "version": "1.23.3", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", @@ -3941,14 +1581,14 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.0.18", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz", - "integrity": "sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==", + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", + "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", "dev": true, "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", + "es-abstract": "^1.23.3", "es-errors": "^1.3.0", "es-set-tostringtag": "^2.0.3", "function-bind": "^1.1.2", @@ -4094,12 +1734,12 @@ } }, "node_modules/eslint-config-next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.3.tgz", - "integrity": "sha512-ZkNztm3Q7hjqvB1rRlOX8P9E/cXRL9ajRcs8jufEtwMfTVYRqnmtnaSu57QqHyBlovMuiB8LEzfLBkh5RYV6Fg==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.4.tgz", + "integrity": "sha512-Qr0wMgG9m6m4uYy2jrYJmyuNlYZzPRQq5Kvb9IDlYwn+7yq6W6sfMNFgb+9guM1KYwuIo6TIaiFhZJ6SnQ/Efw==", "dev": true, "dependencies": { - "@next/eslint-plugin-next": "14.2.3", + "@next/eslint-plugin-next": "14.2.4", "@rushstack/eslint-patch": "^1.3.3", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0", "eslint-import-resolver-node": "^0.3.6", @@ -4230,18 +1870,6 @@ "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, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/eslint-plugin-import/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -4282,29 +1910,29 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.34.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", - "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", + "version": "7.34.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.2.tgz", + "integrity": "sha512-2HCmrU+/JNigDN6tg55cRDKCQWicYAPB38JGSFDQt95jDm8rrvSUo7YPkOIm5l6ts1j1zCvysNcasvfTMQzUOw==", "dev": true, "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlast": "^1.2.4", + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", "array.prototype.flatmap": "^1.3.2", "array.prototype.toreversed": "^1.1.2", "array.prototype.tosorted": "^1.1.3", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.17", + "es-iterator-helpers": "^1.0.19", "estraverse": "^5.3.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7", - "object.hasown": "^1.1.3", - "object.values": "^1.1.7", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.hasown": "^1.1.4", + "object.values": "^1.2.0", "prop-types": "^15.8.1", "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.10" + "string.prototype.matchall": "^4.0.11" }, "engines": { "node": ">=4" @@ -4314,9 +1942,9 @@ } }, "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", "dev": true, "engines": { "node": ">=10" @@ -4325,18 +1953,6 @@ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" } }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "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.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", @@ -4391,6 +2007,18 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/espree": { "version": "9.6.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", @@ -4496,6 +2124,12 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, + "node_modules/fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "dev": true + }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", @@ -4518,9 +2152,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "devOptional": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -4575,9 +2209,9 @@ } }, "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", + "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", "dev": true, "dependencies": { "cross-spawn": "^7.0.0", @@ -4590,6 +2224,19 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -4646,15 +2293,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/get-intrinsic": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", @@ -4692,9 +2330,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz", - "integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==", + "version": "4.7.5", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.5.tgz", + "integrity": "sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==", "dev": true, "dependencies": { "resolve-pkg-maps": "^1.0.0" @@ -4777,12 +2415,13 @@ } }, "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "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, "dependencies": { - "define-properties": "^1.1.3" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -4925,9 +2564,9 @@ } }, "node_modules/immutable": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", - "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz", + "integrity": "sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==", "devOptional": true }, "node_modules/import-fresh": { @@ -4959,6 +2598,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, "dependencies": { "once": "^1.3.0", @@ -5001,12 +2641,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, "node_modules/is-async-function": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", @@ -5401,6 +3035,15 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "dev": true, + "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", @@ -5418,30 +3061,12 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, "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 }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -5491,9 +3116,9 @@ } }, "node_modules/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", "dev": true }, "node_modules/language-tags": { @@ -5521,6 +3146,15 @@ "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==", + "dev": true, + "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", @@ -5542,12 +3176,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true - }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -5565,15 +3193,6 @@ "loose-envify": "cli.js" } }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "dependencies": { - "tslib": "^2.0.3" - } - }, "node_modules/lru-cache": { "version": "10.2.2", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", @@ -5583,11 +3202,13 @@ "node": "14 || >=16.14" } }, - "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "dev": true + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true, + "optional": true, + "peer": true }, "node_modules/merge2": { "version": "1.4.1", @@ -5599,12 +3220,12 @@ } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "dev": true, "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -5633,9 +3254,9 @@ } }, "node_modules/minipass": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.1.tgz", - "integrity": "sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -5647,6 +3268,17 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "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", @@ -5671,11 +3303,11 @@ "dev": true }, "node_modules/next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.3.tgz", - "integrity": "sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.4.tgz", + "integrity": "sha512-R8/V7vugY+822rsQGQCjoLhMuC9oFj9SOi4Cl4b2wjDrseD0LRZ10W7R6Czo4w9ZznVSshKjuIomsRjvm9EKJQ==", "dependencies": { - "@next/env": "14.2.3", + "@next/env": "14.2.4", "@swc/helpers": "0.5.5", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", @@ -5690,15 +3322,15 @@ "node": ">=18.17.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.3", - "@next/swc-darwin-x64": "14.2.3", - "@next/swc-linux-arm64-gnu": "14.2.3", - "@next/swc-linux-arm64-musl": "14.2.3", - "@next/swc-linux-x64-gnu": "14.2.3", - "@next/swc-linux-x64-musl": "14.2.3", - "@next/swc-win32-arm64-msvc": "14.2.3", - "@next/swc-win32-ia32-msvc": "14.2.3", - "@next/swc-win32-x64-msvc": "14.2.3" + "@next/swc-darwin-arm64": "14.2.4", + "@next/swc-darwin-x64": "14.2.4", + "@next/swc-linux-arm64-gnu": "14.2.4", + "@next/swc-linux-arm64-musl": "14.2.4", + "@next/swc-linux-x64-gnu": "14.2.4", + "@next/swc-linux-x64-musl": "14.2.4", + "@next/swc-win32-arm64-msvc": "14.2.4", + "@next/swc-win32-ia32-msvc": "14.2.4", + "@next/swc-win32-x64-msvc": "14.2.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -5719,14 +3351,31 @@ } } }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": 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" + } + ], "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" } }, "node_modules/node-releases": { @@ -5744,16 +3393,13 @@ "node": ">=0.10.0" } }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", "dev": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "engines": { + "node": ">=0.10.0" } }, "node_modules/object-assign": { @@ -5765,6 +3411,15 @@ "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==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/object-inspect": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", @@ -5891,17 +3546,17 @@ } }, "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -5949,24 +3604,6 @@ "node": ">=6" } }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -6026,9 +3663,9 @@ } }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" }, "node_modules/picomatch": { "version": "2.3.1", @@ -6042,6 +3679,24 @@ "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/possible-typed-array-names": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", @@ -6052,9 +3707,10 @@ } }, "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "dev": true, "funding": [ { "type": "opencollective", @@ -6070,14 +3726,135 @@ } ], "dependencies": { - "nanoid": "^3.3.6", + "nanoid": "^3.3.7", "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "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==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", + "dev": true, + "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==", + "dev": true + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -6156,6 +3933,15 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, + "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==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -6189,39 +3975,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/regenerator-runtime": { "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", "dev": true }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, "node_modules/regexp.prototype.flags": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", @@ -6240,44 +3999,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "dev": true, - "dependencies": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dev": true, - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", @@ -6327,6 +4048,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "dependencies": { "glob": "^7.1.3" @@ -6342,6 +4064,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -6417,11 +4140,10 @@ } }, "node_modules/sass": { - "version": "1.77.6", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz", - "integrity": "sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==", + "version": "1.77.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.5.tgz", + "integrity": "sha512-oDfX1mukIlxacPdQqNb6mV2tVCrnE+P3nVYioy72V5tlk56CPNcO4TCuFcaCRKKfJ1M3lH95CleRS+dVKL2qMg==", "devOptional": true, - "license": "MIT", "dependencies": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -6443,13 +4165,10 @@ } }, "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -6457,18 +4176,6 @@ "node": ">=10" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -6561,16 +4268,6 @@ "node": ">=8" } }, - "node_modules/snake-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", - "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", - "dev": true, - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, "node_modules/source-map-js": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", @@ -6795,6 +4492,28 @@ } } }, + "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==", + "dev": true, + "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/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -6819,35 +4538,41 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", - "dev": true - }, - "node_modules/svgo": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.2.0.tgz", - "integrity": "sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==", + "node_modules/tailwindcss": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz", + "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==", "dev": true, "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.3.1", - "css-what": "^6.1.0", - "csso": "^5.0.5", - "picocolors": "^1.0.0" + "@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": { - "svgo": "bin/svgo" + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" }, "engines": { "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" } }, "node_modules/tapable": { @@ -6865,13 +4590,25 @@ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "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==", "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, "engines": { - "node": ">=4" + "node": ">=0.8" } }, "node_modules/to-regex-range": { @@ -6886,18 +4623,65 @@ "node": ">=8.0" } }, - "node_modules/ts-api-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "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==", + "dev": true + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, - "engines": { - "node": ">=16" + "optional": true, + "peer": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" }, "peerDependencies": { - "typescript": ">=4.2.0" + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } } }, + "node_modules/ts-node/node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true, + "optional": true, + "peer": true + }, "node_modules/tsconfig-paths": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", @@ -6911,9 +4695,30 @@ } }, "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true }, "node_modules/type-check": { "version": "0.4.0", @@ -7041,50 +4846,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/update-browserslist-db": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.15.tgz", - "integrity": "sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==", + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", + "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", "dev": true, "funding": [ { @@ -7102,7 +4867,7 @@ ], "dependencies": { "escalade": "^3.1.2", - "picocolors": "^1.0.0" + "picocolors": "^1.0.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -7120,6 +4885,20 @@ "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==", + "dev": true + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true, + "optional": true, + "peer": true + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -7214,6 +4993,15 @@ "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, + "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", @@ -7314,11 +5102,28 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "node_modules/yaml": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", + "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", + "dev": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=6" + } }, "node_modules/yocto-queue": { "version": "0.1.0", diff --git a/e2e-report/package.json b/e2e-report/package.json index 6b5c2e4951..a65737b679 100644 --- a/e2e-report/package.json +++ b/e2e-report/package.json @@ -1,6 +1,6 @@ { "name": "e2e-test-site", - "version": "0.1.0", + "version": "0.2.0", "private": true, "scripts": { "dev": "next dev", @@ -10,16 +10,18 @@ }, "dependencies": { "@netlify/plugin-nextjs": "^5.3.3", - "chart.js": "^4.4.2", "next": "^14.2.3", "react": "^18.3.1", "react-dom": "^18.3.1" }, "devDependencies": { - "@svgr/webpack": "^8.1.0", + "autoprefixer": "^10.4.19", + "daisyui": "^4.12.2", "eslint": "^8.57.0", - "eslint-config-next": "^14.2.3", - "sass": "^1.77.1" + "eslint-config-next": "^14.2.4", + "postcss": "^8.4.38", + "sass": "^1.77.1", + "tailwindcss": "^3.4.4" }, "engines": { "node": ">=18.0.0" diff --git a/e2e-report/postcss.config.js b/e2e-report/postcss.config.js new file mode 100644 index 0000000000..33ad091d26 --- /dev/null +++ b/e2e-report/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/e2e-report/public/MulishVar-latin.woff2 b/e2e-report/public/MulishVar-latin.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2bb52fd034bbd397061be43d7d37fdf5f610cdee GIT binary patch literal 31156 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

Gt%&JtLkD}HbT;$=MGp}5jH#cH51|JXW5$iGM- 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%0D0{8f<{DQ8>8;;%tupB4Ij1>04wKtL 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 X`+XcaZ_p=vK#=;au5KXp7ytkOld&42 literal 0 HcmV?d00001 diff --git a/e2e-report/public/arrow-up-right-from-square-solid.svg b/e2e-report/public/arrow-up-right-from-square-solid.svg deleted file mode 100644 index 894e9b42ff..0000000000 --- a/e2e-report/public/arrow-up-right-from-square-solid.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/e2e-report/public/down.svg b/e2e-report/public/down.svg deleted file mode 100644 index 00dfc5be8a..0000000000 --- a/e2e-report/public/down.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/e2e-report/app/favicon.ico b/e2e-report/public/favicon.ico similarity index 100% rename from e2e-report/app/favicon.ico rename to e2e-report/public/favicon.ico diff --git a/e2e-report/public/logo-light.svg b/e2e-report/public/logo.svg similarity index 100% rename from e2e-report/public/logo-light.svg rename to e2e-report/public/logo.svg diff --git a/e2e-report/public/noise.png b/e2e-report/public/noise.png deleted file mode 100644 index 96950c73fb24b42337da8ad081d291fb85bea41d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5812 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 - - diff --git a/e2e-report/tailwind.config.js b/e2e-report/tailwind.config.js new file mode 100644 index 0000000000..e428e9c676 --- /dev/null +++ b/e2e-report/tailwind.config.js @@ -0,0 +1,18 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: ['./app/**/*.{js,ts,jsx,tsx}', './components/**/*.{js,ts,jsx,tsx}'], + daisyui: { + themes: ['light'], + }, + theme: { + extend: { + fontFamily: { + primary: 'Mulish', + }, + colors: { + primary: '#2036a1', + }, + }, + }, + plugins: [require('daisyui')], +} diff --git a/e2e-report/utils/consts.js b/e2e-report/utils/consts.js new file mode 100644 index 0000000000..0078dd039e --- /dev/null +++ b/e2e-report/utils/consts.js @@ -0,0 +1,7 @@ +export const badgeSettings = { + // Badge image resolution should be 2x display size for hi-res displays + imageSize: { width: 370, height: 50 }, + displaySize: { width: 185, height: 25 }, + label: 'Next.js runtime v5', + alt: 'Netlify Next.js runtime v5 test status', +} diff --git a/e2e-report/utils/data.js b/e2e-report/utils/data.js new file mode 100644 index 0000000000..6f874c67a6 --- /dev/null +++ b/e2e-report/utils/data.js @@ -0,0 +1,42 @@ +import fileData from '@/data/test-results.json' + +const nonEmptySuites = fileData.results.filter((suite) => suite.testCases?.length > 0) +nonEmptySuites.forEach((suite) => { + const actualFailed = suite.testCases?.filter((t) => t.status === 'failed') || [] + if (actualFailed.length !== suite.failed) { + console.warn( + `In suite "${suite.name}", failed value is ${suite.failed} but count of actual failed cases found is ${actualFailed.length}`, + ) + suite.failed = actualFailed.length + } + + suite.failedKnown = actualFailed.filter((t) => !!t.reason).length || 0 + suite.failedUnknown = suite.failed - suite.failedKnown +}) + +const suitesWithFailures = nonEmptySuites.filter((suite) => suite.failed > 0) +suitesWithFailures.forEach((suite) => { + suite.testCases = suite.testCases.filter((t) => t.status === 'failed') +}) + +const allFailures = fileData.results + .flatMap((suite) => { + return suite.testCases?.filter((t) => t.status === 'failed') + }) + .filter(Boolean) +const knownFailuresCount = allFailures.filter((t) => !!t.reason).length +const unknownFailuresCount = allFailures.length - knownFailuresCount + +const testData = { + passed: fileData.passed, + failed: fileData.failed, + skipped: fileData.skipped, + nextVersion: fileData.nextVersion, + testDate: fileData.testDate, + nonEmptySuites, + suitesWithFailures, + knownFailuresCount, + unknownFailuresCount, +} + +export default testData