+ {/*this is the shadow that covers the page when the sidebar is open*/}
+
+ )
+}
diff --git a/src/components/speedtest.tsx b/apps/nextjs/src/components/speedtest.tsx
similarity index 73%
rename from src/components/speedtest.tsx
rename to apps/nextjs/src/components/speedtest.tsx
index ad837df..9ac3baf 100644
--- a/src/components/speedtest.tsx
+++ b/apps/nextjs/src/components/speedtest.tsx
@@ -1,22 +1,18 @@
import { useState } from 'react'
-import useInterval from '@/hooks/useInterval'
+import useInterval from '../hooks/useInterval'
import type { SpeedQuestion } from '@prisma/client'
-import type { User } from '~/utils/types'
-import { api } from '~/utils/api'
-import useUserStore from '~/stores/userStore'
-import { SingletonRouter, useRouter } from 'next/router'
-import { formatDate, navigate, navigateToNextExercise } from '~/utils/helpers'
+import type { User } from '@acme/types'
+import { trpc } from '../utils/trpc'
+import useUserStore from '../stores/userStore'
+import { type SingletonRouter, useRouter } from 'next/router'
+import { formatDate, navigate } from '@acme/helpers'
type QuestionViewProps = {
speedQuestion: SpeedQuestion
user: User | undefined
doneSignal: () => void
}
-function QuestionView({
- speedQuestion,
- user,
- doneSignal,
-}: QuestionViewProps){
+function QuestionView({ speedQuestion, user, doneSignal }: QuestionViewProps) {
const formattedQuestion = speedQuestion.passage.split(' ')
const [currentWord, setCurrentWord] = useState(formattedQuestion[0])
const isVisivle = true
@@ -29,7 +25,7 @@ function QuestionView({
useInterval(() => {
if (!user) console.log('User not found')
- if (isVisivle) setItteration((prev) => prev + 1)
+ if (isVisivle) setItteration(prev => prev + 1)
if (itteration >= formattedQuestion.length) {
doneSignal()
}
@@ -50,8 +46,8 @@ function AnswerView({
}: {
speedQuestion: SpeedQuestion
user: User | undefined
-}){
- const { mutate } = api.user.setUser.useMutation()
+}) {
+ const { mutate } = trpc.user.set.useMutation()
const store = useUserStore()
const router = useRouter()
const [correctOrNot, setCorrectOrNot] = useState(
@@ -68,7 +64,7 @@ function AnswerView({
D = 'D',
}
- function selectAnswer(answer: Answers){
+ function selectAnswer(answer: Answers) {
if (answer === speedQuestion.correctAnswer.toUpperCase()) {
setCorrectOrNot(
<>
@@ -121,51 +117,51 @@ function AnswerView({
{correctOrNot}
-
+
{speedQuestion.question}
selectAnswer(Answers.A)}
>
A)
-
+
{speedQuestion.answerA}
selectAnswer(Answers.B)}
>
B)
-
+
{speedQuestion.answerB}
selectAnswer(Answers.C)}
>
C)
-
+
{speedQuestion.answerC}
selectAnswer(Answers.D)}
>
D)
-
+
{speedQuestion.answerD}
@@ -180,7 +176,7 @@ export default function SpeedTest({
}: {
user: User | undefined
speedQuestion: SpeedQuestion
-}){
+}) {
const [isAnswerTime, setIsAnswerTime] = useState(false)
return (
<>
diff --git a/src/components/tableswitcher.tsx b/apps/nextjs/src/components/tableswitcher.tsx
similarity index 55%
rename from src/components/tableswitcher.tsx
rename to apps/nextjs/src/components/tableswitcher.tsx
index 8722196..d62b357 100644
--- a/src/components/tableswitcher.tsx
+++ b/apps/nextjs/src/components/tableswitcher.tsx
@@ -1,11 +1,17 @@
-import Link from "next/link"
-import { type User } from "~/utils/types"
+import Link from 'next/link'
+import { type User } from '@acme/types'
-export default function TableSwitcher({ user, className }: { user: User | null, className?: string }) {
+export default function TableSwitcher({
+ user,
+ className,
+}: {
+ user: User | null
+ className?: string
+}) {
function NavEasy() {
return (
Easy
@@ -15,7 +21,7 @@ export default function TableSwitcher({ user, className }: { user: User | null,
function NavMed() {
return (
Medium
@@ -25,7 +31,7 @@ export default function TableSwitcher({ user, className }: { user: User | null,
function NavHard() {
return (
Hard
@@ -34,8 +40,8 @@ export default function TableSwitcher({ user, className }: { user: User | null,
}
if (!user) return <>>
- if (user.schulteLevel === 'three') return <>>
- if (user.schulteLevel === 'seven') {
+ else if (user.schulteLevel === 'three') return <>>
+ else if (user.schulteLevel === 'seven') {
return (
@@ -43,13 +49,12 @@ export default function TableSwitcher({ user, className }: { user: User | null,
)
- }
- if (user.schulteLevel === 'five') {
+ } else if (user.schulteLevel === 'five') {
return (
)
- }
+ } else return <>>
}
diff --git a/src/components/tests/evensandodds.test.ts b/apps/nextjs/src/components/tests/evensandodds.test.ts
similarity index 94%
rename from src/components/tests/evensandodds.test.ts
rename to apps/nextjs/src/components/tests/evensandodds.test.ts
index aab972a..1a2f0ea 100644
--- a/src/components/tests/evensandodds.test.ts
+++ b/apps/nextjs/src/components/tests/evensandodds.test.ts
@@ -14,7 +14,7 @@ describe('generates an array of random numbers with a given number of significan
let evenCount = 0
let overs = 0
let unders = 0
- testArray.forEach((num) => {
+ testArray.forEach(num => {
if (num % 2 === 0) {
evenCount++
}
@@ -42,7 +42,7 @@ describe('generates an array of random numbers with a given number of significan
let evenCount = 0
let overs = 0
let unders = 0
- testArray.forEach((num) => {
+ testArray.forEach(num => {
if (num % 2 === 0) {
evenCount++
}
@@ -75,8 +75,8 @@ describe('generates an array of random numbers with a given number of significan
for (let i = 0; i < ITERS; i++) {
holder.push(generateNumbers(props))
}
- holder.forEach((testArray) => {
- testArray.forEach((num) => {
+ holder.forEach(testArray => {
+ testArray.forEach(num => {
if (num % 2 === 0) {
evenCount++
}
diff --git a/src/components/wordchanger.tsx b/apps/nextjs/src/components/wordchanger.tsx
similarity index 84%
rename from src/components/wordchanger.tsx
rename to apps/nextjs/src/components/wordchanger.tsx
index 904ad3f..33d8cd9 100644
--- a/src/components/wordchanger.tsx
+++ b/apps/nextjs/src/components/wordchanger.tsx
@@ -1,6 +1,5 @@
import { useEffect, useState } from 'react'
-import type { Dispatch, SetStateAction } from 'react'
-import useInterval from '@/hooks/useInterval'
+import useInterval from '../hooks/useInterval'
import axios from 'axios'
export type ChangerProps = {
@@ -10,7 +9,7 @@ export type ChangerProps = {
const MILISECONDS_IN_A_MINUTE = 60000
-async function fetchWords(number: number){
+async function fetchWords(number: number) {
try {
if (number > 500) {
//random words api won't return more than 500 words at a time so here's a hacky workaround
@@ -34,7 +33,7 @@ async function fetchWords(number: number){
}
}
-function formatWords(words: string[], wordsPerCell: number){
+function formatWords(words: string[], wordsPerCell: number) {
const wordJoiner: string[] = []
for (let i = 0; i < words.length / wordsPerCell; i += wordsPerCell) {
wordJoiner.push(words.slice(i, i + wordsPerCell).join(' '))
@@ -42,7 +41,7 @@ function formatWords(words: string[], wordsPerCell: number){
return wordJoiner
}
-async function fetch(props: ChangerProps){
+async function fetch(props: ChangerProps) {
const words = await fetchWords(props.wordsPerCell * props.wpm)
const formattedWords = formatWords(words, props.wordsPerCell)
return formattedWords
@@ -64,13 +63,13 @@ export default function Changer(props: ChangerProps) {
console.log("Here's the error: ", error)
}
}
- load().catch((error) => console.log("Here's the error: ", error))
+ load().catch(error => console.log("Here's the error: ", error))
}, [])
useInterval(() => {
if (fetched) {
setCurrent(words[wordIndex] as string)
- setWordIndex((prev) => prev + 1)
+ setWordIndex(prev => prev + 1)
}
}, MILISECONDS_IN_A_MINUTE / props.wpm)
diff --git a/src/components/wordpairs.tsx b/apps/nextjs/src/components/wordpairs.tsx
similarity index 59%
rename from src/components/wordpairs.tsx
rename to apps/nextjs/src/components/wordpairs.tsx
index 4e36930..b48ceaf 100644
--- a/src/components/wordpairs.tsx
+++ b/apps/nextjs/src/components/wordpairs.tsx
@@ -1,36 +1,35 @@
import { useRouter, type SingletonRouter } from 'next/router'
import { useCallback, useEffect, useMemo, useRef, useState } from 'react'
import { uuid } from 'uuidv4'
-import { FontProvider } from '~/cva/fontProvider'
-import { useStopWatch } from '~/hooks/useStopWatch'
-import useUserStore from '~/stores/userStore'
-import { api } from '~/utils/api'
-import { formatDate, navigateToNextExercise } from '~/utils/helpers'
-import type { Font, WordPair } from '~/utils/types'
+import { FontProvider } from '../cva/fontProvider'
+import { useStopWatch } from '../hooks/useStopWatch'
+import useUserStore from '../stores/userStore'
+import { trpc } from '../utils/trpc'
+import { formatDate, navigateToNextExercise } from '@acme/helpers'
+import type { Font, WordPair } from '@acme/types'
function useGetProps(total = 18, diffCount = 5) {
-
- const pairs = api.getExcerciseProps.getWordPairs.useQuery({
+ const pairs = trpc.excercise.getWordPairs.useQuery({
count: diffCount,
- language: "english",
+ language: 'english',
})
- const words = api.getExcerciseProps.getRandomWords.useQuery({
+ const words = trpc.excercise.getRandomWords.useQuery({
number: total - diffCount,
- language: "english",
- max: 7
+ language: 'english',
+ max: 7,
})
const result = useMemo(() => {
if (words.isSuccess && pairs.isSuccess) {
return {
words: words.data,
- pairs: pairs.data
+ pairs: pairs.data,
+ }
+ } else
+ return {
+ words: undefined,
+ pairs: undefined,
}
- }
- else return {
- words: undefined,
- pairs: undefined
- }
}, [pairs, words])
return result
@@ -40,15 +39,14 @@ type PairsProps = {
diffCount: number
}
-
export default function WordPairs({ diffCount }: PairsProps) {
-
const total = 18
const { words, pairs } = useGetProps(total, diffCount)
- const user = api.user.getUnique.useQuery()
- const { mutate: updateUser } = api.user.setUser.useMutation()
+ const user = trpc.user.get.useQuery()
+ const { mutate: updateUser } = trpc.user.set.useMutation()
const userStore = useUserStore()
- const { mutate: collectSessionData } = api.wordPairSession.setUnique.useMutation()
+ const { mutate: collectSessionData } =
+ trpc.collect.wordPairSession.useMutation()
const stopWatch = useStopWatch()
const router = useRouter()
const foud = useRef(0)
@@ -56,21 +54,19 @@ export default function WordPairs({ diffCount }: PairsProps) {
const font = useRef
('sans')
const [grid, setGrid] = useState()
-
function generateGrid() {
if (!pairs || !words) return
const cells = new Array()
- words.forEach((word) => {
+ words.forEach(word => {
cells.push(generateSame(word))
})
- pairs.forEach((pair) => {
+ pairs.forEach(pair => {
cells.push(generateDifferent(pair))
})
stopWatch.start()
return cells.sort(() => Math.random() - 0.5)
}
-
const handleCellClick = useCallback((answer: 'correct' | 'error') => {
console.log(answer)
if (answer === 'correct') {
@@ -84,7 +80,6 @@ export default function WordPairs({ diffCount }: PairsProps) {
console.log('pairsFound', foud.current)
}, [])
-
function tearDown() {
console.log('teardown')
if (!user) return
@@ -93,37 +88,44 @@ export default function WordPairs({ diffCount }: PairsProps) {
updateUser({ lastWordPairs: formatDate(new Date()) })
userStore.setUser({
...userStore.user,
- lastWordPairs: formatDate(new Date())
+ lastWordPairs: formatDate(new Date()),
})
if (user.data && user.data.isStudySubject) {
collectSessionData({
userId: user.data.id,
errorCount: wrongs.current,
- time: stopWatch.getDuration()
+ time: stopWatch.getDuration(),
})
}
- navigateToNextExercise(router as SingletonRouter, user.data ?? userStore.user)
+ navigateToNextExercise(
+ router as SingletonRouter,
+ user.data ?? userStore.user,
+ )
}
function generateSame(word: string) {
- return |
+ return (
+ |
+ )
}
function generateDifferent(pair: WordPair) {
- return |
+ return (
+ |
+ )
}
useEffect(() => {
@@ -135,13 +137,7 @@ export default function WordPairs({ diffCount }: PairsProps) {
setGrid(() => generateGrid())
}, [words, pairs])
- return (
-
- {grid}
-
- )
+ return {grid}
}
type CellProps = {
@@ -160,8 +156,7 @@ function Cell({ font, different, word1, word2, id, callback }: CellProps) {
if (different && !highlighted) {
callback('correct')
setHighlighted(() => true)
- }
- else if (!different && !highlighted) {
+ } else if (!different && !highlighted) {
setHighlighted(() => true)
callback('error')
}
@@ -173,19 +168,21 @@ function Cell({ font, different, word1, word2, id, callback }: CellProps) {
onClick={() => handleClick()}
id={id?.toString() ?? '0'}
className={[
- 'items-center grid grid-cols-1 rounded-lg text-white',
- 'md:text-3xl md:p-2',
- 'text-2xl p-1',
- `${highlighted ? (different ? 'bg-white/10' : 'bg-red-500/40') : 'bg-white/20'}`,
- 'cursor-pointer',
- ].join(' ')}
+ 'grid grid-cols-1 items-center rounded-lg text-white',
+ 'md:p-2 md:text-3xl',
+ 'p-1 text-2xl',
+ `${
+ highlighted
+ ? different
+ ? 'bg-white/10'
+ : 'bg-red-500/40'
+ : 'bg-white/20'
+ }`,
+ 'cursor-pointer',
+ ].join(' ')}
>
-
- {word1}
-
-
- {word2}
-
+ {word1}
+ {word2}
)
}
diff --git a/src/cva/cube-flasher.tsx b/apps/nextjs/src/cva/cube-flasher.tsx
similarity index 100%
rename from src/cva/cube-flasher.tsx
rename to apps/nextjs/src/cva/cube-flasher.tsx
diff --git a/src/cva/flashingStyles.tsx b/apps/nextjs/src/cva/flashingStyles.tsx
similarity index 87%
rename from src/cva/flashingStyles.tsx
rename to apps/nextjs/src/cva/flashingStyles.tsx
index a7f6034..5792810 100644
--- a/src/cva/flashingStyles.tsx
+++ b/apps/nextjs/src/cva/flashingStyles.tsx
@@ -2,13 +2,8 @@ import React from 'react'
import { cva } from 'class-variance-authority'
import type { VariantProps } from 'class-variance-authority'
-export const cell = cva([
- 'flex',
- 'text-black',
- 'md:text-xl',
- 'text-l',
- 'p-2',
- 'justify-center'],
+export const cell = cva(
+ ['flex', 'text-black', 'md:text-xl', 'text-l', 'p-2', 'justify-center'],
{
variants: {
intent: {
@@ -39,7 +34,7 @@ export const cell = cva([
export interface ButtonProps
extends React.HTMLAttributes,
- VariantProps { }
+ VariantProps {}
export const StyledCell: React.FC = ({
className,
diff --git a/src/cva/fontProvider.tsx b/apps/nextjs/src/cva/fontProvider.tsx
similarity index 100%
rename from src/cva/fontProvider.tsx
rename to apps/nextjs/src/cva/fontProvider.tsx
diff --git a/src/cva/highlightSelectorButton.tsx b/apps/nextjs/src/cva/highlightSelectorButton.tsx
similarity index 100%
rename from src/cva/highlightSelectorButton.tsx
rename to apps/nextjs/src/cva/highlightSelectorButton.tsx
diff --git a/apps/nextjs/src/env/client.mjs b/apps/nextjs/src/env/client.mjs
new file mode 100644
index 0000000..c2b3601
--- /dev/null
+++ b/apps/nextjs/src/env/client.mjs
@@ -0,0 +1,33 @@
+// @ts-check
+import { clientEnv, clientSchema } from "./schema.mjs";
+
+const _clientEnv = clientSchema.safeParse(clientEnv);
+
+export const formatErrors = (
+ /** @type {import('zod').ZodFormattedError,string>} */
+ errors,
+) =>
+ Object.entries(errors)
+ .map(([name, value]) => {
+ if (value && "_errors" in value)
+ return `${name}: ${value._errors.join(", ")}\n`;
+ })
+ .filter(Boolean);
+
+if (!_clientEnv.success) {
+ console.error(
+ "❌ Invalid environment variables:\n",
+ ...formatErrors(_clientEnv.error.format()),
+ );
+ throw new Error("Invalid environment variables");
+}
+
+for (let key of Object.keys(_clientEnv.data)) {
+ if (!key.startsWith("NEXT_PUBLIC_")) {
+ console.warn("❌ Invalid public environment variable name:", key);
+
+ throw new Error("Invalid public environment variable name");
+ }
+}
+
+export const env = _clientEnv.data;
diff --git a/apps/nextjs/src/env/schema.mjs b/apps/nextjs/src/env/schema.mjs
new file mode 100644
index 0000000..76de46c
--- /dev/null
+++ b/apps/nextjs/src/env/schema.mjs
@@ -0,0 +1,30 @@
+// @ts-check
+import { z } from "zod";
+
+/**
+ * Specify your server-side environment variables schema here.
+ * This way you can ensure the app isn't built with invalid env vars.
+ */
+export const serverSchema = z.object({
+ NODE_ENV: z.enum(["development", "test", "production"]),
+ CLERK_SECRET_KEY: z.string().optional(),
+});
+
+/**
+ * Specify your client-side environment variables schema here.
+ * This way you can ensure the app isn't built with invalid env vars.
+ * To expose them to the client, prefix them with `NEXT_PUBLIC_`.
+ */
+export const clientSchema = z.object({
+ NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: z.string().optional(),
+});
+
+/**
+ * You can't destruct `process.env` as a regular object, so you have to do
+ * it manually here. This is because Next.js evaluates this at build time,
+ * and only used environment variables are included in the build.
+ * @type {{ [k in keyof z.infer]: z.infer[k] | undefined }}
+ */
+export const clientEnv = {
+ NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY:process.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY,
+};
diff --git a/apps/nextjs/src/env/server.mjs b/apps/nextjs/src/env/server.mjs
new file mode 100644
index 0000000..736e3a6
--- /dev/null
+++ b/apps/nextjs/src/env/server.mjs
@@ -0,0 +1,27 @@
+// @ts-check
+/**
+ * This file is included in `/next.config.mjs` which ensures the app isn't built with invalid env vars.
+ * It has to be a `.mjs`-file to be imported there.
+ */
+import { serverSchema } from "./schema.mjs";
+import { env as clientEnv, formatErrors } from "./client.mjs";
+
+const _serverEnv = serverSchema.safeParse(process.env);
+
+if (!_serverEnv.success) {
+ console.error(
+ "❌ Invalid environment variables:\n",
+ ...formatErrors(_serverEnv.error.format()),
+ );
+ throw new Error("Invalid environment variables");
+}
+
+for (let key of Object.keys(_serverEnv.data)) {
+ if (key.startsWith("NEXT_PUBLIC_")) {
+ console.warn("❌ You are exposing a server-side env-variable:", key);
+
+ throw new Error("You are exposing a server-side env-variable");
+ }
+}
+
+export const env = { ..._serverEnv.data, ...clientEnv };
diff --git a/src/hooks/useInterval.ts b/apps/nextjs/src/hooks/useInterval.ts
similarity index 100%
rename from src/hooks/useInterval.ts
rename to apps/nextjs/src/hooks/useInterval.ts
diff --git a/src/hooks/useIsVisible.ts b/apps/nextjs/src/hooks/useIsVisible.ts
similarity index 100%
rename from src/hooks/useIsVisible.ts
rename to apps/nextjs/src/hooks/useIsVisible.ts
diff --git a/src/hooks/useStopWatch.ts b/apps/nextjs/src/hooks/useStopWatch.ts
similarity index 91%
rename from src/hooks/useStopWatch.ts
rename to apps/nextjs/src/hooks/useStopWatch.ts
index 65522bd..36b1d9d 100644
--- a/src/hooks/useStopWatch.ts
+++ b/apps/nextjs/src/hooks/useStopWatch.ts
@@ -1,4 +1,4 @@
-import { useRef } from "react"
+import { useRef } from 'react'
/**
* @description A simple stop watch class to measure the time it takes
@@ -28,8 +28,8 @@ import { useRef } from "react"
* @throws Error if the stopWatch is not started before getting duration
*
* @class StopWatch
-**/
-export function useStopWatch(){
+ **/
+export function useStopWatch() {
const startTime = useRef(0)
const endTime = useRef(0)
@@ -42,7 +42,7 @@ export function useStopWatch(){
}
function getDuration() {
- if (startTime.current === 0 ) {
+ if (startTime.current === 0) {
throw new Error('StopWatch must be started before getting duration')
}
if (endTime.current === 0) {
@@ -50,10 +50,10 @@ export function useStopWatch(){
}
return endTime.current - startTime.current
}
-
+
return {
start,
end,
- getDuration
+ getDuration,
}
}
diff --git a/src/hooks/useTimer.ts b/apps/nextjs/src/hooks/useTimer.ts
similarity index 66%
rename from src/hooks/useTimer.ts
rename to apps/nextjs/src/hooks/useTimer.ts
index 2cdbf64..3b29e4e 100644
--- a/src/hooks/useTimer.ts
+++ b/apps/nextjs/src/hooks/useTimer.ts
@@ -1,11 +1,12 @@
-import { useEffect, useCallback, useRef } from 'react';
+import { useEffect, useCallback, useRef } from 'react'
type TimeMeasure = 'milliseconds' | 'seconds' | 'minutes'
export default function useTimer(
- timeUnit: TimeMeasure,
- endTime: number,
- eventName: string) {
+ timeUnit: TimeMeasure,
+ endTime: number,
+ eventName: string,
+) {
const time = useRef(0)
const running = useRef(false)
const ticker = useRef()
@@ -14,21 +15,21 @@ export default function useTimer(
const unit = useRef(timeUnit)
const event = new Event(eventName)
const end = (() => {
- switch (unit.current) {
- case 'milliseconds':
- delay.current = 1
- return endTime
- case 'seconds':
- delay.current = 100
- return endTime * 1000
- case 'minutes':
- delay.current = 1_000
- return endTime * 60_000
- // the interval numbers are kind of arbitrary.
- // I wanted them small enough to be accurate,
- // but large enough to not be a performance issue.
- }
- })()
+ switch (unit.current) {
+ case 'milliseconds':
+ delay.current = 1
+ return endTime
+ case 'seconds':
+ delay.current = 100
+ return endTime * 1000
+ case 'minutes':
+ delay.current = 1_000
+ return endTime * 60_000
+ // the interval numbers are kind of arbitrary.
+ // I wanted them small enough to be accurate,
+ // but large enough to not be a performance issue.
+ }
+ })()
const start = useCallback(() => {
time.current = Date.now()
@@ -40,8 +41,6 @@ export default function useTimer(
running.current = true
}, [])
-
-
const tick = useCallback(() => {
if (!running.current) return
if (time.current === 0) return
@@ -53,7 +52,7 @@ export default function useTimer(
}
}, [])
- const clear = useCallback(() =>{
+ const clear = useCallback(() => {
running.current = false as const
clearInterval(ticker.current)
duration.current = 0
@@ -64,8 +63,7 @@ export default function useTimer(
clearInterval(ticker.current as NodeJS.Timer)
duration.current = 0
return
- }
- else {
+ } else {
ticker.current = setInterval(() => {
tick()
}, delay.current)
diff --git a/apps/nextjs/src/middleware.ts b/apps/nextjs/src/middleware.ts
new file mode 100644
index 0000000..4d28f3c
--- /dev/null
+++ b/apps/nextjs/src/middleware.ts
@@ -0,0 +1,22 @@
+import { withClerkMiddleware } from '@clerk/nextjs/server'
+import { NextResponse } from 'next/server'
+import type { NextRequest } from 'next/server'
+
+export default withClerkMiddleware((_req: NextRequest) => {
+ return NextResponse.next()
+})
+
+// Stop Middleware running on static files
+export const config = {
+ matcher: [
+ /*
+ * Match request paths except for the ones starting with:
+ * - _next
+ * - static (static files)
+ * - favicon.ico (favicon file)
+ *
+ * This includes images, and requests from TRPC.
+ */
+ '/(.*?trpc.*?|(?!static|.*\\..*|_next|favicon.ico).*)',
+ ],
+}
diff --git a/apps/nextjs/src/pages/_app.tsx b/apps/nextjs/src/pages/_app.tsx
new file mode 100644
index 0000000..801e911
--- /dev/null
+++ b/apps/nextjs/src/pages/_app.tsx
@@ -0,0 +1,15 @@
+// src/pages/_app.tsx
+import '../styles/globals.css'
+import type { AppType } from 'next/app'
+import { ClerkProvider } from '@clerk/nextjs'
+import { trpc } from '../utils/trpc'
+
+const MyApp: AppType = ({ Component, pageProps: { ...pageProps } }) => {
+ return (
+
+
+
+ )
+}
+
+export default trpc.withTRPC(MyApp)
diff --git a/apps/nextjs/src/pages/admin/createquestion/done.tsx b/apps/nextjs/src/pages/admin/createquestion/done.tsx
new file mode 100644
index 0000000..e3a25be
--- /dev/null
+++ b/apps/nextjs/src/pages/admin/createquestion/done.tsx
@@ -0,0 +1,63 @@
+import { useEffect, useState } from 'react'
+import { trpc } from '../../../utils/trpc'
+import { useRouter } from 'next/router'
+import Sidebar from '../../../components/sidebar'
+
+export default function Page() {
+ const router = useRouter()
+ const [approved, setApproved] = useState(false)
+ const user = trpc.user.get.useQuery()
+
+ const navToCreatQuestion = () => {
+ router.push('/admin/createquestion').catch(err => console.log(err))
+ }
+
+ const navToAdmin = () => {
+ router.push('/admin').catch(err => console.log(err))
+ }
+
+ function Display() {
+ return (
+ <>
+
+
+
Question created!
+
+ Create another question
+
+
+ Return to admin page
+
+
+ >
+ )
+ }
+
+ function Loading() {
+ return (
+ <>
+
+
+ >
+ )
+ }
+
+ useEffect(() => {
+ if (!user) return
+ if (!user.data?.isAdmin ?? false) {
+ router.push('/').catch(err => console.log(err))
+ } else {
+ setApproved(true)
+ }
+ }, [user])
+
+ return approved ? :
+}
diff --git a/apps/nextjs/src/pages/admin/createquestion/index.tsx b/apps/nextjs/src/pages/admin/createquestion/index.tsx
new file mode 100644
index 0000000..03abf59
--- /dev/null
+++ b/apps/nextjs/src/pages/admin/createquestion/index.tsx
@@ -0,0 +1,164 @@
+import { useRouter } from 'next/router'
+import { useEffect, useState } from 'react'
+import Sidebar from '../../../components/sidebar'
+import { trpc } from '../../../utils/trpc'
+import type { Answer } from '@acme/types'
+
+function Loading() {
+ return (
+ <>
+
+
+ >
+ )
+}
+
+function QuestionForm() {
+ const [passage, setPassage] = useState('')
+ const [question, setQuestion] = useState('')
+ const [answerA, setAnswerA] = useState('')
+ const [answerB, setAnswerB] = useState('')
+ const [answerC, setAnswerC] = useState('')
+ const [answerD, setAnswerD] = useState('')
+ const { mutate } = trpc.buildSpeedTest.createSpeedTest.useMutation()
+ const [correctAnswer, setCorrectAnswer] = useState('A')
+ const router = useRouter()
+
+ function submit() {
+ if (
+ passage == '' ||
+ question == '' ||
+ answerA == '' ||
+ answerB == '' ||
+ answerC == '' ||
+ answerD == ''
+ ) {
+ alert('Please fill out all fields')
+ return
+ }
+ const body = {
+ passage,
+ question,
+ answerA,
+ answerB,
+ answerC,
+ answerD,
+ correctAnswer,
+ }
+ mutate(body)
+ router.push('/admin/createquestion/done').catch(err => console.log(err))
+ }
+
+ return (
+ <>
+
+
+
submit()}
+ >
+ Submit
+
+
+
+ >
+ )
+}
+
+export default function Page() {
+ const router = useRouter()
+ const { data: user } = trpc.user.get.useQuery()
+ const [approved, setApproved] = useState(false)
+
+ useEffect(() => {
+ if (!user) return
+ if (!user.isAdmin) {
+ router.push('/').catch(() => console.log('permission denied'))
+ } else {
+ setApproved(true)
+ }
+ }, [user])
+
+ return approved ? :
+}
diff --git a/src/pages/admin/index.tsx b/apps/nextjs/src/pages/admin/index.tsx
similarity index 54%
rename from src/pages/admin/index.tsx
rename to apps/nextjs/src/pages/admin/index.tsx
index 3654dcd..a704a03 100644
--- a/src/pages/admin/index.tsx
+++ b/apps/nextjs/src/pages/admin/index.tsx
@@ -1,12 +1,14 @@
import { useEffect, useState } from 'react'
-import { api } from '~/utils/api'
+import { trpc } from '../../utils/trpc'
import { useRouter } from 'next/router'
-import Sidebar from '~/components/sidebar'
+import Sidebar from '../../components/sidebar'
+import { useClerk } from '@clerk/nextjs'
export default function Page() {
const router = useRouter()
const [approved, setApproved] = useState(false)
- const user = api.user.getUnique.useQuery().data
+ const user = trpc.user.get.useQuery().data
+ const auth = useClerk()
function navToCreatQuestion() {
router.push('/admin/createquestion').catch(err => console.log(err))
@@ -16,21 +18,20 @@ export default function Page() {
router.push('/admin/testexercise').catch(err => console.log(err))
}
-
function Display() {
return (
<>
-
+
Test Exercise
Create Speed Test Question
@@ -43,8 +44,8 @@ export default function Page() {
return (
<>
-
-
Loading...
+
>
)
@@ -54,12 +55,21 @@ export default function Page() {
if (!user) return
if (!user.isAdmin) {
router.push('/').catch(err => console.log(err))
- }
- else {
+ } else {
setApproved(true)
}
}, [user])
- return approved ?
:
+ useEffect(() => {
+ if (auth.loaded) {
+ if (!auth.session) return
+ if (auth.session.status === 'active') {
+ return
+ } else {
+ navigate(router as SingletonRouter, '/')
+ }
+ }
+ }, [auth])
+ return approved ?
:
}
diff --git a/apps/nextjs/src/pages/admin/testexercise.tsx b/apps/nextjs/src/pages/admin/testexercise.tsx
new file mode 100644
index 0000000..982512a
--- /dev/null
+++ b/apps/nextjs/src/pages/admin/testexercise.tsx
@@ -0,0 +1,107 @@
+import { SingletonRouter, useRouter } from 'next/router'
+import Sidebar from '../../components/sidebar'
+import { useClerk } from '@clerk/nextjs'
+import { trpc } from '../../utils/trpc'
+import { navigate } from '@acme/helpers'
+import { useEffect } from 'react'
+
+export default function Page() {
+ const router = useRouter()
+ const auth = useClerk()
+
+ function NavButton({ path, text }: { path: string; text: string }) {
+ return (
+
navigate(router as SingletonRouter, path)}
+ className='flex h-12 items-center rounded-full bg-white/20 p-4 py-2 text-2xl font-normal text-white md:text-4xl'
+ >
+ {text}
+
+ )
+ }
+
+ useEffect(() => {
+ if (auth.loaded) {
+ if (!auth.session) return
+ if (auth.session.status === 'active') {
+ return
+ } else {
+ navigate(router as SingletonRouter, '/')
+ }
+ }
+ }, [auth])
+
+ return (
+ <>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ >
+ )
+}
diff --git a/apps/nextjs/src/pages/api/trpc/[trpc].ts b/apps/nextjs/src/pages/api/trpc/[trpc].ts
new file mode 100644
index 0000000..c7f362b
--- /dev/null
+++ b/apps/nextjs/src/pages/api/trpc/[trpc].ts
@@ -0,0 +1,22 @@
+import { appRouter, createContext } from '@acme/api'
+import { createNextApiHandler } from '@trpc/server/adapters/next'
+
+// export API handler
+export default createNextApiHandler({
+ router: appRouter,
+ createContext,
+})
+
+// If you need to enable cors, you can do so like this:
+// const handler = async (req: NextApiRequest, res: NextApiResponse) => {
+// // Enable cors
+// await cors(req, res);
+
+// // Let the tRPC handler do its magic
+// return createNextApiHandler({
+// router: appRouter,
+// createContext,
+// })(req, res);
+// };
+
+// export default handler;
diff --git a/apps/nextjs/src/pages/done.tsx b/apps/nextjs/src/pages/done.tsx
new file mode 100644
index 0000000..c308efe
--- /dev/null
+++ b/apps/nextjs/src/pages/done.tsx
@@ -0,0 +1,25 @@
+import { navigate } from "@acme/helpers"
+import { type SingletonRouter, useRouter } from "next/router"
+
+ export default function Page() {
+ const router = useRouter()
+ return (
+
+
+ You're done for the Day!
+
+
{
+ navigate(router as SingletonRouter, '/nav')
+ }}
+ >
+ Go to Dashboard
+
+
+ )
+}
diff --git a/apps/nextjs/src/pages/exercises/boxes.tsx b/apps/nextjs/src/pages/exercises/boxes.tsx
new file mode 100644
index 0000000..10cb194
--- /dev/null
+++ b/apps/nextjs/src/pages/exercises/boxes.tsx
@@ -0,0 +1,28 @@
+import CornerFlasher from '../../components/cubeflasher'
+import Sidebar from '../../components/sidebar'
+import { useRouter } from 'next/router'
+
+export default function Page() {
+ const params = useRouter().query
+
+ function getBoxCount(param: string) {
+ switch (param) {
+ case '2':
+ return 2
+ case '3':
+ return 3
+ default:
+ return 2
+ }
+ }
+ return (
+ <>
+
+
+ >
+ )
+}
diff --git a/apps/nextjs/src/pages/exercises/cubebythree.tsx b/apps/nextjs/src/pages/exercises/cubebythree.tsx
new file mode 100644
index 0000000..9be1b85
--- /dev/null
+++ b/apps/nextjs/src/pages/exercises/cubebythree.tsx
@@ -0,0 +1,15 @@
+import CornerFlasher from '../../components/cubeflasher'
+import Sidebar from '../../components/sidebar'
+
+export default function Page() {
+ return (
+ <>
+
+
+ >
+ )
+}
diff --git a/apps/nextjs/src/pages/exercises/cubebytwo.tsx b/apps/nextjs/src/pages/exercises/cubebytwo.tsx
new file mode 100644
index 0000000..48e8d9b
--- /dev/null
+++ b/apps/nextjs/src/pages/exercises/cubebytwo.tsx
@@ -0,0 +1,15 @@
+import CornerFlasher from '../../components/cubeflasher'
+import Sidebar from '../../components/sidebar'
+
+export default function Page() {
+ return (
+ <>
+
+
+ >
+ )
+}
diff --git a/src/pages/exercises/evennumbers.tsx b/apps/nextjs/src/pages/exercises/evennumbers.tsx
similarity index 65%
rename from src/pages/exercises/evennumbers.tsx
rename to apps/nextjs/src/pages/exercises/evennumbers.tsx
index 0de8e6e..014824f 100644
--- a/src/pages/exercises/evennumbers.tsx
+++ b/apps/nextjs/src/pages/exercises/evennumbers.tsx
@@ -1,7 +1,7 @@
import Head from 'next/head'
import React, { useState } from 'react'
-import EvensAndOdds from 'src/components/evensandodds'
-import Sidebar from '~/components/sidebar'
+import EvensAndOdds from '../../components/evensandodds'
+import Sidebar from '../../components/sidebar'
export type framesContextType = {
framesCleared: number
@@ -14,7 +14,7 @@ export const framesContext = React.createContext
({
},
})
-export default function Page(){
+export default function Page() {
const [framesCleared, setFramesCleared] = useState(0)
return (
<>
@@ -23,14 +23,14 @@ export default function Page(){
-
+
>
)
diff --git a/src/pages/exercises/flashfourbyone.tsx b/apps/nextjs/src/pages/exercises/flashfourbyone.tsx
similarity index 68%
rename from src/pages/exercises/flashfourbyone.tsx
rename to apps/nextjs/src/pages/exercises/flashfourbyone.tsx
index 25e3621..ae8c3e5 100644
--- a/src/pages/exercises/flashfourbyone.tsx
+++ b/apps/nextjs/src/pages/exercises/flashfourbyone.tsx
@@ -1,8 +1,8 @@
import Head from 'next/head'
-import FlashingGrid from 'src/components/flashingcell'
-import Sidebar from '~/components/sidebar'
+import FlashingGrid from '../../components/flashingcell'
+import Sidebar from '../../components/sidebar'
-export default function Page(){
+export default function Page() {
return (
<>
@@ -15,4 +15,3 @@ export default function Page(){
>
)
}
-
diff --git a/apps/nextjs/src/pages/exercises/flashonebyone.tsx b/apps/nextjs/src/pages/exercises/flashonebyone.tsx
new file mode 100644
index 0000000..54e65bd
--- /dev/null
+++ b/apps/nextjs/src/pages/exercises/flashonebyone.tsx
@@ -0,0 +1,17 @@
+import Head from 'next/head'
+import FlashingGrid from '../../components/flashingcell'
+import Sidebar from '../../components/sidebar'
+
+export default function Page() {
+ return (
+ <>
+
+ Speed Read
+
+
+
+
+
+ >
+ )
+}
diff --git a/src/pages/exercises/flashonebytwo.tsx b/apps/nextjs/src/pages/exercises/flashonebytwo.tsx
similarity index 58%
rename from src/pages/exercises/flashonebytwo.tsx
rename to apps/nextjs/src/pages/exercises/flashonebytwo.tsx
index 219c0e2..73e3f40 100644
--- a/src/pages/exercises/flashonebytwo.tsx
+++ b/apps/nextjs/src/pages/exercises/flashonebytwo.tsx
@@ -1,9 +1,8 @@
import Head from 'next/head'
-import FlashingGrid from 'src/components/flashingcell'
-import Sidebar from '~/components/sidebar'
+import FlashingGrid from '../../components/flashingcell'
+import Sidebar from '../../components/sidebar'
-
-export default function Page(){
+export default function Page() {
return (
<>
@@ -11,7 +10,7 @@ export default function Page(){
-
+
>
)
diff --git a/src/pages/exercises/flashtwobyone.tsx b/apps/nextjs/src/pages/exercises/flashtwobyone.tsx
similarity index 58%
rename from src/pages/exercises/flashtwobyone.tsx
rename to apps/nextjs/src/pages/exercises/flashtwobyone.tsx
index 285e177..7d424c3 100644
--- a/src/pages/exercises/flashtwobyone.tsx
+++ b/apps/nextjs/src/pages/exercises/flashtwobyone.tsx
@@ -1,8 +1,8 @@
import Head from 'next/head'
-import FlashingGrid from 'src/components/flashingcell'
-import Sidebar from '~/components/sidebar'
+import FlashingGrid from '../../components/flashingcell'
+import Sidebar from '../../components/sidebar'
-export default function Page(){
+export default function Page() {
return (
<>
@@ -10,7 +10,7 @@ export default function Page(){
-
+
>
)
diff --git a/src/pages/exercises/flashtwobytwo.tsx b/apps/nextjs/src/pages/exercises/flashtwobytwo.tsx
similarity index 58%
rename from src/pages/exercises/flashtwobytwo.tsx
rename to apps/nextjs/src/pages/exercises/flashtwobytwo.tsx
index e1a9bbc..e1f892b 100644
--- a/src/pages/exercises/flashtwobytwo.tsx
+++ b/apps/nextjs/src/pages/exercises/flashtwobytwo.tsx
@@ -1,8 +1,8 @@
import Head from 'next/head'
-import FlashingGrid from 'src/components/flashingcell'
-import Sidebar from '~/components/sidebar'
+import FlashingGrid from '../../components/flashingcell'
+import Sidebar from '../../components/sidebar'
-export default function Page(){
+export default function Page() {
return (
<>
@@ -10,7 +10,7 @@ export default function Page(){
-
+
>
)
diff --git a/apps/nextjs/src/pages/exercises/greendot.tsx b/apps/nextjs/src/pages/exercises/greendot.tsx
new file mode 100644
index 0000000..4bd17e3
--- /dev/null
+++ b/apps/nextjs/src/pages/exercises/greendot.tsx
@@ -0,0 +1,43 @@
+import Head from 'next/head'
+import PieTimer from '../../components/pietimer'
+import Sidebar from '../../components/sidebar'
+import { trpc } from '../../utils/trpc'
+import { FontProvider } from '../../cva/fontProvider'
+import type { Font } from '@acme/types'
+import { useEffect, useState } from 'react'
+import BackgroundText from '../../components/greendottext'
+
+export default function Page() {
+ const user = trpc.user.get.useQuery()
+ const [font, setFont] = useState('sans')
+
+ useEffect(() => {
+ if (!user) return
+ if (user.data) {
+ setFont(user.data.font)
+ }
+ }, [user])
+
+ return (
+ <>
+
+ Speed Read
+
+
+ >
+ )
+}
diff --git a/apps/nextjs/src/pages/exercises/lettermatcher.tsx b/apps/nextjs/src/pages/exercises/lettermatcher.tsx
new file mode 100644
index 0000000..7c1f9c5
--- /dev/null
+++ b/apps/nextjs/src/pages/exercises/lettermatcher.tsx
@@ -0,0 +1,21 @@
+import Head from 'next/head'
+import dynamic from 'next/dynamic'
+import Sidebar from '../../components/sidebar'
+
+const LetterMatcher = dynamic(() => import('../../components/letterMatcher'), {
+ ssr: false,
+})
+
+export default function Page() {
+ return (
+ <>
+
+ Letter Matcher
+
+
+
+
+
+ >
+ )
+}
diff --git a/apps/nextjs/src/pages/exercises/numbermatcher.tsx b/apps/nextjs/src/pages/exercises/numbermatcher.tsx
new file mode 100644
index 0000000..8a9e03f
--- /dev/null
+++ b/apps/nextjs/src/pages/exercises/numbermatcher.tsx
@@ -0,0 +1,21 @@
+import Head from 'next/head'
+import dynamic from 'next/dynamic'
+import Sidebar from '../../components/sidebar'
+
+const NumberMatcher = dynamic(() => import('../../components/numbermatcher'), {
+ ssr: false,
+})
+
+export default function Page() {
+ return (
+ <>
+
+ Number Matcher
+
+
+
+
+
+ >
+ )
+}
diff --git a/src/pages/exercises/schultetable/by3.tsx b/apps/nextjs/src/pages/exercises/schultetable/by3.tsx
similarity index 54%
rename from src/pages/exercises/schultetable/by3.tsx
rename to apps/nextjs/src/pages/exercises/schultetable/by3.tsx
index b7fd4e9..482c655 100644
--- a/src/pages/exercises/schultetable/by3.tsx
+++ b/apps/nextjs/src/pages/exercises/schultetable/by3.tsx
@@ -1,23 +1,24 @@
import Head from 'next/head'
import dynamic from 'next/dynamic'
-import Sidebar from '~/components/sidebar'
-import TableSwitcher from '~/components/tableswitcher'
-import { api } from '~/utils/api'
-import type { User } from '~/utils/types'
-
-const SchulteTable = dynamic(() => import('~/components/schultetable'), { ssr: false })
+import Sidebar from '../../../components/sidebar'
+import TableSwitcher from '../../../components/tableswitcher'
+import { trpc } from '../../../utils/trpc'
+import type { User } from '@acme/types'
+const SchulteTable = dynamic(() => import('../../../components/schultetable'), {
+ ssr: false,
+})
export default function Page() {
- const user = api.user.getUnique.useQuery()
+ const user = trpc.user.get.useQuery()
return (
<>
Speed Read
-
diff --git a/src/pages/exercises/schultetable/by5.tsx b/apps/nextjs/src/pages/exercises/schultetable/by5.tsx
similarity index 54%
rename from src/pages/exercises/schultetable/by5.tsx
rename to apps/nextjs/src/pages/exercises/schultetable/by5.tsx
index 16da3f4..11d4946 100644
--- a/src/pages/exercises/schultetable/by5.tsx
+++ b/apps/nextjs/src/pages/exercises/schultetable/by5.tsx
@@ -1,23 +1,24 @@
import Head from 'next/head'
import dynamic from 'next/dynamic'
-import Sidebar from '~/components/sidebar'
-import TableSwitcher from '~/components/tableswitcher'
-import { api } from '~/utils/api'
-import type { User } from '~/utils/types'
-
-const SchulteTable = dynamic(() => import('~/components/schultetable'), { ssr: false })
+import Sidebar from '../../../components/sidebar'
+import TableSwitcher from '../../../components/tableswitcher'
+import { trpc } from '../../../utils/trpc'
+import type { User } from '@acme/types'
+const SchulteTable = dynamic(() => import('../../../components/schultetable'), {
+ ssr: false,
+})
export default function Page() {
- const user = api.user.getUnique.useQuery()
+ const user = trpc.user.get.useQuery()
return (
<>
Speed Read
-
diff --git a/src/pages/exercises/schultetable/by7.tsx b/apps/nextjs/src/pages/exercises/schultetable/by7.tsx
similarity index 54%
rename from src/pages/exercises/schultetable/by7.tsx
rename to apps/nextjs/src/pages/exercises/schultetable/by7.tsx
index c4e8fde..20c8c0c 100644
--- a/src/pages/exercises/schultetable/by7.tsx
+++ b/apps/nextjs/src/pages/exercises/schultetable/by7.tsx
@@ -1,23 +1,24 @@
import Head from 'next/head'
import dynamic from 'next/dynamic'
-import Sidebar from '~/components/sidebar'
-import TableSwitcher from '~/components/tableswitcher'
-import { api } from '~/utils/api'
-import type { User } from '~/utils/types'
-
-const SchulteTable = dynamic(() => import('~/components/schultetable'), { ssr: false })
+import Sidebar from '../../../components/sidebar'
+import TableSwitcher from '../../../components/tableswitcher'
+import { trpc } from '../../../utils/trpc'
+import type { User } from '@acme/types'
+const SchulteTable = dynamic(() => import('../../../components/schultetable'), {
+ ssr: false,
+})
export default function Page() {
- const user = api.user.getUnique.useQuery()
+ const user = trpc.user.get.useQuery()
return (
<>
Speed Read
-
diff --git a/src/pages/exercises/schultetable/index.tsx b/apps/nextjs/src/pages/exercises/schultetable/index.tsx
similarity index 51%
rename from src/pages/exercises/schultetable/index.tsx
rename to apps/nextjs/src/pages/exercises/schultetable/index.tsx
index 3ada0d7..3934a67 100644
--- a/src/pages/exercises/schultetable/index.tsx
+++ b/apps/nextjs/src/pages/exercises/schultetable/index.tsx
@@ -1,38 +1,40 @@
import Head from 'next/head'
import dynamic from 'next/dynamic'
-import Sidebar from '~/components/sidebar'
+import Sidebar from '../../../components/sidebar'
import { useRouter } from 'next/router'
-import TableSwitcher from '~/components/tableswitcher'
-import { api } from '~/utils/api'
-import type { User } from '~/utils/types'
+import TableSwitcher from '../../../components/tableswitcher'
+import { trpc } from '../../../utils/trpc'
+import type { User } from '@acme/types'
-const SchulteTable = dynamic(() => import('~/components/schultetable'), { ssr: false })
+const SchulteTable = dynamic(() => import('../../../components/schultetable'), {
+ ssr: false,
+})
- function getSideLength(param: string) {
- switch (param) {
- case '3':
- return 3
- case '5':
- return 5
- case '7':
- return 7
- default:
- return 5
- }
+function getSideLength(param: string) {
+ switch (param) {
+ case '3':
+ return 3
+ case '5':
+ return 5
+ case '7':
+ return 7
+ default:
+ return 5
}
+}
export default function Page() {
const router = useRouter()
const params = router.query
- const user = api.user.getUnique.useQuery()
+ const user = trpc.user.get.useQuery()
return (
<>
Speed Read
-
diff --git a/src/pages/exercises/speedtest/index.tsx b/apps/nextjs/src/pages/exercises/speedtest/index.tsx
similarity index 64%
rename from src/pages/exercises/speedtest/index.tsx
rename to apps/nextjs/src/pages/exercises/speedtest/index.tsx
index 53a714b..86a406d 100644
--- a/src/pages/exercises/speedtest/index.tsx
+++ b/apps/nextjs/src/pages/exercises/speedtest/index.tsx
@@ -1,14 +1,14 @@
-import useInterval from '~/hooks/useInterval'
+import useInterval from '../../../hooks/useInterval'
import { useState, useEffect } from 'react'
-import type { Font } from '~/utils/types'
-import useUserStore from '~/stores/userStore'
-import useSpeedTestStore from '~/stores/useSpeedTestStore'
+import type { Font } from '@acme/types'
+import useUserStore from '../../../stores/userStore'
+import useSpeedTestStore from '../../../stores/useSpeedTestStore'
import { useRouter } from 'next/router'
-import { api } from '~/utils/api'
+import { trpc } from '../../../utils/trpc'
import Head from 'next/head'
-import { FontProvider } from '~/cva/fontProvider'
-import Sidebar from '~/components/sidebar'
-import { userHilightToHex } from '~/utils/helpers'
+import { FontProvider } from '../../../cva/fontProvider'
+import Sidebar from '../../../components/sidebar'
+import { userHilightToHex } from '@acme/helpers'
export const TESTS_PER_DAY = 10
@@ -17,20 +17,20 @@ export default function Page() {
const [hex, setHex] = useState('#000000')
const [words, setWords] = useState([''])
const [font, setFont] = useState('sans')
- const userStore = useUserStore((state) => state)
- const exerciseStore = useSpeedTestStore((state) => state)
+ const userStore = useUserStore(state => state)
+ const exerciseStore = useSpeedTestStore(state => state)
const [loading, setLoading] = useState(true)
const [time, setTime] = useState(100)
const [previous, setPrevious] = useState('')
const [next, setNext] = useState('')
const [current, setCurrent] = useState('Loading...')
- const { data } = api.getExcerciseProps.getSingleSpeedTestProps.useQuery()
+ const { data } = trpc.excercise.getSingleSpeedTestProps.useQuery()
const router = useRouter()
function navigateToQuestion() {
router
.replace('/exercises/speedtest/question')
- .catch((err) => console.log(err))
+ .catch(err => console.log(err))
}
function wpmToMiliseconds(time: number) {
@@ -68,7 +68,7 @@ export default function Page() {
if (!words.at(counter + 1)) return ''
return words.at(counter + 1) as string
})
- setCounter((prev) => prev + 1)
+ setCounter(prev => prev + 1)
}, time)
return (
@@ -79,15 +79,17 @@ export default function Page() {
-
-
{previous}
-
{current}
-
{next}
+
+
{previous}
+
+ {current}
+
+ {next}
@@ -95,3 +97,4 @@ export default function Page() {
>
)
}
+
diff --git a/src/pages/exercises/speedtest/question.tsx b/apps/nextjs/src/pages/exercises/speedtest/question.tsx
similarity index 59%
rename from src/pages/exercises/speedtest/question.tsx
rename to apps/nextjs/src/pages/exercises/speedtest/question.tsx
index 2d51c14..29d0715 100644
--- a/src/pages/exercises/speedtest/question.tsx
+++ b/apps/nextjs/src/pages/exercises/speedtest/question.tsx
@@ -1,17 +1,17 @@
import { useState, useEffect } from 'react'
-import { FontProvider } from '~/cva/fontProvider'
-import { useUserStore } from '~/stores/userStore'
-import { useSpeedTestStore } from '~/stores/useSpeedTestStore'
-import type { Font } from '~/utils/types'
+import { FontProvider } from '../../../cva/fontProvider'
+import { useUserStore } from '../../../stores/userStore'
+import { useSpeedTestStore } from '../../../stores/useSpeedTestStore'
+import type { Font } from '@acme/types'
import { TESTS_PER_DAY } from './index'
import { type SingletonRouter, useRouter } from 'next/router'
import Head from 'next/head'
-import Sidebar from '~/components/sidebar'
-import { navigate } from '~/utils/helpers'
+import Sidebar from '../../../components/sidebar'
+import { navigate } from '@acme/helpers'
export default function Page() {
- const exerciseStore = useSpeedTestStore((state) => state)
- const userStore = useUserStore((state) => state)
+ const exerciseStore = useSpeedTestStore(state => state)
+ const userStore = useUserStore(state => state)
const [answerA, setAnswerA] = useState('Loading..')
const [answerB, setAnswerB] = useState('Loading..')
const [answerC, setAnswerC] = useState('Loading..')
@@ -33,8 +33,7 @@ export default function Page() {
...userStore.user,
testSpeed: rate + 10,
})
- }
- else {
+ } else {
userStore.setUser({
...userStore.user,
testSpeed: rate - 10,
@@ -45,7 +44,7 @@ export default function Page() {
} else {
router
.replace('/exercises/speedtest/result')
- .catch((err) => console.log(err))
+ .catch(err => console.log(err))
}
}
@@ -65,52 +64,48 @@ export default function Page() {
<>
Speed Test
-
+
{question}
handleClick('A')}
- className='flex items-center gap-2 text-yellow-400 cursor-pointer'>
-
+ className='flex cursor-pointer items-center gap-2 text-yellow-400'
+ >
+
A
- {answerA}
+ {answerA}
handleClick('B')}
- className='flex items-center gap-2 text-yellow-400 cursor-pointer'>
-
+ className='flex cursor-pointer items-center gap-2 text-yellow-400'
+ >
+
B
- {answerB}
+ {answerB}
handleClick('C')}
- className='flex items-center gap-2 text-yellow-400 cursor-pointer'>
-
+ className='flex cursor-pointer items-center gap-2 text-yellow-400'
+ >
+
C
- {answerC}
+ {answerC}
handleClick('D')}
- className='flex items-center gap-2 text-yellow-400 cursor-pointer'>
-
+ className='flex cursor-pointer items-center gap-2 text-yellow-400'
+ >
+
D
- {answerD}
+ {answerD}
diff --git a/src/pages/exercises/speedtest/result.tsx b/apps/nextjs/src/pages/exercises/speedtest/result.tsx
similarity index 57%
rename from src/pages/exercises/speedtest/result.tsx
rename to apps/nextjs/src/pages/exercises/speedtest/result.tsx
index 129080d..af9db39 100644
--- a/src/pages/exercises/speedtest/result.tsx
+++ b/apps/nextjs/src/pages/exercises/speedtest/result.tsx
@@ -1,14 +1,14 @@
import { type SingletonRouter, useRouter } from 'next/router'
import { useEffect, useState } from 'react'
-import { useUserStore } from '~/stores/userStore'
-import { useSpeedTestStore } from '~/stores/useSpeedTestStore'
-import { FontProvider } from '~/cva/fontProvider'
-import type { Font } from '~/utils/types'
+import { useUserStore } from '../../../stores/userStore'
+import { useSpeedTestStore } from '../../../stores/useSpeedTestStore'
+import { FontProvider } from '../../../cva/fontProvider'
+import type { Font } from '@acme/types'
import { TESTS_PER_DAY } from './index'
import Head from 'next/head'
-import { api } from '~/utils/api'
-import { formatDate, navigateToNextExercise } from '~/utils/helpers'
-import Sidebar from '~/components/sidebar'
+import { trpc } from '../../../utils/trpc'
+import { formatDate, navigateToNextExercise } from '@acme/helpers'
+import Sidebar from '../../../components/sidebar'
const GOOD_GRADE = 8 //since the user will be seeing 10 questions this means they got a B
const FAILING_GRADE = 5 //since the user will be seeing 10 questions this means they got a D
@@ -19,17 +19,11 @@ export default function Result() {
const router = useRouter()
const userStore = useUserStore()
const speedTestStore = useSpeedTestStore()
- const { mutate } = api.user.setUser.useMutation()
-
- function saveData() {
- //TODO create a data saving function in TRPC
- console.log('saving data')
- }
+ const collect = trpc.collect.SpeedTestSession.useMutation().mutate
+ const { mutate } = trpc.user.set.useMutation()
function getAvg(nums: number[]) {
- return nums.reduce(
- (previous, current) => (current += previous) / 2
- )
+ return nums.reduce((previous, current) => (current += previous) / 2)
}
function getNewSpeed() {
@@ -40,15 +34,21 @@ export default function Result() {
const avg = Math.floor(getAvg(speedTestStore.correctSpeeds) / 10) * 10
return {
max: avg,
- current: Math.floor(avg / 0.9 / 10) * 10
+ current: Math.floor(avg / 0.9 / 10) * 10,
}
- }
- else if (speedTestStore.correctResponses < FAILING_GRADE) {
+ } else if (speedTestStore.correctResponses < FAILING_GRADE) {
const maxSpeed = speedTestStore.correctSpeeds.sort().pop() as number
return {
max: maxSpeed,
- //this will get the highest speed the user got correct
- current: Math.floor(maxSpeed / 0.9 / 10) * 10
+ //setting the current speed to 90% of the highest speed
+ // the user got correct
+ current: Math.floor(maxSpeed / 0.9 / 10) * 10,
+ }
+ }
+ else {
+ return {
+ max: userStore.user.maxWpm,
+ current: userStore.user.currentWpm,
}
}
}
@@ -57,25 +57,38 @@ export default function Result() {
//I know this function does two things.
//I just don't want to make two api calls when I can make just one.
if (!userStore.user) return
- mutate({
+ const newSpeed = getNewSpeed()
+ const startSpeed = userStore.user.testSpeed
+ userStore.setUser({
...userStore.user,
lastSpeedTest: formatDate(new Date()),
- currentWpm: userStore.user.maxWpm + 20,
- maxWpm: Math.floor(userStore.user.maxWpm / 0.9 / 10) * 10,
+ maxWpm: newSpeed?.max || userStore.user.maxWpm + 20,
+ currentWpm: newSpeed?.current
+ ?? Math.floor((userStore.user.maxWpm + 20) / 0.9 / 10) * 10,
+ testSpeed: newSpeed?.max || userStore.user.testSpeed + 20,
tested: true,
})
- userStore.setUser({
+ mutate({
...userStore.user,
lastSpeedTest: formatDate(new Date()),
- currentWpm: userStore.user.maxWpm + 20,
- maxWpm: Math.floor(userStore.user.maxWpm / 0.9 / 10) * 10,
+ maxWpm: newSpeed?.max || userStore.user.maxWpm + 20,
+ currentWpm: newSpeed?.current
+ || Math.floor((userStore.user.maxWpm + 20) / 0.9 / 10) * 10,
+ testSpeed: newSpeed?.max || userStore.user.testSpeed + 20,
tested: true,
})
+ collect({
+ endSpeed: newSpeed?.max || userStore.user.maxWpm,
+ startSpeed: startSpeed,
+ numberWrong: speedTestStore.totalResponses - speedTestStore.correctResponses,
+ platform: 'web',
+ })
}
function saveCompletion() {
if (!userStore.user) return
const newSpeed = getNewSpeed()
+ const startSpeed = userStore.user.testSpeed
if (!newSpeed) return
// this will force the user to retest if they get 0 correct
// by not updating the boolean that says they have tested
@@ -93,12 +106,18 @@ export default function Result() {
maxWpm: newSpeed.max,
currentWpm: newSpeed.current,
})
+ collect({
+ endSpeed: userStore.user.testSpeed,
+ startSpeed: startSpeed,
+ numberWrong: speedTestStore.totalResponses - speedTestStore.correctResponses,
+ platform: 'web',
+ })
}
function saveUser() {
if (!speedTestStore) return
if (!userStore.user) return
- if (speedTestStore.correctResponses / TESTS_PER_DAY >= 0.9) {
+ if (speedTestStore.correctResponses > GOOD_GRADE) {
saveCompletionAndRaiseWpm()
} else {
saveCompletion()
@@ -107,7 +126,6 @@ export default function Result() {
function handleClick() {
if (!userStore.user) return
- saveData()
saveUser()
speedTestStore.clear()
navigateToNextExercise(router as SingletonRouter, userStore.user)
@@ -129,19 +147,19 @@ export default function Result() {
Test Results
-
+
You got {correct}/{TESTS_PER_DAY}.
-
+
Click start to move on to
- todays exercises.
+ today's exercises.
handleClick()}
- className='bg-white/20 rounded-full p-4 h-12 py-2 font-normal text-white text-3xl'
+ className='h-12 rounded-full bg-white/20 p-4 py-2 text-3xl font-normal text-white'
>
Start
diff --git a/apps/nextjs/src/pages/exercises/wordpairs.tsx b/apps/nextjs/src/pages/exercises/wordpairs.tsx
new file mode 100644
index 0000000..e553c77
--- /dev/null
+++ b/apps/nextjs/src/pages/exercises/wordpairs.tsx
@@ -0,0 +1,18 @@
+import dynamic from 'next/dynamic'
+import Sidebar from '../../components/sidebar'
+
+const WordPairs = dynamic(() => import('../../components/wordpairs'), {
+ ssr: false,
+})
+export default function Page() {
+ return (
+
+ )
+}
diff --git a/src/pages/index.tsx b/apps/nextjs/src/pages/index.tsx
similarity index 77%
rename from src/pages/index.tsx
rename to apps/nextjs/src/pages/index.tsx
index c3f8650..25b7393 100644
--- a/src/pages/index.tsx
+++ b/apps/nextjs/src/pages/index.tsx
@@ -1,25 +1,27 @@
+import { trpc } from '../utils/trpc'
import { type NextPage } from 'next'
import Head from 'next/head'
import Link from 'next/link'
-import irisLogo from 'public/IRIS-LOGO.png'
+import irisLogo from '../../public/IRIS-LOGO.png'
import Image from 'next/image'
import { useEffect } from 'react'
-import { useAuth } from '@clerk/nextjs'
import { type SingletonRouter, useRouter } from 'next/router'
-import { navigate } from '~/utils/helpers'
-import { SignedOut } from '@clerk/clerk-react'
+import { navigate } from '@acme/helpers'
const Home: NextPage = () => {
- const authState = useAuth()
+ const session = trpc.auth.getSession.useQuery()
const router = useRouter()
useEffect(() => {
- if (authState.isSignedIn) {
+ if (!session.data) return
+ if (session.data.status === 'active') {
navigate(router as SingletonRouter, '/nav')
}
- }, [authState])
+ console.log(session.data.status)
+ }, [session])
+
return (
-
+ <>
Project Iris
{
-
+
-
+
Welcome to
Iris
Sign up→
@@ -58,7 +60,7 @@ const Home: NextPage = () => {
@@ -72,7 +74,7 @@ const Home: NextPage = () => {
-
+ >
)
}
diff --git a/apps/nextjs/src/pages/instructions/boxes.tsx b/apps/nextjs/src/pages/instructions/boxes.tsx
new file mode 100644
index 0000000..895317e
--- /dev/null
+++ b/apps/nextjs/src/pages/instructions/boxes.tsx
@@ -0,0 +1,140 @@
+import { useState, useEffect } from 'react'
+import type { NextPage } from 'next'
+import Head from 'next/head'
+import LoadingSpinner from '../../components/loadingspinner'
+import { useUserStore } from '../../stores/userStore'
+import type { Font, User } from '@acme/types'
+import { type SingletonRouter, useRouter } from 'next/router'
+import { FontProvider } from '../../cva/fontProvider'
+import Sidebar from '../../components/sidebar'
+import { navigate } from '@acme/helpers'
+
+const INSTRUCTION_DELAY = 5_000
+
+function Paragraph1({ user }: { user: User | undefined }) {
+ if (!user) return
+ if (user.language === 'english')
+ return (
+
+
+ As each box appears on the screen move your eyes to the center of the
+ box. Do not actively attempt to read the words at the corners of the
+ box. This exercise is meant to help improve your peripheral vision.
+ In order to get the most out of this exercise, try to stay relaxed and
+ focused. The exercise will only be counted as completed if you do not
+ navigate away from the page. The page will automatically navigate away
+ and be counted as complete after one minute.
+
+
+ )
+ // all of the following are grabbed from google translate and may not be accurate
+ // if you speak any of these languages and can correct them, please do so.
+ // TODO get proper translations
+ else if (user.language === 'spanish')
+ return (
+
+
+ A medida que aparece cada cuadro en la pantalla, mueva los ojos hacia
+ el centro del cuadro. caja. No intente activamente leer las palabras
+ en las esquinas del caja. Este ejercicio está destinado a ayudar a
+ mejorar su visión periférica. En Para aprovechar al máximo este
+ ejercicio, trate de mantenerse relajado y enfocado. El ejercicio sólo
+ se contará como completado si no navegar fuera de la página. La página
+ se alejará automáticamente y se considerará completo después de un
+ minuto.
+
+
+ )
+ else if (user.language === 'italian')
+ return (
+
+
+ Quando ogni riquadro appare sullo schermo, sposta gli occhi al centro
+ del riquadro scatola. Non tentare attivamente di leggere le parole
+ agli angoli del scatola. Questo esercizio ha lo scopo di aiutarti a
+ migliorare la tua visione periferica. In Per ottenere il massimo da
+ questo esercizio, cerca di rimanere rilassato e focalizzata.
+ L'esercizio verrà conteggiato come completato solo se non lo fai
+ allontanarsi dalla pagina. La pagina verrà automaticamente allontanata
+ e verrà conteggiato come completato dopo un minuto.
+
+
+ )
+ else if (user.language === 'german')
+ return (
+
+
+ Wenn jedes Kästchen auf dem Bildschirm erscheint, bewegen Sie Ihren
+ Blick in die Mitte des Kästchens Kasten. Versuchen Sie nicht aktiv,
+ die Wörter an den Ecken des zu lesen Kasten. Diese Übung soll dazu
+ beitragen, Ihr peripheres Sehvermögen zu verbessern. In Um das Beste
+ aus dieser Übung herauszuholen, versuchen Sie, entspannt zu bleiben
+ konzentriert. Nur wenn Sie dies nicht tun, gilt die Übung als
+ abgeschlossen Navigieren Sie von der Seite weg. Die Seite navigiert
+ automatisch weg und gelten nach einer Minute als abgeschlossen.
+
+
+ )
+ else return <>Language not supported>
+}
+
+type BlockType = 'two' | 'three'
+
+function typeToUrl(type: BlockType) {
+ switch (type) {
+ case 'two':
+ return '/exercises/boxes?type=2'
+ case 'three':
+ return '/exercises/boxes?type=3'
+ default:
+ return '/exercises/boxes?type=2'
+ }
+}
+
+function StartButton() {
+ const [time, setTime] = useState(false)
+ const router = useRouter()
+ const params = router.query
+ const type = params.type
+
+ useEffect(() => {
+ setTimeout(() => setTime(true), INSTRUCTION_DELAY)
+ }, [])
+
+ return time ? (
+
+ navigate(router as SingletonRouter, typeToUrl(type as BlockType))
+ }
+ >
+ Start
+
+ ) : (
+
+ )
+}
+
+const Page: NextPage = () => {
+ const userStore = useUserStore()
+ const [font, setFont] = useState('sans')
+ useEffect(() => {
+ if (!userStore.user) return
+ setFont(userStore.user.font)
+ }, [userStore.user])
+
+ return (
+ <>
+ Even Number Exercise Instructions
+
+
+
+
+ >
+ )
+}
+
+export default Page
diff --git a/apps/nextjs/src/pages/instructions/evennumbers.tsx b/apps/nextjs/src/pages/instructions/evennumbers.tsx
new file mode 100644
index 0000000..9abc926
--- /dev/null
+++ b/apps/nextjs/src/pages/instructions/evennumbers.tsx
@@ -0,0 +1,131 @@
+import { useState, useEffect } from 'react'
+import Head from 'next/head'
+import LoadingSpinner from '../../components/loadingspinner'
+import { useUserStore } from '../../stores/userStore'
+import type { Font, User } from '@acme/types'
+import { useRouter, type SingletonRouter } from 'next/router'
+import { FontProvider } from '../../cva/fontProvider'
+import Sidebar from '../../components/sidebar'
+import { navigate } from '@acme/helpers'
+
+const INSTRUCTION_DELAY = 5_000
+
+function Paragraph1({ user }: { user: User | undefined }) {
+ if (!user) return
+ if (user.language === 'english')
+ return (
+
+
+
+ The goal of this exercise is for you to find the six even numbers in
+ the table.
+
+ {'\n'}
+ There is no time limit, though your time will be recorded to track
+ your progression. So try to go as quickly as you can while remaining
+ accurate. This exercise is designed to help you improve your ability
+ to focus and your perception. Try to stay relaxed and focused while
+ you are doing this exercise. It is up to you how you want to approach
+ this exercise. But we recommend that you either search the table row
+ by row or column by column.
+
+
+ )
+ // all of the following are grabbed from google translate and may not be accurate
+ // if you speak any of these languages and can correct them, please do so.
+ // TODO get proper translations
+ else if (user.language === 'german')
+ return (
+
+
+ Das Ziel dieser Übung ist es, die sechs geraden Zahlen zu finden Der
+ Tisch. Es gibt keine zeitliche Begrenzung, Ihre Zeit wird jedoch
+ aufgezeichnet, um Ihre Zeit zu verfolgen Fortschreiten. Versuchen Sie
+ also, so schnell wie möglich zu gehen, während Sie bleiben genau.
+ Diese Übung soll Ihnen dabei helfen, Ihre Fähigkeiten zu verbessern
+ Fokus und Ihre Wahrnehmung. Versuchen Sie dabei entspannt und
+ konzentriert zu bleiben diese Übung machen. Es liegt an Ihnen, wie Sie
+ dies angehen möchten Übung. Wir empfehlen Ihnen jedoch, die Tabelle
+ entweder zeilenweise zu durchsuchen oder Spalte für Spalte.
+
+
+ )
+ else if (user.language === 'spanish')
+ return (
+
+
+ El objetivo de este ejercicio es que encuentres los seis números pares
+ en la mesa. No hay límite de tiempo, aunque su tiempo se registrará
+ para realizar un seguimiento de su progresión. así que intenta ir lo
+ más rápido que puedas mientras permaneces preciso. Este ejercicio está
+ diseñado para ayudarle a mejorar su capacidad para enfoque y tu
+ percepción. Intenta mantenerte relajado y concentrado mientras estás
+ haciendo este ejercicio. Depende de usted cómo quiere abordar esto
+ ejercicio. Pero le recomendamos que busque en la tabla fila por fila o
+ columna por columna.
+
+
+ )
+ else if (user.language === 'italian')
+ return (
+
+
+ L'obiettivo di questo esercizio è trovare i sei numeri pari la
+ tavola. Non c'è limite di tempo, anche se il tuo tempo verrà
+ registrato per tenere traccia del tuo progressione. quindi prova ad
+ andare il più velocemente possibile rimanendo accurato. Questo
+ esercizio è progettato per aiutarti a migliorare la tua capacità di
+ concentrazione e la tua percezione. Cerca di rimanere rilassato e
+ concentrato mentre lo sei facendo questo esercizio. Dipende da te come
+ vuoi affrontare questo problema esercizio. Ma ti consigliamo di
+ cercare nella tabella riga per riga o colonna per colonna.
+
+
+ )
+ else return <>Language not supported>
+}
+
+function StartButton() {
+ const [time, setTime] = useState(false)
+ const router = useRouter()
+
+ useEffect(() => {
+ setTimeout(() => setTime(true), INSTRUCTION_DELAY)
+ }, [])
+
+ return time ? (
+
+ navigate(router as SingletonRouter, '/exercises/evennumbers')
+ }
+ >
+ Start
+
+ ) : (
+
+ )
+}
+
+export default function Page() {
+ const userStore = useUserStore()
+ const [font, setFont] = useState('sans')
+
+ useEffect(() => {
+ if (!userStore.user) return
+ setFont(userStore.user.font)
+ }, [userStore.user])
+
+ return (
+ <>
+ Even Number Exercise Instructions
+
+
+
+
+ >
+ )
+}
diff --git a/apps/nextjs/src/pages/instructions/flashingwords/fourbyone.tsx b/apps/nextjs/src/pages/instructions/flashingwords/fourbyone.tsx
new file mode 100644
index 0000000..c014700
--- /dev/null
+++ b/apps/nextjs/src/pages/instructions/flashingwords/fourbyone.tsx
@@ -0,0 +1,107 @@
+import { useState, useEffect } from 'react'
+import type { NextPage } from 'next'
+import Head from 'next/head'
+import { useUserStore } from '../../../stores/userStore'
+import type { HighlightType, Font, User } from '@acme/types'
+import { FontProvider } from '../../../cva/fontProvider'
+import Sidebar from '../../../components/sidebar'
+import FlasherStartButton from '../../../components/flasherstartbutton'
+import LoadingSpinner from '../../../components/loadingspinner'
+
+const INSTRUCTION_DELAY = 5_000
+
+const Paragraph1 = ({ user }: { user: User | undefined }) => {
+ if (!user) return
+ if (user.language === 'english')
+ return (
+
+
+ Follow the highlighted word with your eyes. This exercise is meant to
+ help improve your ability to scan and focus as you read. Do not
+ actively attempt to read the words, just follow the highligter. In
+ order to get the most out of this exercise, try to stay relaxed and
+ focused. The exercise will only be counted as completed if you do not
+ navigate away from the page. The page will automatically navigate away
+ and be counted as complete after one minute.
+
+
+ )
+ // all of the following are grabbed from google translate and may not be accurate
+ // if you speak any of these languages and can correct them, please do so.
+ // TODO get proper translations
+ else if (user.language === 'spanish')
+ return (
+
+
+ Sigue la palabra resaltada con tus ojos. Este ejercicio está destinado
+ a ayude a mejorar su capacidad para escanear y concentrarse mientras
+ lee. no activamente Intente leer las palabras, simplemente siga el
+ resaltador. Para obtener Para aprovechar al máximo este ejercicio,
+ trate de mantenerse relajado y concentrado. El El ejercicio solo se
+ contará como completado si no navegas de la página. La página se
+ alejará automáticamente y se contará. como completo después de un
+ minuto.
+
+
+ )
+ else if (user.language === 'german')
+ return (
+
+
+ Folgen Sie dem markierten Wort mit Ihren Augen. Diese Übung soll dazu
+ dienen Helfen Sie dabei, Ihre Fähigkeit zu scannen und sich beim Lesen
+ zu konzentrieren. Nicht aktiv Versuchen Sie, die Wörter zu lesen,
+ folgen Sie einfach der Hervorhebung. Um zu bekommen Um das Beste aus
+ dieser Übung herauszuholen, versuchen Sie, entspannt und konzentriert
+ zu bleiben. Der Die Übung gilt nur dann als abgeschlossen, wenn Sie
+ nicht wegnavigieren von der Seite. Die Seite wird automatisch
+ wegnavigiert und gezählt als abgeschlossen nach einer Minute.
+
+
+ )
+ else if (user.language === 'italian')
+ return (
+
+
+ Segui con lo sguardo la parola evidenziata. Questo esercizio è pensato
+ per aiuta a migliorare la tua capacità di scansione e concentrazione
+ mentre leggi. Non attivamente tentare di leggere le parole, basta
+ seguire l'evidenziatore. Per ottenere Per ottenere il massimo da
+ questo esercizio, cerca di rimanere rilassato e concentrato. IL
+ l'esercizio verrà conteggiato come completato solo se non esci
+ dall'attività dalla pagina. La pagina verrà automaticamente
+ allontanata e verrà conteggiata come completo dopo un minuto.
+
+
+ )
+ else return <>Language not supported>
+}
+
+const Page: NextPage = () => {
+ const userStore = useUserStore()
+ const [font, setFont] = useState('sans')
+ const option: HighlightType = 'fourByOne'
+
+ useEffect(() => {
+ if (!userStore.user) return
+ setFont(userStore.user.font)
+ }, [userStore.user])
+
+ return (
+ <>
+ Even Number Exercise Instructions
+
+
+
+
+ >
+ )
+}
+
+export default Page
diff --git a/apps/nextjs/src/pages/instructions/flashingwords/onebyone.tsx b/apps/nextjs/src/pages/instructions/flashingwords/onebyone.tsx
new file mode 100644
index 0000000..f850b4c
--- /dev/null
+++ b/apps/nextjs/src/pages/instructions/flashingwords/onebyone.tsx
@@ -0,0 +1,107 @@
+import { useState, useEffect } from 'react'
+import type { NextPage } from 'next'
+import Head from 'next/head'
+import { useUserStore } from '../../../stores/userStore'
+import { FontProvider } from '../../../cva/fontProvider'
+import Sidebar from '../../../components/sidebar'
+import FlasherStartButton from '../../../components/flasherstartbutton'
+import type { Font, User } from '@acme/types'
+import LoadingSpinner from '../../../components/loadingspinner'
+
+const INSTRUCTION_DELAY = 5_000
+
+const Paragraph1 = ({ user }: { user: User | undefined }) => {
+ if (!user) return
+ if (user.language === 'english')
+ return (
+
+
+ Follow the highlighted word with your eyes. This exercise is meant to
+ help improve your ability to scan and focus as you read. Do not
+ actively attempt to read the words, just follow the highligter. In
+ order to get the most out of this exercise, try to stay relaxed and
+ focused. The exercise will only be counted as completed if you do not
+ navigate away from the page. The page will automatically navigate away
+ and be counted as complete after one minute.
+
+
+ )
+ // all of the following are grabbed from google translate and may not be accurate
+ // if you speak any of these languages and can correct them, please do so.
+ // TODO get proper translations
+ if (user.language === 'spanish')
+ return (
+
+
+ Sigue la palabra resaltada con tus ojos. Este ejercicio está destinado
+ a ayude a mejorar su capacidad para escanear y concentrarse mientras
+ lee. no activamente Intente leer las palabras, simplemente siga el
+ resaltador. Para obtener Para aprovechar al máximo este ejercicio,
+ trate de mantenerse relajado y concentrado. El El ejercicio solo se
+ contará como completado si no navegas de la página. La página se
+ alejará automáticamente y se contará. como completo después de un
+ minuto.
+
+
+ )
+ if (user.language === 'german')
+ return (
+
+
+ Folgen Sie dem markierten Wort mit Ihren Augen. Diese Übung soll dazu
+ dienen Helfen Sie dabei, Ihre Fähigkeit zu scannen und sich beim Lesen
+ zu konzentrieren. Nicht aktiv Versuchen Sie, die Wörter zu lesen,
+ folgen Sie einfach der Hervorhebung. Um zu bekommen Um das Beste aus
+ dieser Übung herauszuholen, versuchen Sie, entspannt und konzentriert
+ zu bleiben. Der Die Übung gilt nur dann als abgeschlossen, wenn Sie
+ nicht wegnavigieren von der Seite. Die Seite wird automatisch
+ wegnavigiert und gezählt als abgeschlossen nach einer Minute.
+
+
+ )
+ if (user.language === 'italian')
+ return (
+
+
+ Segui con lo sguardo la parola evidenziata. Questo esercizio è pensato
+ per aiuta a migliorare la tua capacità di scansione e concentrazione
+ mentre leggi. Non attivamente tentare di leggere le parole, basta
+ seguire l'evidenziatore. Per ottenere Per ottenere il massimo da
+ questo esercizio, cerca di rimanere rilassato e concentrato. IL
+ l'esercizio verrà conteggiato come completato solo se non esci
+ dall'attività dalla pagina. La pagina verrà automaticamente
+ allontanata e verrà conteggiata come completo dopo un minuto.
+
+
+ )
+ else return <>Language not supported>
+}
+
+const Page: NextPage = () => {
+ const userStore = useUserStore()
+ const [font, setFont] = useState('sans')
+ const option = 'oneByOne'
+
+ useEffect(() => {
+ if (!userStore.user) return
+ setFont(userStore.user.font)
+ }, [userStore.user])
+
+ return (
+ <>
+ Even Number Exercise Instructions
+
+
+
+
+ >
+ )
+}
+
+export default Page
diff --git a/apps/nextjs/src/pages/instructions/flashingwords/onebytwo.tsx b/apps/nextjs/src/pages/instructions/flashingwords/onebytwo.tsx
new file mode 100644
index 0000000..690fe5f
--- /dev/null
+++ b/apps/nextjs/src/pages/instructions/flashingwords/onebytwo.tsx
@@ -0,0 +1,108 @@
+import { useState, useEffect } from 'react'
+import type { NextPage } from 'next'
+import Head from 'next/head'
+import { useUserStore } from '../../../stores/userStore'
+import type { Font, User } from '@acme/types'
+import { FontProvider } from '../../../cva/fontProvider'
+import type { HighlightType } from '@acme/types'
+import Sidebar from '../../../components/sidebar'
+import FlasherStartButton from '../../../components/flasherstartbutton'
+import LoadingSpinner from '../../../components/loadingspinner'
+
+const INSTRUCTION_DELAY = 5_000
+
+const Paragraph1 = ({ user }: { user: User | undefined }) => {
+ if (!user) return
+ if (user.language === 'english')
+ return (
+
+
+ Follow the highlighted word with your eyes. This exercise is meant to
+ help improve your ability to scan and focus as you read. Do not
+ actively attempt to read the words, just follow the highlighter. In
+ order to get the most out of this exercise, try to stay relaxed and
+ focused. The exercise will only be counted as completed if you do not
+ navigate away from the page. The page will automatically navigate away
+ and be counted as complete after one minute.
+
+
+ )
+ // all of the following are grabbed from google translate and may not be accurate
+ // if you speak any of these languages and can correct them, please do so.
+ // TODO get proper translations
+ else if (user.language === 'spanish')
+ return (
+
+
+ Sigue la palabra resaltada con tus ojos. Este ejercicio está destinado
+ a ayude a mejorar su capacidad para escanear y concentrarse mientras
+ lee. no activamente Intente leer las palabras, simplemente siga el
+ resaltador. Para obtener Para aprovechar al máximo este ejercicio,
+ trate de mantenerse relajado y concentrado. El El ejercicio solo se
+ contará como completado si no navegas de la página. La página se
+ alejará automáticamente y se contará. como completo después de un
+ minuto.
+
+
+ )
+ else if (user.language === 'german')
+ return (
+
+
+ Folgen Sie dem markierten Wort mit Ihren Augen. Diese Übung soll dazu
+ dienen Helfen Sie dabei, Ihre Fähigkeit zu scannen und sich beim Lesen
+ zu konzentrieren. Nicht aktiv Versuchen Sie, die Wörter zu lesen,
+ folgen Sie einfach der Hervorhebung. Um zu bekommen Um das Beste aus
+ dieser Übung herauszuholen, versuchen Sie, entspannt und konzentriert
+ zu bleiben. Der Die Übung gilt nur dann als abgeschlossen, wenn Sie
+ nicht wegnavigieren von der Seite. Die Seite wird automatisch
+ wegnavigiert und gezählt als abgeschlossen nach einer Minute.
+
+
+ )
+ else if (user.language === 'italian')
+ return (
+
+
+ Segui con lo sguardo la parola evidenziata. Questo esercizio è pensato
+ per aiuta a migliorare la tua capacità di scansione e concentrazione
+ mentre leggi. Non attivamente tentare di leggere le parole, basta
+ seguire l'evidenziatore. Per ottenere Per ottenere il massimo da
+ questo esercizio, cerca di rimanere rilassato e concentrato. IL
+ l'esercizio verrà conteggiato come completato solo se non esci
+ dall'attività dalla pagina. La pagina verrà automaticamente
+ allontanata e verrà conteggiata come completo dopo un minuto.
+
+
+ )
+ else return <>Language not supported>
+}
+
+const Page: NextPage = () => {
+ const userStore = useUserStore()
+ const [font, setFont] = useState('sans')
+ const option: HighlightType = 'oneByTwo'
+
+ useEffect(() => {
+ if (!userStore.user) return
+ setFont(userStore.user.font)
+ }, [userStore.user])
+
+ return (
+ <>
+ Even Number Exercise Instructions
+
+
+
+
+ >
+ )
+}
+
+export default Page
diff --git a/apps/nextjs/src/pages/instructions/flashingwords/twobyone.tsx b/apps/nextjs/src/pages/instructions/flashingwords/twobyone.tsx
new file mode 100644
index 0000000..e5be0d7
--- /dev/null
+++ b/apps/nextjs/src/pages/instructions/flashingwords/twobyone.tsx
@@ -0,0 +1,105 @@
+import { useState, useEffect } from 'react'
+import type { NextPage } from 'next'
+import Head from 'next/head'
+import { useUserStore } from '../../../stores/userStore'
+import type { HighlightType, Font, User } from '@acme/types'
+import { FontProvider } from '../../../cva/fontProvider'
+import Sidebar from '../../../components/sidebar'
+import FlasherStartButton from '../../../components/flasherstartbutton'
+import LoadingSpinner from '../../../components/loadingspinner'
+
+const INSTRUCTION_DELAY = 5_000
+
+const Paragraph1 = ({ user }: { user: User | undefined }) => {
+ if (!user) return
+ if (user.language === 'english')
+ return (
+
+
+ Follow the highlighted word with your eyes. This exercise is meant to
+ help improve your ability to scan and focus as you read. Do not
+ actively attempt to read the words, just follow the highligter. In
+ order to get the most out of this exercise, try to stay relaxed and
+ focused. The exercise will only be counted as completed if you do not
+ navigate away from the page. The page will automatically navigate away
+ and be counted as complete after one minute.
+
+
+ )
+ // all of the following are grabbed from google translate and may not be accurate
+ // if you speak any of these languages and can correct them, please do so.
+ // TODO get proper translations
+ else if (user.language === 'spanish')
+ return (
+
+
+ Sigue la palabra resaltada con tus ojos. Este ejercicio está destinado
+ a ayude a mejorar su capacidad para escanear y concentrarse mientras
+ lee. no activamente Intente leer las palabras, simplemente siga el
+ resaltador. Para obtener Para aprovechar al máximo este ejercicio,
+ trate de mantenerse relajado y concentrado. El El ejercicio solo se
+ contará como completado si no navegas de la página. La página se
+ alejará automáticamente y se contará. como completo después de un
+ minuto.
+
+
+ )
+ else if (user.language === 'german')
+ return (
+
+
+ Folgen Sie dem markierten Wort mit Ihren Augen. Diese Übung soll dazu
+ dienen Helfen Sie dabei, Ihre Fähigkeit zu scannen und sich beim Lesen
+ zu konzentrieren. Nicht aktiv Versuchen Sie, die Wörter zu lesen,
+ folgen Sie einfach der Hervorhebung. Um zu bekommen Um das Beste aus
+ dieser Übung herauszuholen, versuchen Sie, entspannt und konzentriert
+ zu bleiben. Der Die Übung gilt nur dann als abgeschlossen, wenn Sie
+ nicht wegnavigieren von der Seite. Die Seite wird automatisch
+ wegnavigiert und gezählt als abgeschlossen nach einer Minute.
+
+
+ )
+ else if (user.language === 'italian')
+ return (
+
+
+ Segui con lo sguardo la parola evidenziata. Questo esercizio è pensato
+ per aiuta a migliorare la tua capacità di scansione e concentrazione
+ mentre leggi. Non attivamente tentare di leggere le parole, basta
+ seguire l'evidenziatore. Per ottenere Per ottenere il massimo da
+ questo esercizio, cerca di rimanere rilassato e concentrato. IL
+ l'esercizio verrà conteggiato come completato solo se non esci
+ dall'attività dalla pagina. La pagina verrà automaticamente
+ allontanata e verrà conteggiata come completo dopo un minuto.
+
+
+ )
+ else return <>Language not supported>
+}
+
+export default function NextPage() {
+ const userStore = useUserStore()
+ const [font, setFont] = useState('sans')
+ const option: HighlightType = 'twoByOne'
+
+ useEffect(() => {
+ if (!userStore.user) return
+ setFont(userStore.user.font)
+ }, [userStore.user])
+
+ return (
+ <>
+ Even Number Exercise Instructions
+
+
+
+
+ >
+ )
+}
diff --git a/apps/nextjs/src/pages/instructions/flashingwords/twobytwo.tsx b/apps/nextjs/src/pages/instructions/flashingwords/twobytwo.tsx
new file mode 100644
index 0000000..75fb9df
--- /dev/null
+++ b/apps/nextjs/src/pages/instructions/flashingwords/twobytwo.tsx
@@ -0,0 +1,104 @@
+import { useState, useEffect } from 'react'
+import Head from 'next/head'
+import { useUserStore } from '../../../stores/userStore'
+import type { Font, User } from '@acme/types'
+import { FontProvider } from '../../../cva/fontProvider'
+import Sidebar from '../../../components/sidebar'
+import FlasherStartButton from '../../../components/flasherstartbutton'
+import LoadingSpinner from '../../../components/loadingspinner'
+
+const INSTRUCTION_DELAY = 5_000
+
+const Paragraph1 = ({ user }: { user: User | undefined }) => {
+ if (!user) return
+ if (user.language === 'english')
+ return (
+
+
+ Follow the highlighted word with your eyes. This exercise is meant to
+ help improve your ability to scan and focus as you read. Do not
+ actively attempt to read the words, just follow the highligter. In
+ order to get the most out of this exercise, try to stay relaxed and
+ focused. The exercise will only be counted as completed if you do not
+ navigate away from the page. The page will automatically navigate away
+ and be counted as complete after one minute.
+
+
+ )
+ // all of the following are grabbed from google translate and may not be accurate
+ // if you speak any of these languages and can correct them, please do so.
+ // TODO get proper translations
+ else if (user.language === 'spanish')
+ return (
+
+
+ Sigue la palabra resaltada con tus ojos. Este ejercicio está destinado
+ a ayude a mejorar su capacidad para escanear y concentrarse mientras
+ lee. no activamente Intente leer las palabras, simplemente siga el
+ resaltador. Para obtener Para aprovechar al máximo este ejercicio,
+ trate de mantenerse relajado y concentrado. El El ejercicio solo se
+ contará como completado si no navegas de la página. La página se
+ alejará automáticamente y se contará. como completo después de un
+ minuto.
+
+
+ )
+ else if (user.language === 'german')
+ return (
+
+
+ Folgen Sie dem markierten Wort mit Ihren Augen. Diese Übung soll dazu
+ dienen Helfen Sie dabei, Ihre Fähigkeit zu scannen und sich beim Lesen
+ zu konzentrieren. Nicht aktiv Versuchen Sie, die Wörter zu lesen,
+ folgen Sie einfach der Hervorhebung. Um zu bekommen Um das Beste aus
+ dieser Übung herauszuholen, versuchen Sie, entspannt und konzentriert
+ zu bleiben. Der Die Übung gilt nur dann als abgeschlossen, wenn Sie
+ nicht wegnavigieren von der Seite. Die Seite wird automatisch
+ wegnavigiert und gezählt als abgeschlossen nach einer Minute.
+
+
+ )
+ else if (user.language === 'italian')
+ return (
+
+
+ Segui con lo sguardo la parola evidenziata. Questo esercizio è pensato
+ per aiuta a migliorare la tua capacità di scansione e concentrazione
+ mentre leggi. Non attivamente tentare di leggere le parole, basta
+ seguire l'evidenziatore. Per ottenere Per ottenere il massimo da
+ questo esercizio, cerca di rimanere rilassato e concentrato. IL
+ l'esercizio verrà conteggiato come completato solo se non esci
+ dall'attività dalla pagina. La pagina verrà automaticamente
+ allontanata e verrà conteggiata come completo dopo un minuto.
+
+
+ )
+ else return Language not supported
+}
+
+export default function Page() {
+ const userStore = useUserStore()
+ const [font, setFont] = useState('sans')
+ const option = 'twoByTwo'
+
+ useEffect(() => {
+ if (!userStore.user) return
+ setFont(userStore.user.font)
+ }, [userStore.user])
+
+ return (
+ <>
+ Even Number Exercise Instructions
+
+
+
+
+ >
+ )
+}
diff --git a/apps/nextjs/src/pages/instructions/greendot.tsx b/apps/nextjs/src/pages/instructions/greendot.tsx
new file mode 100644
index 0000000..7d59829
--- /dev/null
+++ b/apps/nextjs/src/pages/instructions/greendot.tsx
@@ -0,0 +1,108 @@
+import { useState, useEffect } from 'react'
+import Head from 'next/head'
+import LoadingSpinner from '../../components/loadingspinner'
+import { useUserStore } from '../../stores/userStore'
+import type { Font, User } from '@acme/types'
+import { type SingletonRouter, useRouter } from 'next/router'
+import { FontProvider } from '../../cva/fontProvider'
+import Sidebar from '../../components/sidebar'
+import { navigate } from '@acme/helpers'
+
+const INSTRUCTION_DELAY = 5_000
+
+function Paragraph1({ user }: { user: User | undefined }) {
+ if (!user) return
+ if (user.language === 'english')
+ return (
+
+
+ Focus on the green dot at the center of the screen.
+
+ Do not attempt to read the words on the page.
+
+ Simply focus on the green dot and attempt to keep as much of the text
+ in your peripheral vision as possible.
+
+
+ )
+ // all of the following are grabbed from google translate and may not be accurate
+ // if you speak any of these languages and can correct them, please do so.
+ // TODO get proper translations
+ else if (user.language === 'spanish')
+ return (
+
+
+ Concéntrate en el punto verde en el centro de la pantalla. No intente
+ leer las palabras de la página. Simplemente concéntrate en el punto
+ verde e intenta mantener la mayor cantidad de texto en tu visión
+ periférica posible.
+
+
+ )
+ else if (user.language === 'german')
+ return (
+
+
+ Konzentrieren Sie sich auf den grünen Punkt in der Mitte des
+ Bildschirms. Versuchen Sie nicht, die Wörter auf der Seite zu lesen.
+ Konzentrieren Sie sich einfach auf den grünen Punkt und versuchen Sie,
+ möglichst viel Text in Ihrem Text zu behalten möglichst peripheres
+ Sehen.
+
+
+ )
+ else if (user.language === 'italian')
+ return (
+
+
+ Concentrati sul punto verde al centro dello schermo. Non tentare di
+ leggere le parole sulla pagina. Concentrati semplicemente sul punto
+ verde e cerca di mantenere la maggior parte del testo nel tuo visione
+ periferica possibile.
+
+
+ )
+ else return <>Language not supported>
+}
+
+function StartButton() {
+ const [time, setTime] = useState(false)
+ const router = useRouter()
+
+ useEffect(() => {
+ setTimeout(() => setTime(true), INSTRUCTION_DELAY)
+ }, [])
+
+ return time ? (
+ navigate(router as SingletonRouter, '/exercises/greendot')}
+ >
+ Start
+
+ ) : (
+
+ )
+}
+
+export default function Page() {
+ const userStore = useUserStore()
+ const [font, setFont] = useState('sans')
+ useEffect(() => {
+ if (!userStore.user) return
+ setFont(userStore.user.font)
+ }, [userStore.user])
+
+ return (
+ <>
+ Even Number Exercise Instructions
+
+
+
+
+ >
+ )
+}
diff --git a/apps/nextjs/src/pages/instructions/lettermatcher.tsx b/apps/nextjs/src/pages/instructions/lettermatcher.tsx
new file mode 100644
index 0000000..092e0a0
--- /dev/null
+++ b/apps/nextjs/src/pages/instructions/lettermatcher.tsx
@@ -0,0 +1,129 @@
+import { useState, useEffect } from 'react'
+import Head from 'next/head'
+import LoadingSpinner from '../../components/loadingspinner'
+import { useUserStore } from '../../stores/userStore'
+import type { Font, User } from '@acme/types'
+import { type SingletonRouter, useRouter } from 'next/router'
+import { FontProvider } from '../../cva/fontProvider'
+import Sidebar from '../../components/sidebar'
+import { navigate } from '@acme/helpers'
+
+const INSTRUCTION_DELAY = 5_000
+
+function Paragraph1({ user }: { user: User | undefined }) {
+ if (!user) return
+ if (user.language === 'english')
+ return (
+
+
+ Focus on the dot in the center of the grid. After you press one of the
+ buttons below the grid the dots will briefly turn into letters.
+
+ While focusing on the dot in the center of the grid, use your
+ pirpheral vision to see if the yellow letters are either all the
+ same or different.
+
+ If they are all the same press the "✓" button, if they are
+ different press "⛔". Once the game starts you will have 1
+ minute to answer as many times as you can. Press either button to
+ start.
+
+
+ )
+ // all of the following are grabbed from google translate and may not be accurate
+ // if you speak any of these languages and can correct them, please do so.
+ // TODO get proper translations
+ else if (user.language === 'german')
+ return (
+
+
+ Konzentrieren Sie sich auf den Punkt in der Mitte des Rasters. Nachdem
+ Sie eine der Tasten unten gedrückt haben Im Raster verwandeln sich die
+ Punkte kurzzeitig in Buchstaben. Konzentrieren Sie sich dabei auf den
+ Punkt in der Mitte des Rasters und nutzen Sie dabei Ihre periphere
+ Sicht Um zu sehen, dass die gelben Buchstaben entweder alle gleich
+ oder unterschiedlich sind. Wenn sie alle gleich sind, drücken Sie die
+ Taste "✓" Taste, wenn sie unterschiedlich sind, drücken Sie
+ "⛔". Sobald das Spiel beginnt, haben Sie 1 Minute Zeit, so
+ oft wie möglich zu antworten. Drücken Sie zum Starten eine der beiden
+ Tasten.
+
+
+ )
+ else if (user.language === 'spanish')
+ return (
+
+
+ Concéntrate en el punto en el centro de la cuadrícula. Después de
+ presionar uno de los botones a continuación En la cuadrícula, los
+ puntos se convertirán brevemente en letras. Mientras te concentras en
+ el punto en el centro de la cuadrícula, usa tu visión periférica. para
+ ver si las letras amarillas son todas iguales o diferentes. Si son
+ todos iguales presione el "✓" botón, si son diferentes
+ presione "⛔". Una vez que comience el juego tendrás 1 minuto
+ para responder tantas veces como puedas. Presione cualquiera de los
+ botones para comenzar.
+
+
+ )
+ else if (user.language === 'italian')
+ return (
+
+
+ Concentrati sul punto al centro della griglia. Dopo aver premuto uno
+ dei pulsanti sottostanti sulla griglia i punti si trasformeranno
+ brevemente in lettere. Mentre ti concentri sul punto al centro della
+ griglia, usa la visione periferica per vedere se le lettere gialle
+ sono tutte uguali o diverse. Se sono tutti uguali premere il tasto
+ "✓" pulsante, se sono diversi premere "⛔". Una volta
+ avviato il gioco avrai 1 minuto per rispondere quante più volte
+ possibile. Premere uno dei pulsanti per iniziare.
+
+
+ )
+ else return <>Language not supported>
+}
+
+function StartButton() {
+ const [time, setTime] = useState(false)
+ const router = useRouter()
+
+ useEffect(() => {
+ setTimeout(() => setTime(true), INSTRUCTION_DELAY)
+ }, [])
+
+ return time ? (
+
+ navigate(router as SingletonRouter, '/exercises/lettermatcher')
+ }
+ >
+ Start
+
+ ) : (
+
+ )
+}
+
+export default function Page() {
+ const userStore = useUserStore()
+ const [font, setFont] = useState('sans')
+ useEffect(() => {
+ if (!userStore.user) return
+ setFont(userStore.user.font)
+ }, [userStore.user])
+
+ return (
+ <>
+ Even Number Exercise Instructions
+
+
+
+
+ >
+ )
+}
diff --git a/apps/nextjs/src/pages/instructions/numbermatcher.tsx b/apps/nextjs/src/pages/instructions/numbermatcher.tsx
new file mode 100644
index 0000000..04f935f
--- /dev/null
+++ b/apps/nextjs/src/pages/instructions/numbermatcher.tsx
@@ -0,0 +1,116 @@
+import { useState, useEffect } from 'react'
+import Head from 'next/head'
+import LoadingSpinner from '../../components/loadingspinner'
+import { useUserStore } from '../../stores/userStore'
+import type { Font, User } from '@acme/types'
+import { type SingletonRouter, useRouter } from 'next/router'
+import { FontProvider } from '../../cva/fontProvider'
+import Sidebar from '../../components/sidebar'
+import { navigate } from '@acme/helpers'
+
+const INSTRUCTION_DELAY = 5_000
+
+function Paragraph1({ user }: { user: User | undefined }) {
+ if (!user) return
+ if (user.language === 'english')
+ return (
+
+
+ After a short countdown you will be shown a series of numbers. The
+ numbers will remain on screen for a short period of time and then
+ disappear. Once they disappear use the buttons on screen to enter the
+ numbers you saw and then press "✓". You will have 1 minute to
+ answer as many times as you can.
+
+
+ )
+ // all of the following are grabbed from google translate and may not be accurate
+ // if you speak any of these languages and can correct them, please do so.
+ // TODO get proper translations
+ else if (user.language === 'italian')
+ return (
+
+
+ Dopo un breve conto alla rovescia ti verranno mostrati una serie di
+ numeri. I numeri lo faranno rimangono sullo schermo per un breve
+ periodo di tempo e poi scompaiono. Una volta loro scomparire
+ utilizzare i pulsanti sullo schermo per inserire i numeri visualizzati
+ e quindi premere "✓". Avrai 1 minuto per rispondere quante più
+ volte possibile.
+
+
+ )
+ else if (user.language === 'german')
+ return (
+
+
+ Nach einem kurzen Countdown wird Ihnen eine Zahlenreihe angezeigt. Die
+ Zahlen werden bleiben für kurze Zeit auf dem Bildschirm und
+ verschwinden dann. Sobald sie Verschwinden Verwenden Sie die Tasten
+ auf dem Bildschirm, um die angezeigten Zahlen einzugeben, und drücken
+ Sie dann "✓". Sie haben 1 Minute Zeit, so oft wie möglich zu
+ antworten.
+
+
+ )
+ else if (user.language === 'spanish')
+ return (
+
+
+ Después de una breve cuenta regresiva se le mostrará una serie de
+ números. Los números permanecen en la pantalla por un corto período de
+ tiempo y luego desaparecen. Una vez que ellos desaparecer use los
+ botones en la pantalla para ingresar los números que vio y luego
+ presione "✓". Tendrás 1 minuto para responder tantas veces
+ como puedas.
+
+
+ )
+ else return <>Language not supported>
+}
+
+function StartButton() {
+ const [time, setTime] = useState(false)
+ const router = useRouter()
+
+ useEffect(() => {
+ setTimeout(() => setTime(true), INSTRUCTION_DELAY)
+ }, [])
+
+ return time ? (
+
+ navigate(router as SingletonRouter, '/exercises/numbermatcher')
+ }
+ >
+ Start
+
+ ) : (
+
+ )
+}
+
+function Page() {
+ const userStore = useUserStore()
+ const [font, setFont] = useState('sans')
+ useEffect(() => {
+ if (!userStore.user) return
+ setFont(userStore.user.font)
+ }, [userStore.user])
+
+ return (
+ <>
+ Even Number Exercise Instructions
+
+
+
+
+ >
+ )
+}
+
+export default Page
diff --git a/apps/nextjs/src/pages/instructions/schultetable.tsx b/apps/nextjs/src/pages/instructions/schultetable.tsx
new file mode 100644
index 0000000..2de29dc
--- /dev/null
+++ b/apps/nextjs/src/pages/instructions/schultetable.tsx
@@ -0,0 +1,190 @@
+import { useState, useEffect } from 'react'
+import type { NextPage } from 'next'
+import Head from 'next/head'
+import LoadingSpinner from '../../components/loadingspinner'
+import { useUserStore } from '../../stores/userStore'
+import type { Font, User } from '@acme/types'
+import { type SingletonRouter, useRouter } from 'next/router'
+import { FontProvider } from '../../cva/fontProvider'
+import Sidebar from '../../components/sidebar'
+import { navigate } from '@acme/helpers'
+import { Beginner, Ideal, Intermediate } from '../../components/schultedraw'
+import { trpc } from '../../utils/trpc'
+
+const INSTRUCTION_DELAY = 5_000
+
+function Paragraph1({ user }: { user: User | undefined }) {
+ if (!user) return
+ if (user.language === 'english')
+ return (
+
+
+ Each box in the table will contain a number. The goal of this exercise
+ is to click the boxes from lowest number to highest number. Keep your
+ eyes focused on the box at the center of the table. Your eyes will
+ naturally wander but try to Keep your eyes focused on the center box.
+ As you practice your focus will improve and you will begin to use your
+ peripheral vision to see the numbers in the other boxes. As you
+ progress your eye movements should look something like this:
+
+ Beginner:
+
+ Intermediate:
+
+ Advanced:
+
+
+ As you improve at this exercise the tables will get larger. Starting
+ with a 3x3 table, then a 5x5 table, and finally a 7x7 table.
+
+
+ )
+ // all of the following are grabbed from google translate and may not be accurate
+ // if you speak any of these languages and can correct them, please do so.
+ // TODO get proper translations
+ else if (user.language === 'italian')
+ return (
+
+
+ Ogni casella nella tabella conterrà un numero. L'obiettivo di
+ questo esercizio è fare clic le caselle dal numero più basso al numero
+ più alto. Tieni gli occhi concentrati sulla scatola al centro del
+ tavolo. I tuoi occhi vagheranno naturalmente, ma cerca di mantenere i
+ tuoi occhi si concentrano sul riquadro centrale. Man mano che ti
+ eserciti, la tua concentrazione migliorerà e tu inizierai a utilizzare
+ la tua visione periferica per vedere i numeri nelle altre caselle. Man
+ mano che avanzi, i movimenti oculari dovrebbero assomigliare a questo:
+
+ Principiante:
+
+ Intermedia:
+
+ Avanzate:
+
+
+ Man mano che migliorerai in questo esercizio, le tabelle diventeranno
+ più grandi. A partire da una tabella 3x3, poi una tabella 5x5 e infine
+ una tabella 7x7.
+
+
+ )
+ else if (user.language === 'spanish')
+ return (
+
+
+ Cada casilla de la tabla contendrá un número. El objetivo de este
+ ejercicio es hacer clic las casillas del número más bajo al número más
+ alto. Mantén tus ojos enfocados en la caja. en el centro de la mesa.
+ Tus ojos naturalmente se desviarán pero trata de mantener Tus ojos se
+ centraron en el cuadro central. A medida que practiques, tu
+ concentración mejorará y podrás Comenzará a utilizar su visión
+ periférica para ver los números en los otros cuadros. A medida que
+ avances, los movimientos de tus ojos deberían verse así:
+
+ Principiante:
+
+ Intermedia:
+
+ Avanzada:
+
+
+ A medida que vayas mejorando en este ejercicio, las tablas se harán
+ más grandes. Comenzando con una mesa de 3x3, luego una mesa de 5x5 y
+ finalmente una mesa de 7x7.
+
+
+ )
+ else if (user.language === 'german')
+ return (
+
+
+ Jedes Feld in der Tabelle enthält eine Nummer. Das Ziel dieser Übung
+ ist das Klicken die Kästchen von der niedrigsten zur höchsten Zahl.
+ Konzentrieren Sie Ihren Blick auf die Box in der Mitte des Tisches.
+ Ihr Blick wird natürlich wandern, aber versuchen Sie, ihn
+ beizubehalten Deine Augen waren auf den mittleren Kasten gerichtet.
+ Während Sie üben, wird sich Ihr Fokus verbessern und Sie beginnt, Ihr
+ peripheres Sehvermögen zu nutzen, um die Zahlen in den anderen
+ Kästchen zu sehen. Im weiteren Verlauf sollten Ihre Augenbewegungen
+ etwa so aussehen:
+
+ Anfänger:
+
+ Dazwischenliegend:
+
+ Fortschrittlich:
+
+
+ Je besser Sie diese Übung machen, desto größer werden die Tische.
+ Beginnend mit einem 3x3-Tisch, dann ein 5x5-Tisch und schließlich ein
+ 7x7-Tisch.
+
+
+ )
+ else return <>Language not supported>
+}
+
+function getUrl(user: User | undefined) {
+ if (!user) return '/nav'
+ switch (user.schulteLevel) {
+ case 'three': {
+ console.log('three')
+ return '/exercises/schultetable?type=3'
+ }
+ case 'five': {
+ console.log('five')
+ return '/exercises/schultetable?type=5'
+ }
+ case 'seven': {
+ console.log('seven')
+ return '/exercises/schultetable?type=7'
+ }
+ default:
+ return '/exercises/schultetable?type=5'
+ }
+}
+
+function StartButton() {
+ const [time, setTime] = useState(false)
+ const { data } = trpc.user.get.useQuery()
+ const router = useRouter()
+
+ useEffect(() => {
+ setTimeout(() => setTime(true), INSTRUCTION_DELAY)
+ }, [])
+
+ return time ? (
+ navigate(router as SingletonRouter, getUrl(data))}
+ >
+ Start
+
+ ) : (
+
+ )
+}
+
+const Page: NextPage = () => {
+ const userStore = useUserStore()
+ const [font, setFont] = useState('sans')
+ useEffect(() => {
+ if (!userStore.user) return
+ setFont(userStore.user.font)
+ }, [userStore.user])
+
+ return (
+ <>
+ Even Number Exercise Instructions
+
+
+
+
+ >
+ )
+}
+
+export default Page
diff --git a/apps/nextjs/src/pages/instructions/speedtest.tsx b/apps/nextjs/src/pages/instructions/speedtest.tsx
new file mode 100644
index 0000000..aac186a
--- /dev/null
+++ b/apps/nextjs/src/pages/instructions/speedtest.tsx
@@ -0,0 +1,139 @@
+import { useState, useEffect } from 'react'
+import Head from 'next/head'
+import LoadingSpinner from '../../components/loadingspinner'
+import { useUserStore } from '../../stores/userStore'
+import type { Font, User } from '@acme/types'
+import { type SingletonRouter, useRouter } from 'next/router'
+import { FontProvider } from '../../cva/fontProvider'
+import Sidebar from '../../components/sidebar'
+import { navigate } from '@acme/helpers'
+
+const INSTRUCTION_DELAY = 5_000
+
+function Paragraph1({ user }: { user: User | undefined }) {
+ if (!user) return
+ if (user.language === 'english')
+ return (
+
+
+ You will be asked a series of questions to test your reading
+ comprehension at different speeds.
+
+ Remember to read the passage and answer the question based solely on
+ the information provided.
+
+ Some questions may contain information that is different from reality.
+ You will be asked a total of 10 questions and if you can answer 8 of
+ them correctly your maximum reading speed will be increased. Your
+ maximum speed will not be decreased if you fail to answer 8 questions
+ correctly. This test is designed for you to take once a week to
+ evaluate and set your progress. Remember to try to remain relaxed and
+ focused while taking this test.
+
+
+ )
+ // all of the following are grabbed from google translate and may not be accurate
+ // if you speak any of these languages and can correct them, please do so.
+ // TODO get proper translations
+ else if (user.language === 'spanish')
+ return (
+
+
+ Se le harán una serie de preguntas para evaluar su comprensión lectora
+ a diferentes velocidades. Recuerde leer el pasaje y responder la
+ pregunta basándose únicamente en la información proporcionada. Algunas
+ preguntas pueden contener información diferente a la realidad. Se te
+ harán un total de 10 preguntas y si puedes responder correctamente 8
+ de ellas, tu velocidad máxima de lectura aumentará. Su velocidad
+ máxima no disminuirá si no responde correctamente 8 preguntas. Esta
+ prueba está diseñada para que usted la realice una vez por semana para
+ evaluar y establecer su progreso. Recuerde intentar permanecer
+ relajado y concentrado mientras realiza esta prueba.
+
+
+ )
+ else if (user.language === 'italian')
+ return (
+
+
+ Ti verranno poste una serie di domande per testare la tua comprensione
+ della lettura a diverse velocità. Ricordati di leggere il passaggio e
+ di rispondere alla domanda basandoti esclusivamente sulle informazioni
+ fornite. Alcune domande potrebbero contenere informazioni diverse
+ dalla realtà. Ti verranno poste un totale di 10 domande e se riesci a
+ rispondere correttamente ad 8 di esse la tua velocità massima di
+ lettura aumenterà. La tua velocità massima non verrà ridotta se non
+ rispondi correttamente a 8 domande. Questo test è progettato per
+ essere svolto una volta alla settimana per valutare e definire i tuoi
+ progressi. Ricordati di cercare di rimanere rilassato e concentrato
+ mentre fai questo test.
+
+
+ )
+ else if (user.language === 'german')
+ return (
+
+
+ Ihnen werden eine Reihe von Fragen gestellt, um Ihr Leseverständnis in
+ verschiedenen Geschwindigkeiten zu testen. Denken Sie daran, die
+ Passage zu lesen und die Frage ausschließlich auf der Grundlage der
+ bereitgestellten Informationen zu beantworten. Einige Fragen können
+ Informationen enthalten, die von der Realität abweichen. Ihnen werden
+ insgesamt 10 Fragen gestellt und wenn Sie 8 davon richtig beantworten
+ können, erhöht sich Ihre maximale Lesegeschwindigkeit. Ihre
+ Höchstgeschwindigkeit wird nicht verringert, wenn Sie 8 Fragen nicht
+ richtig beantworten. Dieser Test ist so konzipiert, dass Sie ihn
+ einmal pro Woche absolvieren können, um Ihre Fortschritte zu bewerten
+ und festzulegen. Denken Sie daran, bei diesem Test entspannt und
+ konzentriert zu bleiben.
+
+
+ )
+ else return <>Language not supported>
+}
+
+function StartButton() {
+ const [time, setTime] = useState(false)
+ const router = useRouter()
+
+ useEffect(() => {
+ setTimeout(() => setTime(true), INSTRUCTION_DELAY)
+ }, [])
+
+ return time ? (
+
+ navigate(router as SingletonRouter, '/exercises/speedtest')
+ }
+ >
+ Start
+
+ ) : (
+
+ )
+}
+
+function Page() {
+ const userStore = useUserStore()
+ const [font, setFont] = useState('sans')
+ useEffect(() => {
+ if (!userStore.user) return
+ setFont(userStore.user.font)
+ }, [userStore.user])
+
+ return (
+ <>
+ Even Number Exercise Instructions
+
+
+
+
+ >
+ )
+}
+
+export default Page
diff --git a/apps/nextjs/src/pages/instructions/wordpairs.tsx b/apps/nextjs/src/pages/instructions/wordpairs.tsx
new file mode 100644
index 0000000..f916cf6
--- /dev/null
+++ b/apps/nextjs/src/pages/instructions/wordpairs.tsx
@@ -0,0 +1,137 @@
+import { useState, useEffect } from 'react'
+import Head from 'next/head'
+import LoadingSpinner from '../../components/loadingspinner'
+import { useUserStore } from '../../stores/userStore'
+import type { Font, User } from '@acme/types'
+import { useRouter, type SingletonRouter } from 'next/router'
+import { FontProvider } from '../../cva/fontProvider'
+import Sidebar from '../../components/sidebar'
+import { navigate } from '@acme/helpers'
+
+const INSTRUCTION_DELAY = 5_000
+
+function Paragraph1({ user }: { user: User | undefined }) {
+ if (!user) return
+ if (user.language === 'english')
+ return (
+
+
+
+ Each cell will contain two words. In five of the cells the words
+ will be slightly different and the remaining cells contain matching
+ words. Click on all of the cells that contain two different words.
+
+
+ There is no time limit, though your time will be recorded to track
+ your progression. So try to go as quickly as you can while remaining
+ accurate. This exercise is designed to help you improve your ability
+ to focus and your perception. Try to stay relaxed and focused while
+ you are doing this exercise. It is up to you how you want to approach
+ this exercise. But we recommend that you either search the table row
+ by row or column by column.
+
+
+ )
+ // all of the following are grabbed from google translate and may not be accurate
+ // if you speak any of these languages and can correct them, please do so.
+ // TODO get proper translations
+ else if (user.language === 'german')
+ return (
+
+
+ Jede Zelle enthält zwei Wörter. In fünf der Zellen stehen die Wörter
+ etwas anders und die restlichen Zellen enthalten übereinstimmende
+ Wörter. Klicken Sie auf alle Zellen, die zwei verschiedene Wörter
+ enthalten. Es gibt keine zeitliche Begrenzung, Ihre Zeit wird jedoch
+ aufgezeichnet, um Ihre Zeit zu verfolgen Fortschreiten. Versuchen Sie
+ also, so schnell wie möglich zu gehen, während Sie bleiben genau.
+ Diese Übung soll Ihnen dabei helfen, Ihre Fähigkeiten zu verbessern
+ Fokus und Ihre Wahrnehmung. Versuchen Sie dabei entspannt und
+ konzentriert zu bleiben diese Übung machen. Es liegt an Ihnen, wie Sie
+ dies angehen möchten Übung. Wir empfehlen Ihnen jedoch, die Tabelle
+ entweder zeilenweise zu durchsuchen oder Spalte für Spalte.
+
+
+ )
+ else if (user.language === 'spanish')
+ return (
+
+
+ Cada celda contendrá dos palabras. En cinco de las celdas las palabras
+ estarán ligeramente diferentes y las celdas restantes contienen
+ palabras coincidentes. Haga clic en todas las celdas que contengan dos
+ palabras diferentes. No hay límite de tiempo, aunque su tiempo se
+ registrará para realizar un seguimiento de su progresión. así que
+ intenta ir lo más rápido que puedas mientras permaneces preciso. Este
+ ejercicio está diseñado para ayudarle a mejorar su capacidad para
+ enfoque y tu percepción. Intenta mantenerte relajado y concentrado
+ mientras estás haciendo este ejercicio. Depende de usted cómo quiere
+ abordar esto ejercicio. Pero le recomendamos que busque en la tabla
+ fila por fila o columna por columna.
+
+
+ )
+ else if (user.language === 'italian')
+ return (
+
+
+ Ogni cella conterrà due parole. In cinque celle ci saranno le parole
+ leggermente diverso e le celle rimanenti contengono parole
+ corrispondenti. Fare clic su tutte le celle che contengono due parole
+ diverse. Non c'è limite di tempo, anche se il tuo tempo verrà
+ registrato per tenere traccia del tuo progressione. quindi prova ad
+ andare il più velocemente possibile rimanendo accurato. Questo
+ esercizio è progettato per aiutarti a migliorare la tua capacità di
+ concentrazione e la tua percezione. Cerca di rimanere rilassato e
+ concentrato mentre lo sei facendo questo esercizio. Dipende da te come
+ vuoi affrontare questo problema esercizio. Ma ti consigliamo di
+ cercare nella tabella riga per riga o colonna per colonna.
+
+
+ )
+ else return <>Language not supported>
+}
+
+function StartButton() {
+ const [time, setTime] = useState(false)
+ const router = useRouter()
+
+ useEffect(() => {
+ setTimeout(() => setTime(true), INSTRUCTION_DELAY)
+ }, [])
+
+ return time ? (
+
+ navigate(router as SingletonRouter, '/exercises/wordpairs')
+ }
+ >
+ Start
+
+ ) : (
+
+ )
+}
+
+export default function Page() {
+ const userStore = useUserStore()
+ const [font, setFont] = useState('sans')
+ useEffect(() => {
+ if (!userStore.user) return
+ setFont(userStore.user.font)
+ }, [userStore.user])
+
+ return (
+ <>
+ Even Number Exercise Instructions
+
+
+
+
+ >
+ )
+}
diff --git a/src/pages/nav.tsx b/apps/nextjs/src/pages/nav.tsx
similarity index 81%
rename from src/pages/nav.tsx
rename to apps/nextjs/src/pages/nav.tsx
index 12504e5..64aa05a 100644
--- a/src/pages/nav.tsx
+++ b/apps/nextjs/src/pages/nav.tsx
@@ -1,20 +1,19 @@
-import { useEffect, useState } from 'react'
import Head from 'next/head'
-import { api } from '~/utils/api'
-import { type SingletonRouter, useRouter } from 'next/router'
-import { SignedIn, SignedOut } from '@clerk/clerk-react'
-import { SignIn } from '@clerk/clerk-react'
-import { useUserStore } from '~/stores/userStore'
-import type { Exercise, User } from '~/utils/types'
+import { useRouter } from 'next/router'
+import Sidebar from '../components/sidebar'
+import { trpc } from '../utils/trpc'
+import { type SingletonRouter } from 'next/router'
+import type { Exercise, User } from '@acme/types'
import {
- isAlreadyDone,
+ navigateToNextExercise,
navigate,
getAvailableExercises,
- navigateToNextExercise,
+ isAlreadyDone,
checkName,
-} from '~/utils/helpers'
-import Sidebar from '~/components/sidebar'
-
+} from '@acme/helpers'
+import { useEffect, useState } from 'react'
+import { useUserStore } from '../stores/userStore'
+import { useClerk } from '@clerk/nextjs'
export default function Page() {
const buttonStyle = [
@@ -23,13 +22,13 @@ export default function Page() {
'p-2 md:h-16 h-12',
'hover:bg-white/20',
].join(' ')
- const user = api.user.getUnique.useQuery().data
const [isUsingChecklist, setIsUsingChecklist] = useState(false)
- const setUserStore = useUserStore((state) => state.setUser)
- const { data, isLoading } = api.user.getUnique.useQuery()
- const mutateUser = api.user.setUser.useMutation()
-
+ const setUserStore = useUserStore().setUser
+ const { data, isLoading } = trpc.user.get.useQuery()
+ const mutateUser = trpc.user.set.useMutation()
+ const user = trpc.user.get.useQuery().data
const router = useRouter()
+ const auth = useClerk()
const start = () => {
if (!user) return
@@ -76,13 +75,17 @@ export default function Page() {
}
function ExerciseCounter() {
- if (!user) return (<>>)
+ if (!user) return <>>
const availableExercises = getAvailableExercises(user)
return (
-
+
Remaining Daily Exercises:
- {availableExercises?.length ?? '0'}
+ {
+ ((availableExercises?.length ?? 1)) === 0
+ ? 'Done!'
+ : (availableExercises?.length ?? 1)
+ }
)
@@ -179,11 +182,10 @@ export default function Page() {
}
function RemainingExercises() {
- if (isUsingChecklist) { return
}
- else {
- return (
-
- )
+ if (isUsingChecklist) {
+ return
+ } else {
+ return
}
}
@@ -202,7 +204,6 @@ export default function Page() {
}
useEffect(() => {
- console.log(user)
if (!user) return
if (!checkName(user.firstName) || !checkName(user.lastName)) {
navigate(router as SingletonRouter, '/setup')
@@ -211,12 +212,23 @@ export default function Page() {
setIsUsingChecklist(user.isUsingChecklist)
}, [user, isLoading, data, setUserStore])
+ useEffect(() => {
+ if (auth.loaded) {
+ if (!auth.session) return
+ if (auth.session.status === 'active') {
+ return
+ } else {
+ navigate(router as SingletonRouter, '/')
+ }
+ }
+ }, [auth])
+
return (
<>
Home
-
+ <>
@@ -226,12 +238,7 @@ export default function Page() {
-
-
-
-
-
-
+ >
>
)
}
diff --git a/src/pages/next.tsx b/apps/nextjs/src/pages/next.tsx
similarity index 52%
rename from src/pages/next.tsx
rename to apps/nextjs/src/pages/next.tsx
index 0c02ad5..64f0dfe 100644
--- a/src/pages/next.tsx
+++ b/apps/nextjs/src/pages/next.tsx
@@ -1,38 +1,38 @@
import Head from 'next/head'
-import { SingletonRouter, useRouter } from 'next/router'
+import { type SingletonRouter, useRouter } from 'next/router'
import Image from 'next/image'
import Butterfly from 'public/flying-butterfly.gif'
-import Sidebar from '~/components/sidebar'
-import { navigateToNextExercise } from '~/utils/helpers'
-import { api } from '~/utils/api'
+import Sidebar from '../components/sidebar'
+import { navigateToNextExercise } from '@acme/helpers'
+import { trpc } from '../utils/trpc'
export default function Page() {
- const { data } = api.user.getUnique.useQuery()
+ const { data } = trpc.user.get.useQuery()
const router = useRouter()
-
+
return (
<>
Next Excercise
-
-
-
+
+
+
-
+
Click for your next exercise!
{
- if(!data) return
- navigateToNextExercise(router as SingletonRouter,data)
+ if (!data) return
+ navigateToNextExercise(router as SingletonRouter, data)
}}
>
Start
diff --git a/src/pages/settings.tsx b/apps/nextjs/src/pages/settings.tsx
similarity index 88%
rename from src/pages/settings.tsx
rename to apps/nextjs/src/pages/settings.tsx
index 77f0a63..e1c7dbe 100644
--- a/src/pages/settings.tsx
+++ b/apps/nextjs/src/pages/settings.tsx
@@ -2,26 +2,23 @@ import type { NextPage } from 'next'
import Head from 'next/head'
import { SingletonRouter, useRouter } from 'next/router'
import { Suspense, useEffect, useState } from 'react'
-import { api } from '~/utils/api'
-import type { User } from '~/utils/types'
-import useUserStore from '~/stores/userStore'
-import type { Overlay } from '~/utils/types'
-import { HighlightButton } from '~/cva/highlightSelectorButton'
-import type { Font } from '~/utils/types'
-import type { Language } from '~/utils/types'
-import LoadingSpinner from '~/components/loadingspinner'
-import Sidebar from '~/components/sidebar'
-import { navigate } from '~/utils/helpers'
+import { trpc } from '../utils/trpc'
+import type { User, Color, Language, Font } from '@acme/types'
+import useUserStore from '../stores/userStore'
+import { HighlightButton } from '../cva/highlightSelectorButton'
+import LoadingSpinner from '../components/loadingspinner'
+import Sidebar from '../components/sidebar'
+import { navigate } from '@acme/helpers'
const Page: NextPage = () => {
- const user: User | undefined = api.user.getUnique.useQuery().data
+ const user: User | undefined = trpc.user.get.useQuery().data
const [first, setFirst] = useState()
const [currentLanguage, setCurrentLanguage] = useState('english')
const [last, setLast] = useState()
const [currentWpm, setCurrentWpm] = useState()
- const { mutate } = api.user.setUser.useMutation()
+ const { mutate } = trpc.user.set.useMutation()
const store = useUserStore()
- const [currentHilight, setCurrentHilight] = useState('GREY')
+ const [currentHilight, setCurrentHilight] = useState('GREY')
const [currentFont, setCurrentFont] = useState('sans')
const inputStyle =
'rounded-full p-4 h-16 py-5 bg-white/20 text-black font-normal w-full md:w-max'
@@ -104,14 +101,14 @@ const Page: NextPage = () => {
setFirst(user.firstName)
setLast(user.lastName)
setCurrentWpm(user.currentWpm)
- setCurrentHilight(user.highlightColor as Overlay)
+ setCurrentHilight(user.highlightColor as Color)
setCurrentFont(user.font as Font)
setCurrentLanguage(user.language)
} else if (store.user) {
setFirst(store.user.firstName)
setLast(store.user.lastName)
setCurrentWpm(store.user.currentWpm)
- setCurrentHilight(store.user.highlightColor as Overlay)
+ setCurrentHilight(store.user.highlightColor as Color)
setCurrentFont(store.user.font as Font)
setCurrentLanguage(store.user.language)
}
@@ -128,7 +125,7 @@ const Page: NextPage = () => {
handleSubmition(e)}
+ onSubmit={e => handleSubmition(e)}
>
First Name:{' '}
@@ -136,7 +133,7 @@ const Page: NextPage = () => {
type='text'
defaultValue={first}
className={inputStyle}
- onChange={(e) => setFirst(e.target.value)}
+ onChange={e => setFirst(e.target.value)}
/>
@@ -145,7 +142,7 @@ const Page: NextPage = () => {
type='text'
defaultValue={last}
className={inputStyle}
- onChange={(e) => setLast(e.target.value)}
+ onChange={e => setLast(e.target.value)}
/>
@@ -155,7 +152,7 @@ const Page: NextPage = () => {
readOnly={true}
defaultValue={currentWpm}
className={inputStyle}
- onChange={(e) => setCurrentWpm(parseInt(e.target.value))}
+ onChange={e => setCurrentWpm(parseInt(e.target.value))}
/>
{
if (!user) return
if (currentWpm >= user.maxWpm && !user.isAdmin) return
else {
- setCurrentWpm((prev) => (prev as number) + 10)
+ setCurrentWpm(prev => (prev as number) + 10)
}
}}
className='flex h-12 w-12 min-w-max items-center justify-center rounded-full bg-white/20 font-normal'
@@ -177,7 +174,7 @@ const Page: NextPage = () => {
onClick={() => {
if (!currentWpm) return
if (currentWpm > 70)
- setCurrentWpm((prev) => (prev as number) - 10)
+ setCurrentWpm(prev => (prev as number) - 10)
}}
className='flex h-12 w-12 items-center justify-center rounded-full bg-white/20 font-normal'
>
@@ -296,7 +293,7 @@ const Page: NextPage = () => {
Font:{' '}
setCurrentFont(e.target.value as Font)}
+ onChange={e => setCurrentFont(e.target.value as Font)}
value={currentFont as string}
className='rounded-lg bg-white/20 p-2.5 text-2xl text-white md:w-40'
>
@@ -320,43 +317,43 @@ const Page: NextPage = () => {
Roboto Mono
Rem
Kanti
Preahvihear
BebasNeue
Chakra Petch
Ibm Plex Mono
diff --git a/src/pages/setup.tsx b/apps/nextjs/src/pages/setup.tsx
similarity index 67%
rename from src/pages/setup.tsx
rename to apps/nextjs/src/pages/setup.tsx
index fdd9008..46d3988 100644
--- a/src/pages/setup.tsx
+++ b/apps/nextjs/src/pages/setup.tsx
@@ -1,19 +1,18 @@
-import { useUserStore } from '~/stores/userStore'
+import { useUserStore } from '../stores/userStore'
import type { NextPage } from 'next'
import Head from 'next/head'
-import { SingletonRouter, useRouter } from 'next/router'
+import { type SingletonRouter, useRouter } from 'next/router'
import { useEffect, useState } from 'react'
-import { api } from '~/utils/api'
-import type { User } from '~/utils/types'
-import Sidebar from '~/components/sidebar'
-import { navigateToNextExercise } from '~/utils/helpers'
+import { trpc } from '../utils/trpc'
+import Sidebar from '../components/sidebar'
+import { navigateToNextExercise } from '@acme/helpers'
const Page: NextPage = () => {
- const user: User | undefined = api.user.getUnique.useQuery().data
+ const user = trpc.user.get.useQuery().data
const [first, setFirst] = useState()
const [last, setLast] = useState()
const store = useUserStore()
- const { mutate } = api.user.setUser.useMutation()
+ const { mutate } = trpc.user.set.useMutation()
const inputStyle =
'rounded-full p-4 h-16 py-5 bg-white/20 text-black font-normal'
const router = useRouter()
@@ -28,16 +27,16 @@ const Page: NextPage = () => {
<>
Let's Get Started!
-
-
+
+
Let's Get Started!
-
+
Please tell us your name
{
+ className='flex flex-col justify-items-end p-2'
+ onSubmit={e => {
e.preventDefault()
if (!user) return
else if (
@@ -65,25 +64,25 @@ const Page: NextPage = () => {
navigateToNextExercise(router as SingletonRouter, user)
}}
>
-
+
First Name:{' '}
setFirst(e.target.value)}
+ onChange={e => setFirst(e.target.value)}
/>
-
+
Last Name:{' '}
setLast(e.target.value)}
+ onChange={e => setLast(e.target.value)}
/>
-
+
Start
diff --git a/apps/nextjs/src/pages/sign-in/[[...index]].tsx b/apps/nextjs/src/pages/sign-in/[[...index]].tsx
new file mode 100644
index 0000000..013b1e2
--- /dev/null
+++ b/apps/nextjs/src/pages/sign-in/[[...index]].tsx
@@ -0,0 +1,21 @@
+import { SignIn } from '@clerk/nextjs'
+
+const SignInPage = () => (
+
+
+
+
+ Welcome to Iris
+
+
+
+
+
+)
+
+export default SignInPage
diff --git a/apps/nextjs/src/pages/sign-up/[[...index]].tsx b/apps/nextjs/src/pages/sign-up/[[...index]].tsx
new file mode 100644
index 0000000..4121bb3
--- /dev/null
+++ b/apps/nextjs/src/pages/sign-up/[[...index]].tsx
@@ -0,0 +1,21 @@
+import { SignUp } from '@clerk/nextjs'
+
+const SignUpPage = () => (
+
+
+
+
+ Welcome to Iris
+
+
+
+
+
+)
+
+export default SignUpPage
diff --git a/src/stores/useCubeStore.ts b/apps/nextjs/src/stores/useCubeStore.ts
similarity index 82%
rename from src/stores/useCubeStore.ts
rename to apps/nextjs/src/stores/useCubeStore.ts
index ad03972..8b81316 100644
--- a/src/stores/useCubeStore.ts
+++ b/apps/nextjs/src/stores/useCubeStore.ts
@@ -7,9 +7,9 @@ export const useCubeStore = create<{
reset: () => void
}>()(
persist(
- (set) => ({
+ set => ({
current: 1,
- increment: () => set((state) => ({ current: state.current + 1 })),
+ increment: () => set(state => ({ current: state.current + 1 })),
reset: () => set({ current: 0 }),
}),
{
diff --git a/src/stores/useMutateUser.ts b/apps/nextjs/src/stores/useMutateUser.ts
similarity index 100%
rename from src/stores/useMutateUser.ts
rename to apps/nextjs/src/stores/useMutateUser.ts
diff --git a/src/stores/usePairsStore.ts b/apps/nextjs/src/stores/usePairsStore.ts
similarity index 52%
rename from src/stores/usePairsStore.ts
rename to apps/nextjs/src/stores/usePairsStore.ts
index 9df6df2..89a5d4c 100644
--- a/src/stores/usePairsStore.ts
+++ b/apps/nextjs/src/stores/usePairsStore.ts
@@ -5,16 +5,13 @@ export const usePairsStore = create<{
errors: number
incrementCorrect: () => void
incrementErrors: () => void
-}>()(
- (set) => ({
- correct: 0,
- errors: 0,
- incrementCorrect: () => set((state) => ({ correct: state.correct + 1 })),
- incrementErrors: () => set((state) => ({ errors: state.errors + 1 })),
- }),
-)
+}>()(set => ({
+ correct: 0,
+ errors: 0,
+ incrementCorrect: () => set(state => ({ correct: state.correct + 1 })),
+ incrementErrors: () => set(state => ({ errors: state.errors + 1 })),
+}))
export default usePairsStore
export type PairsStore = typeof usePairsStore
-
diff --git a/src/stores/useSpeedTestStore.ts b/apps/nextjs/src/stores/useSpeedTestStore.ts
similarity index 83%
rename from src/stores/useSpeedTestStore.ts
rename to apps/nextjs/src/stores/useSpeedTestStore.ts
index 3d3da9a..284d09a 100644
--- a/src/stores/useSpeedTestStore.ts
+++ b/apps/nextjs/src/stores/useSpeedTestStore.ts
@@ -1,6 +1,6 @@
import { create } from 'zustand'
import { persist, createJSONStorage } from 'zustand/middleware'
-import type { SpeedTest } from '~/utils/types'
+import type { SpeedTest } from '@acme/types'
const emptySpeedTest: SpeedTest = {
id: 0,
@@ -25,13 +25,13 @@ export const useSpeedTestStore = create<{
clear: () => void
}>()(
persist(
- (set) => ({
+ set => ({
current: emptySpeedTest,
correctResponses: 0,
correctSpeeds: [],
totalResponses: 0,
- setUp: (speedTest) =>
- set((state) => ({
+ setUp: speedTest =>
+ set(state => ({
...state,
current: {
...speedTest,
@@ -39,12 +39,9 @@ export const useSpeedTestStore = create<{
correctResponses: state.correctResponses,
totalResponses: state.totalResponses,
})),
- setResponse: (answer) =>
- set((state) => ({ ...state, userAnswer: answer })),
+ setResponse: answer => set(state => ({ ...state, userAnswer: answer })),
incrementResponseCount: () =>
- set((state) => {
- console.log('I was called')
- console.log(state.totalResponses)
+ set(state => {
const res = {
current: state.current,
correctResponses: state.correctResponses,
@@ -53,7 +50,7 @@ export const useSpeedTestStore = create<{
return res
}),
incrementCorrect: (speed: number) =>
- set((state) => {
+ set(state => {
state.correctSpeeds.push(speed)
const res = {
current: state.current,
diff --git a/src/stores/userStore.ts b/apps/nextjs/src/stores/userStore.ts
similarity index 85%
rename from src/stores/userStore.ts
rename to apps/nextjs/src/stores/userStore.ts
index f5f1478..e0d5290 100644
--- a/src/stores/userStore.ts
+++ b/apps/nextjs/src/stores/userStore.ts
@@ -1,4 +1,4 @@
-import type { User } from '~/utils/types'
+import type { User } from '@acme/types'
import { create } from 'zustand'
import { persist, createJSONStorage } from 'zustand/middleware'
@@ -13,10 +13,10 @@ export const useUserStore = create<{
setUser: (user: User) => void
}>()(
persist(
- (set) => ({
+ set => ({
user: undefined,
setUser: (userFromClient: User) => {
- return set((state) => ({ ...state, user: userFromClient }))
+ return set(state => ({ ...state, user: userFromClient }))
},
}),
{
diff --git a/src/styles/globals.css b/apps/nextjs/src/styles/globals.css
similarity index 100%
rename from src/styles/globals.css
rename to apps/nextjs/src/styles/globals.css
diff --git a/apps/nextjs/src/utils/trpc.ts b/apps/nextjs/src/utils/trpc.ts
new file mode 100644
index 0000000..cab1dfc
--- /dev/null
+++ b/apps/nextjs/src/utils/trpc.ts
@@ -0,0 +1,44 @@
+// src/utils/trpc.ts
+import { createTRPCNext } from '@trpc/next'
+import { httpBatchLink, loggerLink } from '@trpc/client'
+import { inferRouterInputs, inferRouterOutputs } from '@trpc/server'
+import type { AppRouter } from '@acme/api'
+import { transformer } from '@acme/api/transformer'
+
+const getBaseUrl = () => {
+ if (typeof window !== 'undefined') return '' // browser should use relative url
+ if (process.env.VERCEL_URL) return `https://${process.env.VERCEL_URL}` // SSR should use vercel url
+
+ return `http://localhost:${process.env.PORT ?? 3000}` // dev SSR should use localhost
+}
+
+export const trpc = createTRPCNext({
+ config() {
+ return {
+ transformer,
+ links: [
+ loggerLink({
+ enabled: opts =>
+ process.env.NODE_ENV === 'development' ||
+ (opts.direction === 'down' && opts.result instanceof Error),
+ }),
+ httpBatchLink({
+ url: `${getBaseUrl()}/api/trpc`,
+ }),
+ ],
+ }
+ },
+ ssr: false,
+})
+
+/**
+ * Inference helpers for input types
+ * @example type HelloInput = RouterInputs['example']['hello']
+ **/
+export type RouterInputs = inferRouterInputs
+
+/**
+ * Inference helpers for output types
+ * @example type HelloOutput = RouterOutputs['example']['hello']
+ **/
+export type RouterOutputs = inferRouterOutputs
diff --git a/apps/nextjs/tailwind.config.cjs b/apps/nextjs/tailwind.config.cjs
new file mode 100644
index 0000000..e0a8bb5
--- /dev/null
+++ b/apps/nextjs/tailwind.config.cjs
@@ -0,0 +1,4 @@
+/** @type {import("tailwindcss").Config} */
+module.exports = {
+ presets: [require("@acme/tailwind-config")],
+};
diff --git a/apps/nextjs/tsconfig.json b/apps/nextjs/tsconfig.json
new file mode 100644
index 0000000..b617255
--- /dev/null
+++ b/apps/nextjs/tsconfig.json
@@ -0,0 +1,5 @@
+{
+ "extends": "../../tsconfig.json",
+ "exclude": [],
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "**/*.cjs", "**/*.mjs"]
+}
diff --git a/bable.config.js b/bable.config.js
deleted file mode 100644
index e8b9aa9..0000000
--- a/bable.config.js
+++ /dev/null
@@ -1,4 +0,0 @@
-export const presets = [
- ['@babel/preset-env', { targets: { node: 'current' } }],
- '@babel/preset-typescript',
-]
diff --git a/drizzle.config.ts b/drizzle.config.ts
new file mode 100644
index 0000000..2f98c81
--- /dev/null
+++ b/drizzle.config.ts
@@ -0,0 +1,16 @@
+import type { Config } from 'drizzle-kit'
+import dotenv from 'dotenv'
+
+dotenv.config({
+ path: '.env',
+})
+
+const url = process.env['DRIZZLE_DB_URL']
+
+export default {
+ schema: './packages/db/drizzle/schema.ts',
+ driver: 'mysql2',
+ dbCredentials: {
+ uri: url as string,
+ },
+} satisfies Config
diff --git a/eas.json b/eas.json
new file mode 100644
index 0000000..9bb0333
--- /dev/null
+++ b/eas.json
@@ -0,0 +1,18 @@
+{
+ "cli": {
+ "version": ">= 5.9.3"
+ },
+ "build": {
+ "development": {
+ "developmentClient": true,
+ "distribution": "internal"
+ },
+ "preview": {
+ "distribution": "internal"
+ },
+ "production": {}
+ },
+ "submit": {
+ "production": {}
+ }
+}
diff --git a/next-env.d.ts b/next-env.d.ts
new file mode 100644
index 0000000..4f11a03
--- /dev/null
+++ b/next-env.d.ts
@@ -0,0 +1,5 @@
+///
+///
+
+// NOTE: This file should not be edited
+// see https://nextjs.org/docs/basic-features/typescript for more information.
diff --git a/next.config.mjs b/next.config.mjs
deleted file mode 100644
index ab6fae3..0000000
--- a/next.config.mjs
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Run `build` or `dev` with `SKIP_ENV_VALIDATION` to skip env validation.
- * This is especially useful for Docker builds.
- */
-!process.env.SKIP_ENV_VALIDATION && (await import('./src/env.mjs'))
-
-/** @type {import("next").NextConfig} */
-const config = {
- reactStrictMode: true,
-
- /**
- * If you have the "experimental: { appDir: true }" setting enabled, then you
- * must comment the below `i18n` config out.
- *
- * @see https://github.com/vercel/next.js/issues/41980
- */
- i18n: {
- locales: ['en'],
- defaultLocale: 'en',
- },
- runtime: 'experimental-edge',
-}
-export default config
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index ed9a330..0000000
--- a/package-lock.json
+++ /dev/null
@@ -1,9448 +0,0 @@
-{
- "name": "speedread",
- "version": "0.1.0",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "name": "speedread",
- "version": "0.1.0",
- "hasInstallScript": true,
- "dependencies": {
- "@clerk/nextjs": "^4.21.13",
- "@prisma/client": "^4.16.1",
- "@tanstack/react-query": "^4.29.19",
- "@trpc/client": "^10.33.0",
- "@trpc/next": "^10.33.0",
- "@trpc/react-query": "^10.33.0",
- "@trpc/server": "^10.33.0",
- "axios": "^1.4.0",
- "class-variance-authority": "^0.7.0",
- "drizzle-kit": "^0.19.12",
- "drizzle-orm": "^0.27.2",
- "framer-motion": "^10.12.18",
- "next": "^13.4.7",
- "p5": "^1.7.0",
- "preact": "^10.15.1",
- "react": "^18.2.0",
- "react-dom": "18.2.0",
- "react-icons": "^4.12.0",
- "react-p5": "^1.3.35",
- "react-router-dom": "^6.14.2",
- "shuffle-array": "^1.0.1",
- "superjson": "1.12.2",
- "ts-node": "^10.9.1",
- "turbo": "^1.10.14",
- "TypeScript": "npm:typescript@^5.1.6",
- "uuid": "^9.0.1",
- "uuidv4": "^6.2.13",
- "vite": "^4.3.9",
- "zod": "^3.21.4",
- "zustand": "^4.3.9"
- },
- "devDependencies": {
- "@babel/core": "^7.22.5",
- "@babel/preset-env": "^7.22.5",
- "@types/eslint": "^8.40.2",
- "@types/node": "^18.16.18",
- "@types/prettier": "^2.7.3",
- "@types/react": "^18.2.14",
- "@types/react-dom": "^18.2.6",
- "@types/uuid": "^9.0.2",
- "@typescript-eslint/eslint-plugin": "^5.60.1",
- "@typescript-eslint/parser": "^5.60.1",
- "autoprefixer": "^10.4.14",
- "eslint-config-next": "^12.3.4",
- "postcss": "^8.4.24",
- "prettier": "^2.8.8",
- "prettier-plugin-tailwindcss": "^0.2.8",
- "prisma": "^5.3.1",
- "tailwindcss": "^3.3.2",
- "typescript": "^5.1.6",
- "vite-tsconfig-paths": "^4.2.0",
- "vitest": "^0.32.2"
- }
- },
- "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,
- "peer": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "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,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@ampproject/remapping": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
- "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
- "dev": true,
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/code-frame": {
- "version": "7.22.13",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
- "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
- "dev": true,
- "dependencies": {
- "@babel/highlight": "^7.22.13",
- "chalk": "^2.4.2"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/compat-data": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz",
- "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/core": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz",
- "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==",
- "dev": true,
- "dependencies": {
- "@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.22.5",
- "@babel/generator": "^7.22.5",
- "@babel/helper-compilation-targets": "^7.22.5",
- "@babel/helper-module-transforms": "^7.22.5",
- "@babel/helpers": "^7.22.5",
- "@babel/parser": "^7.22.5",
- "@babel/template": "^7.22.5",
- "@babel/traverse": "^7.22.5",
- "@babel/types": "^7.22.5",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.2.2",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/babel"
- }
- },
- "node_modules/@babel/generator": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.3.tgz",
- "integrity": "sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.23.3",
- "@jridgewell/gen-mapping": "^0.3.2",
- "@jridgewell/trace-mapping": "^0.3.17",
- "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.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz",
- "integrity": "sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz",
- "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==",
- "dev": true,
- "dependencies": {
- "@babel/compat-data": "^7.22.5",
- "@babel/helper-validator-option": "^7.22.5",
- "browserslist": "^4.21.3",
- "lru-cache": "^5.1.1",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.5.tgz",
- "integrity": "sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==",
- "dev": true,
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.22.5",
- "@babel/helper-environment-visitor": "^7.22.5",
- "@babel/helper-function-name": "^7.22.5",
- "@babel/helper-member-expression-to-functions": "^7.22.5",
- "@babel/helper-optimise-call-expression": "^7.22.5",
- "@babel/helper-replace-supers": "^7.22.5",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
- "@babel/helper-split-export-declaration": "^7.22.5",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-create-regexp-features-plugin": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.5.tgz",
- "integrity": "sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A==",
- "dev": true,
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.22.5",
- "regexpu-core": "^5.3.1",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-define-polyfill-provider": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.0.tgz",
- "integrity": "sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-compilation-targets": "^7.17.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "debug": "^4.1.1",
- "lodash.debounce": "^4.0.8",
- "resolve": "^1.14.2",
- "semver": "^6.1.2"
- },
- "peerDependencies": {
- "@babel/core": "^7.4.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.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz",
- "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-imports": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz",
- "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-transforms": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz",
- "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==",
- "dev": true,
- "dependencies": {
- "@babel/helper-environment-visitor": "^7.22.5",
- "@babel/helper-module-imports": "^7.22.5",
- "@babel/helper-simple-access": "^7.22.5",
- "@babel/helper-split-export-declaration": "^7.22.5",
- "@babel/helper-validator-identifier": "^7.22.5",
- "@babel/template": "^7.22.5",
- "@babel/traverse": "^7.22.5",
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.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.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz",
- "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-remap-async-to-generator": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz",
- "integrity": "sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==",
- "dev": true,
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.22.5",
- "@babel/helper-environment-visitor": "^7.22.5",
- "@babel/helper-wrap-function": "^7.22.5",
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-replace-supers": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz",
- "integrity": "sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-environment-visitor": "^7.22.5",
- "@babel/helper-member-expression-to-functions": "^7.22.5",
- "@babel/helper-optimise-call-expression": "^7.22.5",
- "@babel/template": "^7.22.5",
- "@babel/traverse": "^7.22.5",
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-simple-access": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
- "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.22.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.22.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
- "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-string-parser": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
- "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-identifier": {
- "version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
- "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-option": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz",
- "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-wrap-function": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz",
- "integrity": "sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw==",
- "dev": true,
- "dependencies": {
- "@babel/helper-function-name": "^7.22.5",
- "@babel/template": "^7.22.5",
- "@babel/traverse": "^7.22.5",
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helpers": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz",
- "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==",
- "dev": true,
- "dependencies": {
- "@babel/template": "^7.22.5",
- "@babel/traverse": "^7.22.5",
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/highlight": {
- "version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz",
- "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.22.20",
- "chalk": "^2.4.2",
- "js-tokens": "^4.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/parser": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.3.tgz",
- "integrity": "sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==",
- "dev": true,
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
- "version": "7.22.5",
- "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.22.5.tgz",
- "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz",
- "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
- "@babel/plugin-transform-optional-chaining": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.13.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-proposal-unicode-property-regex": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz",
- "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==",
- "dev": true,
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
- },
- "engines": {
- "node": ">=4"
- },
- "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.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz",
- "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-import-attributes": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz",
- "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "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-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-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.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz",
- "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-async-generator-functions": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.5.tgz",
- "integrity": "sha512-gGOEvFzm3fWoyD5uZq7vVTD57pPJ3PczPUD/xCFGjzBpUosnklmXyKnGQbbbGs1NPNPskFex0j93yKbHt0cHyg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-environment-visitor": "^7.22.5",
- "@babel/helper-plugin-utils": "^7.22.5",
- "@babel/helper-remap-async-to-generator": "^7.22.5",
- "@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.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz",
- "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-module-imports": "^7.22.5",
- "@babel/helper-plugin-utils": "^7.22.5",
- "@babel/helper-remap-async-to-generator": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-block-scoped-functions": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz",
- "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz",
- "integrity": "sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-class-properties": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz",
- "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.22.5",
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-class-static-block": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz",
- "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.22.5",
- "@babel/helper-plugin-utils": "^7.22.5",
- "@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.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.5.tgz",
- "integrity": "sha512-2edQhLfibpWpsVBx2n/GKOz6JdGQvLruZQfGr9l1qes2KQaWswjBzhQF7UDUZMNaMMQeYnQzxwOMPsbYF7wqPQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.22.5",
- "@babel/helper-compilation-targets": "^7.22.5",
- "@babel/helper-environment-visitor": "^7.22.5",
- "@babel/helper-function-name": "^7.22.5",
- "@babel/helper-optimise-call-expression": "^7.22.5",
- "@babel/helper-plugin-utils": "^7.22.5",
- "@babel/helper-replace-supers": "^7.22.5",
- "@babel/helper-split-export-declaration": "^7.22.5",
- "globals": "^11.1.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-computed-properties": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz",
- "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
- "@babel/template": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-destructuring": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz",
- "integrity": "sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-dotall-regex": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz",
- "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==",
- "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-0"
- }
- },
- "node_modules/@babel/plugin-transform-duplicate-keys": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz",
- "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-dynamic-import": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz",
- "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
- "@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.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz",
- "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==",
- "dev": true,
- "dependencies": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5",
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-export-namespace-from": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz",
- "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
- "@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.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz",
- "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-function-name": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz",
- "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-compilation-targets": "^7.22.5",
- "@babel/helper-function-name": "^7.22.5",
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-json-strings": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz",
- "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
- "@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.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz",
- "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-logical-assignment-operators": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz",
- "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
- "@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.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz",
- "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-modules-amd": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz",
- "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-module-transforms": "^7.22.5",
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz",
- "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-module-transforms": "^7.22.5",
- "@babel/helper-plugin-utils": "^7.22.5",
- "@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.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz",
- "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-hoist-variables": "^7.22.5",
- "@babel/helper-module-transforms": "^7.22.5",
- "@babel/helper-plugin-utils": "^7.22.5",
- "@babel/helper-validator-identifier": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-modules-umd": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz",
- "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-module-transforms": "^7.22.5",
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "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.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz",
- "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz",
- "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
- "@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.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz",
- "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
- "@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.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz",
- "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==",
- "dev": true,
- "dependencies": {
- "@babel/compat-data": "^7.22.5",
- "@babel/helper-compilation-targets": "^7.22.5",
- "@babel/helper-plugin-utils": "^7.22.5",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-object-super": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz",
- "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
- "@babel/helper-replace-supers": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-optional-catch-binding": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz",
- "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
- "@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.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.5.tgz",
- "integrity": "sha512-AconbMKOMkyG+xCng2JogMCDcqW8wedQAqpVIL4cOSescZ7+iW8utC6YDZLMCSUIReEA733gzRSaOSXMAt/4WQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.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.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz",
- "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-private-methods": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz",
- "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.22.5",
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-private-property-in-object": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz",
- "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.22.5",
- "@babel/helper-create-class-features-plugin": "^7.22.5",
- "@babel/helper-plugin-utils": "^7.22.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.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz",
- "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-regenerator": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz",
- "integrity": "sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
- "regenerator-transform": "^0.15.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-reserved-words": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz",
- "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-shorthand-properties": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz",
- "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-spread": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz",
- "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
- "@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.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz",
- "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-template-literals": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz",
- "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-typeof-symbol": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz",
- "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-unicode-escapes": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz",
- "integrity": "sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-unicode-property-regex": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz",
- "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==",
- "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-0"
- }
- },
- "node_modules/@babel/plugin-transform-unicode-regex": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz",
- "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==",
- "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-0"
- }
- },
- "node_modules/@babel/plugin-transform-unicode-sets-regex": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz",
- "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==",
- "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/preset-env": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.5.tgz",
- "integrity": "sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A==",
- "dev": true,
- "dependencies": {
- "@babel/compat-data": "^7.22.5",
- "@babel/helper-compilation-targets": "^7.22.5",
- "@babel/helper-plugin-utils": "^7.22.5",
- "@babel/helper-validator-option": "^7.22.5",
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5",
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5",
- "@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.22.5",
- "@babel/plugin-syntax-import-attributes": "^7.22.5",
- "@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.22.5",
- "@babel/plugin-transform-async-generator-functions": "^7.22.5",
- "@babel/plugin-transform-async-to-generator": "^7.22.5",
- "@babel/plugin-transform-block-scoped-functions": "^7.22.5",
- "@babel/plugin-transform-block-scoping": "^7.22.5",
- "@babel/plugin-transform-class-properties": "^7.22.5",
- "@babel/plugin-transform-class-static-block": "^7.22.5",
- "@babel/plugin-transform-classes": "^7.22.5",
- "@babel/plugin-transform-computed-properties": "^7.22.5",
- "@babel/plugin-transform-destructuring": "^7.22.5",
- "@babel/plugin-transform-dotall-regex": "^7.22.5",
- "@babel/plugin-transform-duplicate-keys": "^7.22.5",
- "@babel/plugin-transform-dynamic-import": "^7.22.5",
- "@babel/plugin-transform-exponentiation-operator": "^7.22.5",
- "@babel/plugin-transform-export-namespace-from": "^7.22.5",
- "@babel/plugin-transform-for-of": "^7.22.5",
- "@babel/plugin-transform-function-name": "^7.22.5",
- "@babel/plugin-transform-json-strings": "^7.22.5",
- "@babel/plugin-transform-literals": "^7.22.5",
- "@babel/plugin-transform-logical-assignment-operators": "^7.22.5",
- "@babel/plugin-transform-member-expression-literals": "^7.22.5",
- "@babel/plugin-transform-modules-amd": "^7.22.5",
- "@babel/plugin-transform-modules-commonjs": "^7.22.5",
- "@babel/plugin-transform-modules-systemjs": "^7.22.5",
- "@babel/plugin-transform-modules-umd": "^7.22.5",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5",
- "@babel/plugin-transform-new-target": "^7.22.5",
- "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5",
- "@babel/plugin-transform-numeric-separator": "^7.22.5",
- "@babel/plugin-transform-object-rest-spread": "^7.22.5",
- "@babel/plugin-transform-object-super": "^7.22.5",
- "@babel/plugin-transform-optional-catch-binding": "^7.22.5",
- "@babel/plugin-transform-optional-chaining": "^7.22.5",
- "@babel/plugin-transform-parameters": "^7.22.5",
- "@babel/plugin-transform-private-methods": "^7.22.5",
- "@babel/plugin-transform-private-property-in-object": "^7.22.5",
- "@babel/plugin-transform-property-literals": "^7.22.5",
- "@babel/plugin-transform-regenerator": "^7.22.5",
- "@babel/plugin-transform-reserved-words": "^7.22.5",
- "@babel/plugin-transform-shorthand-properties": "^7.22.5",
- "@babel/plugin-transform-spread": "^7.22.5",
- "@babel/plugin-transform-sticky-regex": "^7.22.5",
- "@babel/plugin-transform-template-literals": "^7.22.5",
- "@babel/plugin-transform-typeof-symbol": "^7.22.5",
- "@babel/plugin-transform-unicode-escapes": "^7.22.5",
- "@babel/plugin-transform-unicode-property-regex": "^7.22.5",
- "@babel/plugin-transform-unicode-regex": "^7.22.5",
- "@babel/plugin-transform-unicode-sets-regex": "^7.22.5",
- "@babel/preset-modules": "^0.1.5",
- "@babel/types": "^7.22.5",
- "babel-plugin-polyfill-corejs2": "^0.4.3",
- "babel-plugin-polyfill-corejs3": "^0.8.1",
- "babel-plugin-polyfill-regenerator": "^0.5.0",
- "core-js-compat": "^3.30.2",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/preset-modules": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
- "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
- "@babel/plugin-transform-dotall-regex": "^7.4.4",
- "@babel/types": "^7.4.4",
- "esutils": "^2.0.2"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "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.22.5",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz",
- "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==",
- "dev": true,
- "dependencies": {
- "regenerator-runtime": "^0.13.11"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/template": {
- "version": "7.22.15",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
- "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.22.13",
- "@babel/parser": "^7.22.15",
- "@babel/types": "^7.22.15"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.3.tgz",
- "integrity": "sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.22.13",
- "@babel/generator": "^7.23.3",
- "@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.22.6",
- "@babel/parser": "^7.23.3",
- "@babel/types": "^7.23.3",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/types": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.3.tgz",
- "integrity": "sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==",
- "dev": true,
- "dependencies": {
- "@babel/helper-string-parser": "^7.22.5",
- "@babel/helper-validator-identifier": "^7.22.20",
- "to-fast-properties": "^2.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@clerk/backend": {
- "version": "0.23.7",
- "resolved": "https://registry.npmjs.org/@clerk/backend/-/backend-0.23.7.tgz",
- "integrity": "sha512-/Fxh4mGp1vunryGKsiX6G33fSOxYpJT0sBYoPiFQ7aQbYCrDb/R/+ieT7mYdjS/7McPxPr50/5MvAbZirj8HGw==",
- "dependencies": {
- "@clerk/types": "^3.46.1",
- "@peculiar/webcrypto": "1.4.1",
- "@types/node": "16.18.6",
- "deepmerge": "4.2.2",
- "node-fetch-native": "1.0.1",
- "snakecase-keys": "5.4.4",
- "tslib": "2.4.1"
- },
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/@clerk/backend/node_modules/@types/node": {
- "version": "16.18.6",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.6.tgz",
- "integrity": "sha512-vmYJF0REqDyyU0gviezF/KHq/fYaUbFhkcNbQCuPGFQj6VTbXuHZoxs/Y7mutWe73C8AC6l9fFu8mSYiBAqkGA=="
- },
- "node_modules/@clerk/clerk-react": {
- "version": "4.21.1",
- "resolved": "https://registry.npmjs.org/@clerk/clerk-react/-/clerk-react-4.21.1.tgz",
- "integrity": "sha512-sviPg3Cp9j9mT3gW7DUJT9w/hxg37T2yxMMs93WSonEs8OA9bM6t2uMwT7NZAy1kdVVwjlWs6c+TQ7/M2qbEDA==",
- "dependencies": {
- "@clerk/shared": "^0.19.1",
- "@clerk/types": "^3.46.1",
- "swr": "1.3.0",
- "tslib": "2.4.1"
- },
- "engines": {
- "node": ">=14"
- },
- "peerDependencies": {
- "react": ">=16"
- }
- },
- "node_modules/@clerk/clerk-sdk-node": {
- "version": "4.10.14",
- "resolved": "https://registry.npmjs.org/@clerk/clerk-sdk-node/-/clerk-sdk-node-4.10.14.tgz",
- "integrity": "sha512-1rNo/CIp+fmlJ1c18KpvMJmJECB5kcep6Y18DDHAOwXH1NmmrNyPIZZVDSDk4zrb/Hs1Rv3dAImjOwmOujCTOQ==",
- "dependencies": {
- "@clerk/backend": "^0.23.7",
- "@clerk/types": "^3.46.1",
- "@types/cookies": "0.7.7",
- "@types/express": "4.17.14",
- "@types/node-fetch": "2.6.2",
- "camelcase-keys": "6.2.2",
- "cookie": "0.5.0",
- "snakecase-keys": "3.2.1",
- "tslib": "2.4.1"
- },
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/@clerk/clerk-sdk-node/node_modules/snakecase-keys": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/snakecase-keys/-/snakecase-keys-3.2.1.tgz",
- "integrity": "sha512-CjU5pyRfwOtaOITYv5C8DzpZ8XA/ieRsDpr93HI2r6e3YInC6moZpSQbmUtg8cTk58tq2x3jcG2gv+p1IZGmMA==",
- "dependencies": {
- "map-obj": "^4.1.0",
- "to-snake-case": "^1.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@clerk/nextjs": {
- "version": "4.21.13",
- "resolved": "https://registry.npmjs.org/@clerk/nextjs/-/nextjs-4.21.13.tgz",
- "integrity": "sha512-BGSm8FmiG8mQkPMM8YAk4EMP3nj5RvPm2cz8Tio//QS/1Xq/9qpnsuSFLwy+oyPtgguVS1m8p0spQ068i6JTcQ==",
- "dependencies": {
- "@clerk/backend": "^0.23.7",
- "@clerk/clerk-react": "^4.21.1",
- "@clerk/clerk-sdk-node": "^4.10.14",
- "@clerk/types": "^3.46.1",
- "path-to-regexp": "6.2.1",
- "tslib": "2.4.1"
- },
- "engines": {
- "node": ">=14"
- },
- "peerDependencies": {
- "next": ">=10",
- "react": "^17.0.2 || ^18.0.0-0",
- "react-dom": "^17.0.2 || ^18.0.0-0"
- }
- },
- "node_modules/@clerk/shared": {
- "version": "0.19.1",
- "resolved": "https://registry.npmjs.org/@clerk/shared/-/shared-0.19.1.tgz",
- "integrity": "sha512-5RwASoff6CPgHcrM3kuvgUwp9qQa02zkjUdV8lNzQYEhojz6dfahLv3xZW3MS1UqDOIGrbrPviqi9pBmjpNKPA==",
- "dependencies": {
- "glob-to-regexp": "0.4.1",
- "js-cookie": "3.0.1",
- "swr": "1.3.0"
- },
- "peerDependencies": {
- "react": ">=16"
- }
- },
- "node_modules/@clerk/types": {
- "version": "3.46.1",
- "resolved": "https://registry.npmjs.org/@clerk/types/-/types-3.46.1.tgz",
- "integrity": "sha512-IA/iSXJJZym4Z6f9OcT9OJayK2opVhxUVJky15aY4iVsJCPScgApBuuzC7N4vfXwA6RI/wGebFbvmsEQ3oI/UA==",
- "dependencies": {
- "csstype": "3.1.1"
- },
- "engines": {
- "node": ">=14"
- }
- },
- "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==",
- "dependencies": {
- "@jridgewell/trace-mapping": "0.3.9"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "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==",
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
- }
- },
- "node_modules/@drizzle-team/studio": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/@drizzle-team/studio/-/studio-0.0.5.tgz",
- "integrity": "sha512-ps5qF0tMxWRVu+V5gvCRrQNqlY92aTnIKdq27gm9LZMSdaKYZt6AVvSK1dlUMzs6Rt0Jm80b+eWct6xShBKhIw=="
- },
- "node_modules/@emotion/is-prop-valid": {
- "version": "0.8.8",
- "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz",
- "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==",
- "optional": true,
- "dependencies": {
- "@emotion/memoize": "0.7.4"
- }
- },
- "node_modules/@emotion/memoize": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
- "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==",
- "optional": true
- },
- "node_modules/@esbuild-kit/core-utils": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@esbuild-kit/core-utils/-/core-utils-3.1.0.tgz",
- "integrity": "sha512-Uuk8RpCg/7fdHSceR1M6XbSZFSuMrxcePFuGgyvsBn+u339dk5OeL4jv2EojwTN2st/unJGsVm4qHWjWNmJ/tw==",
- "dependencies": {
- "esbuild": "~0.17.6",
- "source-map-support": "^0.5.21"
- }
- },
- "node_modules/@esbuild-kit/esm-loader": {
- "version": "2.5.5",
- "resolved": "https://registry.npmjs.org/@esbuild-kit/esm-loader/-/esm-loader-2.5.5.tgz",
- "integrity": "sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==",
- "dependencies": {
- "@esbuild-kit/core-utils": "^3.0.0",
- "get-tsconfig": "^4.4.0"
- }
- },
- "node_modules/@esbuild/android-arm": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz",
- "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==",
- "cpu": [
- "arm"
- ],
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-arm64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz",
- "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-x64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz",
- "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/darwin-arm64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz",
- "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/darwin-x64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz",
- "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/freebsd-arm64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz",
- "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/freebsd-x64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz",
- "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-arm": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz",
- "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==",
- "cpu": [
- "arm"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-arm64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz",
- "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-ia32": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz",
- "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==",
- "cpu": [
- "ia32"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-loong64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz",
- "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==",
- "cpu": [
- "loong64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-mips64el": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz",
- "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==",
- "cpu": [
- "mips64el"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-ppc64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz",
- "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==",
- "cpu": [
- "ppc64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-riscv64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz",
- "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==",
- "cpu": [
- "riscv64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-s390x": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz",
- "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==",
- "cpu": [
- "s390x"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-x64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz",
- "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/netbsd-x64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz",
- "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/openbsd-x64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz",
- "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/sunos-x64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz",
- "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-arm64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz",
- "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-ia32": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz",
- "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==",
- "cpu": [
- "ia32"
- ],
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-x64": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz",
- "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@eslint-community/eslint-utils": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
- "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
- "dev": true,
- "dependencies": {
- "eslint-visitor-keys": "^3.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
- }
- },
- "node_modules/@eslint-community/regexpp": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz",
- "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==",
- "dev": true,
- "engines": {
- "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
- }
- },
- "node_modules/@eslint/eslintrc": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz",
- "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^9.5.2",
- "globals": "^13.19.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.1.2",
- "strip-json-comments": "^3.1.1"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/@eslint/eslintrc/node_modules/globals": {
- "version": "13.20.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
- "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "type-fest": "^0.20.2"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@eslint/eslintrc/node_modules/type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@eslint/js": {
- "version": "8.43.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.43.0.tgz",
- "integrity": "sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "node_modules/@humanwhocodes/config-array": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz",
- "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "@humanwhocodes/object-schema": "^1.2.1",
- "debug": "^4.1.1",
- "minimatch": "^3.0.5"
- },
- "engines": {
- "node": ">=10.10.0"
- }
- },
- "node_modules/@humanwhocodes/module-importer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">=12.22"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
- },
- "node_modules/@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
- "dev": true,
- "peer": true
- },
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
- "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
- "dev": true,
- "dependencies": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
- "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/set-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
- "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
- "dev": true,
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.15",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
- "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.18",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz",
- "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==",
- "dev": true,
- "dependencies": {
- "@jridgewell/resolve-uri": "3.1.0",
- "@jridgewell/sourcemap-codec": "1.4.14"
- }
- },
- "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.14",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
- "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
- "dev": true
- },
- "node_modules/@next/env": {
- "version": "13.4.7",
- "resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.7.tgz",
- "integrity": "sha512-ZlbiFulnwiFsW9UV1ku1OvX/oyIPLtMk9p/nnvDSwI0s7vSoZdRtxXNsaO+ZXrLv/pMbXVGq4lL8TbY9iuGmVw=="
- },
- "node_modules/@next/eslint-plugin-next": {
- "version": "12.3.4",
- "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-12.3.4.tgz",
- "integrity": "sha512-BFwj8ykJY+zc1/jWANsDprDIu2MgwPOIKxNVnrKvPs+f5TPegrVnem8uScND+1veT4B7F6VeqgaNLFW1Hzl9Og==",
- "dev": true,
- "dependencies": {
- "glob": "7.1.7"
- }
- },
- "node_modules/@next/swc-darwin-arm64": {
- "version": "13.4.7",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.7.tgz",
- "integrity": "sha512-VZTxPv1b59KGiv/pZHTO5Gbsdeoxcj2rU2cqJu03btMhHpn3vwzEK0gUSVC/XW96aeGO67X+cMahhwHzef24/w==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-darwin-x64": {
- "version": "13.4.7",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.7.tgz",
- "integrity": "sha512-gO2bw+2Ymmga+QYujjvDz9955xvYGrWofmxTq7m70b9pDPvl7aDFABJOZ2a8SRCuSNB5mXU8eTOmVVwyp/nAew==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-linux-arm64-gnu": {
- "version": "13.4.7",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.7.tgz",
- "integrity": "sha512-6cqp3vf1eHxjIDhEOc7Mh/s8z1cwc/l5B6ZNkOofmZVyu1zsbEM5Hmx64s12Rd9AYgGoiCz4OJ4M/oRnkE16/Q==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-linux-arm64-musl": {
- "version": "13.4.7",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.7.tgz",
- "integrity": "sha512-T1kD2FWOEy5WPidOn1si0rYmWORNch4a/NR52Ghyp4q7KyxOCuiOfZzyhVC5tsLIBDH3+cNdB5DkD9afpNDaOw==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-linux-x64-gnu": {
- "version": "13.4.7",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.7.tgz",
- "integrity": "sha512-zaEC+iEiAHNdhl6fuwl0H0shnTzQoAoJiDYBUze8QTntE/GNPfTYpYboxF5LRYIjBwETUatvE0T64W6SKDipvg==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-linux-x64-musl": {
- "version": "13.4.7",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.7.tgz",
- "integrity": "sha512-X6r12F8d8SKAtYJqLZBBMIwEqcTRvUdVm+xIq+l6pJqlgT2tNsLLf2i5Cl88xSsIytBICGsCNNHd+siD2fbWBA==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-win32-arm64-msvc": {
- "version": "13.4.7",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.7.tgz",
- "integrity": "sha512-NPnmnV+vEIxnu6SUvjnuaWRglZzw4ox5n/MQTxeUhb5iwVWFedolPFebMNwgrWu4AELwvTdGtWjqof53AiWHcw==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-win32-ia32-msvc": {
- "version": "13.4.7",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.7.tgz",
- "integrity": "sha512-6Hxijm6/a8XqLQpOOf/XuwWRhcuc/g4rBB2oxjgCMuV9Xlr2bLs5+lXyh8w9YbAUMYR3iC9mgOlXbHa79elmXw==",
- "cpu": [
- "ia32"
- ],
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-win32-x64-msvc": {
- "version": "13.4.7",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.7.tgz",
- "integrity": "sha512-sW9Yt36Db1nXJL+mTr2Wo0y+VkPWeYhygvcHj1FF0srVtV+VoDjxleKtny21QHaG05zdeZnw2fCtf2+dEqgwqA==",
- "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/@peculiar/asn1-schema": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.6.tgz",
- "integrity": "sha512-izNRxPoaeJeg/AyH8hER6s+H7p4itk+03QCa4sbxI3lNdseQYCuxzgsuNK8bTXChtLTjpJz6NmXKA73qLa3rCA==",
- "dependencies": {
- "asn1js": "^3.0.5",
- "pvtsutils": "^1.3.2",
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@peculiar/json-schema": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/@peculiar/json-schema/-/json-schema-1.1.12.tgz",
- "integrity": "sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==",
- "dependencies": {
- "tslib": "^2.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/@peculiar/webcrypto": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.4.1.tgz",
- "integrity": "sha512-eK4C6WTNYxoI7JOabMoZICiyqRRtJB220bh0Mbj5RwRycleZf9BPyZoxsTvpP0FpmVS2aS13NKOuh5/tN3sIRw==",
- "dependencies": {
- "@peculiar/asn1-schema": "^2.3.0",
- "@peculiar/json-schema": "^1.1.12",
- "pvtsutils": "^1.3.2",
- "tslib": "^2.4.1",
- "webcrypto-core": "^1.7.4"
- },
- "engines": {
- "node": ">=10.12.0"
- }
- },
- "node_modules/@prisma/client": {
- "version": "4.16.1",
- "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.16.1.tgz",
- "integrity": "sha512-CoDHu7Bt+NuDo40ijoeHP79EHtECsPBTy3yte5Yo3op8TqXt/kV0OT5OrsWewKvQGKFMHhYQ+ePed3zzjYdGAw==",
- "hasInstallScript": true,
- "dependencies": {
- "@prisma/engines-version": "4.16.0-66.b20ead4d3ab9e78ac112966e242ded703f4a052c"
- },
- "engines": {
- "node": ">=14.17"
- },
- "peerDependencies": {
- "prisma": "*"
- },
- "peerDependenciesMeta": {
- "prisma": {
- "optional": true
- }
- }
- },
- "node_modules/@prisma/engines": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.3.1.tgz",
- "integrity": "sha512-6QkILNyfeeN67BNEPEtkgh3Xo2tm6D7V+UhrkBbRHqKw9CTaz/vvTP/ROwYSP/3JT2MtIutZm/EnhxUiuOPVDA==",
- "devOptional": true,
- "hasInstallScript": true
- },
- "node_modules/@prisma/engines-version": {
- "version": "4.16.0-66.b20ead4d3ab9e78ac112966e242ded703f4a052c",
- "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.16.0-66.b20ead4d3ab9e78ac112966e242ded703f4a052c.tgz",
- "integrity": "sha512-tMWAF/qF00fbUH1HB4Yjmz6bjh7fzkb7Y3NRoUfMlHu6V+O45MGvqwYxqwBjn1BIUXkl3r04W351D4qdJjrgvA=="
- },
- "node_modules/@remix-run/router": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.7.2.tgz",
- "integrity": "sha512-7Lcn7IqGMV+vizMPoEl5F0XDshcdDYtMI6uJLQdQz5CfZAwy3vvGKYSUk789qndt5dEC4HfSjviSYlSoHGL2+A==",
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/@rushstack/eslint-patch": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.2.tgz",
- "integrity": "sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==",
- "dev": true
- },
- "node_modules/@swc/helpers": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz",
- "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==",
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@tanstack/query-core": {
- "version": "4.29.19",
- "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.29.19.tgz",
- "integrity": "sha512-uPe1DukeIpIHpQi6UzIgBcXsjjsDaLnc7hF+zLBKnaUlh7jFE/A+P8t4cU4VzKPMFB/C970n/9SxtpO5hmIRgw==",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/tannerlinsley"
- }
- },
- "node_modules/@tanstack/react-query": {
- "version": "4.29.19",
- "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.29.19.tgz",
- "integrity": "sha512-XiTIOHHQ5Cw1WUlHaD4fmVUMhoWjuNJlAeJGq7eM4BraI5z7y8WkZO+NR8PSuRnQGblpuVdjClQbDFtwxTtTUw==",
- "dependencies": {
- "@tanstack/query-core": "4.29.19",
- "use-sync-external-store": "^1.2.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/tannerlinsley"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react-native": "*"
- },
- "peerDependenciesMeta": {
- "react-dom": {
- "optional": true
- },
- "react-native": {
- "optional": true
- }
- }
- },
- "node_modules/@trpc/client": {
- "version": "10.33.0",
- "resolved": "https://registry.npmjs.org/@trpc/client/-/client-10.33.0.tgz",
- "integrity": "sha512-gHKe/5MEdoi1HEF7gsviFdHC7IyVRYjS39C0uXYHlM9rJ9It+KQpz8+wu9XkORte/lbBCScOGOPLNqb5IvSF/g==",
- "funding": [
- "https://trpc.io/sponsor"
- ],
- "peerDependencies": {
- "@trpc/server": "10.33.0"
- }
- },
- "node_modules/@trpc/next": {
- "version": "10.33.0",
- "resolved": "https://registry.npmjs.org/@trpc/next/-/next-10.33.0.tgz",
- "integrity": "sha512-x2aRwGbXd+8Yk3WxVGF5IDWu9f/m2Na68FTU7df8WoJ4Il8T79Blr3i2CrpGrLZ25KyAJ34Mpqtaxwb1dUct0g==",
- "funding": [
- "https://trpc.io/sponsor"
- ],
- "dependencies": {
- "react-ssr-prepass": "^1.5.0"
- },
- "peerDependencies": {
- "@tanstack/react-query": "^4.18.0",
- "@trpc/client": "10.33.0",
- "@trpc/react-query": "10.33.0",
- "@trpc/server": "10.33.0",
- "next": "13.4.7",
- "react": ">=16.8.0",
- "react-dom": ">=16.8.0"
- }
- },
- "node_modules/@trpc/react-query": {
- "version": "10.33.0",
- "resolved": "https://registry.npmjs.org/@trpc/react-query/-/react-query-10.33.0.tgz",
- "integrity": "sha512-SPqw7aJxiYIx4hhaNIGl2fQvQeiz0eo3QpWm0oYyE5f24+TBfyK+jrDGMQt+020cuPb+QNfrxCJFGsXYT0410w==",
- "funding": [
- "https://trpc.io/sponsor"
- ],
- "peerDependencies": {
- "@tanstack/react-query": "^4.18.0",
- "@trpc/client": "10.33.0",
- "@trpc/server": "10.33.0",
- "react": ">=16.8.0",
- "react-dom": ">=16.8.0"
- }
- },
- "node_modules/@trpc/server": {
- "version": "10.33.0",
- "resolved": "https://registry.npmjs.org/@trpc/server/-/server-10.33.0.tgz",
- "integrity": "sha512-3EN7hiYFy1FsMqGIHEkRqtjxLhTRc/E73mdE+F/vqJWNwigM8UmAvZgFC0YTw87PYpztYzA1vxxK7LQfhXHeog==",
- "funding": [
- "https://trpc.io/sponsor"
- ]
- },
- "node_modules/@tsconfig/node10": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz",
- "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA=="
- },
- "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=="
- },
- "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=="
- },
- "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=="
- },
- "node_modules/@types/body-parser": {
- "version": "1.19.2",
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
- "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
- "dependencies": {
- "@types/connect": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/chai": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.5.tgz",
- "integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==",
- "dev": true
- },
- "node_modules/@types/chai-subset": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.3.tgz",
- "integrity": "sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==",
- "dev": true,
- "dependencies": {
- "@types/chai": "*"
- }
- },
- "node_modules/@types/connect": {
- "version": "3.4.35",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
- "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/cookies": {
- "version": "0.7.7",
- "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.7.tgz",
- "integrity": "sha512-h7BcvPUogWbKCzBR2lY4oqaZbO3jXZksexYJVFvkrFeLgbZjQkU4x8pRq6eg2MHXQhY0McQdqmmsxRWlVAHooA==",
- "dependencies": {
- "@types/connect": "*",
- "@types/express": "*",
- "@types/keygrip": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/eslint": {
- "version": "8.40.2",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.2.tgz",
- "integrity": "sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ==",
- "dev": true,
- "dependencies": {
- "@types/estree": "*",
- "@types/json-schema": "*"
- }
- },
- "node_modules/@types/estree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz",
- "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==",
- "dev": true
- },
- "node_modules/@types/express": {
- "version": "4.17.14",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz",
- "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==",
- "dependencies": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "^4.17.18",
- "@types/qs": "*",
- "@types/serve-static": "*"
- }
- },
- "node_modules/@types/express-serve-static-core": {
- "version": "4.17.35",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz",
- "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==",
- "dependencies": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*",
- "@types/send": "*"
- }
- },
- "node_modules/@types/http-errors": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz",
- "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ=="
- },
- "node_modules/@types/json-schema": {
- "version": "7.0.12",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz",
- "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==",
- "dev": true
- },
- "node_modules/@types/json5": {
- "version": "0.0.29",
- "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
- "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
- "dev": true
- },
- "node_modules/@types/keygrip": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.2.tgz",
- "integrity": "sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw=="
- },
- "node_modules/@types/mime": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
- "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw=="
- },
- "node_modules/@types/node": {
- "version": "18.16.18",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.18.tgz",
- "integrity": "sha512-/aNaQZD0+iSBAGnvvN2Cx92HqE5sZCPZtx2TsK+4nvV23fFe09jVDvpArXr2j9DnYlzuU9WuoykDDc6wqvpNcw=="
- },
- "node_modules/@types/node-fetch": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz",
- "integrity": "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==",
- "dependencies": {
- "@types/node": "*",
- "form-data": "^3.0.0"
- }
- },
- "node_modules/@types/p5": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/@types/p5/-/p5-1.3.3.tgz",
- "integrity": "sha512-PBSFnX6IgV6Pqlx9wocUjSkGlm1I1ymz9tEiTbdNCqig6FOGiWcVUHx13TXRTBfRIhZC9+MqqgztMsgzpueaUg=="
- },
- "node_modules/@types/prettier": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz",
- "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==",
- "dev": true
- },
- "node_modules/@types/prop-types": {
- "version": "15.7.5",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
- "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
- "dev": true
- },
- "node_modules/@types/qs": {
- "version": "6.9.7",
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
- "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw=="
- },
- "node_modules/@types/range-parser": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
- "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw=="
- },
- "node_modules/@types/react": {
- "version": "18.2.14",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.14.tgz",
- "integrity": "sha512-A0zjq+QN/O0Kpe30hA1GidzyFjatVvrpIvWLxD+xv67Vt91TWWgco9IvrJBkeyHm1trGaFS/FSGqPlhyeZRm0g==",
- "dev": true,
- "dependencies": {
- "@types/prop-types": "*",
- "@types/scheduler": "*",
- "csstype": "^3.0.2"
- }
- },
- "node_modules/@types/react-dom": {
- "version": "18.2.6",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.6.tgz",
- "integrity": "sha512-2et4PDvg6PVCyS7fuTc4gPoksV58bW0RwSxWKcPRcHZf0PRUGq03TKcD/rUHe3azfV6/5/biUBJw+HhCQjaP0A==",
- "dev": true,
- "dependencies": {
- "@types/react": "*"
- }
- },
- "node_modules/@types/scheduler": {
- "version": "0.16.3",
- "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz",
- "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==",
- "dev": true
- },
- "node_modules/@types/semver": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz",
- "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==",
- "dev": true
- },
- "node_modules/@types/send": {
- "version": "0.17.1",
- "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz",
- "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==",
- "dependencies": {
- "@types/mime": "^1",
- "@types/node": "*"
- }
- },
- "node_modules/@types/serve-static": {
- "version": "1.15.2",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz",
- "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==",
- "dependencies": {
- "@types/http-errors": "*",
- "@types/mime": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/uuid": {
- "version": "9.0.2",
- "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.2.tgz",
- "integrity": "sha512-kNnC1GFBLuhImSnV7w4njQkUiJi0ZXUycu1rUaouPqiKlXkh77JKgdRnTAp1x5eBwcIwbtI+3otwzuIDEuDoxQ==",
- "dev": true
- },
- "node_modules/@typescript-eslint/eslint-plugin": {
- "version": "5.60.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.60.1.tgz",
- "integrity": "sha512-KSWsVvsJsLJv3c4e73y/Bzt7OpqMCADUO846bHcuWYSYM19bldbAeDv7dYyV0jwkbMfJ2XdlzwjhXtuD7OY6bw==",
- "dev": true,
- "dependencies": {
- "@eslint-community/regexpp": "^4.4.0",
- "@typescript-eslint/scope-manager": "5.60.1",
- "@typescript-eslint/type-utils": "5.60.1",
- "@typescript-eslint/utils": "5.60.1",
- "debug": "^4.3.4",
- "grapheme-splitter": "^1.0.4",
- "ignore": "^5.2.0",
- "natural-compare-lite": "^1.4.0",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "@typescript-eslint/parser": "^5.0.0",
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/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/@typescript-eslint/eslint-plugin/node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/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/@typescript-eslint/parser": {
- "version": "5.60.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.60.1.tgz",
- "integrity": "sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/scope-manager": "5.60.1",
- "@typescript-eslint/types": "5.60.1",
- "@typescript-eslint/typescript-estree": "5.60.1",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/scope-manager": {
- "version": "5.60.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.1.tgz",
- "integrity": "sha512-Dn/LnN7fEoRD+KspEOV0xDMynEmR3iSHdgNsarlXNLGGtcUok8L4N71dxUgt3YvlO8si7E+BJ5Fe3wb5yUw7DQ==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.60.1",
- "@typescript-eslint/visitor-keys": "5.60.1"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/type-utils": {
- "version": "5.60.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.60.1.tgz",
- "integrity": "sha512-vN6UztYqIu05nu7JqwQGzQKUJctzs3/Hg7E2Yx8rz9J+4LgtIDFWjjl1gm3pycH0P3mHAcEUBd23LVgfrsTR8A==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/typescript-estree": "5.60.1",
- "@typescript-eslint/utils": "5.60.1",
- "debug": "^4.3.4",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "*"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/types": {
- "version": "5.60.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.1.tgz",
- "integrity": "sha512-zDcDx5fccU8BA0IDZc71bAtYIcG9PowaOwaD8rjYbqwK7dpe/UMQl3inJ4UtUK42nOCT41jTSCwg76E62JpMcg==",
- "dev": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.60.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.1.tgz",
- "integrity": "sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.60.1",
- "@typescript-eslint/visitor-keys": "5.60.1",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/typescript-estree/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/@typescript-eslint/typescript-estree/node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@typescript-eslint/typescript-estree/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/@typescript-eslint/utils": {
- "version": "5.60.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.60.1.tgz",
- "integrity": "sha512-tiJ7FFdFQOWssFa3gqb94Ilexyw0JVxj6vBzaSpfN/8IhoKkDuSAenUKvsSHw2A/TMpJb26izIszTXaqygkvpQ==",
- "dev": true,
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@types/json-schema": "^7.0.9",
- "@types/semver": "^7.3.12",
- "@typescript-eslint/scope-manager": "5.60.1",
- "@typescript-eslint/types": "5.60.1",
- "@typescript-eslint/typescript-estree": "5.60.1",
- "eslint-scope": "^5.1.1",
- "semver": "^7.3.7"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/@typescript-eslint/utils/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/@typescript-eslint/utils/node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@typescript-eslint/utils/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/@typescript-eslint/visitor-keys": {
- "version": "5.60.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.1.tgz",
- "integrity": "sha512-xEYIxKcultP6E/RMKqube11pGjXH1DCo60mQoWhVYyKfLkwbIVVjYxmOenNMxILx0TjCujPTjjnTIVzm09TXIw==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.60.1",
- "eslint-visitor-keys": "^3.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@vitest/expect": {
- "version": "0.32.2",
- "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.32.2.tgz",
- "integrity": "sha512-6q5yzweLnyEv5Zz1fqK5u5E83LU+gOMVBDuxBl2d2Jfx1BAp5M+rZgc5mlyqdnxquyoiOXpXmFNkcGcfFnFH3Q==",
- "dev": true,
- "dependencies": {
- "@vitest/spy": "0.32.2",
- "@vitest/utils": "0.32.2",
- "chai": "^4.3.7"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/@vitest/runner": {
- "version": "0.32.2",
- "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.32.2.tgz",
- "integrity": "sha512-06vEL0C1pomOEktGoLjzZw+1Fb+7RBRhmw/06WkDrd1akkT9i12su0ku+R/0QM69dfkIL/rAIDTG+CSuQVDcKw==",
- "dev": true,
- "dependencies": {
- "@vitest/utils": "0.32.2",
- "concordance": "^5.0.4",
- "p-limit": "^4.0.0",
- "pathe": "^1.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/@vitest/runner/node_modules/p-limit": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz",
- "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==",
- "dev": true,
- "dependencies": {
- "yocto-queue": "^1.0.0"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@vitest/runner/node_modules/yocto-queue": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz",
- "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==",
- "dev": true,
- "engines": {
- "node": ">=12.20"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@vitest/snapshot": {
- "version": "0.32.2",
- "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.32.2.tgz",
- "integrity": "sha512-JwhpeH/PPc7GJX38vEfCy9LtRzf9F4er7i4OsAJyV7sjPwjj+AIR8cUgpMTWK4S3TiamzopcTyLsZDMuldoi5A==",
- "dev": true,
- "dependencies": {
- "magic-string": "^0.30.0",
- "pathe": "^1.1.0",
- "pretty-format": "^27.5.1"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/@vitest/spy": {
- "version": "0.32.2",
- "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.32.2.tgz",
- "integrity": "sha512-Q/ZNILJ4ca/VzQbRM8ur3Si5Sardsh1HofatG9wsJY1RfEaw0XKP8IVax2lI1qnrk9YPuG9LA2LkZ0EI/3d4ug==",
- "dev": true,
- "dependencies": {
- "tinyspy": "^2.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/@vitest/utils": {
- "version": "0.32.2",
- "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.32.2.tgz",
- "integrity": "sha512-lnJ0T5i03j0IJaeW73hxe2AuVnZ/y1BhhCOuIcl9LIzXnbpXJT9Lrt6brwKHXLOiA7MZ6N5hSJjt0xE1dGNCzQ==",
- "dev": true,
- "dependencies": {
- "diff-sequences": "^29.4.3",
- "loupe": "^2.3.6",
- "pretty-format": "^27.5.1"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/acorn": {
- "version": "8.9.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz",
- "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-jsx": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
- "peer": true,
- "peerDependencies": {
- "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/acorn-walk": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
- "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "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/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",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "dev": true,
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/arg": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
- "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
- "dev": true
- },
- "node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true,
- "peer": true
- },
- "node_modules/aria-query": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
- "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
- "dev": true,
- "dependencies": {
- "dequal": "^2.0.3"
- }
- },
- "node_modules/array-buffer-byte-length": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
- "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "is-array-buffer": "^3.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array-includes": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz",
- "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "get-intrinsic": "^1.1.3",
- "is-string": "^1.0.7"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/array.prototype.flat": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz",
- "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "es-shim-unscopables": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array.prototype.flatmap": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz",
- "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "es-shim-unscopables": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array.prototype.tosorted": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz",
- "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "es-shim-unscopables": "^1.0.0",
- "get-intrinsic": "^1.1.3"
- }
- },
- "node_modules/asn1js": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz",
- "integrity": "sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==",
- "dependencies": {
- "pvtsutils": "^1.3.2",
- "pvutils": "^1.1.3",
- "tslib": "^2.4.0"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/assertion-error": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
- "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/ast-types-flow": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
- "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==",
- "dev": true
- },
- "node_modules/asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
- },
- "node_modules/autoprefixer": {
- "version": "10.4.14",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz",
- "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/autoprefixer"
- }
- ],
- "dependencies": {
- "browserslist": "^4.21.5",
- "caniuse-lite": "^1.0.30001464",
- "fraction.js": "^4.2.0",
- "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.5",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
- "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/axe-core": {
- "version": "4.7.2",
- "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz",
- "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/axios": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.0.tgz",
- "integrity": "sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==",
- "dependencies": {
- "follow-redirects": "^1.15.0",
- "form-data": "^4.0.0",
- "proxy-from-env": "^1.1.0"
- }
- },
- "node_modules/axios/node_modules/form-data": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
- "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/axobject-query": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz",
- "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==",
- "dev": true,
- "dependencies": {
- "dequal": "^2.0.3"
- }
- },
- "node_modules/babel-plugin-polyfill-corejs2": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.3.tgz",
- "integrity": "sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==",
- "dev": true,
- "dependencies": {
- "@babel/compat-data": "^7.17.7",
- "@babel/helper-define-polyfill-provider": "^0.4.0",
- "semver": "^6.1.1"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/babel-plugin-polyfill-corejs3": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz",
- "integrity": "sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==",
- "dev": true,
- "dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.4.0",
- "core-js-compat": "^3.30.1"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/babel-plugin-polyfill-regenerator": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz",
- "integrity": "sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g==",
- "dev": true,
- "dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.4.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
- },
- "node_modules/binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/blueimp-md5": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz",
- "integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==",
- "dev": true
- },
- "node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/browserslist": {
- "version": "4.21.9",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz",
- "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "dependencies": {
- "caniuse-lite": "^1.0.30001503",
- "electron-to-chromium": "^1.4.431",
- "node-releases": "^2.0.12",
- "update-browserslist-db": "^1.0.11"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- }
- },
- "node_modules/buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
- },
- "node_modules/busboy": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
- "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
- "dependencies": {
- "streamsearch": "^1.1.0"
- },
- "engines": {
- "node": ">=10.16.0"
- }
- },
- "node_modules/cac": {
- "version": "6.7.14",
- "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz",
- "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/camelcase-css": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
- "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/camelcase-keys": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
- "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
- "dependencies": {
- "camelcase": "^5.3.1",
- "map-obj": "^4.0.0",
- "quick-lru": "^4.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/caniuse-lite": {
- "version": "1.0.30001509",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001509.tgz",
- "integrity": "sha512-2uDDk+TRiTX5hMcUYT/7CSyzMZxjfGu0vAUjS2g0LSD8UoXOv0LtpH4LxGMemsiPq6LCVIUjNwVM0erkOkGCDA==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ]
- },
- "node_modules/chai": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz",
- "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==",
- "dev": true,
- "dependencies": {
- "assertion-error": "^1.1.0",
- "check-error": "^1.0.2",
- "deep-eql": "^4.1.2",
- "get-func-name": "^2.0.0",
- "loupe": "^2.3.1",
- "pathval": "^1.1.1",
- "type-detect": "^4.0.5"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "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/check-error": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
- "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/chokidar/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/class-variance-authority": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.0.tgz",
- "integrity": "sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==",
- "dependencies": {
- "clsx": "2.0.0"
- },
- "funding": {
- "url": "https://joebell.co.uk"
- }
- },
- "node_modules/cli-color": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.3.tgz",
- "integrity": "sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==",
- "dependencies": {
- "d": "^1.0.1",
- "es5-ext": "^0.10.61",
- "es6-iterator": "^2.0.3",
- "memoizee": "^0.4.15",
- "timers-ext": "^0.1.7"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/client-only": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
- "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
- },
- "node_modules/clsx": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz",
- "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==",
- "engines": {
- "node": ">=6"
- }
- },
- "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/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/combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dependencies": {
- "delayed-stream": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/commander": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
- "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
- },
- "node_modules/concordance": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/concordance/-/concordance-5.0.4.tgz",
- "integrity": "sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==",
- "dev": true,
- "dependencies": {
- "date-time": "^3.1.0",
- "esutils": "^2.0.3",
- "fast-diff": "^1.2.0",
- "js-string-escape": "^1.0.1",
- "lodash": "^4.17.15",
- "md5-hex": "^3.0.1",
- "semver": "^7.3.2",
- "well-known-symbols": "^2.0.0"
- },
- "engines": {
- "node": ">=10.18.0 <11 || >=12.14.0 <13 || >=14"
- }
- },
- "node_modules/concordance/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/concordance/node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/concordance/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/convert-source-map": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
- "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
- "dev": true
- },
- "node_modules/cookie": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
- "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/copy-anything": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz",
- "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==",
- "dependencies": {
- "is-what": "^4.1.8"
- },
- "engines": {
- "node": ">=12.13"
- },
- "funding": {
- "url": "https://github.com/sponsors/mesqueeb"
- }
- },
- "node_modules/core-js-compat": {
- "version": "3.31.0",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.31.0.tgz",
- "integrity": "sha512-hM7YCu1cU6Opx7MXNu0NuumM0ezNeAeRKadixyiQELWY3vT3De9S4J5ZBMraWV2vZnrE1Cirl0GtFtDtMUXzPw==",
- "dev": true,
- "dependencies": {
- "browserslist": "^4.21.5"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/core-js"
- }
- },
- "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=="
- },
- "node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "dev": true,
- "bin": {
- "cssesc": "bin/cssesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/csstype": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
- "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw=="
- },
- "node_modules/d": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
- "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
- "dependencies": {
- "es5-ext": "^0.10.50",
- "type": "^1.0.1"
- }
- },
- "node_modules/damerau-levenshtein": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
- "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==",
- "dev": true
- },
- "node_modules/date-time": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/date-time/-/date-time-3.1.0.tgz",
- "integrity": "sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==",
- "dev": true,
- "dependencies": {
- "time-zone": "^1.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/deep-eql": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz",
- "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==",
- "dev": true,
- "dependencies": {
- "type-detect": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true,
- "peer": true
- },
- "node_modules/deepmerge": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
- "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/define-properties": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz",
- "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==",
- "dev": true,
- "dependencies": {
- "has-property-descriptors": "^1.0.0",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/dequal": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
- "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
- "dev": true,
- "engines": {
- "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==",
- "engines": {
- "node": ">=0.3.1"
- }
- },
- "node_modules/diff-sequences": {
- "version": "29.4.3",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz",
- "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==",
- "dev": true,
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "node_modules/difflib": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz",
- "integrity": "sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==",
- "dependencies": {
- "heap": ">= 0.2.0"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "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==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/dot-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
- "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
- "dependencies": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
- "node_modules/dreamopt": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/dreamopt/-/dreamopt-0.8.0.tgz",
- "integrity": "sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg==",
- "dependencies": {
- "wordwrap": ">=0.0.2"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/drizzle-kit": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/drizzle-kit/-/drizzle-kit-0.19.12.tgz",
- "integrity": "sha512-rcsmh5gUIkvuD0WrbEc+aLpqY2q2J8ltynRcJiJo2l01hhsYvPnX0sgxWlFXlfAIa5ZXNw2nJZhYlslI6tG3MA==",
- "dependencies": {
- "@drizzle-team/studio": "^0.0.5",
- "@esbuild-kit/esm-loader": "^2.5.5",
- "camelcase": "^7.0.1",
- "chalk": "^5.2.0",
- "commander": "^9.4.1",
- "esbuild": "^0.18.6",
- "esbuild-register": "^3.4.2",
- "glob": "^8.1.0",
- "hanji": "^0.0.5",
- "json-diff": "0.9.0",
- "minimatch": "^7.4.3",
- "zod": "^3.20.2"
- },
- "bin": {
- "drizzle-kit": "index.cjs"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/android-arm": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.17.tgz",
- "integrity": "sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==",
- "cpu": [
- "arm"
- ],
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/android-arm64": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.17.tgz",
- "integrity": "sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/android-x64": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.17.tgz",
- "integrity": "sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/darwin-arm64": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.17.tgz",
- "integrity": "sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/darwin-x64": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.17.tgz",
- "integrity": "sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/freebsd-arm64": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.17.tgz",
- "integrity": "sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/freebsd-x64": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.17.tgz",
- "integrity": "sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/linux-arm": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.17.tgz",
- "integrity": "sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==",
- "cpu": [
- "arm"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/linux-arm64": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.17.tgz",
- "integrity": "sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/linux-ia32": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.17.tgz",
- "integrity": "sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==",
- "cpu": [
- "ia32"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/linux-loong64": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.17.tgz",
- "integrity": "sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==",
- "cpu": [
- "loong64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/linux-mips64el": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.17.tgz",
- "integrity": "sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==",
- "cpu": [
- "mips64el"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/linux-ppc64": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.17.tgz",
- "integrity": "sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==",
- "cpu": [
- "ppc64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/linux-riscv64": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.17.tgz",
- "integrity": "sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==",
- "cpu": [
- "riscv64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/linux-s390x": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.17.tgz",
- "integrity": "sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==",
- "cpu": [
- "s390x"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/linux-x64": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz",
- "integrity": "sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/netbsd-x64": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.17.tgz",
- "integrity": "sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/openbsd-x64": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.17.tgz",
- "integrity": "sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/sunos-x64": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.17.tgz",
- "integrity": "sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/win32-arm64": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.17.tgz",
- "integrity": "sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/win32-ia32": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.17.tgz",
- "integrity": "sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==",
- "cpu": [
- "ia32"
- ],
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/node_modules/@esbuild/win32-x64": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.17.tgz",
- "integrity": "sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/drizzle-kit/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==",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/drizzle-kit/node_modules/camelcase": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz",
- "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==",
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/drizzle-kit/node_modules/chalk": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
- "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
- "engines": {
- "node": "^12.17.0 || ^14.13 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/drizzle-kit/node_modules/commander": {
- "version": "9.5.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz",
- "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==",
- "engines": {
- "node": "^12.20.0 || >=14"
- }
- },
- "node_modules/drizzle-kit/node_modules/esbuild": {
- "version": "0.18.17",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.17.tgz",
- "integrity": "sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==",
- "hasInstallScript": true,
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=12"
- },
- "optionalDependencies": {
- "@esbuild/android-arm": "0.18.17",
- "@esbuild/android-arm64": "0.18.17",
- "@esbuild/android-x64": "0.18.17",
- "@esbuild/darwin-arm64": "0.18.17",
- "@esbuild/darwin-x64": "0.18.17",
- "@esbuild/freebsd-arm64": "0.18.17",
- "@esbuild/freebsd-x64": "0.18.17",
- "@esbuild/linux-arm": "0.18.17",
- "@esbuild/linux-arm64": "0.18.17",
- "@esbuild/linux-ia32": "0.18.17",
- "@esbuild/linux-loong64": "0.18.17",
- "@esbuild/linux-mips64el": "0.18.17",
- "@esbuild/linux-ppc64": "0.18.17",
- "@esbuild/linux-riscv64": "0.18.17",
- "@esbuild/linux-s390x": "0.18.17",
- "@esbuild/linux-x64": "0.18.17",
- "@esbuild/netbsd-x64": "0.18.17",
- "@esbuild/openbsd-x64": "0.18.17",
- "@esbuild/sunos-x64": "0.18.17",
- "@esbuild/win32-arm64": "0.18.17",
- "@esbuild/win32-ia32": "0.18.17",
- "@esbuild/win32-x64": "0.18.17"
- }
- },
- "node_modules/drizzle-kit/node_modules/glob": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
- "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/drizzle-kit/node_modules/glob/node_modules/minimatch": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/drizzle-kit/node_modules/minimatch": {
- "version": "7.4.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz",
- "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/drizzle-orm": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/drizzle-orm/-/drizzle-orm-0.27.2.tgz",
- "integrity": "sha512-ZvBvceff+JlgP7FxHKe0zOU9CkZ4RcOtibumIrqfYzDGuOeF0YUY0F9iMqYpRM7pxnLRfC+oO7rWOUH3T5oFQA==",
- "peerDependencies": {
- "@aws-sdk/client-rds-data": ">=3",
- "@cloudflare/workers-types": ">=3",
- "@libsql/client": "*",
- "@neondatabase/serverless": ">=0.1",
- "@opentelemetry/api": "^1.4.1",
- "@planetscale/database": ">=1",
- "@types/better-sqlite3": "*",
- "@types/pg": "*",
- "@types/sql.js": "*",
- "@vercel/postgres": "*",
- "better-sqlite3": ">=7",
- "bun-types": "*",
- "knex": "*",
- "kysely": "*",
- "mysql2": ">=2",
- "pg": ">=8",
- "postgres": ">=3",
- "sql.js": ">=1",
- "sqlite3": ">=5"
- },
- "peerDependenciesMeta": {
- "@aws-sdk/client-rds-data": {
- "optional": true
- },
- "@cloudflare/workers-types": {
- "optional": true
- },
- "@libsql/client": {
- "optional": true
- },
- "@neondatabase/serverless": {
- "optional": true
- },
- "@opentelemetry/api": {
- "optional": true
- },
- "@planetscale/database": {
- "optional": true
- },
- "@types/better-sqlite3": {
- "optional": true
- },
- "@types/pg": {
- "optional": true
- },
- "@types/sql.js": {
- "optional": true
- },
- "@vercel/postgres": {
- "optional": true
- },
- "better-sqlite3": {
- "optional": true
- },
- "bun-types": {
- "optional": true
- },
- "knex": {
- "optional": true
- },
- "kysely": {
- "optional": true
- },
- "mysql2": {
- "optional": true
- },
- "pg": {
- "optional": true
- },
- "postgres": {
- "optional": true
- },
- "sql.js": {
- "optional": true
- },
- "sqlite3": {
- "optional": true
- }
- }
- },
- "node_modules/electron-to-chromium": {
- "version": "1.4.446",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.446.tgz",
- "integrity": "sha512-4Gnw7ztEQ/E0eOt5JWfPn9jjeupfUlKoeW5ETKP9nLdWj+4spFoS3Stj19fqlKIaX28UQs0fNX+uKEyoLCBnkw==",
- "dev": true
- },
- "node_modules/emoji-regex": {
- "version": "9.2.2",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
- "dev": true
- },
- "node_modules/es-abstract": {
- "version": "1.21.2",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz",
- "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==",
- "dev": true,
- "dependencies": {
- "array-buffer-byte-length": "^1.0.0",
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "es-set-tostringtag": "^2.0.1",
- "es-to-primitive": "^1.2.1",
- "function.prototype.name": "^1.1.5",
- "get-intrinsic": "^1.2.0",
- "get-symbol-description": "^1.0.0",
- "globalthis": "^1.0.3",
- "gopd": "^1.0.1",
- "has": "^1.0.3",
- "has-property-descriptors": "^1.0.0",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3",
- "internal-slot": "^1.0.5",
- "is-array-buffer": "^3.0.2",
- "is-callable": "^1.2.7",
- "is-negative-zero": "^2.0.2",
- "is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.2",
- "is-string": "^1.0.7",
- "is-typed-array": "^1.1.10",
- "is-weakref": "^1.0.2",
- "object-inspect": "^1.12.3",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.4.3",
- "safe-regex-test": "^1.0.0",
- "string.prototype.trim": "^1.2.7",
- "string.prototype.trimend": "^1.0.6",
- "string.prototype.trimstart": "^1.0.6",
- "typed-array-length": "^1.0.4",
- "unbox-primitive": "^1.0.2",
- "which-typed-array": "^1.1.9"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/es-set-tostringtag": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz",
- "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==",
- "dev": true,
- "dependencies": {
- "get-intrinsic": "^1.1.3",
- "has": "^1.0.3",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-shim-unscopables": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
- "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
- "dev": true,
- "dependencies": {
- "has": "^1.0.3"
- }
- },
- "node_modules/es-to-primitive": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
- "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
- "dev": true,
- "dependencies": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/es5-ext": {
- "version": "0.10.62",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz",
- "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==",
- "hasInstallScript": true,
- "dependencies": {
- "es6-iterator": "^2.0.3",
- "es6-symbol": "^3.1.3",
- "next-tick": "^1.1.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/es6-iterator": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
- "dependencies": {
- "d": "1",
- "es5-ext": "^0.10.35",
- "es6-symbol": "^3.1.1"
- }
- },
- "node_modules/es6-symbol": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
- "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
- "dependencies": {
- "d": "^1.0.1",
- "ext": "^1.1.2"
- }
- },
- "node_modules/es6-weak-map": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz",
- "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==",
- "dependencies": {
- "d": "1",
- "es5-ext": "^0.10.46",
- "es6-iterator": "^2.0.3",
- "es6-symbol": "^3.1.1"
- }
- },
- "node_modules/esbuild": {
- "version": "0.17.19",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz",
- "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==",
- "hasInstallScript": true,
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=12"
- },
- "optionalDependencies": {
- "@esbuild/android-arm": "0.17.19",
- "@esbuild/android-arm64": "0.17.19",
- "@esbuild/android-x64": "0.17.19",
- "@esbuild/darwin-arm64": "0.17.19",
- "@esbuild/darwin-x64": "0.17.19",
- "@esbuild/freebsd-arm64": "0.17.19",
- "@esbuild/freebsd-x64": "0.17.19",
- "@esbuild/linux-arm": "0.17.19",
- "@esbuild/linux-arm64": "0.17.19",
- "@esbuild/linux-ia32": "0.17.19",
- "@esbuild/linux-loong64": "0.17.19",
- "@esbuild/linux-mips64el": "0.17.19",
- "@esbuild/linux-ppc64": "0.17.19",
- "@esbuild/linux-riscv64": "0.17.19",
- "@esbuild/linux-s390x": "0.17.19",
- "@esbuild/linux-x64": "0.17.19",
- "@esbuild/netbsd-x64": "0.17.19",
- "@esbuild/openbsd-x64": "0.17.19",
- "@esbuild/sunos-x64": "0.17.19",
- "@esbuild/win32-arm64": "0.17.19",
- "@esbuild/win32-ia32": "0.17.19",
- "@esbuild/win32-x64": "0.17.19"
- }
- },
- "node_modules/esbuild-register": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.4.2.tgz",
- "integrity": "sha512-kG/XyTDyz6+YDuyfB9ZoSIOOmgyFCH+xPRtsCa8W85HLRV5Csp+o3jWVbOSHgSLfyLc5DmP+KFDNwty4mEjC+Q==",
- "dependencies": {
- "debug": "^4.3.4"
- },
- "peerDependencies": {
- "esbuild": ">=0.12 <1"
- }
- },
- "node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "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/eslint": {
- "version": "8.43.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.43.0.tgz",
- "integrity": "sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@eslint-community/regexpp": "^4.4.0",
- "@eslint/eslintrc": "^2.0.3",
- "@eslint/js": "8.43.0",
- "@humanwhocodes/config-array": "^0.11.10",
- "@humanwhocodes/module-importer": "^1.0.1",
- "@nodelib/fs.walk": "^1.2.8",
- "ajv": "^6.10.0",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.2",
- "debug": "^4.3.2",
- "doctrine": "^3.0.0",
- "escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.2.0",
- "eslint-visitor-keys": "^3.4.1",
- "espree": "^9.5.2",
- "esquery": "^1.4.2",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
- "find-up": "^5.0.0",
- "glob-parent": "^6.0.2",
- "globals": "^13.19.0",
- "graphemer": "^1.4.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.0.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "is-path-inside": "^3.0.3",
- "js-yaml": "^4.1.0",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
- "lodash.merge": "^4.6.2",
- "minimatch": "^3.1.2",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.1",
- "strip-ansi": "^6.0.1",
- "strip-json-comments": "^3.1.0",
- "text-table": "^0.2.0"
- },
- "bin": {
- "eslint": "bin/eslint.js"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint-config-next": {
- "version": "12.3.4",
- "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-12.3.4.tgz",
- "integrity": "sha512-WuT3gvgi7Bwz00AOmKGhOeqnyA5P29Cdyr0iVjLyfDbk+FANQKcOjFUTZIdyYfe5Tq1x4TGcmoe4CwctGvFjHQ==",
- "dev": true,
- "dependencies": {
- "@next/eslint-plugin-next": "12.3.4",
- "@rushstack/eslint-patch": "^1.1.3",
- "@typescript-eslint/parser": "^5.21.0",
- "eslint-import-resolver-node": "^0.3.6",
- "eslint-import-resolver-typescript": "^2.7.1",
- "eslint-plugin-import": "^2.26.0",
- "eslint-plugin-jsx-a11y": "^6.5.1",
- "eslint-plugin-react": "^7.31.7",
- "eslint-plugin-react-hooks": "^4.5.0"
- },
- "peerDependencies": {
- "eslint": "^7.23.0 || ^8.0.0",
- "typescript": ">=3.3.1"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-import-resolver-node": {
- "version": "0.3.7",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz",
- "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==",
- "dev": true,
- "dependencies": {
- "debug": "^3.2.7",
- "is-core-module": "^2.11.0",
- "resolve": "^1.22.1"
- }
- },
- "node_modules/eslint-import-resolver-node/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/eslint-import-resolver-typescript": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz",
- "integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==",
- "dev": true,
- "dependencies": {
- "debug": "^4.3.4",
- "glob": "^7.2.0",
- "is-glob": "^4.0.3",
- "resolve": "^1.22.0",
- "tsconfig-paths": "^3.14.1"
- },
- "engines": {
- "node": ">=4"
- },
- "peerDependencies": {
- "eslint": "*",
- "eslint-plugin-import": "*"
- }
- },
- "node_modules/eslint-import-resolver-typescript/node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/eslint-module-utils": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz",
- "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==",
- "dev": true,
- "dependencies": {
- "debug": "^3.2.7"
- },
- "engines": {
- "node": ">=4"
- },
- "peerDependenciesMeta": {
- "eslint": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-module-utils/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/eslint-plugin-import": {
- "version": "2.27.5",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz",
- "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==",
- "dev": true,
- "dependencies": {
- "array-includes": "^3.1.6",
- "array.prototype.flat": "^1.3.1",
- "array.prototype.flatmap": "^1.3.1",
- "debug": "^3.2.7",
- "doctrine": "^2.1.0",
- "eslint-import-resolver-node": "^0.3.7",
- "eslint-module-utils": "^2.7.4",
- "has": "^1.0.3",
- "is-core-module": "^2.11.0",
- "is-glob": "^4.0.3",
- "minimatch": "^3.1.2",
- "object.values": "^1.1.6",
- "resolve": "^1.22.1",
- "semver": "^6.3.0",
- "tsconfig-paths": "^3.14.1"
- },
- "engines": {
- "node": ">=4"
- },
- "peerDependencies": {
- "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8"
- }
- },
- "node_modules/eslint-plugin-import/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/eslint-plugin-import/node_modules/doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dev": true,
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/eslint-plugin-jsx-a11y": {
- "version": "6.7.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz",
- "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.20.7",
- "aria-query": "^5.1.3",
- "array-includes": "^3.1.6",
- "array.prototype.flatmap": "^1.3.1",
- "ast-types-flow": "^0.0.7",
- "axe-core": "^4.6.2",
- "axobject-query": "^3.1.1",
- "damerau-levenshtein": "^1.0.8",
- "emoji-regex": "^9.2.2",
- "has": "^1.0.3",
- "jsx-ast-utils": "^3.3.3",
- "language-tags": "=1.0.5",
- "minimatch": "^3.1.2",
- "object.entries": "^1.1.6",
- "object.fromentries": "^2.0.6",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=4.0"
- },
- "peerDependencies": {
- "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
- }
- },
- "node_modules/eslint-plugin-react": {
- "version": "7.32.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz",
- "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==",
- "dev": true,
- "dependencies": {
- "array-includes": "^3.1.6",
- "array.prototype.flatmap": "^1.3.1",
- "array.prototype.tosorted": "^1.1.1",
- "doctrine": "^2.1.0",
- "estraverse": "^5.3.0",
- "jsx-ast-utils": "^2.4.1 || ^3.0.0",
- "minimatch": "^3.1.2",
- "object.entries": "^1.1.6",
- "object.fromentries": "^2.0.6",
- "object.hasown": "^1.1.2",
- "object.values": "^1.1.6",
- "prop-types": "^15.8.1",
- "resolve": "^2.0.0-next.4",
- "semver": "^6.3.0",
- "string.prototype.matchall": "^4.0.8"
- },
- "engines": {
- "node": ">=4"
- },
- "peerDependencies": {
- "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
- }
- },
- "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==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "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.4",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz",
- "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==",
- "dev": true,
- "dependencies": {
- "is-core-module": "^2.9.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
- "dev": true,
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/eslint-scope/node_modules/estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true,
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/eslint-visitor-keys": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
- "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
- "dev": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/eslint/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/eslint/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/eslint/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true,
- "peer": true
- },
- "node_modules/eslint/node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/eslint/node_modules/eslint-scope": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
- "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint/node_modules/globals": {
- "version": "13.20.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
- "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "type-fest": "^0.20.2"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/eslint/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/eslint/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/eslint/node_modules/type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/espree": {
- "version": "9.5.2",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz",
- "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "acorn": "^8.8.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.4.1"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/esquery": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
- "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "estraverse": "^5.1.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "dev": true,
- "dependencies": {
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true,
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/event-emitter": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
- "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
- "dependencies": {
- "d": "1",
- "es5-ext": "~0.10.14"
- }
- },
- "node_modules/ext": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
- "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
- "dependencies": {
- "type": "^2.7.2"
- }
- },
- "node_modules/ext/node_modules/type": {
- "version": "2.7.2",
- "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz",
- "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw=="
- },
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true,
- "peer": true
- },
- "node_modules/fast-diff": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz",
- "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==",
- "dev": true
- },
- "node_modules/fast-glob": {
- "version": "3.2.12",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
- "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fast-glob/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true,
- "peer": true
- },
- "node_modules/fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true,
- "peer": true
- },
- "node_modules/fastq": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
- "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
- "dev": true,
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/file-entry-cache": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
- "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "flat-cache": "^3.0.4"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- }
- },
- "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==",
- "dev": true,
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/flat-cache": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
- "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "flatted": "^3.1.0",
- "rimraf": "^3.0.2"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- }
- },
- "node_modules/flatted": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
- "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
- "dev": true,
- "peer": true
- },
- "node_modules/follow-redirects": {
- "version": "1.15.2",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
- "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/RubenVerborgh"
- }
- ],
- "engines": {
- "node": ">=4.0"
- },
- "peerDependenciesMeta": {
- "debug": {
- "optional": true
- }
- }
- },
- "node_modules/for-each": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
- "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
- "dev": true,
- "dependencies": {
- "is-callable": "^1.1.3"
- }
- },
- "node_modules/form-data": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
- "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/fraction.js": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
- "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
- "dev": true,
- "engines": {
- "node": "*"
- },
- "funding": {
- "type": "patreon",
- "url": "https://www.patreon.com/infusion"
- }
- },
- "node_modules/framer-motion": {
- "version": "10.12.18",
- "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-10.12.18.tgz",
- "integrity": "sha512-cfhiUpPbj+0eEWKjuD+5cz5cMqH71xOtMxGiS/cSGfHn2OlHIEAqFnFyzEMENw5PxWR9bMVhatzzpD6lexmHZQ==",
- "dependencies": {
- "tslib": "^2.4.0"
- },
- "optionalDependencies": {
- "@emotion/is-prop-valid": "^0.8.2"
- },
- "peerDependencies": {
- "react": "^18.0.0",
- "react-dom": "^18.0.0"
- },
- "peerDependenciesMeta": {
- "react": {
- "optional": true
- },
- "react-dom": {
- "optional": true
- }
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
- },
- "node_modules/fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "node_modules/function.prototype.name": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz",
- "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.0",
- "functions-have-names": "^1.2.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/functions-have-names": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
- "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
- "dev": true,
- "funding": {
- "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-func-name": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz",
- "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/get-intrinsic": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
- "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-symbol-description": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
- "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-tsconfig": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.6.2.tgz",
- "integrity": "sha512-E5XrT4CbbXcXWy+1jChlZmrmCwd5KGx502kDCXJJ7y898TtWW9FwoG5HfOLVRKmlmDGkWN2HM9Ho+/Y8F0sJDg==",
- "dependencies": {
- "resolve-pkg-maps": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
- }
- },
- "node_modules/glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/glob-to-regexp": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
- "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
- },
- "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/globalthis": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
- "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
- "dev": true,
- "dependencies": {
- "define-properties": "^1.1.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/globrex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
- "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
- "dev": true
- },
- "node_modules/gopd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
- "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
- "dev": true,
- "dependencies": {
- "get-intrinsic": "^1.1.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
- },
- "node_modules/grapheme-splitter": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
- "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
- "dev": true
- },
- "node_modules/graphemer": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
- "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
- "dev": true,
- "peer": true
- },
- "node_modules/hanji": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/hanji/-/hanji-0.0.5.tgz",
- "integrity": "sha512-Abxw1Lq+TnYiL4BueXqMau222fPSPMFtya8HdpWsz/xVAhifXou71mPh/kY2+08RgFcVccjG3uZHs6K5HAe3zw==",
- "dependencies": {
- "lodash.throttle": "^4.1.1",
- "sisteransi": "^1.0.5"
- }
- },
- "node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/has-bigints": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
- "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "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/has-property-descriptors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
- "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
- "dev": true,
- "dependencies": {
- "get-intrinsic": "^1.1.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
- "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
- "dev": true,
- "dependencies": {
- "has-symbols": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/heap": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz",
- "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg=="
- },
- "node_modules/ignore": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
- "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">=0.8.19"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "node_modules/internal-slot": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz",
- "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==",
- "dev": true,
- "dependencies": {
- "get-intrinsic": "^1.2.0",
- "has": "^1.0.3",
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/is-array-buffer": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz",
- "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.0",
- "is-typed-array": "^1.1.10"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-bigint": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
- "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
- "dev": true,
- "dependencies": {
- "has-bigints": "^1.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-boolean-object": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
- "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-callable": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
- "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.12.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz",
- "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==",
- "dev": true,
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-date-object": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
- "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
- "dev": true,
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-negative-zero": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
- "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-number-object": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
- "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
- "dev": true,
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-path-inside": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-promise": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
- "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ=="
- },
- "node_modules/is-regex": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
- "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-shared-array-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
- "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-string": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
- "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
- "dev": true,
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-symbol": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
- "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
- "dev": true,
- "dependencies": {
- "has-symbols": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-typed-array": {
- "version": "1.1.10",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
- "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
- "dev": true,
- "dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-weakref": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
- "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-what": {
- "version": "4.1.15",
- "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.15.tgz",
- "integrity": "sha512-uKua1wfy3Yt+YqsD6mTUEa2zSi3G1oPlqTflgaPJ7z63vUGN5pxFpnQfeSLMFnJDEsdvOtkp1rUWkYjB4YfhgA==",
- "engines": {
- "node": ">=12.13"
- },
- "funding": {
- "url": "https://github.com/sponsors/mesqueeb"
- }
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true,
- "peer": true
- },
- "node_modules/jiti": {
- "version": "1.18.2",
- "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz",
- "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==",
- "dev": true,
- "bin": {
- "jiti": "bin/jiti.js"
- }
- },
- "node_modules/js-cookie": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.1.tgz",
- "integrity": "sha512-+0rgsUXZu4ncpPxRL+lNEptWMOWl9etvPHc/koSRp6MPwpRYAhmk0dUG00J4bxVV3r9uUzfo24wW0knS07SKSw==",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/js-string-escape": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz",
- "integrity": "sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
- },
- "node_modules/js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "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-diff": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/json-diff/-/json-diff-0.9.0.tgz",
- "integrity": "sha512-cVnggDrVkAAA3OvFfHpFEhOnmcsUpleEKq4d4O8sQWWSH40MBrWstKigVB1kGrgLWzuom+7rRdaCsnBD6VyObQ==",
- "dependencies": {
- "cli-color": "^2.0.0",
- "difflib": "~0.2.1",
- "dreamopt": "~0.8.0"
- },
- "bin": {
- "json-diff": "bin/json-diff.js"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
- "peer": true
- },
- "node_modules/json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "dev": true,
- "peer": true
- },
- "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/jsonc-parser": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
- "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
- "dev": true
- },
- "node_modules/jsx-ast-utils": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.4.tgz",
- "integrity": "sha512-fX2TVdCViod6HwKEtSWGHs57oFhVfCMwieb9PuRDgjDPh5XeqJiHFFFJCHxU5cnTc3Bu/GRL+kPiFmw8XWOfKw==",
- "dev": true,
- "dependencies": {
- "array-includes": "^3.1.6",
- "array.prototype.flat": "^1.3.1",
- "object.assign": "^4.1.4",
- "object.values": "^1.1.6"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/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==",
- "dev": true
- },
- "node_modules/language-tags": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz",
- "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==",
- "dev": true,
- "dependencies": {
- "language-subtag-registry": "~0.3.2"
- }
- },
- "node_modules/levn": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/lilconfig": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
- "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
- "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",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
- "dev": true
- },
- "node_modules/local-pkg": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz",
- "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==",
- "dev": true,
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/antfu"
- }
- },
- "node_modules/locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "p-locate": "^5.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
- },
- "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",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true,
- "peer": true
- },
- "node_modules/lodash.throttle": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
- "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ=="
- },
- "node_modules/loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "dependencies": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- },
- "bin": {
- "loose-envify": "cli.js"
- }
- },
- "node_modules/loupe": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz",
- "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==",
- "dev": true,
- "dependencies": {
- "get-func-name": "^2.0.0"
- }
- },
- "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==",
- "dependencies": {
- "tslib": "^2.0.3"
- }
- },
- "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/lru-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
- "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==",
- "dependencies": {
- "es5-ext": "~0.10.2"
- }
- },
- "node_modules/magic-string": {
- "version": "0.30.0",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz",
- "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==",
- "dev": true,
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.4.13"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "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=="
- },
- "node_modules/map-obj": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
- "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/md5-hex": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-3.0.1.tgz",
- "integrity": "sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==",
- "dev": true,
- "dependencies": {
- "blueimp-md5": "^2.10.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/memoizee": {
- "version": "0.4.15",
- "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz",
- "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==",
- "dependencies": {
- "d": "^1.0.1",
- "es5-ext": "^0.10.53",
- "es6-weak-map": "^2.0.3",
- "event-emitter": "^0.3.5",
- "is-promise": "^2.2.2",
- "lru-queue": "^0.1.0",
- "next-tick": "^1.1.0",
- "timers-ext": "^0.1.7"
- }
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dev": true,
- "dependencies": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dependencies": {
- "mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/mlly": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.0.tgz",
- "integrity": "sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==",
- "dev": true,
- "dependencies": {
- "acorn": "^8.9.0",
- "pathe": "^1.1.1",
- "pkg-types": "^1.0.3",
- "ufo": "^1.1.2"
- }
- },
- "node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- },
- "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.6",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
- "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
- "node_modules/natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
- "dev": true,
- "peer": true
- },
- "node_modules/natural-compare-lite": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
- "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
- "dev": true
- },
- "node_modules/next": {
- "version": "13.4.7",
- "resolved": "https://registry.npmjs.org/next/-/next-13.4.7.tgz",
- "integrity": "sha512-M8z3k9VmG51SRT6v5uDKdJXcAqLzP3C+vaKfLIAM0Mhx1um1G7MDnO63+m52qPdZfrTFzMZNzfsgvm3ghuVHIQ==",
- "dependencies": {
- "@next/env": "13.4.7",
- "@swc/helpers": "0.5.1",
- "busboy": "1.6.0",
- "caniuse-lite": "^1.0.30001406",
- "postcss": "8.4.14",
- "styled-jsx": "5.1.1",
- "watchpack": "2.4.0",
- "zod": "3.21.4"
- },
- "bin": {
- "next": "dist/bin/next"
- },
- "engines": {
- "node": ">=16.8.0"
- },
- "optionalDependencies": {
- "@next/swc-darwin-arm64": "13.4.7",
- "@next/swc-darwin-x64": "13.4.7",
- "@next/swc-linux-arm64-gnu": "13.4.7",
- "@next/swc-linux-arm64-musl": "13.4.7",
- "@next/swc-linux-x64-gnu": "13.4.7",
- "@next/swc-linux-x64-musl": "13.4.7",
- "@next/swc-win32-arm64-msvc": "13.4.7",
- "@next/swc-win32-ia32-msvc": "13.4.7",
- "@next/swc-win32-x64-msvc": "13.4.7"
- },
- "peerDependencies": {
- "@opentelemetry/api": "^1.1.0",
- "fibers": ">= 3.1.0",
- "react": "^18.2.0",
- "react-dom": "^18.2.0",
- "sass": "^1.3.0"
- },
- "peerDependenciesMeta": {
- "@opentelemetry/api": {
- "optional": true
- },
- "fibers": {
- "optional": true
- },
- "sass": {
- "optional": true
- }
- }
- },
- "node_modules/next-tick": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
- "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
- },
- "node_modules/next/node_modules/postcss": {
- "version": "8.4.14",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
- "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- }
- ],
- "dependencies": {
- "nanoid": "^3.3.4",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
- "node_modules/next/node_modules/zod": {
- "version": "3.21.4",
- "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz",
- "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==",
- "funding": {
- "url": "https://github.com/sponsors/colinhacks"
- }
- },
- "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==",
- "dependencies": {
- "lower-case": "^2.0.2",
- "tslib": "^2.0.3"
- }
- },
- "node_modules/node-fetch-native": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.0.1.tgz",
- "integrity": "sha512-VzW+TAk2wE4X9maiKMlT+GsPU4OMmR1U9CrHSmd3DFLn2IcZ9VJ6M6BBugGfYUnPCLSYxXdZy17M0BEJyhUTwg=="
- },
- "node_modules/node-releases": {
- "version": "2.0.12",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz",
- "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==",
- "dev": true
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "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,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-hash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
- "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/object-inspect": {
- "version": "1.12.3",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
- "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.assign": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
- "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "has-symbols": "^1.0.3",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object.entries": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz",
- "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.fromentries": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz",
- "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object.hasown": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz",
- "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==",
- "dev": true,
- "dependencies": {
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object.values": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz",
- "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/opencollective-postinstall": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz",
- "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==",
- "bin": {
- "opencollective-postinstall": "index.js"
- }
- },
- "node_modules/optionator": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
- "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
- "dev": true,
- "peer": 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"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "yocto-queue": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "p-limit": "^3.0.2"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p5": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/p5/-/p5-1.7.0.tgz",
- "integrity": "sha512-qrbT/44Dwm63ZtOKX/mp61pw+5yj6ijYLOmRv7p6zcfjbo83Vb0gVFEvW0kTLFu7hceWCig0HONo9F1bSlqbsQ=="
- },
- "node_modules/parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "callsites": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true
- },
- "node_modules/path-to-regexp": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz",
- "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw=="
- },
- "node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/pathe": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz",
- "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==",
- "dev": true
- },
- "node_modules/pathval": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
- "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "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/pkg-types": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz",
- "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==",
- "dev": true,
- "dependencies": {
- "jsonc-parser": "^3.2.0",
- "mlly": "^1.2.0",
- "pathe": "^1.1.0"
- }
- },
- "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": {
- "nanoid": "^3.3.6",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- },
- "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.1",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz",
- "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==",
- "dev": true,
- "dependencies": {
- "lilconfig": "^2.0.5",
- "yaml": "^2.1.1"
- },
- "engines": {
- "node": ">= 14"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": ">=8.0.9",
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "postcss": {
- "optional": true
- },
- "ts-node": {
- "optional": true
- }
- }
- },
- "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.0.13",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz",
- "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==",
- "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/preact": {
- "version": "10.15.1",
- "resolved": "https://registry.npmjs.org/preact/-/preact-10.15.1.tgz",
- "integrity": "sha512-qs2ansoQEwzNiV5eAcRT1p1EC/dmEzaATVDJNiB3g2sRDWdA7b7MurXdJjB2+/WQktGWZwxvDrnuRFbWuIr64g==",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/preact"
- }
- },
- "node_modules/prelude-ls": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/prettier": {
- "version": "2.8.8",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
- "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
- "dev": true,
- "bin": {
- "prettier": "bin-prettier.js"
- },
- "engines": {
- "node": ">=10.13.0"
- },
- "funding": {
- "url": "https://github.com/prettier/prettier?sponsor=1"
- }
- },
- "node_modules/prettier-plugin-tailwindcss": {
- "version": "0.2.8",
- "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.2.8.tgz",
- "integrity": "sha512-KgPcEnJeIijlMjsA6WwYgRs5rh3/q76oInqtMXBA/EMcamrcYJpyhtRhyX1ayT9hnHlHTuO8sIifHF10WuSDKg==",
- "dev": true,
- "engines": {
- "node": ">=12.17.0"
- },
- "peerDependencies": {
- "@ianvs/prettier-plugin-sort-imports": "*",
- "@prettier/plugin-pug": "*",
- "@shopify/prettier-plugin-liquid": "*",
- "@shufo/prettier-plugin-blade": "*",
- "@trivago/prettier-plugin-sort-imports": "*",
- "prettier": ">=2.2.0",
- "prettier-plugin-astro": "*",
- "prettier-plugin-css-order": "*",
- "prettier-plugin-import-sort": "*",
- "prettier-plugin-jsdoc": "*",
- "prettier-plugin-organize-attributes": "*",
- "prettier-plugin-organize-imports": "*",
- "prettier-plugin-style-order": "*",
- "prettier-plugin-svelte": "*",
- "prettier-plugin-twig-melody": "*"
- },
- "peerDependenciesMeta": {
- "@ianvs/prettier-plugin-sort-imports": {
- "optional": true
- },
- "@prettier/plugin-pug": {
- "optional": true
- },
- "@shopify/prettier-plugin-liquid": {
- "optional": true
- },
- "@shufo/prettier-plugin-blade": {
- "optional": true
- },
- "@trivago/prettier-plugin-sort-imports": {
- "optional": true
- },
- "prettier-plugin-astro": {
- "optional": true
- },
- "prettier-plugin-css-order": {
- "optional": true
- },
- "prettier-plugin-import-sort": {
- "optional": true
- },
- "prettier-plugin-jsdoc": {
- "optional": true
- },
- "prettier-plugin-organize-attributes": {
- "optional": true
- },
- "prettier-plugin-organize-imports": {
- "optional": true
- },
- "prettier-plugin-style-order": {
- "optional": true
- },
- "prettier-plugin-svelte": {
- "optional": true
- },
- "prettier-plugin-twig-melody": {
- "optional": true
- }
- }
- },
- "node_modules/pretty-format": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
- "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^17.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/pretty-format/node_modules/ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/pretty-format/node_modules/react-is": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
- "dev": true
- },
- "node_modules/prisma": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.3.1.tgz",
- "integrity": "sha512-Wp2msQIlMPHe+5k5Od6xnsI/WNG7UJGgFUJgqv/ygc7kOECZapcSz/iU4NIEzISs3H1W9sFLjAPbg/gOqqtB7A==",
- "devOptional": true,
- "hasInstallScript": true,
- "dependencies": {
- "@prisma/engines": "5.3.1"
- },
- "bin": {
- "prisma": "build/index.js"
- },
- "engines": {
- "node": ">=16.13"
- }
- },
- "node_modules/prop-types": {
- "version": "15.8.1",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
- "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
- "dev": true,
- "dependencies": {
- "loose-envify": "^1.4.0",
- "object-assign": "^4.1.1",
- "react-is": "^16.13.1"
- }
- },
- "node_modules/proxy-from-env": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
- },
- "node_modules/punycode": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
- "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/pvtsutils": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.2.tgz",
- "integrity": "sha512-+Ipe2iNUyrZz+8K/2IOo+kKikdtfhRKzNpQbruF2URmqPtoqAs8g3xS7TJvFF2GcPXjh7DkqMnpVveRFq4PgEQ==",
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
- "node_modules/pvutils": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz",
- "integrity": "sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/quick-lru": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
- "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/react": {
- "version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
- "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
- "dependencies": {
- "loose-envify": "^1.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/react-dom": {
- "version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
- "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
- "dependencies": {
- "loose-envify": "^1.1.0",
- "scheduler": "^0.23.0"
- },
- "peerDependencies": {
- "react": "^18.2.0"
- }
- },
- "node_modules/react-icons": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.12.0.tgz",
- "integrity": "sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==",
- "peerDependencies": {
- "react": "*"
- }
- },
- "node_modules/react-is": {
- "version": "16.13.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
- "dev": true
- },
- "node_modules/react-p5": {
- "version": "1.3.35",
- "resolved": "https://registry.npmjs.org/react-p5/-/react-p5-1.3.35.tgz",
- "integrity": "sha512-76Fu2tLiomVOFGV/TElmAqkem+pWsSRIVE1OO0H3vG2mz41o81oFHb/1kSfZ2Y5TvMft8ancRwN7XwPEs50Hag==",
- "hasInstallScript": true,
- "dependencies": {
- "@types/p5": "1.3.3",
- "opencollective-postinstall": "2.0.2",
- "p5": "1.3.1"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/gherciu-gheorghe"
- },
- "peerDependencies": {
- "react": ">= 17.0.1",
- "react-dom": ">= 17.0.1"
- }
- },
- "node_modules/react-p5/node_modules/p5": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/p5/-/p5-1.3.1.tgz",
- "integrity": "sha512-g7W2htgEwiAEGcl0WHccAJKbunUJwrUojUSR9+KihphJ33p5VpDdh1K8pDx4ppYjOr/lVEXaZ1XXDj27nwlNOg=="
- },
- "node_modules/react-router": {
- "version": "6.14.2",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.14.2.tgz",
- "integrity": "sha512-09Zss2dE2z+T1D03IheqAFtK4UzQyX8nFPWx6jkwdYzGLXd5ie06A6ezS2fO6zJfEb/SpG6UocN2O1hfD+2urQ==",
- "dependencies": {
- "@remix-run/router": "1.7.2"
- },
- "engines": {
- "node": ">=14"
- },
- "peerDependencies": {
- "react": ">=16.8"
- }
- },
- "node_modules/react-router-dom": {
- "version": "6.14.2",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.14.2.tgz",
- "integrity": "sha512-5pWX0jdKR48XFZBuJqHosX3AAHjRAzygouMTyimnBPOLdY3WjzUSKhus2FVMihUFWzeLebDgr4r8UeQFAct7Bg==",
- "dependencies": {
- "@remix-run/router": "1.7.2",
- "react-router": "6.14.2"
- },
- "engines": {
- "node": ">=14"
- },
- "peerDependencies": {
- "react": ">=16.8",
- "react-dom": ">=16.8"
- }
- },
- "node_modules/react-ssr-prepass": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/react-ssr-prepass/-/react-ssr-prepass-1.5.0.tgz",
- "integrity": "sha512-yFNHrlVEReVYKsLI5lF05tZoHveA5pGzjFbFJY/3pOqqjGOmMmqx83N4hIjN2n6E1AOa+eQEUxs3CgRnPmT0RQ==",
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
- }
- },
- "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",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dev": true,
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "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.0",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz",
- "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==",
- "dev": true,
- "dependencies": {
- "regenerate": "^1.4.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/regenerator-runtime": {
- "version": "0.13.11",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
- "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==",
- "dev": true
- },
- "node_modules/regenerator-transform": {
- "version": "0.15.1",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz",
- "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.8.4"
- }
- },
- "node_modules/regexp.prototype.flags": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz",
- "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "functions-have-names": "^1.2.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "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.2",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
- "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==",
- "dev": true,
- "dependencies": {
- "is-core-module": "^2.11.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/resolve-pkg-maps": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
- "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
- "funding": {
- "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
- }
- },
- "node_modules/reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true,
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/rollup": {
- "version": "3.26.0",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.0.tgz",
- "integrity": "sha512-YzJH0eunH2hr3knvF3i6IkLO/jTjAEwU4HoMUbQl4//Tnl3ou0e7P5SjxdDr8HQJdeUJShlbEHXrrnEHy1l7Yg==",
- "bin": {
- "rollup": "dist/bin/rollup"
- },
- "engines": {
- "node": ">=14.18.0",
- "npm": ">=8.0.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/safe-regex-test": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
- "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.3",
- "is-regex": "^1.1.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/scheduler": {
- "version": "0.23.0",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
- "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
- "dependencies": {
- "loose-envify": "^1.1.0"
- }
- },
- "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/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shuffle-array": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/shuffle-array/-/shuffle-array-1.0.1.tgz",
- "integrity": "sha512-0TFRU8zVQaLatWKr0/czo19VyPNgb/a3sBc1GAjVfivfzEGaS54vueNgtAu/8/pW7EM/VF5fwq9zgpLdGyRmVw=="
- },
- "node_modules/side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/siginfo": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz",
- "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==",
- "dev": true
- },
- "node_modules/sisteransi": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
- "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "engines": {
- "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==",
- "dependencies": {
- "dot-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
- "node_modules/snakecase-keys": {
- "version": "5.4.4",
- "resolved": "https://registry.npmjs.org/snakecase-keys/-/snakecase-keys-5.4.4.tgz",
- "integrity": "sha512-YTywJG93yxwHLgrYLZjlC75moVEX04LZM4FHfihjHe1FCXm+QaLOFfSf535aXOAd0ArVQMWUAe8ZPm4VtWyXaA==",
- "dependencies": {
- "map-obj": "^4.1.0",
- "snake-case": "^3.0.4",
- "type-fest": "^2.5.2"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/source-map-js": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
- "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/source-map-support": {
- "version": "0.5.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "node_modules/stackback": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz",
- "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==",
- "dev": true
- },
- "node_modules/std-env": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.3.tgz",
- "integrity": "sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==",
- "dev": true
- },
- "node_modules/streamsearch": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
- "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/string.prototype.matchall": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz",
- "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "get-intrinsic": "^1.1.3",
- "has-symbols": "^1.0.3",
- "internal-slot": "^1.0.3",
- "regexp.prototype.flags": "^1.4.3",
- "side-channel": "^1.0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/string.prototype.trim": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz",
- "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/string.prototype.trimend": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz",
- "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/string.prototype.trimstart": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz",
- "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/strip-literal": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.1.tgz",
- "integrity": "sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==",
- "dev": true,
- "dependencies": {
- "acorn": "^8.8.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/antfu"
- }
- },
- "node_modules/styled-jsx": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz",
- "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==",
- "dependencies": {
- "client-only": "0.0.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- },
- "peerDependencies": {
- "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0"
- },
- "peerDependenciesMeta": {
- "@babel/core": {
- "optional": true
- },
- "babel-plugin-macros": {
- "optional": true
- }
- }
- },
- "node_modules/sucrase": {
- "version": "3.32.0",
- "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz",
- "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==",
- "dev": true,
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.2",
- "commander": "^4.0.0",
- "glob": "7.1.6",
- "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": ">=8"
- }
- },
- "node_modules/sucrase/node_modules/glob": {
- "version": "7.1.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
- "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/superjson": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/superjson/-/superjson-1.12.2.tgz",
- "integrity": "sha512-ugvUo9/WmvWOjstornQhsN/sR9mnGtWGYeTxFuqLb4AiT4QdUavjGFRALCPKWWnAiUJ4HTpytj5e0t5HoMRkXg==",
- "dependencies": {
- "copy-anything": "^3.0.2"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "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/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/swr": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/swr/-/swr-1.3.0.tgz",
- "integrity": "sha512-dkghQrOl2ORX9HYrMDtPa7LTVHJjCTeZoB1dqTbnnEDlSvN8JEKpYIYurDfvbQFUUS8Cg8PceFVZNkW0KNNYPw==",
- "peerDependencies": {
- "react": "^16.11.0 || ^17.0.0 || ^18.0.0"
- }
- },
- "node_modules/tailwindcss": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz",
- "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==",
- "dev": true,
- "dependencies": {
- "@alloc/quick-lru": "^5.2.0",
- "arg": "^5.0.2",
- "chokidar": "^3.5.3",
- "didyoumean": "^1.2.2",
- "dlv": "^1.1.3",
- "fast-glob": "^3.2.12",
- "glob-parent": "^6.0.2",
- "is-glob": "^4.0.3",
- "jiti": "^1.18.2",
- "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",
- "postcss-value-parser": "^4.2.0",
- "resolve": "^1.22.2",
- "sucrase": "^3.32.0"
- },
- "bin": {
- "tailwind": "lib/cli.js",
- "tailwindcss": "lib/cli.js"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
- "dev": true,
- "peer": true
- },
- "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": ">=0.8"
- }
- },
- "node_modules/time-zone": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz",
- "integrity": "sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/timers-ext": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz",
- "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==",
- "dependencies": {
- "es5-ext": "~0.10.46",
- "next-tick": "1"
- }
- },
- "node_modules/tinybench": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.0.tgz",
- "integrity": "sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==",
- "dev": true
- },
- "node_modules/tinypool": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.5.0.tgz",
- "integrity": "sha512-paHQtnrlS1QZYKF/GnLoOM/DN9fqaGOFbCbxzAhwniySnzl9Ebk8w73/dd34DAhe/obUbPAOldTyYXQZxnPBPQ==",
- "dev": true,
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/tinyspy": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.1.1.tgz",
- "integrity": "sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==",
- "dev": true,
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "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==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/to-no-case": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/to-no-case/-/to-no-case-1.0.2.tgz",
- "integrity": "sha512-Z3g735FxuZY8rodxV4gH7LxClE4H0hTIyHNIHdk+vpQxjLm0cwnKXq/OFVZ76SOQmto7txVcwSCwkU5kqp+FKg=="
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/to-snake-case": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/to-snake-case/-/to-snake-case-1.0.0.tgz",
- "integrity": "sha512-joRpzBAk1Bhi2eGEYBjukEWHOe/IvclOkiJl3DtA91jV6NwQ3MwXA4FHYeqk8BNp/D8bmi9tcNbRu/SozP0jbQ==",
- "dependencies": {
- "to-space-case": "^1.0.0"
- }
- },
- "node_modules/to-space-case": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/to-space-case/-/to-space-case-1.0.0.tgz",
- "integrity": "sha512-rLdvwXZ39VOn1IxGL3V6ZstoTbwLRckQmn/U8ZDLuWwIXNpuZDhQ3AiRUlhTbOXFVE9C+dR51wM0CBDhk31VcA==",
- "dependencies": {
- "to-no-case": "^1.0.0"
- }
- },
- "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.1",
- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz",
- "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==",
- "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": {
- "@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=="
- },
- "node_modules/tsconfck": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-2.1.1.tgz",
- "integrity": "sha512-ZPCkJBKASZBmBUNqGHmRhdhM8pJYDdOXp4nRgj/O0JwUwsMq50lCDRQP/M5GBNAA0elPrq4gAeu4dkaVCuKWww==",
- "dev": true,
- "bin": {
- "tsconfck": "bin/tsconfck.js"
- },
- "engines": {
- "node": "^14.13.1 || ^16 || >=18"
- },
- "peerDependencies": {
- "typescript": "^4.3.5 || ^5.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/tsconfig-paths": {
- "version": "3.14.2",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz",
- "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==",
- "dev": true,
- "dependencies": {
- "@types/json5": "^0.0.29",
- "json5": "^1.0.2",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
- }
- },
- "node_modules/tsconfig-paths/node_modules/json5": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
- "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
- }
- },
- "node_modules/tslib": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
- "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA=="
- },
- "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/turbo": {
- "version": "1.10.14",
- "resolved": "https://registry.npmjs.org/turbo/-/turbo-1.10.14.tgz",
- "integrity": "sha512-hr9wDNYcsee+vLkCDIm8qTtwhJ6+UAMJc3nIY6+PNgUTtXcQgHxCq8BGoL7gbABvNWv76CNbK5qL4Lp9G3ZYRA==",
- "bin": {
- "turbo": "bin/turbo"
- },
- "optionalDependencies": {
- "turbo-darwin-64": "1.10.14",
- "turbo-darwin-arm64": "1.10.14",
- "turbo-linux-64": "1.10.14",
- "turbo-linux-arm64": "1.10.14",
- "turbo-windows-64": "1.10.14",
- "turbo-windows-arm64": "1.10.14"
- }
- },
- "node_modules/turbo-darwin-64": {
- "version": "1.10.14",
- "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-1.10.14.tgz",
- "integrity": "sha512-I8RtFk1b9UILAExPdG/XRgGQz95nmXPE7OiGb6ytjtNIR5/UZBS/xVX/7HYpCdmfriKdVwBKhalCoV4oDvAGEg==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/turbo-darwin-arm64": {
- "version": "1.10.14",
- "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-1.10.14.tgz",
- "integrity": "sha512-KAdUWryJi/XX7OD0alOuOa0aJ5TLyd4DNIYkHPHYcM6/d7YAovYvxRNwmx9iv6Vx6IkzTnLeTiUB8zy69QkG9Q==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/turbo-linux-64": {
- "version": "1.10.14",
- "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-1.10.14.tgz",
- "integrity": "sha512-BOBzoREC2u4Vgpap/WDxM6wETVqVMRcM8OZw4hWzqCj2bqbQ6L0wxs1LCLWVrghQf93JBQtIGAdFFLyCSBXjWQ==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/turbo-linux-arm64": {
- "version": "1.10.14",
- "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-1.10.14.tgz",
- "integrity": "sha512-D8T6XxoTdN5D4V5qE2VZG+/lbZX/89BkAEHzXcsSUTRjrwfMepT3d2z8aT6hxv4yu8EDdooZq/2Bn/vjMI32xw==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/turbo-windows-64": {
- "version": "1.10.14",
- "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-1.10.14.tgz",
- "integrity": "sha512-zKNS3c1w4i6432N0cexZ20r/aIhV62g69opUn82FLVs/zk3Ie0GVkSB6h0rqIvMalCp7enIR87LkPSDGz9K4UA==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/turbo-windows-arm64": {
- "version": "1.10.14",
- "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-1.10.14.tgz",
- "integrity": "sha512-rkBwrTPTxNSOUF7of8eVvvM+BkfkhA2OvpHM94if8tVsU+khrjglilp8MTVPHlyS9byfemPAmFN90oRIPB05BA==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/type": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
- "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
- },
- "node_modules/type-check": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "prelude-ls": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/type-detect": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/type-fest": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
- "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
- "engines": {
- "node": ">=12.20"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/typed-array-length": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
- "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "is-typed-array": "^1.1.9"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/typescript": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz",
- "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=14.17"
- }
- },
- "node_modules/ufo": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.1.2.tgz",
- "integrity": "sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==",
- "dev": true
- },
- "node_modules/unbox-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
- "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-bigints": "^1.0.2",
- "has-symbols": "^1.0.3",
- "which-boxed-primitive": "^1.0.2"
- },
- "funding": {
- "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.11",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz",
- "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "dependencies": {
- "escalade": "^3.1.1",
- "picocolors": "^1.0.0"
- },
- "bin": {
- "update-browserslist-db": "cli.js"
- },
- "peerDependencies": {
- "browserslist": ">= 4.21.0"
- }
- },
- "node_modules/uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/use-sync-external-store": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
- "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.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/uuid": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
- "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
- "funding": [
- "https://github.com/sponsors/broofa",
- "https://github.com/sponsors/ctavan"
- ],
- "bin": {
- "uuid": "dist/bin/uuid"
- }
- },
- "node_modules/uuidv4": {
- "version": "6.2.13",
- "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
- "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
- "dependencies": {
- "@types/uuid": "8.3.4",
- "uuid": "8.3.2"
- }
- },
- "node_modules/uuidv4/node_modules/@types/uuid": {
- "version": "8.3.4",
- "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
- "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw=="
- },
- "node_modules/uuidv4/node_modules/uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
- "bin": {
- "uuid": "dist/bin/uuid"
- }
- },
- "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=="
- },
- "node_modules/vite": {
- "version": "4.3.9",
- "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz",
- "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==",
- "dependencies": {
- "esbuild": "^0.17.5",
- "postcss": "^8.4.23",
- "rollup": "^3.21.0"
- },
- "bin": {
- "vite": "bin/vite.js"
- },
- "engines": {
- "node": "^14.18.0 || >=16.0.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- },
- "peerDependencies": {
- "@types/node": ">= 14",
- "less": "*",
- "sass": "*",
- "stylus": "*",
- "sugarss": "*",
- "terser": "^5.4.0"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- },
- "less": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "stylus": {
- "optional": true
- },
- "sugarss": {
- "optional": true
- },
- "terser": {
- "optional": true
- }
- }
- },
- "node_modules/vite-node": {
- "version": "0.32.2",
- "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.32.2.tgz",
- "integrity": "sha512-dTQ1DCLwl2aEseov7cfQ+kDMNJpM1ebpyMMMwWzBvLbis8Nla/6c9WQcqpPssTwS6Rp/+U6KwlIj8Eapw4bLdA==",
- "dev": true,
- "dependencies": {
- "cac": "^6.7.14",
- "debug": "^4.3.4",
- "mlly": "^1.2.0",
- "pathe": "^1.1.0",
- "picocolors": "^1.0.0",
- "vite": "^3.0.0 || ^4.0.0"
- },
- "bin": {
- "vite-node": "vite-node.mjs"
- },
- "engines": {
- "node": ">=v14.18.0"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/vite-tsconfig-paths": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.2.0.tgz",
- "integrity": "sha512-jGpus0eUy5qbbMVGiTxCL1iB9ZGN6Bd37VGLJU39kTDD6ZfULTTb1bcc5IeTWqWJKiWV5YihCaibeASPiGi8kw==",
- "dev": true,
- "dependencies": {
- "debug": "^4.1.1",
- "globrex": "^0.1.2",
- "tsconfck": "^2.1.0"
- },
- "peerDependencies": {
- "vite": "*"
- },
- "peerDependenciesMeta": {
- "vite": {
- "optional": true
- }
- }
- },
- "node_modules/vitest": {
- "version": "0.32.2",
- "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.32.2.tgz",
- "integrity": "sha512-hU8GNNuQfwuQmqTLfiKcqEhZY72Zxb7nnN07koCUNmntNxbKQnVbeIS6sqUgR3eXSlbOpit8+/gr1KpqoMgWCQ==",
- "dev": true,
- "dependencies": {
- "@types/chai": "^4.3.5",
- "@types/chai-subset": "^1.3.3",
- "@types/node": "*",
- "@vitest/expect": "0.32.2",
- "@vitest/runner": "0.32.2",
- "@vitest/snapshot": "0.32.2",
- "@vitest/spy": "0.32.2",
- "@vitest/utils": "0.32.2",
- "acorn": "^8.8.2",
- "acorn-walk": "^8.2.0",
- "cac": "^6.7.14",
- "chai": "^4.3.7",
- "concordance": "^5.0.4",
- "debug": "^4.3.4",
- "local-pkg": "^0.4.3",
- "magic-string": "^0.30.0",
- "pathe": "^1.1.0",
- "picocolors": "^1.0.0",
- "std-env": "^3.3.2",
- "strip-literal": "^1.0.1",
- "tinybench": "^2.5.0",
- "tinypool": "^0.5.0",
- "vite": "^3.0.0 || ^4.0.0",
- "vite-node": "0.32.2",
- "why-is-node-running": "^2.2.2"
- },
- "bin": {
- "vitest": "vitest.mjs"
- },
- "engines": {
- "node": ">=v14.18.0"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- },
- "peerDependencies": {
- "@edge-runtime/vm": "*",
- "@vitest/browser": "*",
- "@vitest/ui": "*",
- "happy-dom": "*",
- "jsdom": "*",
- "playwright": "*",
- "safaridriver": "*",
- "webdriverio": "*"
- },
- "peerDependenciesMeta": {
- "@edge-runtime/vm": {
- "optional": true
- },
- "@vitest/browser": {
- "optional": true
- },
- "@vitest/ui": {
- "optional": true
- },
- "happy-dom": {
- "optional": true
- },
- "jsdom": {
- "optional": true
- },
- "playwright": {
- "optional": true
- },
- "safaridriver": {
- "optional": true
- },
- "webdriverio": {
- "optional": true
- }
- }
- },
- "node_modules/watchpack": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
- "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
- "dependencies": {
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.1.2"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/webcrypto-core": {
- "version": "1.7.7",
- "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.7.7.tgz",
- "integrity": "sha512-7FjigXNsBfopEj+5DV2nhNpfic2vumtjjgPmeDKk45z+MJwXKKfhPB7118Pfzrmh4jqOMST6Ch37iPAHoImg5g==",
- "dependencies": {
- "@peculiar/asn1-schema": "^2.3.6",
- "@peculiar/json-schema": "^1.1.12",
- "asn1js": "^3.0.1",
- "pvtsutils": "^1.3.2",
- "tslib": "^2.4.0"
- }
- },
- "node_modules/well-known-symbols": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-2.0.0.tgz",
- "integrity": "sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/which-boxed-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
- "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
- "dev": true,
- "dependencies": {
- "is-bigint": "^1.0.1",
- "is-boolean-object": "^1.1.0",
- "is-number-object": "^1.0.4",
- "is-string": "^1.0.5",
- "is-symbol": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/which-typed-array": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
- "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
- "dev": true,
- "dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0",
- "is-typed-array": "^1.1.10"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/why-is-node-running": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz",
- "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==",
- "dev": true,
- "dependencies": {
- "siginfo": "^2.0.0",
- "stackback": "0.0.2"
- },
- "bin": {
- "why-is-node-running": "cli.js"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q=="
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
- },
- "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/yaml": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz",
- "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==",
- "dev": true,
- "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==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/yocto-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/zod": {
- "version": "3.22.3",
- "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.3.tgz",
- "integrity": "sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==",
- "funding": {
- "url": "https://github.com/sponsors/colinhacks"
- }
- },
- "node_modules/zustand": {
- "version": "4.3.9",
- "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.3.9.tgz",
- "integrity": "sha512-Tat5r8jOMG1Vcsj8uldMyqYKC5IZvQif8zetmLHs9WoZlntTHmIoNM8TpLRY31ExncuUvUOXehd0kvahkuHjDw==",
- "dependencies": {
- "use-sync-external-store": "1.2.0"
- },
- "engines": {
- "node": ">=12.7.0"
- },
- "peerDependencies": {
- "immer": ">=9.0",
- "react": ">=16.8"
- },
- "peerDependenciesMeta": {
- "immer": {
- "optional": true
- },
- "react": {
- "optional": true
- }
- }
- }
- }
-}
diff --git a/package.json b/package.json
index 408768e..fcf27ce 100644
--- a/package.json
+++ b/package.json
@@ -1,85 +1,50 @@
{
- "name": "speedread",
- "version": "0.1.0",
+ "name": "t3-turbo-and-clerk",
"private": true,
+ "packageManager": "pnpm@7.13.0",
"scripts": {
- "quick": "deno run src/server/tester.ts",
- "build": "next build",
- "dev": "next dev",
- "postinstall": "prisma generate",
- "lint": "next lint",
- "start": "next start",
- "test": "vitest"
+ "build": "turbo build",
+ "clean": "rm -rf node_modules",
+ "clean:workspaces": "turbo clean",
+ "db-generate": "turbo db-generate",
+ "db-push": "turbo db-push",
+ "db-studio": "pnpm -F db studio",
+ "dev": "turbo dev --parallel",
+ "format": "prettier --write \"**/*.{ts,tsx,md}\"",
+ "lint": "turbo lint",
+ "FIXME:lint": "turbo lint && manypkg check",
+ "type-check": "turbo type-check"
},
"dependencies": {
- "@clerk/nextjs": "^4.21.13",
- "@prisma/client": "^4.16.1",
- "@tanstack/react-query": "^4.29.19",
- "@trpc/client": "^10.33.0",
- "@trpc/next": "^10.33.0",
- "@trpc/react-query": "^10.33.0",
- "@trpc/server": "^10.33.0",
- "axios": "^1.4.0",
+ "@formkit/auto-animate": "^0.8.1",
+ "@manypkg/cli": "^0.19.2",
+ "@planetscale/database": "^1.13.0",
+ "@prisma/client": "^5.7.1",
+ "@react-native-picker/picker": "^2.6.1",
+ "@typescript-eslint/eslint-plugin": "^5.57.1",
+ "@typescript-eslint/parser": "^5.57.1",
"class-variance-authority": "^0.7.0",
- "drizzle-kit": "^0.19.12",
- "drizzle-orm": "^0.27.2",
- "framer-motion": "^10.12.18",
- "next": "^13.4.7",
- "p5": "^1.7.0",
- "preact": "^10.15.1",
- "react": "^18.2.0",
- "react-dom": "18.2.0",
+ "drizzle-orm": "^0.29.2",
+ "eslint": "^8.28.0",
+ "expo": "^49.0.22",
+ "expo-constants": "~14.4.2",
+ "formik": "^2.4.5",
+ "prettier": "^2.8.7",
+ "prettier-plugin-tailwindcss": "^0.1.13",
"react-icons": "^4.12.0",
- "react-p5": "^1.3.35",
- "react-router-dom": "^6.14.2",
- "shuffle-array": "^1.0.1",
- "superjson": "1.12.2",
- "ts-node": "^10.9.1",
- "turbo": "^1.10.14",
- "TypeScript": "npm:typescript@^5.1.6",
+ "react-native-gesture-handler": "^2.14.1",
+ "react-native-reanimated": "^3.6.2",
+ "react-native-session-storage": "^1.1.1",
+ "turbo": "^1.8.8",
+ "typescript": "^4.9.3",
"uuid": "^9.0.1",
- "uuidv4": "^6.2.13",
- "vite": "^4.3.9",
- "zod": "^3.21.4",
- "zustand": "^4.3.9"
+ "zustand": "^4.4.7"
},
- "devDependencies": {
- "@babel/core": "^7.22.5",
- "@babel/preset-env": "^7.22.5",
- "@types/eslint": "^8.40.2",
- "@types/node": "^18.16.18",
- "@types/prettier": "^2.7.3",
- "@types/react": "^18.2.14",
- "@types/react-dom": "^18.2.6",
- "@types/uuid": "^9.0.2",
- "@typescript-eslint/eslint-plugin": "^5.60.1",
- "@typescript-eslint/parser": "^5.60.1",
- "autoprefixer": "^10.4.14",
- "eslint-config-next": "^12.3.4",
- "postcss": "^8.4.24",
- "prettier": "^2.8.8",
- "prettier-plugin-tailwindcss": "^0.2.8",
- "prisma": "^5.3.1",
- "tailwindcss": "^3.3.2",
- "typescript": "^5.1.6",
- "vite-tsconfig-paths": "^4.2.0",
- "vitest": "^0.32.2"
- },
- "ct3aMetadata": {
- "initVersion": "7.10.0"
+ "pnpm": {
+ "patchedDependencies": {}
},
- "prettier": {
- "printWidth": 80,
- "tabWidth": 2,
- "useTabs": false,
- "semi": false,
- "singleQuote": true,
- "quoteProps": "as-needed",
- "jsxSingleQuote": true,
- "trailingComma": "all",
- "bracketSpacing": true,
- "jsxBracketSameLine": false,
- "arrowParens": "always",
- "singleAttributePerLine": true
+ "devDependencies": {
+ "@prisma/nextjs-monorepo-workaround-plugin": "^5.8.1",
+ "drizzle-kit": "^0.20.9"
}
}
diff --git a/packages/api/index.ts b/packages/api/index.ts
new file mode 100644
index 0000000..b2c12d9
--- /dev/null
+++ b/packages/api/index.ts
@@ -0,0 +1,5 @@
+export type { AppRouter } from './src/router'
+export { appRouter } from './src/router'
+
+export { createContext } from './src/context'
+export type { Context } from './src/context'
diff --git a/packages/api/package.json b/packages/api/package.json
new file mode 100644
index 0000000..406157b
--- /dev/null
+++ b/packages/api/package.json
@@ -0,0 +1,28 @@
+{
+ "name": "@acme/api",
+ "version": "0.1.0",
+ "main": "./index.ts",
+ "types": "./index.ts",
+ "license": "MIT",
+ "scripts": {
+ "clean": "rm -rf .turbo node_modules",
+ "lint": "eslint . --ext .ts,.tsx",
+ "type-check": "tsc --noEmit"
+ },
+ "dependencies": {
+ "@acme/db": "*",
+ "@acme/helpers": "*",
+ "@acme/types": "*",
+ "@acme/validators": "*",
+ "@trpc/client": "^10.1.0",
+ "@trpc/server": "^10.1.0",
+ "axios": "^1.6.3",
+ "superjson": "^1.9.1",
+ "uuidv4": "^6.2.13",
+ "zod": "^3.18.0"
+ },
+ "devDependencies": {
+ "eslint": "^8.28.0",
+ "typescript": "^4.9.3"
+ }
+}
diff --git a/packages/api/src/context.ts b/packages/api/src/context.ts
new file mode 100644
index 0000000..defde45
--- /dev/null
+++ b/packages/api/src/context.ts
@@ -0,0 +1,34 @@
+import { prisma } from '@acme/db'
+import { type inferAsyncReturnType } from '@trpc/server'
+import { type CreateNextContextOptions } from '@trpc/server/adapters/next'
+import { getAuth } from '@clerk/nextjs/server'
+import type { SignedInAuthObject, SignedOutAuthObject } from '@clerk/nextjs/api'
+
+/**
+ * Replace this with an object if you want to pass things to createContextInner
+ */
+type AuthContextProps = {
+ auth: SignedInAuthObject | SignedOutAuthObject
+}
+
+/** Use this helper for:
+ * - testing, where we dont have to Mock Next.js' req/res
+ * - trpc's `createSSGHelpers` where we don't have req/res
+ * @see https://beta.create.t3.gg/en/usage/trpc#-servertrpccontextts
+ */
+export const createContextInner = async ({ auth }: AuthContextProps) => {
+ return {
+ auth,
+ prisma,
+ }
+}
+
+/**
+ * This is the actual context you'll use in your router
+ * @link https://trpc.io/docs/context
+ **/
+export const createContext = async (opts: CreateNextContextOptions) => {
+ return await createContextInner({ auth: getAuth(opts.req) })
+}
+
+export type Context = inferAsyncReturnType
diff --git a/packages/api/src/router/auth.ts b/packages/api/src/router/auth.ts
new file mode 100644
index 0000000..c9c3024
--- /dev/null
+++ b/packages/api/src/router/auth.ts
@@ -0,0 +1,10 @@
+import { protectedProcedure, publicProcedure, router } from '../trpc'
+
+export const authRouter = router({
+ getSession: publicProcedure.query(({ ctx }) => {
+ return ctx.auth.session
+ }),
+ getSecretMessage: protectedProcedure.query(() => {
+ return 'you can see this secret message!'
+ }),
+})
diff --git a/packages/api/src/router/builders.ts b/packages/api/src/router/builders.ts
new file mode 100644
index 0000000..6481d66
--- /dev/null
+++ b/packages/api/src/router/builders.ts
@@ -0,0 +1,29 @@
+import { schemas } from '@acme/validators'
+import { router, protectedProcedure } from '../trpc'
+
+export const buildSpeedTestRouter = router({
+ createSpeedTest: protectedProcedure
+ .input(schemas.speedTest)
+ .output(schemas.speedTest)
+ .mutation(async ({ input, ctx }) => {
+ const user = await ctx.prisma.user.findUnique({
+ where: {
+ id: ctx.auth.userId,
+ },
+ })
+ if (!user || !user.isAdmin) throw new Error('Unauthorized')
+ const count = await ctx.prisma.speedQuestion.count()
+ return await ctx.prisma.speedQuestion.create({
+ data: {
+ id: count + 1,
+ passage: input.passage,
+ question: input.question,
+ answerA: input.answerA,
+ answerB: input.answerB,
+ answerC: input.answerC,
+ answerD: input.answerD,
+ correctAnswer: input.correctAnswer,
+ },
+ })
+ }),
+})
diff --git a/packages/api/src/router/collection.ts b/packages/api/src/router/collection.ts
new file mode 100644
index 0000000..6ea03d0
--- /dev/null
+++ b/packages/api/src/router/collection.ts
@@ -0,0 +1,213 @@
+import { router, protectedProcedure } from '../trpc'
+import { uuid } from 'uuidv4'
+import {
+ boxFlasherData,
+ evenNumbersData,
+ highlightData,
+ numberGuesserData,
+ schulteData,
+ letterMatcherData,
+ wordPairSessionData,
+ speedTestData,
+} from '@acme/validators'
+import { z } from 'zod'
+
+export const collectionRouter = router({
+ highlightSession: protectedProcedure
+ .input(highlightData)
+ .mutation(async ({ input, ctx }) => {
+ const userId = ctx.auth.userId
+ const user = await ctx.prisma.user.findUnique({
+ where: {
+ id: userId,
+ },
+ })
+ if (!user?.isStudySubject) return
+ await ctx.prisma.highlightSession.create({
+ data: {
+ id: uuid(),
+ userId: input.userId,
+ type: input.type,
+ speed: input.speed,
+ date: new Date(),
+ },
+ })
+ }),
+
+ schulteSession: protectedProcedure
+ .input(schulteData)
+ .mutation(async ({ input, ctx }) => {
+ const userId = ctx.auth.userId
+ const user = await ctx.prisma.user.findUnique({
+ where: {
+ id: userId,
+ },
+ })
+ if (!user?.isStudySubject) return
+ await ctx.prisma.schulteSession.create({
+ data: {
+ id: uuid(),
+ date: new Date(),
+ userId: input.userId,
+ type: input.type,
+ time: input.time,
+ errorCount: input.errorCount,
+ platform: input.platform ?? 'web',
+ },
+ })
+ }),
+
+ numberGuesserSession: protectedProcedure
+ .input(numberGuesserData)
+ .mutation(async ({ input, ctx }) => {
+ const userId = ctx.auth.userId
+ const user = await ctx.prisma.user.findUnique({
+ where: {
+ id: userId,
+ },
+ })
+ if (!user?.isStudySubject) return
+ await ctx.prisma.numberGuesserSession.create({
+ data: {
+ id: uuid(),
+ userId: input.userId,
+ numberCorrect: input.numberCorrect,
+ numberWrong: input.numberWrong,
+ longestStreak: input.longestStreak,
+ figuresAtStart: input.figuresAtStart,
+ figuresAtEnd: input.figuresAtEnd,
+ date: new Date(),
+ platform: input.platform ?? 'web',
+ },
+ })
+ }),
+
+ letterMatcherSession: protectedProcedure
+ .input(letterMatcherData)
+ .mutation(async ({ input, ctx }) => {
+ await ctx.prisma.letterMatcherSession.create({
+ data: {
+ id: uuid(),
+ userId: input.userId,
+ numberCorrect: input.numberCorrect,
+ numberWrong: input.numberWrong,
+ date: new Date(),
+ platform: input.platform ?? 'web',
+ },
+ })
+ }),
+
+ evenNumberSession: protectedProcedure
+ .input(evenNumbersData)
+ .mutation(async ({ input, ctx }) => {
+ const userId = ctx.auth.userId
+ const user = await ctx.prisma.user.findUnique({
+ where: {
+ id: userId,
+ },
+ })
+ if (!user?.isStudySubject) return
+ await ctx.prisma.evenNumberSession.create({
+ data: {
+ id: uuid(),
+ userId: input.userId,
+ time: input.time,
+ errorCount: input.errorCount,
+ date: new Date(),
+ platform: input.platform ?? 'web',
+ },
+ })
+ }),
+
+ boxFlasherSession: protectedProcedure
+ .input(boxFlasherData)
+ .mutation(async ({ input, ctx }) => {
+ const userId = ctx.auth.userId
+ const user = await ctx.prisma.user.findUnique({
+ where: {
+ id: userId,
+ },
+ })
+ if (!user?.isStudySubject) return
+ await ctx.prisma.boxFlasherSession.create({
+ data: {
+ id: uuid(),
+ userId: input.userId,
+ speed: input.speed,
+ date: new Date(),
+ type: input.type,
+ platform: input.platform ?? 'web',
+ },
+ })
+ }),
+
+ greenDotSession: protectedProcedure
+ .input(
+ z.object({
+ platform: z.union([z.literal('web'), z.literal('mobile')])
+ .optional()
+ }).optional()
+ )
+ .mutation(async ({ ctx, input }) => {
+ const userId = ctx.auth.userId
+ const user = await ctx.prisma.user.findUnique({
+ where: {
+ id: userId,
+ },
+ })
+ if (!user?.isStudySubject) return
+ await ctx.prisma.greenDotSession.create({
+ data: {
+ id: uuid(),
+ userId: ctx.auth.userId as string,
+ date: new Date(),
+ platform: input?.platform ?? 'web',
+ },
+ })
+ }),
+
+ wordPairSession: protectedProcedure
+ .input(wordPairSessionData)
+ .mutation(async ({ input, ctx }) => {
+ const userId = ctx.auth.userId
+ const user = await ctx.prisma.user.findUnique({
+ where: {
+ id: userId,
+ },
+ })
+ if (!user?.isStudySubject) return
+ await ctx.prisma.pairsSession.create({
+ data: {
+ id: uuid(),
+ userId: ctx.auth.userId,
+ time: input.time,
+ errorCount: input.errorCount,
+ date: new Date(),
+ platform: input.platform ?? 'web',
+ },
+ })
+ }),
+
+ SpeedTestSession: protectedProcedure
+ .input(speedTestData)
+ .mutation(async ({ input, ctx }) => {
+ const userId = ctx.auth.userId
+ const user = await ctx.prisma.user.findUnique({
+ where: {
+ id: userId,
+ },
+ })
+ if (!user?.isStudySubject) return
+ await ctx.prisma.speedTestSession.create({
+ data: {
+ id: uuid(),
+ userId: ctx.auth.userId,
+ startSpeed: input.startSpeed,
+ endSpeed: input.endSpeed,
+ errorCount: input.numberWrong,
+ date: new Date(),
+ platform: input.platform ?? 'web',
+ },
+ })
+ }),
+})
diff --git a/packages/api/src/router/exercises.ts b/packages/api/src/router/exercises.ts
new file mode 100644
index 0000000..91a722d
--- /dev/null
+++ b/packages/api/src/router/exercises.ts
@@ -0,0 +1,211 @@
+import { router, protectedProcedure } from '../trpc'
+import { z } from 'zod'
+import type { Language } from '@acme/types'
+import axios from 'axios'
+import {
+ exercise,
+ inputs,
+ schemas,
+ speedTestSchema,
+ userSchema,
+ wordPairData,
+ wordPairProps,
+} from '@acme/validators'
+import { Prisma, type SpeedQuestion, type WordPair } from '@acme/db'
+import { getNextExercise, getNextURL } from '@acme/helpers'
+
+const multiTest = speedTestSchema.array()
+
+async function getRandomWords(size: number, language: Language) {
+ if (language === 'english') {
+ const response = await axios.get(
+ `https://random-word-api.herokuapp.com/word?number=${size}`,
+ )
+ return response.data
+ }
+ if (language === 'spanish') {
+ const response = await axios.get(
+ `https://random-word-api.herokuapp.com/word?lang=es&number=${size}`,
+ )
+ return response.data
+ }
+ if (language === 'italian') {
+ const response = await axios.get(
+ `https://random-word-api.herokuapp.com/word?lang=it&number=${size}`,
+ )
+ return response.data
+ }
+ if (language === 'german') {
+ const response = await axios.get(
+ `https://random-word-api.herokuapp.com/word?lang=de&number=${size}`,
+ )
+ return response.data
+ }
+}
+type GetRandomWordsLimitLength = {
+ wordsReturned: number
+ wordLength: number
+ language: Language
+}
+async function getRandomWordsLimitLength({
+ wordsReturned,
+ wordLength,
+ language,
+}: GetRandomWordsLimitLength) {
+ const blockSize = Math.ceil(wordsReturned / 3)
+ const words = new Array()
+ const block1 = await getWords({
+ wordsReturned: blockSize,
+ wordLength: wordLength,
+ language: language,
+ })
+ const block2 = await getWords({
+ wordsReturned: blockSize,
+ wordLength: wordLength - 1,
+ language: language,
+ })
+ const block3 = await getWords({
+ wordsReturned: blockSize,
+ wordLength: wordLength - 2,
+ language: language,
+ })
+ if (block1 === undefined || block2 === undefined || block3 === undefined) {
+ return
+ }
+ block1.forEach(word => {
+ words.push(word)
+ })
+ block2.forEach(word => {
+ words.push(word)
+ })
+ block3.forEach(word => {
+ words.push(word)
+ })
+ return words
+ .slice(0, wordsReturned)
+ .sort(() => (Math.random() > 0.5 ? 1 : -1))
+}
+
+async function getWords({
+ wordsReturned,
+ wordLength,
+ language,
+}: GetRandomWordsLimitLength) {
+ if (language === 'english') {
+ const response = await axios.get(
+ `https://random-word-api.herokuapp.com/word?number=${wordsReturned}&length=${wordLength}`,
+ )
+ return response.data
+ }
+ if (language === 'spanish') {
+ const response = await axios.get(
+ `https://random-word-api.herokuapp.com/word?lang=es&number=${wordsReturned}&length=${wordLength}`,
+ )
+ return response.data
+ }
+ if (language === 'italian') {
+ const response = await axios.get(
+ `https://random-word-api.herokuapp.com/word?lang=it&number=${wordsReturned}&length=${wordLength}`,
+ )
+ return response.data
+ }
+ if (language === 'german') {
+ const response = await axios.get(
+ `https://random-word-api.herokuapp.com/word?lang=de&number=${wordsReturned}&length=${wordLength}`,
+ )
+ return response.data
+ }
+}
+
+export const excercisePropsRouter = router({
+ getSingleSpeedTestProps: protectedProcedure
+ .output(speedTestSchema)
+ .query(async ({ ctx }) => {
+ const numberOfTables = await ctx.prisma.speedQuestion.count()
+ const random = Math.floor(Math.random() * numberOfTables)
+ const result = await ctx.prisma.speedQuestion.findUnique({
+ where: {
+ id: random,
+ },
+ })
+ if (result === null || result === undefined) throw new Error('No result')
+ return result
+ }),
+
+ getMultipleSpeedTestProps: protectedProcedure
+ .output(multiTest)
+ .input(z.number())
+ .query(async ({ input, ctx }) => {
+ const numberOfTables = await ctx.prisma.speedQuestion.count()
+ const numbers = new Array()
+ for (let i = 1; i <= numberOfTables; i++) {
+ numbers.push(i)
+ }
+ const randomNumbers = numbers
+ .sort(() => Math.random() - Math.random())
+ .slice(0, input)
+ const result = Array()
+ for (let i = 0; i < input; i++) {
+ const question = await ctx.prisma.speedQuestion.findUnique({
+ where: {
+ id: randomNumbers[i],
+ },
+ })
+ if (question === null || question === undefined) throw new Error('No result')
+ result.push(question)
+ }
+ if (result === null || result === undefined) throw new Error('No result')
+ return result
+ }),
+
+ getRandomWords: protectedProcedure
+ .input(inputs.randomWords)
+ .output(z.array(z.string()).or(z.undefined()))
+ .query(async ({ input }) => {
+ if (input.max < 0) {
+ return getRandomWords(input.number, input.language)
+ } else {
+ return getRandomWordsLimitLength({
+ wordsReturned: input.number,
+ wordLength: input.max,
+ language: input.language,
+ })
+ }
+ }),
+
+ getWordPairs: protectedProcedure
+ .input(wordPairProps)
+ .output(wordPairData.array())
+ .query(async ({ input, ctx }) => {
+ const result = await ctx.prisma.$queryRaw>(
+ Prisma.sql`SELECT * FROM WordPair WHERE LENGTH(primaryWord) <= 7 AND LENGTH(secondaryWord) <= 7 ORDER BY RAND() LIMIT ${input.count}`,
+ )
+ if (result === null || result === undefined) throw new Error('No result')
+ return result
+ }),
+
+ getNextUrl: protectedProcedure
+ .input(userSchema)
+ .output(z.string())
+ .query(({ input }) => {
+ const next = getNextExercise(input)
+ return getNextURL(next)
+ }),
+
+ getNext: protectedProcedure
+ .output(exercise.or(z.undefined()))
+ .query(async ({ ctx }) => {
+ const id = ctx.auth.userId
+ const user = await ctx.prisma.user.findUnique({
+ where: {
+ id: id,
+ },
+ })
+ const next = getNextExercise(user)
+ const result = exercise.safeParse(next)
+ if (!result.success) {
+ return undefined
+ }
+ return result.data
+ }),
+})
diff --git a/packages/api/src/router/index.ts b/packages/api/src/router/index.ts
new file mode 100644
index 0000000..79e6fd4
--- /dev/null
+++ b/packages/api/src/router/index.ts
@@ -0,0 +1,19 @@
+import { router } from '../trpc'
+import { postRouter } from './post'
+import { authRouter } from './auth'
+import { userRouter } from './user'
+import { collectionRouter } from './collection'
+import { excercisePropsRouter } from './exercises'
+import { buildSpeedTestRouter } from './builders'
+
+export const appRouter = router({
+ post: postRouter,
+ auth: authRouter,
+ user: userRouter,
+ excercise: excercisePropsRouter,
+ buildSpeedTest: buildSpeedTestRouter,
+ collect: collectionRouter,
+})
+
+// export type definition of API
+export type AppRouter = typeof appRouter
diff --git a/packages/api/src/router/post.ts b/packages/api/src/router/post.ts
new file mode 100644
index 0000000..edd571d
--- /dev/null
+++ b/packages/api/src/router/post.ts
@@ -0,0 +1,16 @@
+import { router, publicProcedure, protectedProcedure } from '../trpc'
+import { z } from 'zod'
+
+export const postRouter = router({
+ all: publicProcedure.query(({ ctx }) => {
+ return ctx.prisma.post.findMany()
+ }),
+ byId: publicProcedure.input(z.string()).query(({ ctx, input }) => {
+ return ctx.prisma.post.findFirst({ where: { id: input } })
+ }),
+ create: protectedProcedure
+ .input(z.object({ title: z.string(), content: z.string() }))
+ .mutation(({ ctx, input }) => {
+ return ctx.prisma.post.create({ data: input })
+ }),
+})
diff --git a/packages/api/src/router/user.ts b/packages/api/src/router/user.ts
new file mode 100644
index 0000000..c0683ab
--- /dev/null
+++ b/packages/api/src/router/user.ts
@@ -0,0 +1,70 @@
+import { router, protectedProcedure } from '../trpc'
+import type { User } from '@acme/types'
+import { userSchema } from '@acme/validators'
+
+export const userRouter = router({
+ get: protectedProcedure.output(userSchema).query(async ({ ctx }) => {
+ const userId = ctx.auth.userId
+ if (userId === null || userId === undefined) throw new Error('No user')
+ const user = await ctx.prisma.user.findUnique({
+ where: {
+ id: userId,
+ },
+ })
+ if (user === null || user === undefined) {
+ const newUser = await ctx.prisma.user.create({
+ data: {
+ id: ctx.auth.userId?.toString(),
+ firstName: ctx.auth.user?.firstName ?? '',
+ lastName: ctx.auth.user?.lastName ?? '',
+ createdAt: new Date(),
+ updatedAt: new Date(),
+ },
+ })
+ return newUser
+ }
+ return user
+ }),
+
+ set: protectedProcedure
+ .input(userSchema.partial())
+ .output(userSchema.partial())
+ .mutation(({ ctx, input }) => {
+ return ctx.prisma.user.update({
+ where: {
+ id: ctx.auth.userId ?? input.id,
+ },
+ data: {
+ firstName: input.firstName,
+ lastName: input.lastName,
+ maxWpm: input.maxWpm,
+ currentWpm: input.currentWpm,
+ createdAt: input.createdAt,
+ updatedAt: input.updatedAt ?? new Date(),
+ highlightColor: input.highlightColor,
+ lastSchulte: input.lastSchulte,
+ lastSpeedTest: input.lastSpeedTest,
+ lastFourByOne: input.lastFourByOne,
+ lastOneByTwo: input.lastOneByTwo,
+ lastTwoByTwo: input.lastTwoByTwo,
+ lastOneByOne: input.lastOneByOne,
+ lastTwoByOne: input.lastTwoByOne,
+ lastEvenNumbers: input.lastEvenNumbers,
+ lastCubeByThree: input.lastCubeByThree,
+ lastCubeByTwo: input.lastCubeByTwo,
+ lastNumberGuesser: input.lastNumberGuesser,
+ lastLetterMatcher: input.lastLetterMatcher,
+ lastWordPairs: input.lastWordPairs,
+ lastGreenDot: input.lastGreenDot,
+ numberGuesserFigures: input.numberGuesserFigures,
+ schulteLevel: input.schulteLevel,
+ schulteAdvanceCount: input.schulteAdvanceCount,
+ isAdmin: input.isAdmin,
+ isUsingChecklist: input.isUsingChecklist,
+ font: input.font,
+ language: input.language,
+ tested: input.tested,
+ },
+ })
+ }),
+})
diff --git a/packages/api/src/trpc.ts b/packages/api/src/trpc.ts
new file mode 100644
index 0000000..1c84037
--- /dev/null
+++ b/packages/api/src/trpc.ts
@@ -0,0 +1,25 @@
+import { initTRPC, TRPCError } from '@trpc/server'
+import { type Context } from './context'
+import superjson from 'superjson'
+
+const t = initTRPC.context().create({
+ transformer: superjson,
+ errorFormatter({ shape }) {
+ return shape
+ },
+})
+
+const isAuthed = t.middleware(({ next, ctx }) => {
+ if (!ctx.auth.userId) {
+ throw new TRPCError({ code: 'UNAUTHORIZED', message: 'Not authenticated' })
+ }
+ return next({
+ ctx: {
+ auth: ctx.auth,
+ },
+ })
+})
+
+export const router = t.router
+export const publicProcedure = t.procedure
+export const protectedProcedure = t.procedure.use(isAuthed)
diff --git a/packages/api/transformer.ts b/packages/api/transformer.ts
new file mode 100644
index 0000000..af649ab
--- /dev/null
+++ b/packages/api/transformer.ts
@@ -0,0 +1,2 @@
+import superjson from 'superjson'
+export const transformer = superjson
diff --git a/packages/api/tsconfig.json b/packages/api/tsconfig.json
new file mode 100644
index 0000000..29e64f0
--- /dev/null
+++ b/packages/api/tsconfig.json
@@ -0,0 +1,4 @@
+{
+ "extends": "../../tsconfig.json",
+ "include": ["src", "index.ts", "transformer.ts"]
+}
diff --git a/packages/config/tailwind/index.js b/packages/config/tailwind/index.js
new file mode 100644
index 0000000..b1a3410
--- /dev/null
+++ b/packages/config/tailwind/index.js
@@ -0,0 +1,8 @@
+/** @type {import('tailwindcss').Config} */
+module.exports = {
+ content: ["./src/**/*.{ts,tsx}", "./src/_app.tsx"],
+ theme: {
+ extend: {},
+ },
+ plugins: [],
+};
diff --git a/packages/config/tailwind/package.json b/packages/config/tailwind/package.json
new file mode 100644
index 0000000..7265f00
--- /dev/null
+++ b/packages/config/tailwind/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "@acme/tailwind-config",
+ "version": "0.1.0",
+ "main": "index.js",
+ "license": "MIT",
+ "files": [
+ "index.js",
+ "postcss.js"
+ ],
+ "devDependencies": {
+ "autoprefixer": "^10.4.13",
+ "postcss": "^8.4.19",
+ "tailwindcss": "^3.2.4"
+ }
+}
diff --git a/postcss.config.cjs b/packages/config/tailwind/postcss.js
similarity index 58%
rename from postcss.config.cjs
rename to packages/config/tailwind/postcss.js
index 177031b..12a703d 100644
--- a/postcss.config.cjs
+++ b/packages/config/tailwind/postcss.js
@@ -1,8 +1,6 @@
-const config = {
+module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
-}
-
-module.exports = config
+};
diff --git a/packages/db/drizzle/index.ts b/packages/db/drizzle/index.ts
new file mode 100644
index 0000000..dca3b1f
--- /dev/null
+++ b/packages/db/drizzle/index.ts
@@ -0,0 +1,52 @@
+import { drizzle } from 'drizzle-orm/planetscale-serverless'
+import { connect } from '@planetscale/database'
+import { User } from '@acme/types'
+import { eq } from 'drizzle-orm'
+import * as schema from './schema'
+
+const connection = connect({
+ host: process.env['DATABASE_HOST'],
+ username: process.env['DATABASE_USERNAME'],
+ password: process.env['DATABASE_PASSWORD'],
+})
+
+const db = drizzle(connection, { schema })
+
+export const getUser = (id: string) =>
+ db.select().from(schema.user).where(eq(schema.user.id, id))
+
+export const setUser = (user: Partial, id: string) =>
+ db
+ .update(schema.user)
+ .set({
+ ...getUser(id),
+ firstName: user.firstName,
+ lastName: user.lastName,
+ maxWpm: user.maxWpm,
+ currentWpm: user.currentWpm,
+ updatedAt: user?.updatedAt?.toString() ?? new Date().toString(),
+ highlightColor: user.highlightColor,
+ lastSchulte: user.lastSchulte,
+ lastSpeedTest: user.lastSpeedTest,
+ lastFourByOne: user.lastFourByOne,
+ lastOneByTwo: user.lastOneByTwo,
+ lastTwoByTwo: user.lastTwoByTwo,
+ lastOneByOne: user.lastOneByOne,
+ lastTwoByOne: user.lastTwoByOne,
+ lastEvenNumbers: user.lastEvenNumbers,
+ lastCubeByThree: user.lastCubeByThree,
+ lastCubeByTwo: user.lastCubeByTwo,
+ lastNumberGuesser: user.lastNumberGuesser,
+ lastLetterMatcher: user.lastLetterMatcher,
+ lastWordPairs: user.lastWordPairs,
+ lastGreenDot: user.lastGreenDot,
+ numberGuesserFigures: user.numberGuesserFigures,
+ schulteLevel: user.schulteLevel,
+ schulteAdvanceCount: user.schulteAdvanceCount,
+ isAdmin: Number(user.isAdmin),
+ isUsingChecklist: Number(user.isUsingChecklist),
+ font: user.font,
+ language: user.language,
+ tested: Number(user.tested) ?? Number(false),
+ })
+ .where(eq(schema.user.id, id))
diff --git a/packages/db/drizzle/schema.ts b/packages/db/drizzle/schema.ts
new file mode 100644
index 0000000..4c1dbd9
--- /dev/null
+++ b/packages/db/drizzle/schema.ts
@@ -0,0 +1,395 @@
+import {
+ mysqlTable,
+ mysqlSchema,
+ AnyMySqlColumn,
+ index,
+ unique,
+ varchar,
+ int,
+ datetime,
+ mysqlEnum,
+ smallint,
+ char,
+ primaryKey,
+ text,
+ tinyint,
+} from 'drizzle-orm/mysql-core'
+import { sql } from 'drizzle-orm'
+
+export const boxFlasherSession = mysqlTable(
+ 'BoxFlasherSession',
+ {
+ id: varchar('id', { length: 191 }).notNull(),
+ userId: varchar('userId', { length: 191 }).notNull(),
+ speed: int('speed').notNull(),
+ date: datetime('date', { mode: 'string' }).notNull(),
+ type: mysqlEnum('type', ['two', 'three']).notNull(),
+ },
+ table => {
+ return {
+ idIdx: index('BoxFlasherSession_id_idx').on(table.id),
+ boxFlasherSessionIdKey: unique('BoxFlasherSession_id_key').on(table.id),
+ }
+ },
+)
+
+export const evenNumberSession = mysqlTable(
+ 'EvenNumberSession',
+ {
+ id: varchar('id', { length: 191 }).notNull(),
+ userId: varchar('userId', { length: 191 }).notNull(),
+ errorCount: smallint('errorCount').notNull(),
+ date: datetime('date', { mode: 'string' }).notNull(),
+ time: int('time').notNull(),
+ },
+ table => {
+ return {
+ idIdx: index('EvenNumberSession_id_idx').on(table.id),
+ evenNumberSessionIdKey: unique('EvenNumberSession_id_key').on(table.id),
+ }
+ },
+)
+
+export const greenDotSession = mysqlTable(
+ 'GreenDotSession',
+ {
+ id: varchar('id', { length: 191 }).notNull(),
+ userId: varchar('userId', { length: 191 }).notNull(),
+ date: datetime('date', { mode: 'string' }).notNull(),
+ },
+ table => {
+ return {
+ idIdx: index('GreenDotSession_id_idx').on(table.id),
+ greenDotSessionIdKey: unique('GreenDotSession_id_key').on(table.id),
+ }
+ },
+)
+
+export const highlightSession = mysqlTable(
+ 'HighlightSession',
+ {
+ id: varchar('id', { length: 191 }).notNull(),
+ userId: varchar('userId', { length: 191 }).notNull(),
+ speed: smallint('speed').notNull(),
+ date: datetime('date', { mode: 'string' }).notNull(),
+ type: mysqlEnum('type', [
+ 'fourByOne',
+ 'oneByTwo',
+ 'twoByTwo',
+ 'oneByOne',
+ 'twoByOne',
+ ]).notNull(),
+ },
+ table => {
+ return {
+ idIdx: index('HighlightSession_id_idx').on(table.id),
+ highlightSessionIdKey: unique('HighlightSession_id_key').on(table.id),
+ }
+ },
+)
+
+export const letterMatcherSession = mysqlTable(
+ 'LetterMatcherSession',
+ {
+ id: varchar('id', { length: 191 }).notNull(),
+ userId: varchar('userId', { length: 191 }).notNull(),
+ numberCorrect: int('numberCorrect').notNull(),
+ numberWrong: int('numberWrong').notNull(),
+ date: datetime('date', { mode: 'string' }).notNull(),
+ },
+ table => {
+ return {
+ idIdx: index('LetterMatcherSession_id_idx').on(table.id),
+ letterMatcherSessionIdKey: unique('LetterMatcherSession_id_key').on(
+ table.id,
+ ),
+ }
+ },
+)
+
+export const numberGuesserSession = mysqlTable(
+ 'NumberGuesserSession',
+ {
+ id: varchar('id', { length: 191 }).notNull(),
+ userId: varchar('userId', { length: 191 }).notNull(),
+ longestStreak: int('longestStreak').notNull(),
+ figuresAtStart: int('figuresAtStart').notNull(),
+ figuresAtEnd: int('figuresAtEnd').notNull(),
+ date: datetime('date', { mode: 'string' }).notNull(),
+ numberCorrect: int('numberCorrect').notNull(),
+ numberWrong: int('numberWrong').notNull(),
+ },
+ table => {
+ return {
+ idIdx: index('NumberGuesserSession_id_idx').on(table.id),
+ numberGuesserSessionIdKey: unique('NumberGuesserSession_id_key').on(
+ table.id,
+ ),
+ }
+ },
+)
+
+export const pairsSession = mysqlTable(
+ 'PairsSession',
+ {
+ id: varchar('id', { length: 191 }).notNull(),
+ userId: varchar('userId', { length: 191 }).notNull(),
+ date: datetime('date', { mode: 'string' }).notNull(),
+ time: int('time').notNull(),
+ errorCount: int('errorCount').notNull(),
+ },
+ table => {
+ return {
+ idIdx: index('PairsSession_id_idx').on(table.id),
+ pairsSessionIdKey: unique('PairsSession_id_key').on(table.id),
+ }
+ },
+)
+
+export const satPassage = mysqlTable(
+ 'SatPassage',
+ {
+ id: varchar('id', { length: 191 }).notNull(),
+ passageText: varchar('passageText', { length: 191 }).notNull(),
+ },
+ table => {
+ return {
+ idIdx: index('SatPassage_id_idx').on(table.id),
+ satPassageIdKey: unique('SatPassage_id_key').on(table.id),
+ }
+ },
+)
+
+export const satQuestion = mysqlTable(
+ 'SatQuestion',
+ {
+ id: varchar('id', { length: 191 }).notNull(),
+ passageId: varchar('passageId', { length: 191 }).notNull(),
+ question: varchar('question', { length: 191 }).notNull(),
+ answerA: varchar('answerA', { length: 255 }).notNull(),
+ answerB: varchar('answerB', { length: 255 }).notNull(),
+ answerC: varchar('answerC', { length: 255 }).notNull(),
+ answerD: varchar('answerD', { length: 255 }).notNull(),
+ correctAnswer: char('correctAnswer', { length: 1 }).notNull(),
+ },
+ table => {
+ return {
+ idIdx: index('SatQuestion_id_idx').on(table.id),
+ satQuestionIdKey: unique('SatQuestion_id_key').on(table.id),
+ }
+ },
+)
+
+export const schulteSession = mysqlTable(
+ 'SchulteSession',
+ {
+ id: varchar('id', { length: 191 }).notNull(),
+ type: mysqlEnum('type', ['three', 'five', 'seven']).notNull(),
+ errorCount: smallint('errorCount').notNull(),
+ userId: varchar('userId', { length: 255 }).notNull(),
+ time: int('time').notNull(),
+ },
+ table => {
+ return {
+ idIdx: index('SchulteSession_id_idx').on(table.id),
+ schulteSessionIdKey: unique('SchulteSession_id_key').on(table.id),
+ }
+ },
+)
+
+export const speedQuestion = mysqlTable(
+ 'SpeedQuestion',
+ {
+ id: int('id').notNull(),
+ passage: text('passage').notNull(),
+ question: text('question').notNull(),
+ answerA: varchar('answerA', { length: 191 }).notNull(),
+ answerB: varchar('answerB', { length: 191 }).notNull(),
+ answerC: varchar('answerC', { length: 191 }).notNull(),
+ answerD: varchar('answerD', { length: 191 }).notNull(),
+ correctAnswer: varchar('correctAnswer', { length: 191 }).notNull(),
+ language: mysqlEnum('language', ['english', 'spanish', 'italian', 'german'])
+ .default('english')
+ .notNull(),
+ },
+ table => {
+ return {
+ idIdx: index('SpeedQuestion_id_idx').on(table.id),
+ speedQuestionId: primaryKey({
+ columns: [table.id],
+ name: 'SpeedQuestion_id',
+ }),
+ speedQuestionIdKey: unique('SpeedQuestion_id_key').on(table.id),
+ }
+ },
+)
+
+export const timeTest = mysqlTable(
+ 'TimeTest',
+ {
+ id: varchar('id', { length: 191 }).notNull(),
+ userId: varchar('userId', { length: 191 }).notNull(),
+ sessionId: varchar('sessionId', { length: 191 }).notNull(),
+ createdAt: datetime('CreatedAt', { mode: 'string', fsp: 3 })
+ .default(sql`CURRENT_TIMESTAMP(3)`)
+ .notNull(),
+ highScore: smallint('highScore').notNull(),
+ lowScore: smallint('lowScore').notNull(),
+ accuracy: smallint('accuracy').notNull(),
+ },
+ table => {
+ return {
+ idIdx: index('TimeTest_id_idx').on(table.id),
+ timeTestSessionId: primaryKey({
+ columns: [table.sessionId],
+ name: 'TimeTest_sessionId',
+ }),
+ timeTestIdKey: unique('TimeTest_id_key').on(table.id),
+ }
+ },
+)
+
+export const user = mysqlTable(
+ 'User',
+ {
+ id: varchar('id', { length: 191 }).notNull(),
+ createdAt: datetime('createdAt', { mode: 'string', fsp: 3 })
+ .default(sql`CURRENT_TIMESTAMP(3)`)
+ .notNull(),
+ updatedAt: datetime('updatedAt', { mode: 'string', fsp: 3 }).notNull(),
+ firstName: varchar('firstName', { length: 255 })
+ .default('Defaul')
+ .notNull(),
+ lastName: varchar('lastName', { length: 255 }).default('User').notNull(),
+ maxWpm: smallint('maxWpm').default(250).notNull(),
+ currentWpm: smallint('currentWpm').default(230).notNull(),
+ highlightColor: mysqlEnum('highlightColor', [
+ 'BLUE',
+ 'BLUE_GREY',
+ 'GREEN',
+ 'GREY',
+ 'ORANGE',
+ 'PEACH',
+ 'PURPLE',
+ 'RED',
+ 'TURQUOISE',
+ 'YELLOW',
+ ])
+ .default('GREY')
+ .notNull(),
+ lastSpeedTest: varchar('lastSpeedTest', { length: 191 })
+ .default(' ')
+ .notNull(),
+ lastFourByOne: varchar('lastFourByOne', { length: 191 })
+ .default(' ')
+ .notNull(),
+ lastOneByTwo: varchar('lastOneByTwo', { length: 191 })
+ .default(' ')
+ .notNull(),
+ lastTwoByTwo: varchar('lastTwoByTwo', { length: 191 })
+ .default(' ')
+ .notNull(),
+ lastOneByOne: varchar('lastOneByOne', { length: 191 })
+ .default(' ')
+ .notNull(),
+ lastTwoByOne: varchar('lastTwoByOne', { length: 191 })
+ .default(' ')
+ .notNull(),
+ lastEvenNumbers: varchar('lastEvenNumbers', { length: 191 })
+ .default(' ')
+ .notNull(),
+ lastCubeByTwo: varchar('lastCubeByTwo', { length: 191 })
+ .default(' ')
+ .notNull(),
+ lastCubeByThree: varchar('lastCubeByThree', { length: 191 })
+ .default(' ')
+ .notNull(),
+ font: mysqlEnum('font', [
+ 'sans',
+ 'serif',
+ 'mono',
+ 'robotoMono',
+ 'rem',
+ 'kanit',
+ 'preahvihear',
+ 'bebasNeue',
+ 'chakraPetch',
+ 'ibmPlexMono',
+ ])
+ .default('sans')
+ .notNull(),
+ isAdmin: tinyint('isAdmin').default(0).notNull(),
+ language: mysqlEnum('language', ['english', 'spanish', 'italian', 'german'])
+ .default('english')
+ .notNull(),
+ tested: tinyint('tested').default(0).notNull(),
+ lastNumberGuesser: varchar('lastNumberGuesser', { length: 191 })
+ .default(' ')
+ .notNull(),
+ numberGuesserFigures: int('numberGuesserFigures').default(4).notNull(),
+ testSpeed: smallint('testSpeed').default(230).notNull(),
+ isStudySubject: tinyint('isStudySubject').default(0).notNull(),
+ lastLetterMatcher: varchar('lastLetterMatcher', { length: 191 })
+ .default(' ')
+ .notNull(),
+ isUsingChecklist: tinyint('isUsingChecklist').default(1).notNull(),
+ lastGreenDot: varchar('lastGreenDot', { length: 191 })
+ .default(' ')
+ .notNull(),
+ schulteLevel: mysqlEnum('schulteLevel', ['three', 'five', 'seven'])
+ .default('three')
+ .notNull(),
+ schulteAdvanceCount: int('schulteAdvanceCount').default(0).notNull(),
+ lastSchulte: varchar('lastSchulte', { length: 191 }).default(' ').notNull(),
+ lastWordPairs: varchar('lastWordPairs', { length: 191 })
+ .default(' ')
+ .notNull(),
+ },
+ table => {
+ return {
+ idIdx: index('User_id_idx').on(table.id),
+ userId: primaryKey({ columns: [table.id], name: 'User_id' }),
+ userIdKey: unique('User_id_key').on(table.id),
+ }
+ },
+)
+
+export const wordFlasherSession = mysqlTable(
+ 'WordFlasherSession',
+ {
+ id: varchar('id', { length: 191 }).notNull(),
+ userId: varchar('userId', { length: 191 }).notNull(),
+ speed: smallint('speed').notNull(),
+ date: datetime('date', { mode: 'string' }).notNull(),
+ type: varchar('type', { length: 255 }).notNull(),
+ },
+ table => {
+ return {
+ idIdx: index('WordFlasherSession_id_idx').on(table.id),
+ wordFlasherSessionIdKey: unique('WordFlasherSession_id_key').on(table.id),
+ }
+ },
+)
+
+export const wordPair = mysqlTable(
+ 'WordPair',
+ {
+ primaryWord: varchar('primaryWord', { length: 191 }).notNull(),
+ secondaryWord: varchar('secondaryWord', { length: 191 }).notNull(),
+ language: mysqlEnum('language', ['english', 'spanish', 'italian', 'german'])
+ .default('english')
+ .notNull(),
+ },
+ table => {
+ return {
+ primaryWordIdx: index('WordPair_primaryWord_idx').on(table.primaryWord),
+ wordPairPrimaryWord: primaryKey({
+ columns: [table.primaryWord],
+ name: 'WordPair_primaryWord',
+ }),
+ wordPairPrimaryWordKey: unique('WordPair_primaryWord_key').on(
+ table.primaryWord,
+ ),
+ }
+ },
+)
diff --git a/packages/db/index.ts b/packages/db/index.ts
new file mode 100644
index 0000000..4cec78e
--- /dev/null
+++ b/packages/db/index.ts
@@ -0,0 +1,22 @@
+import { PrismaClient } from '@prisma/client'
+
+declare global {
+ // allow global `var` declarations
+ // eslint-disable-next-line no-var
+ var prisma: PrismaClient | undefined
+}
+
+export const prisma =
+ global.prisma ||
+ new PrismaClient({
+ log:
+ process.env.NODE_ENV === 'development'
+ ? ['query', 'error', 'warn']
+ : ['error'],
+ })
+
+export * from '@prisma/client'
+
+if (process.env.NODE_ENV !== 'production') {
+ global.prisma = prisma
+}
diff --git a/packages/db/package-lock.json b/packages/db/package-lock.json
new file mode 100644
index 0000000..58d9f7c
--- /dev/null
+++ b/packages/db/package-lock.json
@@ -0,0 +1,280 @@
+{
+ "name": "@acme/db",
+ "version": "0.1.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "@acme/db",
+ "version": "0.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "@acme/helpers": "*",
+ "@acme/types": "*",
+ "@prisma/client": "^4.7.1"
+ },
+ "devDependencies": {
+ "dotenv-cli": "^6.0.0",
+ "prisma": "^4.6.1",
+ "typescript": "^4.9.3"
+ }
+ },
+ "../helpers": {
+ "name": "@acme/helpers",
+ "version": "0.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "@acme/types": "*",
+ "@acme/validators": "*",
+ "@trpc/client": "^10.1.0",
+ "@trpc/server": "^10.1.0",
+ "superjson": "^1.9.1",
+ "zod": "^3.18.0"
+ },
+ "devDependencies": {
+ "eslint": "^8.28.0",
+ "typescript": "^4.9.3"
+ }
+ },
+ "../helpers/node_modules/@acme/types": {
+ "resolved": "../types",
+ "link": true
+ },
+ "../helpers/node_modules/@acme/validators": {
+ "resolved": "../validators",
+ "link": true
+ },
+ "../types": {
+ "name": "@acme/types",
+ "version": "0.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "@acme/validators": "*",
+ "@trpc/client": "^10.1.0",
+ "@trpc/server": "^10.1.0",
+ "superjson": "^1.9.1",
+ "zod": "^3.18.0"
+ },
+ "devDependencies": {
+ "eslint": "^8.28.0",
+ "typescript": "^4.9.3"
+ }
+ },
+ "../types/node_modules/@acme/validators": {
+ "resolved": "../validators",
+ "link": true
+ },
+ "../validators": {
+ "name": "@acme/validators",
+ "version": "0.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "@prisma/client": "^4.6.1"
+ },
+ "devDependencies": {
+ "dotenv-cli": "^6.0.0",
+ "prisma": "^4.6.1",
+ "typescript": "^4.9.3"
+ }
+ },
+ "../validators/node_modules/@prisma/client": {
+ "version": "4.7.1",
+ "hasInstallScript": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@prisma/engines-version": "4.7.1-1.272861e07ab64f234d3ffc4094e32bd61775599c"
+ },
+ "engines": {
+ "node": ">=14.17"
+ },
+ "peerDependencies": {
+ "prisma": "*"
+ },
+ "peerDependenciesMeta": {
+ "prisma": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@acme/helpers": {
+ "resolved": "../helpers",
+ "link": true
+ },
+ "node_modules/@acme/types": {
+ "resolved": "../types",
+ "link": true
+ },
+ "node_modules/@prisma/client": {
+ "version": "4.7.1",
+ "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.7.1.tgz",
+ "integrity": "sha512-/GbnOwIPtjiveZNUzGXOdp7RxTEkHL4DZP3vBaFNadfr6Sf0RshU5EULFzVaSi9i9PIK9PYd+1Rn7z2B2npb9w==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@prisma/engines-version": "4.7.1-1.272861e07ab64f234d3ffc4094e32bd61775599c"
+ },
+ "engines": {
+ "node": ">=14.17"
+ },
+ "peerDependencies": {
+ "prisma": "*"
+ },
+ "peerDependenciesMeta": {
+ "prisma": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@prisma/engines": {
+ "version": "4.16.2",
+ "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.16.2.tgz",
+ "integrity": "sha512-vx1nxVvN4QeT/cepQce68deh/Turxy5Mr+4L4zClFuK1GlxN3+ivxfuv+ej/gvidWn1cE1uAhW7ALLNlYbRUAw==",
+ "devOptional": true,
+ "hasInstallScript": true
+ },
+ "node_modules/@prisma/engines-version": {
+ "version": "4.7.1-1.272861e07ab64f234d3ffc4094e32bd61775599c",
+ "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.7.1-1.272861e07ab64f234d3ffc4094e32bd61775599c.tgz",
+ "integrity": "sha512-Bd4LZ+WAnUHOq31e9X/ihi5zPlr4SzTRwUZZYxvWOxlerIZ7HJlVa9zXpuKTKLpI9O1l8Ec4OYCKsivWCs5a3Q=="
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/dotenv": {
+ "version": "16.3.2",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.2.tgz",
+ "integrity": "sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/motdotla/dotenv?sponsor=1"
+ }
+ },
+ "node_modules/dotenv-cli": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/dotenv-cli/-/dotenv-cli-6.0.0.tgz",
+ "integrity": "sha512-qXlCOi3UMDhCWFKe0yq5sg3X+pJAz+RQDiFN38AMSbUrnY3uZshSfDJUAge951OS7J9gwLZGfsBlWRSOYz/TRg==",
+ "dev": true,
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "dotenv": "^16.0.0",
+ "dotenv-expand": "^8.0.1",
+ "minimist": "^1.2.5"
+ },
+ "bin": {
+ "dotenv": "cli.js"
+ }
+ },
+ "node_modules/dotenv-expand": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-8.0.3.tgz",
+ "integrity": "sha512-SErOMvge0ZUyWd5B0NXMQlDkN+8r+HhVUsxgOO7IoPDOdDRD2JjExpN6y3KnFR66jsJMwSn1pqIivhU5rcJiNg==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "node_modules/minimist": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/prisma": {
+ "version": "4.16.2",
+ "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.16.2.tgz",
+ "integrity": "sha512-SYCsBvDf0/7XSJyf2cHTLjLeTLVXYfqp7pG5eEVafFLeT0u/hLFz/9W196nDRGUOo1JfPatAEb+uEnTQImQC1g==",
+ "devOptional": true,
+ "hasInstallScript": true,
+ "dependencies": {
+ "@prisma/engines": "4.16.2"
+ },
+ "bin": {
+ "prisma": "build/index.js",
+ "prisma2": "build/index.js"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "4.9.5",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
+ "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
+ "dev": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=4.2.0"
+ }
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ }
+ }
+}
diff --git a/packages/db/package.json b/packages/db/package.json
new file mode 100644
index 0000000..23130e1
--- /dev/null
+++ b/packages/db/package.json
@@ -0,0 +1,24 @@
+{
+ "name": "@acme/db",
+ "version": "0.1.0",
+ "main": "./index.ts",
+ "types": "./index.ts",
+ "license": "MIT",
+ "scripts": {
+ "clean": "rm -rf .turbo node_modules",
+ "with-env": "dotenv -e ../../.env --",
+ "db-push": "pnpm with-env prisma db push",
+ "studio": "pnpm with-env prisma studio",
+ "db-generate": "pnpm with-env prisma generate"
+ },
+ "dependencies": {
+ "@acme/helpers": "*",
+ "@acme/types": "*",
+ "@prisma/client": "^4.7.1"
+ },
+ "devDependencies": {
+ "dotenv-cli": "^6.0.0",
+ "prisma": "^4.6.1",
+ "typescript": "^4.9.3"
+ }
+}
diff --git a/prisma/schema.prisma b/packages/db/prisma/schema.prisma
similarity index 74%
rename from prisma/schema.prisma
rename to packages/db/prisma/schema.prisma
index b15642e..340aae8 100644
--- a/prisma/schema.prisma
+++ b/packages/db/prisma/schema.prisma
@@ -1,3 +1,6 @@
+// This is your Prisma schema file,
+// learn more about it in the docs: https://pris.ly/d/prisma-schema
+
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
@@ -64,7 +67,7 @@ model User {
id String @id @unique
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
- firstName String @default("Defaul") @db.VarChar(255)
+ firstName String @default("Default") @db.VarChar(255)
lastName String @default("User") @db.VarChar(255)
maxWpm Int @default(250) @db.SmallInt
testSpeed Int @default(230) @db.SmallInt
@@ -79,6 +82,7 @@ model User {
NumberGuesserSession NumberGuesserSession[]
BoxFlasherSession BoxFlasherSession[]
PairsSession PairsSession[]
+ SpeedTestSessions SpeedTestSession[]
highlightColor Overlay @default(GREY)
lastSchulte String @default(" ")
lastSpeedTest String @default(" ")
@@ -98,7 +102,7 @@ model User {
font Font @default(sans)
isUsingChecklist Boolean @default(true)
isAdmin Boolean @default(false)
- isStudySubject Boolean @default(false)
+ isStudySubject Boolean @default(true)
schulteLevel SchulteType @default(three)
schulteAdvanceCount Int @default(0)
language Language @default(english)
@@ -112,7 +116,7 @@ model TimeTest {
userId String
user User @relation(fields: [userId], references: [id])
sessionId String @id @default(cuid())
- CreatedAt DateTime @default(now())
+ CreatedAt DateTime
highScore Int @db.SmallInt
lowScore Int @db.SmallInt
accuracy Int @db.SmallInt
@@ -127,6 +131,8 @@ model SchulteSession {
time Int
errorCount Int @db.SmallInt
userId String @db.VarChar(255)
+ date DateTime
+ platform String @default("web")
@@index([id])
}
@@ -138,17 +144,19 @@ model EvenNumberSession {
errorCount Int @db.SmallInt
time Int
date DateTime @db.DateTime
+ platform String @default("web")
@@index([id])
}
model HighlightSession {
- id String @unique
- userId String
- user User @relation(fields: [userId], references: [id])
- speed Int @db.SmallInt
- date DateTime @db.DateTime
- type HighlightType
+ id String @unique
+ userId String
+ user User @relation(fields: [userId], references: [id])
+ speed Int @db.SmallInt
+ date DateTime @db.DateTime
+ type HighlightType
+ platform String @default("web")
@@index([id])
}
@@ -162,7 +170,8 @@ model NumberGuesserSession {
longestStreak Int
figuresAtStart Int
figuresAtEnd Int
- date DateTime @db.DateTime
+ date DateTime
+ platform String @default("web")
@@index([id])
}
@@ -173,38 +182,42 @@ model LetterMatcherSession {
user User @relation(fields: [userId], references: [id])
numberCorrect Int
numberWrong Int
- date DateTime @db.DateTime
+ date DateTime
+ platform String @default("web")
@@index([id])
}
model WordFlasherSession {
- id String @unique
- userId String
- user User @relation(fields: [userId], references: [id])
- speed Int @db.SmallInt
- date DateTime @db.DateTime
- type String @db.VarChar(255)
+ id String @unique
+ userId String
+ user User @relation(fields: [userId], references: [id])
+ speed Int @db.SmallInt
+ date DateTime
+ type String @db.VarChar(255)
+ platform String @default("web")
@@index([id])
}
model BoxFlasherSession {
- id String @unique
- userId String
- user User @relation(fields: [userId], references: [id])
- speed Int
- date DateTime @db.DateTime
- type BoxType
+ id String @unique
+ userId String
+ user User @relation(fields: [userId], references: [id])
+ speed Int
+ date DateTime
+ type BoxType
+ platform String @default("web")
@@index([id])
}
model GreenDotSession {
- id String @unique
- userId String
- user User @relation(fields: [userId], references: [id])
- date DateTime @db.DateTime
+ id String @unique
+ userId String
+ user User @relation(fields: [userId], references: [id])
+ date DateTime
+ platform String @default("web")
@@index([id])
}
@@ -213,31 +226,23 @@ model PairsSession {
id String @unique
userId String
user User @relation(fields: [userId], references: [id])
- date DateTime @db.DateTime
+ date DateTime
time Int
errorCount Int
+ platform String @default("web")
@@index([id])
}
-model SatPassage {
- id String @unique
- passageText String
- questions SatQuestion[]
-
- @@index([id])
-}
-
-model SatQuestion {
- id String @unique
- passageId String
- passage SatPassage @relation(fields: [passageId], references: [id])
- question String
- answerA String @db.VarChar(255)
- answerB String @db.VarChar(255)
- answerC String @db.VarChar(255)
- answerD String @db.VarChar(255)
- correctAnswer String @db.Char(1)
+model SpeedTestSession {
+ id String @unique
+ userId String
+ user User @relation(fields: [userId], references: [id])
+ startSpeed Int @db.SmallInt
+ endSpeed Int @db.SmallInt
+ date DateTime
+ errorCount Int @db.SmallInt
+ platform String @default("web")
@@index([id])
}
@@ -257,9 +262,10 @@ model SpeedQuestion {
}
model WordPair {
- primaryWord String @id @unique
+ id Int @id @unique @default(autoincrement())
+ primaryWord String
secondaryWord String
language Language @default(english)
- @@index([primaryWord])
+ @@index([id])
}
diff --git a/packages/db/tsconfig.json b/packages/db/tsconfig.json
new file mode 100644
index 0000000..4fe4905
--- /dev/null
+++ b/packages/db/tsconfig.json
@@ -0,0 +1,4 @@
+{
+ "extends": "../../tsconfig.json",
+ "include": ["index.ts"]
+}
diff --git a/src/utils/helpers.ts b/packages/helpers/index.ts
similarity index 60%
rename from src/utils/helpers.ts
rename to packages/helpers/index.ts
index ab920cb..aa9d052 100644
--- a/src/utils/helpers.ts
+++ b/packages/helpers/index.ts
@@ -1,5 +1,9 @@
import type { SingletonRouter } from 'next/router'
-import { type User, Exercise } from './types'
+import {
+ type User,
+ type Exercise,
+ ExerciseList
+} from '@acme/types'
import type NextRouter from 'next/router'
export function checkName(name: string | undefined | null) {
@@ -8,23 +12,30 @@ export function checkName(name: string | undefined | null) {
return regex.test(name)
}
-export function navigate(router: typeof NextRouter | SingletonRouter, url: string) {
- router.replace(url, undefined, { shallow: false })
- .catch(() => {
- router.push(url).catch(() => {
- setTimeout(() => {
- router.push(url).catch(() => {
- router.push('/nav').catch((err) => {
- console.log('error navigating: ', err)
- alert('There was an error navigating to the next exercise. Please try again.')
- })
+export function navigate(
+ router: typeof NextRouter | SingletonRouter,
+ url: string,
+) {
+ router.replace(url, undefined, { shallow: false }).catch(() => {
+ router.push(url).catch(() => {
+ setTimeout(() => {
+ router.push(url).catch(() => {
+ router.push('/nav').catch(err => {
+ console.log('error navigating: ', err)
+ alert(
+ 'There was an error navigating to the next exercise. Please try again.',
+ )
})
- }, 3_000)
- })
+ })
+ }, 3_000)
})
+ })
}
-export function navigateToNextExercise(router: typeof NextRouter | SingletonRouter, user: User) {
+export function navigateToNextExercise(
+ router: typeof NextRouter | SingletonRouter,
+ user: User,
+) {
navigate(router, getNextURL(getNextExercise(user)))
}
@@ -56,18 +67,18 @@ export function userHilightToHex(user: User): string {
}
/**
- * isToday takes a string that is the result of calling
- * the formatDate function on a date object
+ * isToday takes a string that is the result of calling
+ * the formatDate function on a date object
* and returns true if the date is today.
*
- * @param date2 - a string that is the result of calling
+ * @param date - a string that is the result of calling
* the formatDate function on a date object.
-**/
-function isToday(date2: string | undefined) {
- if (!date2) return false
+ **/
+function isToday(date: string | undefined) {
+ if (!date) return false
const today = formatDate()
- const date2Formatted = date2
- return today === date2Formatted
+ const dateFormatted = date
+ return today === dateFormatted
}
export function getAvailableExercises(user: User) {
@@ -75,8 +86,7 @@ export function getAvailableExercises(user: User) {
const available: Exercise[] = []
-
- Exercise.forEach((exercise) => {
+ ExerciseList.forEach(exercise => {
if (!isAlreadyDone(user, exercise)) {
available.push(exercise)
}
@@ -87,21 +97,36 @@ export function getAvailableExercises(user: User) {
export function isAlreadyDone(user: User, exercise: Exercise) {
switch (exercise) {
- case 'speedTest': return user.tested
- case 'fourByOne': return isToday(user.lastFourByOne)
- case 'numberGuesser': return isToday(user.lastNumberGuesser)
- case 'oneByTwo': return isToday(user.lastOneByTwo)
- case 'twoByTwo': return isToday(user.lastTwoByTwo)
- case 'oneByOne': return isToday(user.lastOneByOne)
- case 'schulteTable': return isToday(user.lastSchulte)
- case 'twoByOne': return isToday(user.lastTwoByOne)
- case 'evenNumbers': return isToday(user.lastEvenNumbers)
- case 'cubeByTwo': return isToday(user.lastCubeByTwo)
- case 'cubeByThree': return isToday(user.lastCubeByThree)
- case 'letterMatcher': return isToday(user.lastLetterMatcher)
- case 'wordPairs': return isToday(user.lastWordPairs)
- case 'greenDot': return isToday(user.lastGreenDot)
- default: return null
+ case 'speedTest':
+ return user.tested
+ case 'fourByOne':
+ return isToday(user.lastFourByOne)
+ case 'numberGuesser':
+ return isToday(user.lastNumberGuesser)
+ case 'oneByTwo':
+ return isToday(user.lastOneByTwo)
+ case 'twoByTwo':
+ return isToday(user.lastTwoByTwo)
+ case 'oneByOne':
+ return isToday(user.lastOneByOne)
+ case 'schulteTable':
+ return isToday(user.lastSchulte)
+ case 'twoByOne':
+ return isToday(user.lastTwoByOne)
+ case 'evenNumbers':
+ return isToday(user.lastEvenNumbers)
+ case 'cubeByTwo':
+ return isToday(user.lastCubeByTwo)
+ case 'cubeByThree':
+ return isToday(user.lastCubeByThree)
+ case 'letterMatcher':
+ return isToday(user.lastLetterMatcher)
+ case 'wordPairs':
+ return isToday(user.lastWordPairs)
+ case 'greenDot':
+ return isToday(user.lastGreenDot)
+ default:
+ return null
}
}
@@ -115,16 +140,21 @@ export function isAlreadyDone(user: User, exercise: Exercise) {
**/
export function getNextExercise(user: User | undefined | null) {
if (!user) return null
-
+ if (!user.tested) return 'speedTest'
const available = getAvailableExercises(user)
- if (!available) return null
+ if (!available) return 'done'
if (available.length === 0 || available === undefined) {
- return null
+ return 'done'
}
- console.log('available: ', available)
- const choice = available[Math.floor(Math.random() * available.length)]
+ const choiceNumber = (() => {
+ if (available.length === 1) return 0
+ return Math.floor(Math.random() * available.length)
+ })()
+ const choice = available[choiceNumber]
+ console.log(available)
+ console.log(choiceNumber)
return choice
}
diff --git a/packages/helpers/package.json b/packages/helpers/package.json
new file mode 100644
index 0000000..3afd11b
--- /dev/null
+++ b/packages/helpers/package.json
@@ -0,0 +1,24 @@
+{
+ "name": "@acme/helpers",
+ "version": "0.1.0",
+ "license": "MIT",
+ "main": "./index.ts",
+ "types": "./index.ts",
+ "scripts": {
+ "clean": "rm -rf .turbo node_modules",
+ "lint": "eslint . --ext .ts,.tsx",
+ "type-check": "tsc --noEmit"
+ },
+ "dependencies": {
+ "@acme/validators": "*",
+ "@acme/types": "*",
+ "@trpc/client": "^10.1.0",
+ "@trpc/server": "^10.1.0",
+ "superjson": "^1.9.1",
+ "zod": "^3.18.0"
+ },
+ "devDependencies": {
+ "eslint": "^8.28.0",
+ "typescript": "^4.9.3"
+ }
+}
diff --git a/packages/helpers/tsconfig.json b/packages/helpers/tsconfig.json
new file mode 100644
index 0000000..4fe4905
--- /dev/null
+++ b/packages/helpers/tsconfig.json
@@ -0,0 +1,4 @@
+{
+ "extends": "../../tsconfig.json",
+ "include": ["index.ts"]
+}
diff --git a/src/components/differentletters.tsx b/packages/stores/index.ts
similarity index 100%
rename from src/components/differentletters.tsx
rename to packages/stores/index.ts
diff --git a/packages/stores/user.ts b/packages/stores/user.ts
new file mode 100644
index 0000000..e69de29
diff --git a/src/utils/types.ts b/packages/types/index.ts
similarity index 60%
rename from src/utils/types.ts
rename to packages/types/index.ts
index 78707e1..b5a05fd 100644
--- a/src/utils/types.ts
+++ b/packages/types/index.ts
@@ -1,36 +1,37 @@
import type { z } from 'zod'
-import type { language, userSchema, wordPairData } from '~/utils/validators'
-import type { speedTestSchema } from '~/utils/validators'
-
-export const Overlay = [
- 'BLUE',
- 'BLUE_GREY',
- 'GREEN',
- 'GREY',
- 'ORANGE',
- 'PEACH',
- 'PURPLE',
- 'RED',
- 'TURQUOISE',
- 'YELLOW',
-] as const
+import {
+ exercise,
+ type language,
+ type userSchema,
+ type wordPairData,
+ highlightColor,
+ type FlasherType,
+} from '@acme/validators'
+import type { speedTestSchema } from '@acme/validators'
/**
* Overlay is a type that represents the different overlay colors available for the flasher exercises.
**/
-export type Overlay = (typeof Overlay)[number]
+export type Overlay = z.infer
-/**
- * The User type maps to the Prisma User type,
+export const colorList = highlightColor.options.map(option => option.value)
+
+
+/*
+ * The User type is infered from the userSchema defined in the validators package.
* but it is defined here to make it easier for
* TypeScript to infer the type of user objects.
- **/
+ */
export type User = z.infer
+export type Color = z.infer
+
export type WordPair = z.infer
export type SpeedTest = z.infer
+export type FlasherType = z.infer
+
const Highlight = [
'fourByOne',
'oneByTwo',
@@ -45,32 +46,17 @@ const Answer = ['A', 'B', 'C', 'D'] as const
export type Answer = (typeof Answer)[number]
-
export type Language = z.infer
-export const Exercise = [
- 'fourByOne',
- 'oneByTwo',
- 'twoByTwo',
- 'oneByOne',
- 'twoByOne',
- 'schulteTable',
- 'speedTest',
- 'evenNumbers',
- 'cubeByTwo',
- 'cubeByThree',
- 'numberGuesser',
- 'letterMatcher',
- 'wordPairs',
- 'greenDot',
-] as const
-
/**
* Exercise contains the different types of speed reading exercises.
* The types are used to determine which exercise to render and
* which ones have been performed in the past day.
**/
-export type Exercise = (typeof Exercise)[number]
+export type Exercise = z.infer
+const listableExercises = exercise.options.filter(option => option.value !== 'done')
+export const ExerciseList = listableExercises.map(option => option.value)
+
const Font = [
'sans',
diff --git a/packages/types/package.json b/packages/types/package.json
new file mode 100644
index 0000000..910ddd2
--- /dev/null
+++ b/packages/types/package.json
@@ -0,0 +1,23 @@
+{
+ "name": "@acme/types",
+ "version": "0.1.0",
+ "license": "MIT",
+ "main": "./index.ts",
+ "types": "./index.ts",
+ "scripts": {
+ "clean": "rm -rf .turbo node_modules",
+ "lint": "eslint . --ext .ts,.tsx",
+ "type-check": "tsc --noEmit"
+ },
+ "dependencies": {
+ "@acme/validators": "*",
+ "@trpc/client": "^10.1.0",
+ "@trpc/server": "^10.1.0",
+ "superjson": "^1.9.1",
+ "zod": "^3.18.0"
+ },
+ "devDependencies": {
+ "eslint": "^8.28.0",
+ "typescript": "^4.9.3"
+ }
+}
diff --git a/packages/types/tsconfig.json b/packages/types/tsconfig.json
new file mode 100644
index 0000000..4fe4905
--- /dev/null
+++ b/packages/types/tsconfig.json
@@ -0,0 +1,4 @@
+{
+ "extends": "../../tsconfig.json",
+ "include": ["index.ts"]
+}
diff --git a/src/utils/validators.ts b/packages/validators/index.ts
similarity index 60%
rename from src/utils/validators.ts
rename to packages/validators/index.ts
index a569547..23affa1 100644
--- a/src/utils/validators.ts
+++ b/packages/validators/index.ts
@@ -9,6 +9,33 @@ export const language = z.union([
z.literal('italian'),
])
+export const font = z.union([
+ z.literal('sans'),
+ z.literal('serif'),
+ z.literal('mono'),
+ z.literal('robotoMono'),
+ z.literal('rem'),
+ z.literal('kanit'),
+ z.literal('preahvihear'),
+ z.literal('bebasNeue'),
+ z.literal('chakraPetch'),
+ z.literal('ibmPlexMono'),
+])
+
+
+export const highlightColor = z.union([
+ z.literal('BLUE'),
+ z.literal('BLUE_GREY'),
+ z.literal('GREEN'),
+ z.literal('GREY'),
+ z.literal('ORANGE'),
+ z.literal('PEACH'),
+ z.literal('PURPLE'),
+ z.literal('RED'),
+ z.literal('TURQUOISE'),
+ z.literal('YELLOW'),
+])
+
export const userSchema = z.object({
id: z.string(),
firstName: z.string(),
@@ -18,33 +45,8 @@ export const userSchema = z.object({
testSpeed: z.number().default(230),
createdAt: z.date(),
updatedAt: z.date(),
- highlightColor: z
- .union([
- z.literal('BLUE'),
- z.literal('BLUE_GREY'),
- z.literal('GREEN'),
- z.literal('GREY'),
- z.literal('ORANGE'),
- z.literal('PEACH'),
- z.literal('PURPLE'),
- z.literal('RED'),
- z.literal('TURQUOISE'),
- z.literal('YELLOW'),
- ])
- .optional(),
- font: z.union([
- z.literal('sans'),
- z.literal('serif'),
- z.literal('mono'),
- z.literal('robotoMono'),
- z.literal('rem'),
- z.literal('kanit'),
- z.literal('preahvihear'),
- z.literal('bebasNeue'),
- z.literal('chakraPetch'),
- z.literal('ibmPlexMono'),
- ])
- .default('sans'),
+ highlightColor: highlightColor.optional(),
+ font: font.default('sans'),
language: language.default('english'),
lastSchulte: z.string().default(' '),
lastSpeedTest: z.string().default(' '),
@@ -81,52 +83,60 @@ export const speedTestSchema = z.object({
answerB: z.string(),
answerC: z.string(),
answerD: z.string(),
- correctAnswer: z.string(),
+ correctAnswer: z.union([
+ z.literal('A'),
+ z.literal('B'),
+ z.literal('C'),
+ z.literal('D'),
+ ]).or(z.string()),
})
const randomWordInputs = z.object({
number: z.number(),
max: z.number(),
- language: language,
+ language: language,
})
-const exercise = z.union([
+export const exercise = z.union([
z.literal('fourByOne'),
z.literal('oneByTwo'),
z.literal('twoByTwo'),
z.literal('oneByOne'),
z.literal('twoByOne'),
- z.literal('schulteByThree'),
- z.literal('schulteByFive'),
- z.literal('schulteBySeven'),
+ z.literal('schulteTable'),
z.literal('speedTest'),
z.literal('evenNumbers'),
z.literal('cubeByTwo'),
z.literal('cubeByThree'),
z.literal('numberGuesser'),
+ z.literal('letterMatcher'),
+ z.literal('wordPairs'),
+ z.literal('greenDot'),
+ z.literal('done'),
])
+export const FlasherType = z.union([
+ z.literal('fourByOne'),
+ z.literal('oneByTwo'),
+ z.literal('twoByTwo'),
+ z.literal('oneByOne'),
+ z.literal('twoByOne'),
+])
export const highlightData = z.object({
- type: z.union([
- z.literal('fourByOne'),
- z.literal('oneByTwo'),
- z.literal('twoByTwo'),
- z.literal('oneByOne'),
- z.literal('twoByOne'),
- ]),
+ type: FlasherType,
userId: z.string(),
speed: z.number(),
+ platform: z.union([z.literal('mobile'), z.literal('web')])
+ .default('web'),
})
export const schulteData = z.object({
userId: z.string(),
- type: z.union([
- z.literal('three'),
- z.literal('five'),
- z.literal('seven'),
- ]),
+ type: z.union([z.literal('three'), z.literal('five'), z.literal('seven')]),
time: z.number(),
errorCount: z.number(),
+ platform: z.union([z.literal('mobile'), z.literal('web')])
+ .default('web'),
})
export const numberGuesserData = z.object({
@@ -136,39 +146,58 @@ export const numberGuesserData = z.object({
longestStreak: z.number(),
figuresAtStart: z.number(),
figuresAtEnd: z.number(),
+ platform: z.union([z.literal('mobile'), z.literal('web')])
+ .default('web'),
})
export const letterMatcherData = z.object({
userId: z.string(),
numberCorrect: z.number(),
numberWrong: z.number(),
+ platform: z.union([z.literal('mobile'), z.literal('web')])
+ .default('web'),
})
export const evenNumbersData = z.object({
userId: z.string(),
time: z.number(),
errorCount: z.number(),
+ platform: z.union([z.literal('mobile'), z.literal('web')])
+ .default('web'),
})
export const boxFlasherData = z.object({
userId: z.string(),
- type: z.union([
- z.literal('two'),
- z.literal('three'),
- ]),
+ type: z.union([z.literal('two'), z.literal('three')]),
speed: z.number(),
+ platform: z.union([z.literal('mobile'), z.literal('web')])
+ .default('web'),
})
export const wordPairData = z.object({
primaryWord: z.string(),
secondaryWord: z.string(),
language: language,
+ platform: z.union([z.literal('mobile'), z.literal('web')])
+ .default('web'),
})
export const wordPairSessionData = z.object({
userId: z.string(),
errorCount: z.number(),
time: z.number(),
+ platform: z.union([z.literal('mobile'), z.literal('web')])
+ .default('web'),
+})
+
+export const speedTestData = z.object({
+ numberWrong: z.number(),
+ startSpeed: z.number(),
+ endSpeed: z.number(),
+ platform: z.union([
+ z.literal('mobile'),
+ z.literal('web')
+ ]).default('web'),
})
export const wordPairProps = z.object({
@@ -179,7 +208,7 @@ export const wordPairProps = z.object({
export const schemas = {
user: userSchema,
speedTest: speedTestSchema,
- exercise: exercise
+ exercise: exercise,
}
export const inputs = {
diff --git a/packages/validators/package.json b/packages/validators/package.json
new file mode 100644
index 0000000..f1ddb52
--- /dev/null
+++ b/packages/validators/package.json
@@ -0,0 +1,20 @@
+{
+ "name": "@acme/validators",
+ "private": false,
+ "version": "0.1.0",
+ "license": "MIT",
+ "main": "./index.ts",
+ "types": "./index.ts",
+ "scripts": {
+ "clean": "rm -rf .turbo node_modules",
+ "with-env": "dotenv -e ../../.env --"
+ },
+ "dependencies": {
+ "@prisma/client": "^4.6.1"
+ },
+ "devDependencies": {
+ "dotenv-cli": "^6.0.0",
+ "prisma": "^4.6.1",
+ "typescript": "^4.9.3"
+ }
+}
diff --git a/packages/validators/tsconfig.json b/packages/validators/tsconfig.json
new file mode 100644
index 0000000..4fe4905
--- /dev/null
+++ b/packages/validators/tsconfig.json
@@ -0,0 +1,4 @@
+{
+ "extends": "../../tsconfig.json",
+ "include": ["index.ts"]
+}
diff --git a/patches/react-native@0.70.5.patch b/patches/react-native@0.70.5.patch
new file mode 100644
index 0000000..8328423
--- /dev/null
+++ b/patches/react-native@0.70.5.patch
@@ -0,0 +1,50 @@
+diff --git a/scripts/react_native_pods_utils/script_phases.sh b/scripts/react_native_pods_utils/script_phases.sh
+index 6c41ce1cbaa2b09d7b59b191b1edfb0c3fb41ea7..25bfcd11d6b88525d589c80ee08c9a8c8ba66d16 100755
+--- a/scripts/react_native_pods_utils/script_phases.sh
++++ b/scripts/react_native_pods_utils/script_phases.sh
+@@ -13,8 +13,6 @@ GENERATED_SCHEMA_FILE="$GENERATED_SRCS_DIR/schema.json"
+
+ cd "$RCT_SCRIPT_RN_DIR"
+
+-CODEGEN_REPO_PATH="$RCT_SCRIPT_RN_DIR/packages/react-native-codegen"
+-CODEGEN_NPM_PATH="$RCT_SCRIPT_RN_DIR/../react-native-codegen"
+ CODEGEN_CLI_PATH=""
+
+ error () {
+@@ -23,14 +21,12 @@ error () {
+ exit 1
+ }
+
+-# Determine path to react-native-codegen
+-if [ -d "$CODEGEN_REPO_PATH" ]; then
+- CODEGEN_CLI_PATH=$(cd "$CODEGEN_REPO_PATH" && pwd)
+-elif [ -d "$CODEGEN_NPM_PATH" ]; then
+- CODEGEN_CLI_PATH=$(cd "$CODEGEN_NPM_PATH" && pwd)
+-else
+- error "error: Could not determine react-native-codegen location in $CODEGEN_REPO_PATH or $CODEGEN_NPM_PATH. Try running 'yarn install' or 'npm install' in your project root."
+-fi
++find_codegen () {
++ CODEGEN_CLI_PATH=$("$NODE_BINARY" --print "require('path').dirname(require.resolve('react-native-codegen/package.json'))")
++ if ! [ -d "$CODEGEN_CLI_PATH" ]; then
++ error "error: Could not determine react-native-codegen location, using node module resolution. Try running 'yarn install' or 'npm install' in your project root."
++ fi
++}
+
+ find_node () {
+ NODE_BINARY="${NODE_BINARY:-$(command -v node || true)}"
+@@ -116,6 +112,7 @@ moveOutputs () {
+ withCodgenDiscovery () {
+ setup_dirs
+ find_node
++ find_codegen
+ generateArtifacts
+ moveOutputs
+ }
+@@ -123,6 +120,7 @@ withCodgenDiscovery () {
+ noCodegenDiscovery () {
+ setup_dirs
+ find_node
++ find_codegen
+ generateCodegenSchemaFromJavaScript
+ generateCodegenArtifactsFromSchema
+ moveOutputs
\ No newline at end of file
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
new file mode 100644
index 0000000..3e954d7
--- /dev/null
+++ b/pnpm-lock.yaml
@@ -0,0 +1,13878 @@
+lockfileVersion: '6.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+importers:
+
+ .:
+ dependencies:
+ '@formkit/auto-animate':
+ specifier: ^0.8.1
+ version: 0.8.1
+ '@manypkg/cli':
+ specifier: ^0.19.2
+ version: 0.19.2
+ '@planetscale/database':
+ specifier: ^1.13.0
+ version: 1.13.0
+ '@prisma/client':
+ specifier: ^5.7.1
+ version: 5.7.1
+ '@react-native-picker/picker':
+ specifier: ^2.6.1
+ version: 2.6.1(react-native@0.72.6)(react@18.2.0)
+ '@typescript-eslint/eslint-plugin':
+ specifier: ^5.57.1
+ version: 5.57.1(@typescript-eslint/parser@5.57.1)(eslint@8.29.0)(typescript@4.9.4)
+ '@typescript-eslint/parser':
+ specifier: ^5.57.1
+ version: 5.57.1(eslint@8.29.0)(typescript@4.9.4)
+ class-variance-authority:
+ specifier: ^0.7.0
+ version: 0.7.0
+ drizzle-orm:
+ specifier: ^0.29.2
+ version: 0.29.2(@planetscale/database@1.13.0)(@types/react@18.0.38)(expo-sqlite@13.2.0)(react@18.2.0)
+ eslint:
+ specifier: ^8.28.0
+ version: 8.29.0
+ expo:
+ specifier: ^49.0.22
+ version: 49.0.22(@babel/core@7.20.5)
+ expo-constants:
+ specifier: ~14.4.2
+ version: 14.4.2(expo@49.0.22)
+ formik:
+ specifier: ^2.4.5
+ version: 2.4.5(react@18.2.0)
+ prettier:
+ specifier: ^2.8.7
+ version: 2.8.7
+ prettier-plugin-tailwindcss:
+ specifier: ^0.1.13
+ version: 0.1.13(prettier@2.8.7)
+ react-icons:
+ specifier: ^4.12.0
+ version: 4.12.0(react@18.2.0)
+ react-native-gesture-handler:
+ specifier: ^2.14.1
+ version: 2.14.1(react-native@0.72.6)(react@18.2.0)
+ react-native-reanimated:
+ specifier: ^3.6.2
+ version: 3.6.2(@babel/core@7.20.5)(@babel/plugin-proposal-nullish-coalescing-operator@7.18.6)(@babel/plugin-proposal-optional-chaining@7.21.0)(@babel/plugin-transform-arrow-functions@7.18.6)(@babel/plugin-transform-shorthand-properties@7.18.6)(@babel/plugin-transform-template-literals@7.18.9)(react-native@0.72.6)(react@18.2.0)
+ react-native-session-storage:
+ specifier: ^1.1.1
+ version: 1.1.1
+ turbo:
+ specifier: ^1.8.8
+ version: 1.8.8
+ typescript:
+ specifier: ^4.9.3
+ version: 4.9.4
+ uuid:
+ specifier: ^9.0.1
+ version: 9.0.1
+ zustand:
+ specifier: ^4.4.7
+ version: 4.4.7(@types/react@18.0.38)(react@18.2.0)
+ devDependencies:
+ '@prisma/nextjs-monorepo-workaround-plugin':
+ specifier: ^5.8.1
+ version: 5.8.1
+ drizzle-kit:
+ specifier: ^0.20.9
+ version: 0.20.9
+
+ apps/expo:
+ dependencies:
+ '@acme/api':
+ specifier: '*'
+ version: link:../../packages/api
+ '@acme/helpers':
+ specifier: '*'
+ version: link:../../packages/helpers
+ '@acme/tailwind-config':
+ specifier: '*'
+ version: link:../../packages/config/tailwind
+ '@acme/types':
+ specifier: '*'
+ version: link:../../packages/types
+ '@acme/validators':
+ specifier: '*'
+ version: link:../../packages/validators
+ '@clerk/clerk-expo':
+ specifier: ^0.17.7
+ version: 0.17.7(@babel/core@7.20.5)(@types/react@18.0.38)(expo-auth-session@5.0.2)(expo-web-browser@12.3.2)(react-dom@18.2.0)(react-native@0.72.6)(react@18.2.0)
+ '@expo/webpack-config':
+ specifier: ^19.0.1
+ version: 19.0.1(esbuild@0.19.11)(expo@49.0.22)
+ '@react-native-async-storage/async-storage':
+ specifier: 1.18.2
+ version: 1.18.2(react-native@0.72.6)
+ '@react-navigation/drawer':
+ specifier: ^6.6.6
+ version: 6.6.6(@react-navigation/native@6.1.9)(react-native-gesture-handler@2.12.1)(react-native-reanimated@3.3.0)(react-native-safe-area-context@4.6.3)(react-native-screens@3.22.1)(react-native@0.72.6)(react@18.2.0)
+ '@shopify/flash-list':
+ specifier: ^1.4.3
+ version: 1.4.3(@babel/runtime@7.20.6)(react-native@0.72.6)(react@18.2.0)
+ '@tanstack/react-query':
+ specifier: ^4.16.1
+ version: 4.19.1(react-dom@18.2.0)(react-native@0.72.6)(react@18.2.0)
+ '@trpc/client':
+ specifier: ^10.1.0
+ version: 10.5.0(@trpc/server@10.5.0)
+ '@trpc/react-query':
+ specifier: ^10.1.0
+ version: 10.5.0(@tanstack/react-query@4.19.1)(@trpc/client@10.5.0)(@trpc/server@10.5.0)(react-dom@18.2.0)(react@18.2.0)
+ '@trpc/server':
+ specifier: ^10.1.0
+ version: 10.5.0
+ expo:
+ specifier: ^49.0.0
+ version: 49.0.22(@babel/core@7.20.5)
+ expo-auth-session:
+ specifier: ^5.0.2
+ version: 5.0.2(expo@49.0.22)
+ expo-background-fetch:
+ specifier: ~11.3.0
+ version: 11.3.0(expo@49.0.22)
+ expo-constants:
+ specifier: ~14.4.2
+ version: 14.4.2(expo@49.0.22)
+ expo-linking:
+ specifier: ~5.0.2
+ version: 5.0.2(expo@49.0.22)
+ expo-random:
+ specifier: ^13.2.0
+ version: 13.2.0(expo@49.0.22)
+ expo-router:
+ specifier: ^2.0.14
+ version: 2.0.14(@react-navigation/drawer@6.6.6)(expo-constants@14.4.2)(expo-linking@5.0.2)(expo-modules-autolinking@1.10.2)(expo-status-bar@1.6.0)(expo@49.0.22)(metro@0.76.8)(react-dom@18.2.0)(react-native-gesture-handler@2.12.1)(react-native-reanimated@3.3.0)(react-native-safe-area-context@4.6.3)(react-native-screens@3.22.1)(react-native@0.72.6)(react@18.2.0)
+ expo-secure-store:
+ specifier: ^12.3.1
+ version: 12.3.1(expo@49.0.22)
+ expo-status-bar:
+ specifier: ^1.6.0
+ version: 1.6.0
+ expo-task-manager:
+ specifier: ~11.3.0
+ version: 11.3.0(expo@49.0.22)
+ expo-web-browser:
+ specifier: ^12.3.2
+ version: 12.3.2(expo@49.0.22)
+ nativewind:
+ specifier: ^2.0.11
+ version: 2.0.11(react@18.2.0)(tailwindcss@3.2.4)
+ react:
+ specifier: 18.2.0
+ version: 18.2.0
+ react-dom:
+ specifier: 18.2.0
+ version: 18.2.0(react@18.2.0)
+ react-native:
+ specifier: 0.72.6
+ version: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ react-native-async-storage:
+ specifier: ^0.0.1
+ version: 0.0.1(react-native@0.72.6)
+ react-native-gesture-handler:
+ specifier: ~2.12.0
+ version: 2.12.1(react-native@0.72.6)(react@18.2.0)
+ react-native-reanimated:
+ specifier: ~3.3.0
+ version: 3.3.0(@babel/core@7.20.5)(@babel/plugin-proposal-nullish-coalescing-operator@7.18.6)(@babel/plugin-proposal-optional-chaining@7.21.0)(@babel/plugin-transform-arrow-functions@7.18.6)(@babel/plugin-transform-shorthand-properties@7.18.6)(@babel/plugin-transform-template-literals@7.18.9)(react-native@0.72.6)(react@18.2.0)
+ react-native-safe-area-context:
+ specifier: 4.6.3
+ version: 4.6.3(react-native@0.72.6)(react@18.2.0)
+ react-native-screens:
+ specifier: ~3.22.1
+ version: 3.22.1(react-native@0.72.6)(react@18.2.0)
+ react-native-web:
+ specifier: ~0.19.10
+ version: 0.19.10(react-dom@18.2.0)(react@18.2.0)
+ uuidv5:
+ specifier: ^1.0.0
+ version: 1.0.0
+ devDependencies:
+ '@babel/core':
+ specifier: ^7.19.3
+ version: 7.20.5
+ '@babel/preset-env':
+ specifier: ^7.19.3
+ version: 7.20.2(@babel/core@7.20.5)
+ '@babel/runtime':
+ specifier: ^7.19.0
+ version: 7.20.6
+ '@types/react':
+ specifier: ^18.0.38
+ version: 18.0.38
+ '@types/react-native':
+ specifier: ~0.70.6
+ version: 0.70.8
+ eslint:
+ specifier: ^8.28.0
+ version: 8.29.0
+ postcss:
+ specifier: ^8.4.19
+ version: 8.4.20
+ tailwindcss:
+ specifier: ^3.2.4
+ version: 3.2.4(postcss@8.4.20)
+ typescript:
+ specifier: ^4.9.3
+ version: 4.9.4
+
+ apps/nextjs:
+ dependencies:
+ '@acme/api':
+ specifier: '*'
+ version: link:../../packages/api
+ '@acme/db':
+ specifier: '*'
+ version: link:../../packages/db
+ '@acme/helpers':
+ specifier: '*'
+ version: link:../../packages/helpers
+ '@acme/tailwind-config':
+ specifier: '*'
+ version: link:../../packages/config/tailwind
+ '@acme/types':
+ specifier: '*'
+ version: link:../../packages/types
+ '@acme/validators':
+ specifier: '*'
+ version: link:../../packages/validators
+ '@clerk/nextjs':
+ specifier: ^4.11.0
+ version: 4.11.0(next@13.1.6)(react-dom@18.2.0)(react@18.2.0)
+ '@tanstack/react-query':
+ specifier: ^4.16.1
+ version: 4.19.1(react-dom@18.2.0)(react-native@0.72.6)(react@18.2.0)
+ '@trpc/client':
+ specifier: ^10.1.0
+ version: 10.5.0(@trpc/server@10.5.0)
+ '@trpc/next':
+ specifier: ^10.1.0
+ version: 10.5.0(@tanstack/react-query@4.19.1)(@trpc/client@10.5.0)(@trpc/react-query@10.5.0)(@trpc/server@10.5.0)(next@13.1.6)(react-dom@18.2.0)(react@18.2.0)
+ '@trpc/react-query':
+ specifier: ^10.1.0
+ version: 10.5.0(@tanstack/react-query@4.19.1)(@trpc/client@10.5.0)(@trpc/server@10.5.0)(react-dom@18.2.0)(react@18.2.0)
+ '@trpc/server':
+ specifier: ^10.1.0
+ version: 10.5.0
+ framer-motion:
+ specifier: ^10.16.16
+ version: 10.16.16(react-dom@18.2.0)(react@18.2.0)
+ next:
+ specifier: ^13.1.6
+ version: 13.1.6(@babel/core@7.20.5)(react-dom@18.2.0)(react@18.2.0)
+ react:
+ specifier: 18.2.0
+ version: 18.2.0
+ react-dom:
+ specifier: 18.2.0
+ version: 18.2.0(react@18.2.0)
+ zod:
+ specifier: ^3.18.0
+ version: 3.20.0
+ devDependencies:
+ '@types/node':
+ specifier: ^18.0.0
+ version: 18.11.13
+ '@types/react':
+ specifier: ^18.0.25
+ version: 18.0.26
+ '@types/react-dom':
+ specifier: ^18.0.9
+ version: 18.0.9
+ autoprefixer:
+ specifier: ^10.4.13
+ version: 10.4.13(postcss@8.4.20)
+ eslint:
+ specifier: ^8.28.0
+ version: 8.29.0
+ eslint-config-next:
+ specifier: 13.1.6
+ version: 13.1.6(eslint@8.29.0)(typescript@4.9.4)
+ postcss:
+ specifier: ^8.4.19
+ version: 8.4.20
+ tailwindcss:
+ specifier: ^3.2.4
+ version: 3.2.4(postcss@8.4.20)
+ typescript:
+ specifier: ^4.9.3
+ version: 4.9.4
+
+ packages/api:
+ dependencies:
+ '@acme/db':
+ specifier: '*'
+ version: link:../db
+ '@acme/helpers':
+ specifier: '*'
+ version: link:../helpers
+ '@acme/types':
+ specifier: '*'
+ version: link:../types
+ '@acme/validators':
+ specifier: '*'
+ version: link:../validators
+ '@trpc/client':
+ specifier: ^10.1.0
+ version: 10.5.0(@trpc/server@10.5.0)
+ '@trpc/server':
+ specifier: ^10.1.0
+ version: 10.5.0
+ axios:
+ specifier: ^1.6.3
+ version: 1.6.3
+ superjson:
+ specifier: ^1.9.1
+ version: 1.12.0
+ uuidv4:
+ specifier: ^6.2.13
+ version: 6.2.13
+ zod:
+ specifier: ^3.18.0
+ version: 3.20.0
+ devDependencies:
+ eslint:
+ specifier: ^8.28.0
+ version: 8.29.0
+ typescript:
+ specifier: ^4.9.3
+ version: 4.9.4
+
+ packages/config/tailwind:
+ devDependencies:
+ autoprefixer:
+ specifier: ^10.4.13
+ version: 10.4.13(postcss@8.4.20)
+ postcss:
+ specifier: ^8.4.19
+ version: 8.4.20
+ tailwindcss:
+ specifier: ^3.2.4
+ version: 3.2.4(postcss@8.4.20)
+
+ packages/db:
+ dependencies:
+ '@acme/helpers':
+ specifier: '*'
+ version: link:../helpers
+ '@acme/types':
+ specifier: '*'
+ version: link:../types
+ '@prisma/client':
+ specifier: ^4.7.1
+ version: 4.7.1(prisma@4.7.1)
+ devDependencies:
+ dotenv-cli:
+ specifier: ^6.0.0
+ version: 6.0.0
+ prisma:
+ specifier: ^4.6.1
+ version: 4.7.1
+ typescript:
+ specifier: ^4.9.3
+ version: 4.9.4
+
+ packages/helpers:
+ dependencies:
+ '@acme/types':
+ specifier: '*'
+ version: link:../types
+ '@acme/validators':
+ specifier: '*'
+ version: link:../validators
+ '@trpc/client':
+ specifier: ^10.1.0
+ version: 10.5.0(@trpc/server@10.5.0)
+ '@trpc/server':
+ specifier: ^10.1.0
+ version: 10.5.0
+ superjson:
+ specifier: ^1.9.1
+ version: 1.12.0
+ zod:
+ specifier: ^3.18.0
+ version: 3.20.0
+ devDependencies:
+ eslint:
+ specifier: ^8.28.0
+ version: 8.29.0
+ typescript:
+ specifier: ^4.9.3
+ version: 4.9.4
+
+ packages/types:
+ dependencies:
+ '@acme/validators':
+ specifier: '*'
+ version: link:../validators
+ '@trpc/client':
+ specifier: ^10.1.0
+ version: 10.5.0(@trpc/server@10.5.0)
+ '@trpc/server':
+ specifier: ^10.1.0
+ version: 10.5.0
+ superjson:
+ specifier: ^1.9.1
+ version: 1.12.0
+ zod:
+ specifier: ^3.18.0
+ version: 3.20.0
+ devDependencies:
+ eslint:
+ specifier: ^8.28.0
+ version: 8.29.0
+ typescript:
+ specifier: ^4.9.3
+ version: 4.9.4
+
+ packages/validators:
+ dependencies:
+ '@prisma/client':
+ specifier: ^4.6.1
+ version: 4.7.1(prisma@4.7.1)
+ devDependencies:
+ dotenv-cli:
+ specifier: ^6.0.0
+ version: 6.0.0
+ prisma:
+ specifier: ^4.6.1
+ version: 4.7.1
+ typescript:
+ specifier: ^4.9.3
+ version: 4.9.4
+
+packages:
+
+ /@ampproject/remapping@2.2.0:
+ resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/gen-mapping': 0.1.1
+ '@jridgewell/trace-mapping': 0.3.17
+
+ /@babel/code-frame@7.10.4:
+ resolution: {integrity: sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==}
+ dependencies:
+ '@babel/highlight': 7.18.6
+ dev: false
+
+ /@babel/code-frame@7.18.6:
+ resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/highlight': 7.18.6
+
+ /@babel/code-frame@7.23.5:
+ resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/highlight': 7.23.4
+ chalk: 2.4.2
+ dev: false
+
+ /@babel/compat-data@7.20.5:
+ resolution: {integrity: sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/core@7.20.5:
+ resolution: {integrity: sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@ampproject/remapping': 2.2.0
+ '@babel/code-frame': 7.18.6
+ '@babel/generator': 7.20.5
+ '@babel/helper-compilation-targets': 7.20.0(@babel/core@7.20.5)
+ '@babel/helper-module-transforms': 7.20.2
+ '@babel/helpers': 7.20.6
+ '@babel/parser': 7.20.5
+ '@babel/template': 7.18.10
+ '@babel/traverse': 7.20.5
+ '@babel/types': 7.20.5
+ convert-source-map: 1.9.0
+ debug: 4.3.4
+ gensync: 1.0.0-beta.2
+ json5: 2.2.1
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/generator@7.20.5:
+ resolution: {integrity: sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.20.5
+ '@jridgewell/gen-mapping': 0.3.2
+ jsesc: 2.5.2
+
+ /@babel/helper-annotate-as-pure@7.18.6:
+ resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.20.5
+
+ /@babel/helper-annotate-as-pure@7.22.5:
+ resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.6
+ dev: false
+
+ /@babel/helper-builder-binary-assignment-operator-visitor@7.18.9:
+ resolution: {integrity: sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-explode-assignable-expression': 7.18.6
+ '@babel/types': 7.20.5
+
+ /@babel/helper-compilation-targets@7.20.0(@babel/core@7.20.5):
+ resolution: {integrity: sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/compat-data': 7.20.5
+ '@babel/core': 7.20.5
+ '@babel/helper-validator-option': 7.18.6
+ browserslist: 4.21.4
+ semver: 6.3.0
+
+ /@babel/helper-create-class-features-plugin@7.20.5(@babel/core@7.20.5):
+ resolution: {integrity: sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-function-name': 7.19.0
+ '@babel/helper-member-expression-to-functions': 7.18.9
+ '@babel/helper-optimise-call-expression': 7.18.6
+ '@babel/helper-replace-supers': 7.19.1
+ '@babel/helper-split-export-declaration': 7.18.6
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/helper-create-class-features-plugin@7.23.7(@babel/core@7.20.5):
+ resolution: {integrity: sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@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.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.20.5)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ semver: 6.3.1
+ dev: false
+
+ /@babel/helper-create-regexp-features-plugin@7.20.5(@babel/core@7.20.5):
+ resolution: {integrity: sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-annotate-as-pure': 7.18.6
+ regexpu-core: 5.2.2
+
+ /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.20.5):
+ resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==}
+ peerDependencies:
+ '@babel/core': ^7.4.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-compilation-targets': 7.20.0(@babel/core@7.20.5)
+ '@babel/helper-plugin-utils': 7.20.2
+ debug: 4.3.4
+ lodash.debounce: 4.0.8
+ resolve: 1.22.1
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/helper-environment-visitor@7.18.9:
+ resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/helper-environment-visitor@7.22.20:
+ resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@babel/helper-explode-assignable-expression@7.18.6:
+ resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.20.5
+
+ /@babel/helper-function-name@7.19.0:
+ resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.18.10
+ '@babel/types': 7.20.5
+
+ /@babel/helper-function-name@7.23.0:
+ resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.22.15
+ '@babel/types': 7.23.6
+ dev: false
+
+ /@babel/helper-hoist-variables@7.18.6:
+ resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.20.5
+
+ /@babel/helper-member-expression-to-functions@7.18.9:
+ resolution: {integrity: sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.20.5
+
+ /@babel/helper-member-expression-to-functions@7.23.0:
+ resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.6
+ dev: false
+
+ /@babel/helper-module-imports@7.18.6:
+ resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.19.0
+
+ /@babel/helper-module-imports@7.22.15:
+ resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.6
+ dev: false
+
+ /@babel/helper-module-transforms@7.20.2:
+ resolution: {integrity: sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-module-imports': 7.18.6
+ '@babel/helper-simple-access': 7.20.2
+ '@babel/helper-split-export-declaration': 7.18.6
+ '@babel/helper-validator-identifier': 7.19.1
+ '@babel/template': 7.18.10
+ '@babel/traverse': 7.20.5
+ '@babel/types': 7.20.5
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/helper-optimise-call-expression@7.18.6:
+ resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.20.5
+
+ /@babel/helper-optimise-call-expression@7.22.5:
+ resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.6
+ dev: false
+
+ /@babel/helper-plugin-utils@7.20.2:
+ resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/helper-plugin-utils@7.22.5:
+ resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.20.5):
+ resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-wrap-function': 7.20.5
+ '@babel/types': 7.20.5
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.20.5):
+ resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-wrap-function': 7.22.20
+ dev: false
+
+ /@babel/helper-replace-supers@7.19.1:
+ resolution: {integrity: sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-member-expression-to-functions': 7.18.9
+ '@babel/helper-optimise-call-expression': 7.18.6
+ '@babel/traverse': 7.20.5
+ '@babel/types': 7.20.5
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/helper-replace-supers@7.22.20(@babel/core@7.20.5):
+ resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-member-expression-to-functions': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+ dev: false
+
+ /@babel/helper-simple-access@7.20.2:
+ resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.20.5
+
+ /@babel/helper-skip-transparent-expression-wrappers@7.20.0:
+ resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.20.5
+
+ /@babel/helper-skip-transparent-expression-wrappers@7.22.5:
+ resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.6
+ dev: false
+
+ /@babel/helper-split-export-declaration@7.18.6:
+ resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.20.5
+
+ /@babel/helper-split-export-declaration@7.22.6:
+ resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.6
+ dev: false
+
+ /@babel/helper-string-parser@7.19.4:
+ resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/helper-string-parser@7.23.4:
+ resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@babel/helper-validator-identifier@7.19.1:
+ resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/helper-validator-identifier@7.22.20:
+ resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@babel/helper-validator-option@7.18.6:
+ resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/helper-wrap-function@7.20.5:
+ resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-function-name': 7.19.0
+ '@babel/template': 7.18.10
+ '@babel/traverse': 7.20.5
+ '@babel/types': 7.20.5
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/helper-wrap-function@7.22.20:
+ resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-function-name': 7.23.0
+ '@babel/template': 7.22.15
+ '@babel/types': 7.23.6
+ dev: false
+
+ /@babel/helpers@7.20.6:
+ resolution: {integrity: sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.18.10
+ '@babel/traverse': 7.20.5
+ '@babel/types': 7.20.5
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/highlight@7.18.6:
+ resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': 7.19.1
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+
+ /@babel/highlight@7.23.4:
+ resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': 7.22.20
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ dev: false
+
+ /@babel/parser@7.20.5:
+ resolution: {integrity: sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+ dependencies:
+ '@babel/types': 7.20.5
+
+ /@babel/parser@7.23.6:
+ resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+ dependencies:
+ '@babel/types': 7.23.6
+ dev: false
+
+ /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.18.9(@babel/core@7.20.5):
+ resolution: {integrity: sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.13.0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-skip-transparent-expression-wrappers': 7.20.0
+ '@babel/plugin-proposal-optional-chaining': 7.18.9(@babel/core@7.20.5)
+
+ /@babel/plugin-proposal-async-generator-functions@7.20.1(@babel/core@7.20.5):
+ resolution: {integrity: sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.20.5)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.20.5)
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-create-class-features-plugin': 7.20.5(@babel/core@7.20.5)
+ '@babel/helper-plugin-utils': 7.20.2
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/plugin-proposal-class-static-block@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.12.0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-create-class-features-plugin': 7.20.5(@babel/core@7.20.5)
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.20.5)
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/plugin-proposal-decorators@7.20.5(@babel/core@7.20.5):
+ resolution: {integrity: sha512-Lac7PpRJXcC3s9cKsBfl+uc+DYXU5FD06BrTFunQO6QIQT+DwyzDPURAowI3bcvD1dZF/ank1Z5rstUJn3Hn4Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.20.5)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.20.5)
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/plugin-syntax-decorators': 7.19.0(@babel/core@7.20.5)
+ dev: false
+
+ /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.20.5)
+
+ /@babel/plugin-proposal-export-default-from@7.18.10(@babel/core@7.20.5):
+ resolution: {integrity: sha512-5H2N3R2aQFxkV4PIBUR/i7PUSwgTZjouJKzI8eKswfIjT0PhvzkPn0t0wIS5zn6maQuvtT0t1oHtMUz61LOuow==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-export-default-from': 7.18.6(@babel/core@7.20.5)
+ dev: false
+
+ /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.20.5):
+ resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.20.5)
+
+ /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.20.5)
+
+ /@babel/plugin-proposal-logical-assignment-operators@7.18.9(@babel/core@7.20.5):
+ resolution: {integrity: sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.20.5)
+
+ /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.20.5)
+
+ /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.20.5)
+
+ /@babel/plugin-proposal-object-rest-spread@7.20.2(@babel/core@7.20.5):
+ resolution: {integrity: sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.20.5
+ '@babel/core': 7.20.5
+ '@babel/helper-compilation-targets': 7.20.0(@babel/core@7.20.5)
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.20.5)
+ '@babel/plugin-transform-parameters': 7.20.5(@babel/core@7.20.5)
+
+ /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.20.5)
+
+ /@babel/plugin-proposal-optional-chaining@7.18.9(@babel/core@7.20.5):
+ resolution: {integrity: sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-skip-transparent-expression-wrappers': 7.20.0
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.20.5)
+
+ /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.20.5):
+ resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.20.5)
+ dev: false
+
+ /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-create-class-features-plugin': 7.20.5(@babel/core@7.20.5)
+ '@babel/helper-plugin-utils': 7.20.2
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/plugin-proposal-private-property-in-object@7.20.5(@babel/core@7.20.5):
+ resolution: {integrity: sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-create-class-features-plugin': 7.20.5(@babel/core@7.20.5)
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.20.5)
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.20.5)
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.20.5):
+ resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.20.5):
+ resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.20.5):
+ resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-syntax-decorators@7.19.0(@babel/core@7.20.5):
+ resolution: {integrity: sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: false
+
+ /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.20.5):
+ resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-syntax-export-default-from@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-Kr//z3ujSVNx6E9z9ih5xXXMqK07VVTuqPmqGe6Mss/zW5XPeLZeSDZoP9ab/hT4wPKqAgjl2PnhPrcpk8Seew==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: false
+
+ /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.20.5):
+ resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-syntax-flow@7.23.3(@babel/core@7.20.5):
+ resolution: {integrity: sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: false
+
+ /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.20.5):
+ resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.20.5):
+ resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: false
+
+ /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.20.5):
+ resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: false
+
+ /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.20.5):
+ resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.20.5):
+ resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.20.5):
+ resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.20.5):
+ resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.20.5):
+ resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.20.5):
+ resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.20.5):
+ resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.20.5):
+ resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-syntax-typescript@7.20.0(@babel/core@7.20.5):
+ resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: false
+
+ /@babel/plugin-transform-arrow-functions@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-async-to-generator@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-module-imports': 7.18.6
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.20.5)
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.20.5):
+ resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.20.5)
+ dev: false
+
+ /@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-block-scoping@7.20.5(@babel/core@7.20.5):
+ resolution: {integrity: sha512-WvpEIW9Cbj9ApF3yJCjIEEf1EiNJLtXagOrL5LNWEZOo3jv8pmPoYTSNJQvqej8OavVlgOoOPw6/htGZro6IkA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-classes@7.20.2(@babel/core@7.20.5):
+ resolution: {integrity: sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-compilation-targets': 7.20.0(@babel/core@7.20.5)
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-function-name': 7.19.0
+ '@babel/helper-optimise-call-expression': 7.18.6
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-replace-supers': 7.19.1
+ '@babel/helper-split-export-declaration': 7.18.6
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/plugin-transform-computed-properties@7.18.9(@babel/core@7.20.5):
+ resolution: {integrity: sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-destructuring@7.20.2(@babel/core@7.20.5):
+ resolution: {integrity: sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.20.5)
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.20.5):
+ resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-flow-strip-types@7.23.3(@babel/core@7.20.5):
+ resolution: {integrity: sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.20.5)
+ dev: false
+
+ /@babel/plugin-transform-for-of@7.18.8(@babel/core@7.20.5):
+ resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-function-name@7.18.9(@babel/core@7.20.5):
+ resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-compilation-targets': 7.20.0(@babel/core@7.20.5)
+ '@babel/helper-function-name': 7.19.0
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-literals@7.18.9(@babel/core@7.20.5):
+ resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-modules-amd@7.19.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-module-transforms': 7.20.2
+ '@babel/helper-plugin-utils': 7.20.2
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/plugin-transform-modules-commonjs@7.19.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-module-transforms': 7.20.2
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-simple-access': 7.20.2
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/plugin-transform-modules-systemjs@7.19.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-hoist-variables': 7.18.6
+ '@babel/helper-module-transforms': 7.20.2
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-validator-identifier': 7.19.1
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-module-transforms': 7.20.2
+ '@babel/helper-plugin-utils': 7.20.2
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.20.5):
+ resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.20.5)
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-new-target@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-object-assign@7.23.3(@babel/core@7.20.5):
+ resolution: {integrity: sha512-TPJ6O7gVC2rlQH2hvQGRH273G1xdoloCj9Pc07Q7JbIZYDi+Sv5gaE2fu+r5E7qK4zyt6vj0FbZaZTRU5C3OMA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: false
+
+ /@babel/plugin-transform-object-super@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-replace-supers': 7.19.1
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/plugin-transform-parameters@7.20.5(@babel/core@7.20.5):
+ resolution: {integrity: sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.20.5):
+ resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: false
+
+ /@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.20.5):
+ resolution: {integrity: sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: false
+
+ /@babel/plugin-transform-react-jsx-self@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: false
+
+ /@babel/plugin-transform-react-jsx-source@7.19.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: false
+
+ /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.20.5):
+ resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@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/core@7.20.5)
+ '@babel/types': 7.23.6
+ dev: false
+
+ /@babel/plugin-transform-regenerator@7.20.5(@babel/core@7.20.5):
+ resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+ regenerator-transform: 0.15.1
+
+ /@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-runtime@7.19.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-module-imports': 7.18.6
+ '@babel/helper-plugin-utils': 7.20.2
+ babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.20.5)
+ babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.20.5)
+ babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.20.5)
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-spread@7.19.0(@babel/core@7.20.5):
+ resolution: {integrity: sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-skip-transparent-expression-wrappers': 7.20.0
+
+ /@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.20.5):
+ resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.20.5):
+ resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-typescript@7.20.2(@babel/core@7.20.5):
+ resolution: {integrity: sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-create-class-features-plugin': 7.20.5(@babel/core@7.20.5)
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.20.5)
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.20.5):
+ resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.20.5)
+ '@babel/helper-plugin-utils': 7.20.2
+
+ /@babel/preset-env@7.20.2(@babel/core@7.20.5):
+ resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.20.5
+ '@babel/core': 7.20.5
+ '@babel/helper-compilation-targets': 7.20.0(@babel/core@7.20.5)
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-validator-option': 7.18.6
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.18.9(@babel/core@7.20.5)
+ '@babel/plugin-proposal-async-generator-functions': 7.20.1(@babel/core@7.20.5)
+ '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-proposal-class-static-block': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.20.5)
+ '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-proposal-logical-assignment-operators': 7.18.9(@babel/core@7.20.5)
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-proposal-object-rest-spread': 7.20.2(@babel/core@7.20.5)
+ '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-proposal-optional-chaining': 7.18.9(@babel/core@7.20.5)
+ '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-proposal-private-property-in-object': 7.20.5(@babel/core@7.20.5)
+ '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.20.5)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.20.5)
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.20.5)
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.20.5)
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.20.5)
+ '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.20.5)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.20.5)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.20.5)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.20.5)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.20.5)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.20.5)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.20.5)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.20.5)
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.20.5)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.20.5)
+ '@babel/plugin-transform-arrow-functions': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-async-to-generator': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-block-scoping': 7.20.5(@babel/core@7.20.5)
+ '@babel/plugin-transform-classes': 7.20.2(@babel/core@7.20.5)
+ '@babel/plugin-transform-computed-properties': 7.18.9(@babel/core@7.20.5)
+ '@babel/plugin-transform-destructuring': 7.20.2(@babel/core@7.20.5)
+ '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.20.5)
+ '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-for-of': 7.18.8(@babel/core@7.20.5)
+ '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.20.5)
+ '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.20.5)
+ '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-modules-amd': 7.19.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-modules-commonjs': 7.19.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-modules-systemjs': 7.19.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.20.5)
+ '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-parameters': 7.20.5(@babel/core@7.20.5)
+ '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-regenerator': 7.20.5(@babel/core@7.20.5)
+ '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-spread': 7.19.0(@babel/core@7.20.5)
+ '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.20.5)
+ '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.20.5)
+ '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.20.5)
+ '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.20.5)
+ '@babel/preset-modules': 0.1.5(@babel/core@7.20.5)
+ '@babel/types': 7.20.5
+ babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.20.5)
+ babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.20.5)
+ babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.20.5)
+ core-js-compat: 3.26.1
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/preset-flow@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-validator-option': 7.18.6
+ '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.20.5)
+ dev: false
+
+ /@babel/preset-modules@0.1.5(@babel/core@7.20.5):
+ resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.20.5)
+ '@babel/types': 7.20.5
+ esutils: 2.0.3
+
+ /@babel/preset-typescript@7.18.6(@babel/core@7.20.5):
+ resolution: {integrity: sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-validator-option': 7.18.6
+ '@babel/plugin-transform-typescript': 7.20.2(@babel/core@7.20.5)
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@babel/register@7.18.9(@babel/core@7.20.5):
+ resolution: {integrity: sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ clone-deep: 4.0.1
+ find-cache-dir: 2.1.0
+ make-dir: 2.1.0
+ pirates: 4.0.5
+ source-map-support: 0.5.21
+ dev: false
+
+ /@babel/runtime-corejs3@7.20.6:
+ resolution: {integrity: sha512-tqeujPiuEfcH067mx+7otTQWROVMKHXEaOQcAeNV5dDdbPWvPcFA8/W9LXw2NfjNmOetqLl03dfnG2WALPlsRQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ core-js-pure: 3.26.1
+ regenerator-runtime: 0.13.11
+ dev: true
+
+ /@babel/runtime@7.20.13:
+ resolution: {integrity: sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ regenerator-runtime: 0.13.11
+ dev: true
+
+ /@babel/runtime@7.20.6:
+ resolution: {integrity: sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ regenerator-runtime: 0.13.11
+
+ /@babel/runtime@7.21.0:
+ resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ regenerator-runtime: 0.13.11
+
+ /@babel/template@7.18.10:
+ resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.18.6
+ '@babel/parser': 7.20.5
+ '@babel/types': 7.20.5
+
+ /@babel/template@7.22.15:
+ resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.23.5
+ '@babel/parser': 7.23.6
+ '@babel/types': 7.23.6
+ dev: false
+
+ /@babel/traverse@7.20.5:
+ resolution: {integrity: sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.18.6
+ '@babel/generator': 7.20.5
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-function-name': 7.19.0
+ '@babel/helper-hoist-variables': 7.18.6
+ '@babel/helper-split-export-declaration': 7.18.6
+ '@babel/parser': 7.20.5
+ '@babel/types': 7.20.5
+ debug: 4.3.4
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/types@7.19.0:
+ resolution: {integrity: sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-string-parser': 7.19.4
+ '@babel/helper-validator-identifier': 7.19.1
+ to-fast-properties: 2.0.0
+
+ /@babel/types@7.20.5:
+ resolution: {integrity: sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-string-parser': 7.19.4
+ '@babel/helper-validator-identifier': 7.19.1
+ to-fast-properties: 2.0.0
+
+ /@babel/types@7.23.6:
+ resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-string-parser': 7.23.4
+ '@babel/helper-validator-identifier': 7.22.20
+ to-fast-properties: 2.0.0
+ dev: false
+
+ /@bacons/react-views@1.1.3(react-native@0.72.6):
+ resolution: {integrity: sha512-aLipQAkQKRzG64e28XHBpByyBPfANz0A6POqYHGyryHizG9vLCLNQwLe8gwFANEMBWW2Mx5YdQ7RkNdQMQ+CXQ==}
+ peerDependencies:
+ react-native: '*'
+ dependencies:
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ dev: false
+
+ /@changesets/types@4.1.0:
+ resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==}
+ dev: false
+
+ /@clerk/backend@0.9.0:
+ resolution: {integrity: sha512-gFAMQwCIiH8tZq63ekePLRoT1uJn0xD0muvpHGk6tU55icFItVlO3zvHzoP/eSo4keNAKhqGzKv3O7DCMDIONQ==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@clerk/types': 3.28.2
+ '@peculiar/webcrypto': 1.4.1
+ '@types/node': 16.18.6
+ deepmerge: 4.2.2
+ node-fetch-native: 1.0.1
+ rfc4648: 1.5.2
+ snakecase-keys: 5.4.4
+ tslib: 2.4.1
+ dev: false
+
+ /@clerk/clerk-expo@0.17.7(@babel/core@7.20.5)(@types/react@18.0.38)(expo-auth-session@5.0.2)(expo-web-browser@12.3.2)(react-dom@18.2.0)(react-native@0.72.6)(react@18.2.0):
+ resolution: {integrity: sha512-dh4w+rYyEgGZFvz/G1+YBwIgyJTTrrsJQdatlXvoeKQiOaFOHOL3iu/67n/npXN8horc3R+JEQOeoAJNkSoffg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ expo-auth-session: '>=4'
+ expo-web-browser: '>=12'
+ react: '>=16'
+ dependencies:
+ '@clerk/clerk-js': 4.45.0(@babel/core@7.20.5)(@types/react@18.0.38)(react-dom@18.2.0)(react@18.2.0)
+ '@clerk/clerk-react': 4.18.0(react@18.2.0)
+ base-64: 1.0.0
+ expo-auth-session: 5.0.2(expo@49.0.22)
+ expo-web-browser: 12.3.2(expo@49.0.22)
+ react: 18.2.0
+ react-native-url-polyfill: 1.3.0(react-native@0.72.6)
+ transitivePeerDependencies:
+ - '@babel/core'
+ - '@types/react'
+ - react-dom
+ - react-native
+ dev: false
+
+ /@clerk/clerk-js@4.45.0(@babel/core@7.20.5)(@types/react@18.0.38)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-lh3EtGoP0YSv97e7l/fz0a898AMp3GADl7ecZ/g3UYSjWRKLRMyPEFhjesU2fgo8rFL39yDdFnB8W6cGzN5GfA==}
+ peerDependencies:
+ react: '>=18'
+ dependencies:
+ '@clerk/localizations': 1.17.0(react@18.2.0)
+ '@clerk/shared': 0.17.2(react@18.2.0)
+ '@clerk/types': 3.41.0
+ '@emotion/cache': 11.10.5
+ '@emotion/react': 11.10.5(@babel/core@7.20.5)(@types/react@18.0.38)(react@18.2.0)
+ '@floating-ui/react': 0.19.0(@types/react@18.0.38)(react-dom@18.2.0)(react@18.2.0)
+ '@zxcvbn-ts/core': 2.2.1
+ '@zxcvbn-ts/language-common': 3.0.2
+ browser-tabs-lock: 1.2.15
+ copy-to-clipboard: 3.3.3
+ core-js: 3.26.1
+ dequal: 2.0.3
+ qrcode.react: 3.1.0(react@18.2.0)
+ qs: 6.11.0
+ react: 18.2.0
+ regenerator-runtime: 0.13.11
+ transitivePeerDependencies:
+ - '@babel/core'
+ - '@types/react'
+ - react-dom
+ dev: false
+
+ /@clerk/clerk-react@4.11.5(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-qxu++TBSfEISc8z0hHdlIU4yhiP4hC+e7ChrbwfIPvy8K9YNciY6TgCDFUgZPmczKmhhmtd7ibQhK4PT31yiIg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ react: '>=16'
+ react-dom: '>=16'
+ dependencies:
+ '@clerk/shared': 0.12.0(react-dom@18.2.0)(react@18.2.0)
+ '@clerk/types': 3.28.2
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ swr: 1.3.0(react@18.2.0)
+ tslib: 2.4.1
+ dev: false
+
+ /@clerk/clerk-react@4.18.0(react@18.2.0):
+ resolution: {integrity: sha512-0drizDRGEXIVjKblCZDZivLc2EvaAcJaPuycsSgejJl9nuVxIT/B8P+9Xd+d0cd1b4GTIP5nzPEqyxlCRNoZcA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ react: '>=16'
+ dependencies:
+ '@clerk/shared': 0.17.2(react@18.2.0)
+ '@clerk/types': 3.41.0
+ react: 18.2.0
+ swr: 1.3.0(react@18.2.0)
+ tslib: 2.4.1
+ dev: false
+
+ /@clerk/clerk-sdk-node@4.7.5:
+ resolution: {integrity: sha512-lV26jF3kzTmB3W6+Fuzb4ymtMaSLPBJVgZ0XynkeYHU9ZCAcl2Sa8PQCTaEY1xSmjnrXGm0VlI5hVUSX9qZtqA==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@clerk/backend': 0.9.0
+ '@clerk/types': 3.28.2
+ '@types/cookies': 0.7.7
+ '@types/express': 4.17.14
+ '@types/node-fetch': 2.6.2
+ camelcase-keys: 6.2.2
+ cookie: 0.5.0
+ snakecase-keys: 3.2.1
+ tslib: 2.4.1
+ dev: false
+
+ /@clerk/localizations@1.17.0(react@18.2.0):
+ resolution: {integrity: sha512-q3NeS97HHtGzGawe7MnFN9AKE/dj0yDvjvG1AAWFqK/qZosnOBTtH+rP9cfEeUH4klPYyH+ole47edyrHlxnBQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ react: '>=16'
+ dependencies:
+ '@clerk/types': 3.41.0
+ react: 18.2.0
+ dev: false
+
+ /@clerk/nextjs@4.11.0(next@13.1.6)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-XT0kZb8zUYSlu0TRUVt7rsJzkbwiXcm6+j8v3EQy5mMxe/d+wKUIn8CUnNzxvaeOp+qAmljio24WFNC/7Vgr+A==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ next: '>=10'
+ react: ^17.0.2 || ^18.0.0-0
+ react-dom: ^17.0.2 || ^18.0.0-0
+ dependencies:
+ '@clerk/backend': 0.9.0
+ '@clerk/clerk-react': 4.11.5(react-dom@18.2.0)(react@18.2.0)
+ '@clerk/clerk-sdk-node': 4.7.5
+ '@clerk/types': 3.28.2
+ next: 13.1.6(@babel/core@7.20.5)(react-dom@18.2.0)(react@18.2.0)
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ tslib: 2.4.1
+ dev: false
+
+ /@clerk/shared@0.12.0(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-VnBqDxCkucrqYvABG79plUUlTq2vC+ra1jNc8vx10GTnax0cjiunaAPmYjatlhB3KgXODoILS02eJs0N1SqWgw==}
+ peerDependencies:
+ react: '>=16'
+ react-dom: '>=16'
+ dependencies:
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@clerk/shared@0.17.2(react@18.2.0):
+ resolution: {integrity: sha512-JG4t+hnFX1NryPyyLSc6XImuWMfU2kWey7AxKjbv1MfDrkIKYBp593Whu2KXBP7H+ylQpUKP3k5lNtQ0eV5EMw==}
+ peerDependencies:
+ react: '>=16'
+ dependencies:
+ glob-to-regexp: 0.4.1
+ react: 18.2.0
+ dev: false
+
+ /@clerk/types@3.28.2:
+ resolution: {integrity: sha512-kIX5Es/0OBODwPNRmpB2xG8NefjtmIajZdWPNrGYbayD07LYsT/3aSBusV5Fyvlz/p4RBnIZ/mqzDLhjdV3+RA==}
+ engines: {node: '>=14'}
+ dependencies:
+ csstype: 3.1.1
+ dev: false
+
+ /@clerk/types@3.41.0:
+ resolution: {integrity: sha512-iO/ao2AjelC54TFDkueJlAUoe+s7V5pbkuuZgXvi/PA7kFUYbyFOR7VWKR+D124ssC5d5BE8pkvIfuJu/FQVZw==}
+ engines: {node: '>=14'}
+ dependencies:
+ csstype: 3.1.1
+ dev: false
+
+ /@drizzle-team/studio@0.0.37:
+ resolution: {integrity: sha512-LZyAPGJBX43jsrVZh7+w1Jig/BC6PJx63ReHUYK+GRQYNY9UJNlPXmn1uC/LMRX+A7JwYM4Sr4Fg/hnJSqlfgA==}
+ dependencies:
+ superjson: 2.2.1
+ dev: true
+
+ /@egjs/hammerjs@2.0.17:
+ resolution: {integrity: sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==}
+ engines: {node: '>=0.8.0'}
+ dependencies:
+ '@types/hammerjs': 2.0.45
+ dev: false
+
+ /@emotion/babel-plugin@11.10.5(@babel/core@7.20.5):
+ resolution: {integrity: sha512-xE7/hyLHJac7D2Ve9dKroBBZqBT7WuPQmWcq7HSGb84sUuP4mlOWoB8dvVfD9yk5DHkU1m6RW7xSoDtnQHNQeA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-module-imports': 7.18.6
+ '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.20.5)
+ '@babel/runtime': 7.21.0
+ '@emotion/hash': 0.9.0
+ '@emotion/memoize': 0.8.0
+ '@emotion/serialize': 1.1.1
+ babel-plugin-macros: 3.1.0
+ convert-source-map: 1.9.0
+ escape-string-regexp: 4.0.0
+ find-root: 1.1.0
+ source-map: 0.5.7
+ stylis: 4.1.3
+ dev: false
+
+ /@emotion/cache@11.10.5:
+ resolution: {integrity: sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==}
+ dependencies:
+ '@emotion/memoize': 0.8.0
+ '@emotion/sheet': 1.2.1
+ '@emotion/utils': 1.2.0
+ '@emotion/weak-memoize': 0.3.0
+ stylis: 4.1.3
+ dev: false
+
+ /@emotion/hash@0.9.0:
+ resolution: {integrity: sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==}
+ dev: false
+
+ /@emotion/is-prop-valid@0.8.8:
+ resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==}
+ requiresBuild: true
+ dependencies:
+ '@emotion/memoize': 0.7.4
+ dev: false
+ optional: true
+
+ /@emotion/memoize@0.7.4:
+ resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@emotion/memoize@0.8.0:
+ resolution: {integrity: sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==}
+ dev: false
+
+ /@emotion/react@11.10.5(@babel/core@7.20.5)(@types/react@18.0.38)(react@18.2.0):
+ resolution: {integrity: sha512-TZs6235tCJ/7iF6/rvTaOH4oxQg2gMAcdHemjwLKIjKz4rRuYe1HJ2TQJKnAcRAfOUDdU8XoDadCe1rl72iv8A==}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ '@types/react': '*'
+ react: '>=16.8.0'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/runtime': 7.21.0
+ '@emotion/babel-plugin': 11.10.5(@babel/core@7.20.5)
+ '@emotion/cache': 11.10.5
+ '@emotion/serialize': 1.1.1
+ '@emotion/use-insertion-effect-with-fallbacks': 1.0.0(react@18.2.0)
+ '@emotion/utils': 1.2.0
+ '@emotion/weak-memoize': 0.3.0
+ '@types/react': 18.0.38
+ hoist-non-react-statics: 3.3.2
+ react: 18.2.0
+ dev: false
+
+ /@emotion/serialize@1.1.1:
+ resolution: {integrity: sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==}
+ dependencies:
+ '@emotion/hash': 0.9.0
+ '@emotion/memoize': 0.8.0
+ '@emotion/unitless': 0.8.0
+ '@emotion/utils': 1.2.0
+ csstype: 3.1.1
+ dev: false
+
+ /@emotion/sheet@1.2.1:
+ resolution: {integrity: sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==}
+ dev: false
+
+ /@emotion/unitless@0.8.0:
+ resolution: {integrity: sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==}
+ dev: false
+
+ /@emotion/use-insertion-effect-with-fallbacks@1.0.0(react@18.2.0):
+ resolution: {integrity: sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==}
+ peerDependencies:
+ react: '>=16.8.0'
+ dependencies:
+ react: 18.2.0
+ dev: false
+
+ /@emotion/utils@1.2.0:
+ resolution: {integrity: sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==}
+ dev: false
+
+ /@emotion/weak-memoize@0.3.0:
+ resolution: {integrity: sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==}
+ dev: false
+
+ /@esbuild-kit/core-utils@3.3.2:
+ resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==}
+ dependencies:
+ esbuild: 0.18.20
+ source-map-support: 0.5.21
+ dev: true
+
+ /@esbuild-kit/esm-loader@2.6.5:
+ resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==}
+ dependencies:
+ '@esbuild-kit/core-utils': 3.3.2
+ get-tsconfig: 4.7.2
+ dev: true
+
+ /@esbuild/aix-ppc64@0.19.11:
+ resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/android-arm64@0.18.20:
+ resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-arm64@0.19.11:
+ resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/android-arm@0.18.20:
+ resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-arm@0.19.11:
+ resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/android-x64@0.18.20:
+ resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-x64@0.19.11:
+ resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/darwin-arm64@0.18.20:
+ resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-arm64@0.19.11:
+ resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/darwin-x64@0.18.20:
+ resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-x64@0.19.11:
+ resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/freebsd-arm64@0.18.20:
+ resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-arm64@0.19.11:
+ resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/freebsd-x64@0.18.20:
+ resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-x64@0.19.11:
+ resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-arm64@0.18.20:
+ resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm64@0.19.11:
+ resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-arm@0.18.20:
+ resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm@0.19.11:
+ resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-ia32@0.18.20:
+ resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ia32@0.19.11:
+ resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-loong64@0.18.20:
+ resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-loong64@0.19.11:
+ resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-mips64el@0.18.20:
+ resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-mips64el@0.19.11:
+ resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-ppc64@0.18.20:
+ resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ppc64@0.19.11:
+ resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-riscv64@0.18.20:
+ resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-riscv64@0.19.11:
+ resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-s390x@0.18.20:
+ resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-s390x@0.19.11:
+ resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-x64@0.18.20:
+ resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-x64@0.19.11:
+ resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/netbsd-x64@0.18.20:
+ resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/netbsd-x64@0.19.11:
+ resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/openbsd-x64@0.18.20:
+ resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/openbsd-x64@0.19.11:
+ resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/sunos-x64@0.18.20:
+ resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/sunos-x64@0.19.11:
+ resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/win32-arm64@0.18.20:
+ resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-arm64@0.19.11:
+ resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/win32-ia32@0.18.20:
+ resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-ia32@0.19.11:
+ resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/win32-x64@0.18.20:
+ resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-x64@0.19.11:
+ resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.29.0):
+ resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+ dependencies:
+ eslint: 8.29.0
+ eslint-visitor-keys: 3.4.0
+ dev: false
+
+ /@eslint-community/regexpp@4.5.0:
+ resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ dev: false
+
+ /@eslint/eslintrc@1.3.3:
+ resolution: {integrity: sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.3.4
+ espree: 9.5.1
+ globals: 13.20.0
+ ignore: 5.2.4
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ /@expo/bunyan@4.0.0:
+ resolution: {integrity: sha512-Ydf4LidRB/EBI+YrB+cVLqIseiRfjUI/AeHBgjGMtq3GroraDu81OV7zqophRgupngoL3iS3JUMDMnxO7g39qA==}
+ engines: {'0': node >=0.10.0}
+ dependencies:
+ uuid: 8.3.2
+ optionalDependencies:
+ mv: 2.1.1
+ safe-json-stringify: 1.2.0
+ dev: false
+
+ /@expo/cli@0.10.16(expo-modules-autolinking@1.5.1):
+ resolution: {integrity: sha512-EwgnRN5AMElg0JJjFLJTPk5hYkVXxnNMLIvZBiTfGoCq+rDw6u7Mg5l2Bbm/geSHOoplaHyPZ/Wr23FAuZWehA==}
+ hasBin: true
+ dependencies:
+ '@babel/runtime': 7.21.0
+ '@expo/code-signing-certificates': 0.0.5
+ '@expo/config': 8.1.2
+ '@expo/config-plugins': 7.2.5
+ '@expo/dev-server': 0.5.5
+ '@expo/devcert': 1.1.0
+ '@expo/env': 0.0.5
+ '@expo/json-file': 8.3.0
+ '@expo/metro-config': 0.10.7
+ '@expo/osascript': 2.0.33
+ '@expo/package-manager': 1.1.2
+ '@expo/plist': 0.0.20
+ '@expo/prebuild-config': 6.2.6(expo-modules-autolinking@1.5.1)
+ '@expo/rudder-sdk-node': 1.1.1
+ '@expo/spawn-async': 1.5.0
+ '@expo/xcpretty': 4.3.1
+ '@urql/core': 2.3.6(graphql@15.8.0)
+ '@urql/exchange-retry': 0.3.0(graphql@15.8.0)
+ accepts: 1.3.8
+ arg: 4.1.0
+ better-opn: 3.0.2
+ bplist-parser: 0.3.2
+ cacache: 15.3.0
+ chalk: 4.1.2
+ ci-info: 3.7.0
+ debug: 4.3.4
+ env-editor: 0.4.2
+ form-data: 3.0.1
+ freeport-async: 2.0.0
+ fs-extra: 8.1.0
+ getenv: 1.0.0
+ graphql: 15.8.0
+ graphql-tag: 2.12.6(graphql@15.8.0)
+ https-proxy-agent: 5.0.1
+ internal-ip: 4.3.0
+ js-yaml: 3.14.1
+ json-schema-deref-sync: 0.13.0
+ md5-file: 3.2.3
+ md5hex: 1.0.0
+ minipass: 3.1.6
+ node-fetch: 2.6.7
+ node-forge: 1.3.1
+ npm-package-arg: 7.0.0
+ ora: 3.4.0
+ pretty-bytes: 5.6.0
+ progress: 2.0.3
+ prompts: 2.4.2
+ qrcode-terminal: 0.11.0
+ require-from-string: 2.0.2
+ requireg: 0.2.2
+ resolve-from: 5.0.0
+ semver: 7.5.4
+ send: 0.18.0
+ slugify: 1.6.6
+ structured-headers: 0.4.1
+ tar: 6.1.13
+ tempy: 0.7.1
+ terminal-link: 2.1.1
+ text-table: 0.2.0
+ url-join: 4.0.0
+ wrap-ansi: 7.0.0
+ ws: 8.16.0
+ transitivePeerDependencies:
+ - bluebird
+ - bufferutil
+ - encoding
+ - expo-modules-autolinking
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /@expo/code-signing-certificates@0.0.5:
+ resolution: {integrity: sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw==}
+ dependencies:
+ node-forge: 1.3.1
+ nullthrows: 1.1.1
+ dev: false
+
+ /@expo/config-plugins@7.2.5:
+ resolution: {integrity: sha512-w+5ccu1IxBHgyQk9CPFKLZOk8yZQEyTjbJwOzESK1eR7QwosbcsLkN1c1WWUZYiCXwORu3UTwJYll4+X2xxJhQ==}
+ dependencies:
+ '@expo/config-types': 49.0.0
+ '@expo/json-file': 8.2.37
+ '@expo/plist': 0.0.20
+ '@expo/sdk-runtime-versions': 1.0.0
+ '@react-native/normalize-color': 2.1.0
+ chalk: 4.1.2
+ debug: 4.3.4
+ find-up: 5.0.0
+ getenv: 1.0.0
+ glob: 7.1.6
+ resolve-from: 5.0.0
+ semver: 7.5.4
+ slash: 3.0.0
+ xcode: 3.0.1
+ xml2js: 0.6.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@expo/config-plugins@7.8.4:
+ resolution: {integrity: sha512-hv03HYxb/5kX8Gxv/BTI8TLc9L06WzqAfHRRXdbar4zkLcP2oTzvsLEF4/L/TIpD3rsnYa0KU42d0gWRxzPCJg==}
+ dependencies:
+ '@expo/config-types': 50.0.0
+ '@expo/fingerprint': 0.6.0
+ '@expo/json-file': 8.3.0
+ '@expo/plist': 0.1.0
+ '@expo/sdk-runtime-versions': 1.0.0
+ '@react-native/normalize-color': 2.1.0
+ chalk: 4.1.2
+ debug: 4.3.4
+ find-up: 5.0.0
+ getenv: 1.0.0
+ glob: 7.1.6
+ resolve-from: 5.0.0
+ semver: 7.5.4
+ slash: 3.0.0
+ slugify: 1.6.6
+ xcode: 3.0.1
+ xml2js: 0.6.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@expo/config-types@49.0.0:
+ resolution: {integrity: sha512-8eyREVi+K2acnMBe/rTIu1dOfyR2+AMnTLHlut+YpMV9OZPdeKV0Bs9BxAewGqBA2slslbQ9N39IS2CuTKpXkA==}
+ dev: false
+
+ /@expo/config-types@50.0.0:
+ resolution: {integrity: sha512-0kkhIwXRT6EdFDwn+zTg9R2MZIAEYGn1MVkyRohAd+C9cXOb5RA8WLQi7vuxKF9m1SMtNAUrf0pO+ENK0+/KSw==}
+ dev: false
+
+ /@expo/config@8.1.2:
+ resolution: {integrity: sha512-4e7hzPj50mQIlsrzOH6XZ36O094mPfPTIDIH4yv49bWNMc7GFLTofB/lcT+QyxiLaJuC0Wlk9yOLB8DIqmtwug==}
+ dependencies:
+ '@babel/code-frame': 7.10.4
+ '@expo/config-plugins': 7.2.5
+ '@expo/config-types': 49.0.0
+ '@expo/json-file': 8.3.0
+ getenv: 1.0.0
+ glob: 7.1.6
+ require-from-string: 2.0.2
+ resolve-from: 5.0.0
+ semver: 7.5.3
+ slugify: 1.6.6
+ sucrase: 3.34.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@expo/config@8.5.4:
+ resolution: {integrity: sha512-ggOLJPHGzJSJHVBC1LzwXwR6qUn8Mw7hkc5zEKRIdhFRuIQ6s2FE4eOvP87LrNfDF7eZGa6tJQYsiHSmZKG+8Q==}
+ dependencies:
+ '@babel/code-frame': 7.10.4
+ '@expo/config-plugins': 7.8.4
+ '@expo/config-types': 50.0.0
+ '@expo/json-file': 8.3.0
+ getenv: 1.0.0
+ glob: 7.1.6
+ require-from-string: 2.0.2
+ resolve-from: 5.0.0
+ semver: 7.5.3
+ slugify: 1.6.6
+ sucrase: 3.34.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@expo/dev-server@0.5.5:
+ resolution: {integrity: sha512-t0fT8xH1exwYsH5hh7bAt85VF+gXxg24qrbny2rR/iKoPTWFCd2JNQV8pvfLg51hvrywQ3YCBuT3lU1w7aZxFA==}
+ dependencies:
+ '@expo/bunyan': 4.0.0
+ '@expo/metro-config': 0.10.7
+ '@expo/osascript': 2.0.33
+ '@expo/spawn-async': 1.7.2
+ body-parser: 1.20.1
+ chalk: 4.1.2
+ connect: 3.7.0
+ fs-extra: 9.0.0
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+ node-fetch: 2.6.7
+ open: 8.4.0
+ resolve-from: 5.0.0
+ serialize-error: 6.0.0
+ temp-dir: 2.0.0
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: false
+
+ /@expo/devcert@1.1.0:
+ resolution: {integrity: sha512-ghUVhNJQOCTdQckSGTHctNp/0jzvVoMMkVh+6SHn+TZj8sU15U/npXIDt8NtQp0HedlPaCgkVdMu8Sacne0aEA==}
+ dependencies:
+ application-config-path: 0.1.1
+ command-exists: 1.2.9
+ debug: 3.2.7
+ eol: 0.9.1
+ get-port: 3.2.0
+ glob: 7.2.3
+ lodash: 4.17.21
+ mkdirp: 0.5.6
+ password-prompt: 1.1.2
+ rimraf: 2.7.1
+ sudo-prompt: 8.2.5
+ tmp: 0.0.33
+ tslib: 2.4.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@expo/env@0.0.5:
+ resolution: {integrity: sha512-UXuKAqyXfhMQC3gP0OyjXmFX08Z1fkVWiGBN7bYzfoX8LHatjeHrDtI6w5nDvd8XPxPvmqaZoEDw1lW3+dz3oQ==}
+ dependencies:
+ chalk: 4.1.2
+ debug: 4.3.4
+ dotenv: 16.0.3
+ dotenv-expand: 10.0.0
+ getenv: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@expo/fingerprint@0.6.0:
+ resolution: {integrity: sha512-KfpoVRTMwMNJ/Cf5o+Ou8M/Y0EGSTqK+rbi70M2Y0K2qgWNfMJ1gm6sYO9uc8lcTr7YSYM1Rme3dk7QXhpScNA==}
+ hasBin: true
+ dependencies:
+ '@expo/spawn-async': 1.7.2
+ chalk: 4.1.2
+ debug: 4.3.4
+ find-up: 5.0.0
+ minimatch: 3.1.2
+ p-limit: 3.1.0
+ resolve-from: 5.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@expo/image-utils@0.3.22:
+ resolution: {integrity: sha512-uzq+RERAtkWypOFOLssFnXXqEqKjNj9eXN7e97d/EXUAojNcLDoXc0sL+F5B1I4qtlsnhX01kcpoIBBZD8wZNQ==}
+ dependencies:
+ '@expo/spawn-async': 1.5.0
+ chalk: 4.1.2
+ fs-extra: 9.0.0
+ getenv: 1.0.0
+ jimp-compact: 0.16.1
+ mime: 2.6.0
+ node-fetch: 2.6.7
+ parse-png: 2.1.0
+ resolve-from: 5.0.0
+ semver: 7.3.2
+ tempy: 0.3.0
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@expo/image-utils@0.3.23:
+ resolution: {integrity: sha512-nhUVvW0TrRE4jtWzHQl8TR4ox7kcmrc2I0itaeJGjxF5A54uk7avgA0wRt7jP1rdvqQo1Ke1lXyLYREdhN9tPw==}
+ dependencies:
+ '@expo/spawn-async': 1.5.0
+ chalk: 4.1.2
+ fs-extra: 9.0.0
+ getenv: 1.0.0
+ jimp-compact: 0.16.1
+ mime: 2.6.0
+ node-fetch: 2.6.7
+ parse-png: 2.1.0
+ resolve-from: 5.0.0
+ semver: 7.3.2
+ tempy: 0.3.0
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@expo/json-file@8.2.37:
+ resolution: {integrity: sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q==}
+ dependencies:
+ '@babel/code-frame': 7.10.4
+ json5: 2.2.3
+ write-file-atomic: 2.4.3
+ dev: false
+
+ /@expo/json-file@8.3.0:
+ resolution: {integrity: sha512-yROUeXJXR5goagB8c3muFLCzLmdGOvoPpR5yDNaXrnTp4euNykr9yW0wWhJx4YVRTNOPtGBnEbbJBW+a9q+S6g==}
+ dependencies:
+ '@babel/code-frame': 7.10.4
+ json5: 2.2.3
+ write-file-atomic: 2.4.3
+ dev: false
+
+ /@expo/metro-config@0.10.7:
+ resolution: {integrity: sha512-uACymEiyX0447hI4unt+2cemLQkTZXKvTev936NhtsgVnql45EP0V0pzmo/0H0WlHaAGXgvOBZJl8wFqcJ3CbQ==}
+ dependencies:
+ '@expo/config': 8.1.2
+ '@expo/env': 0.0.5
+ '@expo/json-file': 8.2.37
+ chalk: 4.1.2
+ debug: 4.3.4
+ find-yarn-workspace-root: 2.0.0
+ getenv: 1.0.0
+ jsc-safe-url: 0.2.4
+ lightningcss: 1.19.0
+ postcss: 8.4.32
+ resolve-from: 5.0.0
+ sucrase: 3.34.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@expo/metro-runtime@2.2.16(react-native@0.72.6):
+ resolution: {integrity: sha512-WOUe7ByZsQpFRifyh9WgsjMYrCGHirWA8VvtR5fs+vi0za3yFIaC89wYMvEZILyvn+RIe7Ysln8nzF4xgtnKFg==}
+ peerDependencies:
+ react-native: '*'
+ dependencies:
+ '@bacons/react-views': 1.1.3(react-native@0.72.6)
+ qs: 6.11.0
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ dev: false
+
+ /@expo/osascript@2.0.33:
+ resolution: {integrity: sha512-FQinlwHrTlJbntp8a7NAlCKedVXe06Va/0DSLXRO8lZVtgbEMrYYSUZWQNcOlNtc58c2elNph6z9dMOYwSo3JQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ '@expo/spawn-async': 1.7.2
+ exec-async: 2.2.0
+ dev: false
+
+ /@expo/package-manager@1.1.2:
+ resolution: {integrity: sha512-JI9XzrxB0QVXysyuJ996FPCJGDCYRkbUvgG4QmMTTMFA1T+mv8YzazC3T9C1pHQUAAveVCre1+Pqv0nZXN24Xg==}
+ dependencies:
+ '@expo/json-file': 8.3.0
+ '@expo/spawn-async': 1.7.2
+ ansi-regex: 5.0.1
+ chalk: 4.1.2
+ find-up: 5.0.0
+ find-yarn-workspace-root: 2.0.0
+ js-yaml: 3.14.1
+ micromatch: 4.0.5
+ npm-package-arg: 7.0.0
+ split: 1.0.1
+ sudo-prompt: 9.1.1
+ dev: false
+
+ /@expo/plist@0.0.20:
+ resolution: {integrity: sha512-UXQ4LXCfTZ580LDHGJ5q62jSTwJFFJ1GqBu8duQMThiHKWbMJ+gajJh6rsB6EJ3aLUr9wcauxneL5LVRFxwBEA==}
+ dependencies:
+ '@xmldom/xmldom': 0.7.9
+ base64-js: 1.5.1
+ xmlbuilder: 14.0.0
+ dev: false
+
+ /@expo/plist@0.1.0:
+ resolution: {integrity: sha512-xWD+8vIFif0wKyuqe3fmnmnSouXYucciZXFzS0ZD5OV9eSAS1RGQI5FaGGJ6zxJ4mpdy/4QzbLdBjnYE5vxA0g==}
+ dependencies:
+ '@xmldom/xmldom': 0.7.9
+ base64-js: 1.5.1
+ xmlbuilder: 14.0.0
+ dev: false
+
+ /@expo/prebuild-config@6.2.6(expo-modules-autolinking@1.10.2):
+ resolution: {integrity: sha512-uFVvDAm9dPg9p1qpnr4CVnpo2hmkZIL5FQz+VlIdXXJpe7ySh/qTGHtKWY/lWUshQkAJ0nwbKGPztGWdABns/Q==}
+ peerDependencies:
+ expo-modules-autolinking: '>=0.8.1'
+ dependencies:
+ '@expo/config': 8.1.2
+ '@expo/config-plugins': 7.2.5
+ '@expo/config-types': 49.0.0
+ '@expo/image-utils': 0.3.22
+ '@expo/json-file': 8.3.0
+ debug: 4.3.4
+ expo-modules-autolinking: 1.10.2
+ fs-extra: 9.1.0
+ resolve-from: 5.0.0
+ semver: 7.5.3
+ xml2js: 0.6.0
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: false
+
+ /@expo/prebuild-config@6.2.6(expo-modules-autolinking@1.5.1):
+ resolution: {integrity: sha512-uFVvDAm9dPg9p1qpnr4CVnpo2hmkZIL5FQz+VlIdXXJpe7ySh/qTGHtKWY/lWUshQkAJ0nwbKGPztGWdABns/Q==}
+ peerDependencies:
+ expo-modules-autolinking: '>=0.8.1'
+ dependencies:
+ '@expo/config': 8.1.2
+ '@expo/config-plugins': 7.2.5
+ '@expo/config-types': 49.0.0
+ '@expo/image-utils': 0.3.22
+ '@expo/json-file': 8.3.0
+ debug: 4.3.4
+ expo-modules-autolinking: 1.5.1
+ fs-extra: 9.1.0
+ resolve-from: 5.0.0
+ semver: 7.5.3
+ xml2js: 0.6.0
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: false
+
+ /@expo/rudder-sdk-node@1.1.1:
+ resolution: {integrity: sha512-uy/hS/awclDJ1S88w9UGpc6Nm9XnNUjzOAAib1A3PVAnGQIwebg8DpFqOthFBTlZxeuV/BKbZ5jmTbtNZkp1WQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ '@expo/bunyan': 4.0.0
+ '@segment/loosely-validate-event': 2.0.0
+ fetch-retry: 4.1.1
+ md5: 2.3.0
+ node-fetch: 2.6.7
+ remove-trailing-slash: 0.1.1
+ uuid: 8.3.2
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@expo/sdk-runtime-versions@1.0.0:
+ resolution: {integrity: sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==}
+ dev: false
+
+ /@expo/spawn-async@1.5.0:
+ resolution: {integrity: sha512-LB7jWkqrHo+5fJHNrLAFdimuSXQ2MQ4lA7SQW5bf/HbsXuV2VrT/jN/M8f/KoWt0uJMGN4k/j7Opx4AvOOxSew==}
+ engines: {node: '>=4'}
+ dependencies:
+ cross-spawn: 6.0.5
+ dev: false
+
+ /@expo/spawn-async@1.7.2:
+ resolution: {integrity: sha512-QdWi16+CHB9JYP7gma19OVVg0BFkvU8zNj9GjWorYI8Iv8FUxjOCcYRuAmX4s/h91e4e7BPsskc8cSrZYho9Ew==}
+ engines: {node: '>=12'}
+ dependencies:
+ cross-spawn: 7.0.3
+ dev: false
+
+ /@expo/vector-icons@13.0.0:
+ resolution: {integrity: sha512-TI+l71+5aSKnShYclFa14Kum+hQMZ86b95SH6tQUG3qZEmLTarvWpKwqtTwQKqvlJSJrpFiSFu3eCuZokY6zWA==}
+ dev: false
+
+ /@expo/webpack-config@19.0.1(esbuild@0.19.11)(expo@49.0.22):
+ resolution: {integrity: sha512-5bSxXTUd/DCF44+1dSyU23YKLOOYCr9pMJ+C5Vw7PAi6v6OEyNp4uOVMk2x5DAEpXtvOsJCxvNZdmtY/IqmO/A==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ expo: ^49.0.7 || ^50.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ babel-loader: 8.3.0(@babel/core@7.20.5)(webpack@5.89.0)
+ chalk: 4.1.2
+ clean-webpack-plugin: 4.0.0(webpack@5.89.0)
+ copy-webpack-plugin: 10.2.4(webpack@5.89.0)
+ css-loader: 6.8.1(webpack@5.89.0)
+ css-minimizer-webpack-plugin: 3.4.1(esbuild@0.19.11)(webpack@5.89.0)
+ expo: 49.0.22(@babel/core@7.20.5)
+ expo-pwa: 0.0.127(expo@49.0.22)
+ find-up: 5.0.0
+ find-yarn-workspace-root: 2.0.0
+ fs-extra: 11.2.0
+ getenv: 1.0.0
+ html-webpack-plugin: 5.6.0(webpack@5.89.0)
+ is-wsl: 2.2.0
+ mini-css-extract-plugin: 2.7.6(webpack@5.89.0)
+ node-html-parser: 5.4.2
+ semver: 7.5.4
+ source-map-loader: 3.0.2(webpack@5.89.0)
+ style-loader: 3.3.3(webpack@5.89.0)
+ terser-webpack-plugin: 5.3.10(esbuild@0.19.11)(webpack@5.89.0)
+ webpack: 5.89.0(esbuild@0.19.11)
+ webpack-dev-server: 4.15.1(webpack@5.89.0)
+ webpack-manifest-plugin: 4.1.1(webpack@5.89.0)
+ transitivePeerDependencies:
+ - '@parcel/css'
+ - '@rspack/core'
+ - '@swc/core'
+ - bufferutil
+ - clean-css
+ - csso
+ - debug
+ - encoding
+ - esbuild
+ - supports-color
+ - uglify-js
+ - utf-8-validate
+ - webpack-cli
+ dev: false
+
+ /@expo/websql@1.0.1:
+ resolution: {integrity: sha512-H9/t1V7XXyKC343FJz/LwaVBfDhs6IqhDtSYWpt8LNSQDVjf5NvVJLc5wp+KCpRidZx8+0+YeHJN45HOXmqjFA==}
+ dependencies:
+ argsarray: 0.0.1
+ immediate: 3.3.0
+ noop-fn: 1.0.0
+ pouchdb-collections: 1.0.1
+ tiny-queue: 0.2.1
+ dev: false
+
+ /@expo/xcpretty@4.3.1:
+ resolution: {integrity: sha512-sqXgo1SCv+j4VtYEwl/bukuOIBrVgx6euIoCat3Iyx5oeoXwEA2USCoeL0IPubflMxncA2INkqJ/Wr3NGrSgzw==}
+ hasBin: true
+ dependencies:
+ '@babel/code-frame': 7.10.4
+ chalk: 4.1.2
+ find-up: 5.0.0
+ js-yaml: 4.1.0
+ dev: false
+
+ /@floating-ui/core@1.2.6:
+ resolution: {integrity: sha512-EvYTiXet5XqweYGClEmpu3BoxmsQ4hkj3QaYA6qEnigCWffTP3vNRwBReTdrwDwo7OoJ3wM8Uoe9Uk4n+d4hfg==}
+ dev: false
+
+ /@floating-ui/dom@1.2.6:
+ resolution: {integrity: sha512-02vxFDuvuVPs22iJICacezYJyf7zwwOCWkPNkWNBr1U0Qt1cKFYzWvxts0AmqcOQGwt/3KJWcWIgtbUU38keyw==}
+ dependencies:
+ '@floating-ui/core': 1.2.6
+ dev: false
+
+ /@floating-ui/react-dom@1.3.0(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-htwHm67Ji5E/pROEAr7f8IKFShuiCKHwUC/UY4vC3I5jiSvGFAYnSYiZO5MlGmads+QqvUkR9ANHEguGrDv72g==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+ dependencies:
+ '@floating-ui/dom': 1.2.6
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@floating-ui/react@0.19.0(@types/react@18.0.38)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-fgYvN4ksCi5OvmPXkyOT8o5a8PSKHMzPHt+9mR6KYWdF16IAjWRLZPAAziI2sznaWT23drRFrYw64wdvYqqaQw==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+ dependencies:
+ '@floating-ui/react-dom': 1.3.0(react-dom@18.2.0)(react@18.2.0)
+ aria-hidden: 1.2.2(@types/react@18.0.38)(react@18.2.0)
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ tabbable: 6.1.1
+ transitivePeerDependencies:
+ - '@types/react'
+ dev: false
+
+ /@formkit/auto-animate@0.8.1:
+ resolution: {integrity: sha512-0/Z2cuNXWVVIG/l0SpcHAWFhGdvLJ8DRvEfRWvmojtmRWfEy+LWNwgDazbZqY0qQYtkHcoEK3jBLkhiZaB/4Ig==}
+ dev: false
+
+ /@gar/promisify@1.1.3:
+ resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==}
+ dev: false
+
+ /@graphql-typed-document-node/core@3.1.1(graphql@15.8.0):
+ resolution: {integrity: sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg==}
+ peerDependencies:
+ graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ dependencies:
+ graphql: 15.8.0
+ dev: false
+
+ /@hapi/hoek@9.3.0:
+ resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
+ dev: false
+
+ /@hapi/topo@5.1.0:
+ resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
+ dependencies:
+ '@hapi/hoek': 9.3.0
+ dev: false
+
+ /@humanwhocodes/config-array@0.11.8:
+ resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==}
+ engines: {node: '>=10.10.0'}
+ dependencies:
+ '@humanwhocodes/object-schema': 1.2.1
+ debug: 4.3.4
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ /@humanwhocodes/module-importer@1.0.1:
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
+ engines: {node: '>=12.22'}
+
+ /@humanwhocodes/object-schema@1.2.1:
+ resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
+
+ /@jest/create-cache-key-function@29.3.1:
+ resolution: {integrity: sha512-4i+E+E40gK13K78ffD/8cy4lSSqeWwyXeTZoq16tndiCP12hC8uQsPJdIu5C6Kf22fD8UbBk71so7s/6VwpUOQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/types': 29.6.3
+ dev: false
+
+ /@jest/environment@29.7.0:
+ resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/fake-timers': 29.7.0
+ '@jest/types': 29.6.3
+ '@types/node': 18.15.11
+ jest-mock: 29.7.0
+ dev: false
+
+ /@jest/fake-timers@29.7.0:
+ resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/types': 29.6.3
+ '@sinonjs/fake-timers': 10.3.0
+ '@types/node': 18.15.11
+ jest-message-util: 29.7.0
+ jest-mock: 29.7.0
+ jest-util: 29.7.0
+ dev: false
+
+ /@jest/schemas@29.6.3:
+ resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@sinclair/typebox': 0.27.8
+ dev: false
+
+ /@jest/types@26.6.2:
+ resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==}
+ engines: {node: '>= 10.14.2'}
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.4
+ '@types/istanbul-reports': 3.0.1
+ '@types/node': 18.11.13
+ '@types/yargs': 15.0.14
+ chalk: 4.1.2
+ dev: false
+
+ /@jest/types@27.5.1:
+ resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.4
+ '@types/istanbul-reports': 3.0.1
+ '@types/node': 18.15.11
+ '@types/yargs': 16.0.4
+ chalk: 4.1.2
+ dev: false
+
+ /@jest/types@29.6.3:
+ resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/schemas': 29.6.3
+ '@types/istanbul-lib-coverage': 2.0.4
+ '@types/istanbul-reports': 3.0.1
+ '@types/node': 18.15.11
+ '@types/yargs': 17.0.17
+ chalk: 4.1.2
+ dev: false
+
+ /@jridgewell/gen-mapping@0.1.1:
+ resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/set-array': 1.1.2
+ '@jridgewell/sourcemap-codec': 1.4.14
+
+ /@jridgewell/gen-mapping@0.3.2:
+ resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/set-array': 1.1.2
+ '@jridgewell/sourcemap-codec': 1.4.14
+ '@jridgewell/trace-mapping': 0.3.17
+
+ /@jridgewell/resolve-uri@3.1.0:
+ resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
+ engines: {node: '>=6.0.0'}
+
+ /@jridgewell/set-array@1.1.2:
+ resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
+ engines: {node: '>=6.0.0'}
+
+ /@jridgewell/source-map@0.3.5:
+ resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==}
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.2
+ '@jridgewell/trace-mapping': 0.3.20
+ dev: false
+
+ /@jridgewell/sourcemap-codec@1.4.14:
+ resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
+
+ /@jridgewell/trace-mapping@0.3.17:
+ resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==}
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.0
+ '@jridgewell/sourcemap-codec': 1.4.14
+
+ /@jridgewell/trace-mapping@0.3.20:
+ resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.0
+ '@jridgewell/sourcemap-codec': 1.4.14
+ dev: false
+
+ /@leichtgewicht/ip-codec@2.0.4:
+ resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==}
+ dev: false
+
+ /@manypkg/cli@0.19.2:
+ resolution: {integrity: sha512-DXx/P1lyunNoFWwOj1MWBucUhaIJljoiAGOpO2fE0GKMBCI6EZBZD0Up1+fQZoXBecKXRgV9mGgLvIB2fOQ0KQ==}
+ hasBin: true
+ dependencies:
+ '@babel/runtime': 7.21.0
+ '@manypkg/get-packages': 1.1.3
+ chalk: 2.4.2
+ detect-indent: 6.1.0
+ find-up: 4.1.0
+ fs-extra: 8.1.0
+ normalize-path: 3.0.0
+ p-limit: 2.3.0
+ package-json: 6.5.0
+ parse-github-url: 1.0.2
+ sembear: 0.5.2
+ semver: 6.3.0
+ spawndamnit: 2.0.0
+ validate-npm-package-name: 3.0.0
+ dev: false
+
+ /@manypkg/find-root@1.1.0:
+ resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==}
+ dependencies:
+ '@babel/runtime': 7.21.0
+ '@types/node': 12.20.55
+ find-up: 4.1.0
+ fs-extra: 8.1.0
+ dev: false
+
+ /@manypkg/get-packages@1.1.3:
+ resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==}
+ dependencies:
+ '@babel/runtime': 7.21.0
+ '@changesets/types': 4.1.0
+ '@manypkg/find-root': 1.1.0
+ fs-extra: 8.1.0
+ globby: 11.1.0
+ read-yaml-file: 1.1.0
+ dev: false
+
+ /@next/env@13.1.6:
+ resolution: {integrity: sha512-s+W9Fdqh5MFk6ECrbnVmmAOwxKQuhGMT7xXHrkYIBMBcTiOqNWhv5KbJIboKR5STXxNXl32hllnvKaffzFaWQg==}
+ dev: false
+
+ /@next/eslint-plugin-next@13.1.6:
+ resolution: {integrity: sha512-o7cauUYsXjzSJkay8wKjpKJf2uLzlggCsGUkPu3lP09Pv97jYlekTC20KJrjQKmSv5DXV0R/uks2ZXhqjNkqAw==}
+ dependencies:
+ glob: 7.1.7
+ dev: true
+
+ /@next/swc-android-arm-eabi@13.1.6:
+ resolution: {integrity: sha512-F3/6Z8LH/pGlPzR1AcjPFxx35mPqjE5xZcf+IL+KgbW9tMkp7CYi1y7qKrEWU7W4AumxX/8OINnDQWLiwLasLQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-android-arm64@13.1.6:
+ resolution: {integrity: sha512-cMwQjnB8vrYkWyK/H0Rf2c2pKIH4RGjpKUDvbjVAit6SbwPDpmaijLio0LWFV3/tOnY6kvzbL62lndVA0mkYpw==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-darwin-arm64@13.1.6:
+ resolution: {integrity: sha512-KKRQH4DDE4kONXCvFMNBZGDb499Hs+xcFAwvj+rfSUssIDrZOlyfJNy55rH5t2Qxed1e4K80KEJgsxKQN1/fyw==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-darwin-x64@13.1.6:
+ resolution: {integrity: sha512-/uOky5PaZDoaU99ohjtNcDTJ6ks/gZ5ykTQDvNZDjIoCxFe3+t06bxsTPY6tAO6uEAw5f6vVFX5H5KLwhrkZCA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-freebsd-x64@13.1.6:
+ resolution: {integrity: sha512-qaEALZeV7to6weSXk3Br80wtFQ7cFTpos/q+m9XVRFggu+8Ib895XhMWdJBzew6aaOcMvYR6KQ6JmHA2/eMzWw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-linux-arm-gnueabihf@13.1.6:
+ resolution: {integrity: sha512-OybkbC58A1wJ+JrJSOjGDvZzrVEQA4sprJejGqMwiZyLqhr9Eo8FXF0y6HL+m1CPCpPhXEHz/2xKoYsl16kNqw==}
+ engines: {node: '>= 10'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-linux-arm64-gnu@13.1.6:
+ resolution: {integrity: sha512-yCH+yDr7/4FDuWv6+GiYrPI9kcTAO3y48UmaIbrKy8ZJpi7RehJe3vIBRUmLrLaNDH3rY1rwoHi471NvR5J5NQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-linux-arm64-musl@13.1.6:
+ resolution: {integrity: sha512-ECagB8LGX25P9Mrmlc7Q/TQBb9rGScxHbv/kLqqIWs2fIXy6Y/EiBBiM72NTwuXUFCNrWR4sjUPSooVBJJ3ESQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-linux-x64-gnu@13.1.6:
+ resolution: {integrity: sha512-GT5w2mruk90V/I5g6ScuueE7fqj/d8Bui2qxdw6lFxmuTgMeol5rnzAv4uAoVQgClOUO/MULilzlODg9Ib3Y4Q==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-linux-x64-musl@13.1.6:
+ resolution: {integrity: sha512-keFD6KvwOPzmat4TCnlnuxJCQepPN+8j3Nw876FtULxo8005Y9Ghcl7ACcR8GoiKoddAq8gxNBrpjoxjQRHeAQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-win32-arm64-msvc@13.1.6:
+ resolution: {integrity: sha512-OwertslIiGQluFvHyRDzBCIB07qJjqabAmINlXUYt7/sY7Q7QPE8xVi5beBxX/rxTGPIbtyIe3faBE6Z2KywhQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-win32-ia32-msvc@13.1.6:
+ resolution: {integrity: sha512-g8zowiuP8FxUR9zslPmlju7qYbs2XBtTLVSxVikPtUDQedhcls39uKYLvOOd1JZg0ehyhopobRoH1q+MHlIN/w==}
+ engines: {node: '>= 10'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-win32-x64-msvc@13.1.6:
+ resolution: {integrity: sha512-Ls2OL9hi3YlJKGNdKv8k3X/lLgc3VmLG3a/DeTkAd+lAituJp8ZHmRmm9f9SL84fT3CotlzcgbdaCDfFwFA6bA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@nodelib/fs.scandir@2.1.5:
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+
+ /@nodelib/fs.stat@2.0.5:
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+
+ /@nodelib/fs.walk@1.2.8:
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.15.0
+
+ /@npmcli/fs@1.1.1:
+ resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==}
+ dependencies:
+ '@gar/promisify': 1.1.3
+ semver: 7.5.4
+ dev: false
+
+ /@npmcli/move-file@1.1.2:
+ resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==}
+ engines: {node: '>=10'}
+ deprecated: This functionality has been moved to @npmcli/fs
+ dependencies:
+ mkdirp: 1.0.4
+ rimraf: 3.0.2
+ dev: false
+
+ /@peculiar/asn1-schema@2.3.3:
+ resolution: {integrity: sha512-6GptMYDMyWBHTUKndHaDsRZUO/XMSgIns2krxcm2L7SEExRHwawFvSwNBhqNPR9HJwv3MruAiF1bhN0we6j6GQ==}
+ dependencies:
+ asn1js: 3.0.5
+ pvtsutils: 1.3.2
+ tslib: 2.4.1
+ dev: false
+
+ /@peculiar/json-schema@1.1.12:
+ resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ tslib: 2.4.1
+ dev: false
+
+ /@peculiar/webcrypto@1.4.1:
+ resolution: {integrity: sha512-eK4C6WTNYxoI7JOabMoZICiyqRRtJB220bh0Mbj5RwRycleZf9BPyZoxsTvpP0FpmVS2aS13NKOuh5/tN3sIRw==}
+ engines: {node: '>=10.12.0'}
+ dependencies:
+ '@peculiar/asn1-schema': 2.3.3
+ '@peculiar/json-schema': 1.1.12
+ pvtsutils: 1.3.2
+ tslib: 2.4.1
+ webcrypto-core: 1.7.5
+ dev: false
+
+ /@pkgr/utils@2.3.1:
+ resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==}
+ engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+ dependencies:
+ cross-spawn: 7.0.3
+ is-glob: 4.0.3
+ open: 8.4.0
+ picocolors: 1.0.0
+ tiny-glob: 0.2.9
+ tslib: 2.4.1
+ dev: true
+
+ /@planetscale/database@1.13.0:
+ resolution: {integrity: sha512-sb9tUoF+Po55o+3PRHZVeH8XzUIABKBKcnq6oBUa+p/2uau/E2EXhnUPXmkC/x7oB6ILBqmqTL6dPP5Dn6d6iA==}
+ engines: {node: '>=16'}
+ dev: false
+
+ /@prisma/client@4.7.1(prisma@4.7.1):
+ resolution: {integrity: sha512-/GbnOwIPtjiveZNUzGXOdp7RxTEkHL4DZP3vBaFNadfr6Sf0RshU5EULFzVaSi9i9PIK9PYd+1Rn7z2B2npb9w==}
+ engines: {node: '>=14.17'}
+ requiresBuild: true
+ peerDependencies:
+ prisma: '*'
+ peerDependenciesMeta:
+ prisma:
+ optional: true
+ dependencies:
+ '@prisma/engines-version': 4.7.1-1.272861e07ab64f234d3ffc4094e32bd61775599c
+ prisma: 4.7.1
+ dev: false
+
+ /@prisma/client@5.7.1:
+ resolution: {integrity: sha512-TUSa4nUcC4nf/e7X3jyO1pEd6XcI/TLRCA0KjkA46RDIpxUaRsBYEOqITwXRW2c0bMFyKcCRXrH4f7h4q9oOlg==}
+ engines: {node: '>=16.13'}
+ requiresBuild: true
+ peerDependencies:
+ prisma: '*'
+ peerDependenciesMeta:
+ prisma:
+ optional: true
+ dev: false
+
+ /@prisma/engines-version@4.7.1-1.272861e07ab64f234d3ffc4094e32bd61775599c:
+ resolution: {integrity: sha512-Bd4LZ+WAnUHOq31e9X/ihi5zPlr4SzTRwUZZYxvWOxlerIZ7HJlVa9zXpuKTKLpI9O1l8Ec4OYCKsivWCs5a3Q==}
+ dev: false
+
+ /@prisma/engines@4.7.1:
+ resolution: {integrity: sha512-zWabHosTdLpXXlMefHmnouhXMoTB1+SCbUU3t4FCmdrtIOZcarPKU3Alto7gm/pZ9vHlGOXHCfVZ1G7OIrSbog==}
+ requiresBuild: true
+
+ /@prisma/nextjs-monorepo-workaround-plugin@5.8.1:
+ resolution: {integrity: sha512-0DhnWwI5I75ZGPpFq+q1i2tU080xR7GW1pzK2jh958Yeb7I8iR6hWsEN32nCIalh8m+IbKoc4W++qbWmWWNv2w==}
+ dev: true
+
+ /@radix-ui/react-compose-refs@1.0.0(react@18.2.0):
+ resolution: {integrity: sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==}
+ peerDependencies:
+ react: ^16.8 || ^17.0 || ^18.0
+ dependencies:
+ '@babel/runtime': 7.21.0
+ react: 18.2.0
+ dev: false
+
+ /@radix-ui/react-slot@1.0.1(react@18.2.0):
+ resolution: {integrity: sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==}
+ peerDependencies:
+ react: ^16.8 || ^17.0 || ^18.0
+ dependencies:
+ '@babel/runtime': 7.21.0
+ '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
+ react: 18.2.0
+ dev: false
+
+ /@react-native-async-storage/async-storage@1.18.2(react-native@0.72.6):
+ resolution: {integrity: sha512-dM8AfdoeIxlh+zqgr0o5+vCTPQ0Ru1mrPzONZMsr7ufp5h+6WgNxQNza7t0r5qQ6b04AJqTlBNixTWZxqP649Q==}
+ peerDependencies:
+ react-native: ^0.0.0-0 || 0.60 - 0.72 || 1000.0.0
+ dependencies:
+ merge-options: 3.0.4
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ dev: false
+
+ /@react-native-community/cli-clean@11.3.7:
+ resolution: {integrity: sha512-twtsv54ohcRyWVzPXL3F9VHGb4Qhn3slqqRs3wEuRzjR7cTmV2TIO2b1VhaqF4HlCgNd+cGuirvLtK2JJyaxMg==}
+ dependencies:
+ '@react-native-community/cli-tools': 11.3.7
+ chalk: 4.1.2
+ execa: 5.1.1
+ prompts: 2.4.2
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@react-native-community/cli-config@11.3.7:
+ resolution: {integrity: sha512-FDBLku9xskS+bx0YFJFLCmUJhEZ4/MMSC9qPYOGBollWYdgE7k/TWI0IeYFmMALAnbCdKQAYP5N29N55Tad8lg==}
+ dependencies:
+ '@react-native-community/cli-tools': 11.3.7
+ chalk: 4.1.2
+ cosmiconfig: 5.2.1
+ deepmerge: 4.3.1
+ glob: 7.2.3
+ joi: 17.7.0
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@react-native-community/cli-debugger-ui@11.3.7:
+ resolution: {integrity: sha512-aVmKuPKHZENR8SrflkMurZqeyLwbKieHdOvaZCh1Nn/0UC5CxWcyST2DB2XQboZwsvr3/WXKJkSUO+SZ1J9qTQ==}
+ dependencies:
+ serve-static: 1.15.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@react-native-community/cli-doctor@11.3.7:
+ resolution: {integrity: sha512-YEHUqWISOHnsl5+NM14KHelKh68Sr5/HeEZvvNdIcvcKtZic3FU7Xd1WcbNdo3gCq5JvzGFfufx02Tabh5zmrg==}
+ dependencies:
+ '@react-native-community/cli-config': 11.3.7
+ '@react-native-community/cli-platform-android': 11.3.7
+ '@react-native-community/cli-platform-ios': 11.3.7
+ '@react-native-community/cli-tools': 11.3.7
+ chalk: 4.1.2
+ command-exists: 1.2.9
+ envinfo: 7.8.1
+ execa: 5.1.1
+ hermes-profile-transformer: 0.0.6
+ ip: 1.1.8
+ node-stream-zip: 1.15.0
+ ora: 5.4.1
+ prompts: 2.4.2
+ semver: 7.5.4
+ strip-ansi: 5.2.0
+ sudo-prompt: 9.2.1
+ wcwidth: 1.0.1
+ yaml: 2.3.4
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@react-native-community/cli-hermes@11.3.7:
+ resolution: {integrity: sha512-chkKd8n/xeZkinRvtH6QcYA8rjNOKU3S3Lw/3Psxgx+hAYV0Gyk95qJHTalx7iu+PwjOOqqvCkJo5jCkYLkoqw==}
+ dependencies:
+ '@react-native-community/cli-platform-android': 11.3.7
+ '@react-native-community/cli-tools': 11.3.7
+ chalk: 4.1.2
+ hermes-profile-transformer: 0.0.6
+ ip: 1.1.8
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@react-native-community/cli-platform-android@11.3.7:
+ resolution: {integrity: sha512-WGtXI/Rm178UQb8bu1TAeFC/RJvYGnbHpULXvE20GkmeJ1HIrMjkagyk6kkY3Ej25JAP2R878gv+TJ/XiRhaEg==}
+ dependencies:
+ '@react-native-community/cli-tools': 11.3.7
+ chalk: 4.1.2
+ execa: 5.1.1
+ glob: 7.2.3
+ logkitty: 0.7.1
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@react-native-community/cli-platform-ios@11.3.7:
+ resolution: {integrity: sha512-Z/8rseBput49EldX7MogvN6zJlWzZ/4M97s2P+zjS09ZoBU7I0eOKLi0N9wx+95FNBvGQQ/0P62bB9UaFQH2jw==}
+ dependencies:
+ '@react-native-community/cli-tools': 11.3.7
+ chalk: 4.1.2
+ execa: 5.1.1
+ fast-xml-parser: 4.3.2
+ glob: 7.2.3
+ ora: 5.4.1
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@react-native-community/cli-plugin-metro@11.3.7(@babel/core@7.20.5):
+ resolution: {integrity: sha512-0WhgoBVGF1f9jXcuagQmtxpwpfP+2LbLZH4qMyo6OtYLWLG13n2uRep+8tdGzfNzl1bIuUTeE9yZSAdnf9LfYQ==}
+ dependencies:
+ '@react-native-community/cli-server-api': 11.3.7
+ '@react-native-community/cli-tools': 11.3.7
+ chalk: 4.1.2
+ execa: 5.1.1
+ metro: 0.76.8
+ metro-config: 0.76.8
+ metro-core: 0.76.8
+ metro-react-native-babel-transformer: 0.76.8(@babel/core@7.20.5)
+ metro-resolver: 0.76.8
+ metro-runtime: 0.76.8
+ readline: 1.3.0
+ transitivePeerDependencies:
+ - '@babel/core'
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /@react-native-community/cli-server-api@11.3.7:
+ resolution: {integrity: sha512-yoFyGdvR3HxCnU6i9vFqKmmSqFzCbnFSnJ29a+5dppgPRetN+d//O8ard/YHqHzToFnXutAFf2neONn23qcJAg==}
+ dependencies:
+ '@react-native-community/cli-debugger-ui': 11.3.7
+ '@react-native-community/cli-tools': 11.3.7
+ compression: 1.7.4
+ connect: 3.7.0
+ errorhandler: 1.5.1
+ nocache: 3.0.4
+ pretty-format: 26.6.2
+ serve-static: 1.15.0
+ ws: 7.5.9
+ transitivePeerDependencies:
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /@react-native-community/cli-tools@11.3.7:
+ resolution: {integrity: sha512-peyhP4TV6Ps1hk+MBHTFaIR1eI3u+OfGBvr5r0wPwo3FAJvldRinMgcB/TcCcOBXVORu7ba1XYjkubPeYcqAyA==}
+ dependencies:
+ appdirsjs: 1.2.7
+ chalk: 4.1.2
+ find-up: 5.0.0
+ mime: 2.6.0
+ node-fetch: 2.6.7
+ open: 6.4.0
+ ora: 5.4.1
+ semver: 7.5.4
+ shell-quote: 1.8.1
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@react-native-community/cli-types@11.3.7:
+ resolution: {integrity: sha512-OhSr/TiDQkXjL5YOs8+hvGSB+HltLn5ZI0+A3DCiMsjUgTTsYh+Z63OtyMpNjrdCEFcg0MpfdU2uxstCS6Dc5g==}
+ dependencies:
+ joi: 17.7.0
+ dev: false
+
+ /@react-native-community/cli@11.3.7(@babel/core@7.20.5):
+ resolution: {integrity: sha512-Ou8eDlF+yh2rzXeCTpMPYJ2fuqsusNOhmpYPYNQJQ2h6PvaF30kPomflgRILems+EBBuggRtcT+I+1YH4o/q6w==}
+ engines: {node: '>=16'}
+ hasBin: true
+ dependencies:
+ '@react-native-community/cli-clean': 11.3.7
+ '@react-native-community/cli-config': 11.3.7
+ '@react-native-community/cli-debugger-ui': 11.3.7
+ '@react-native-community/cli-doctor': 11.3.7
+ '@react-native-community/cli-hermes': 11.3.7
+ '@react-native-community/cli-plugin-metro': 11.3.7(@babel/core@7.20.5)
+ '@react-native-community/cli-server-api': 11.3.7
+ '@react-native-community/cli-tools': 11.3.7
+ '@react-native-community/cli-types': 11.3.7
+ chalk: 4.1.2
+ commander: 9.4.1
+ execa: 5.1.1
+ find-up: 4.1.0
+ fs-extra: 8.1.0
+ graceful-fs: 4.2.11
+ prompts: 2.4.2
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - '@babel/core'
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /@react-native-picker/picker@2.6.1(react-native@0.72.6)(react@18.2.0):
+ resolution: {integrity: sha512-oJftvmLOj6Y6/bF4kPcK6L83yNBALGmqNYugf94BzP0FQGpHBwimVN2ygqkQ2Sn2ZU3pGUZMs0jV6+Gku2GyYg==}
+ peerDependencies:
+ react: '>=16'
+ react-native: '>=0.57'
+ dependencies:
+ react: 18.2.0
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ dev: false
+
+ /@react-native/assets-registry@0.72.0:
+ resolution: {integrity: sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ==}
+ dev: false
+
+ /@react-native/codegen@0.72.8(@babel/preset-env@7.20.2):
+ resolution: {integrity: sha512-jQCcBlXV7B7ap5VlHhwIPieYz89yiRgwd2FPUBu+unz+kcJ6pAiB2U8RdLDmyIs8fiWd+Vq1xxaWs4TR329/ng==}
+ peerDependencies:
+ '@babel/preset-env': ^7.1.6
+ dependencies:
+ '@babel/parser': 7.23.6
+ '@babel/preset-env': 7.20.2(@babel/core@7.20.5)
+ flow-parser: 0.206.0
+ glob: 7.2.3
+ invariant: 2.2.4
+ jscodeshift: 0.14.0(@babel/preset-env@7.20.2)
+ mkdirp: 0.5.6
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@react-native/gradle-plugin@0.72.11:
+ resolution: {integrity: sha512-P9iRnxiR2w7EHcZ0mJ+fmbPzMby77ZzV6y9sJI3lVLJzF7TLSdbwcQyD3lwMsiL+q5lKUHoZJS4sYmih+P2HXw==}
+ dev: false
+
+ /@react-native/js-polyfills@0.72.1:
+ resolution: {integrity: sha512-cRPZh2rBswFnGt5X5EUEPs0r+pAsXxYsifv/fgy9ZLQokuT52bPH+9xjDR+7TafRua5CttGW83wP4TntRcWNDA==}
+ dev: false
+
+ /@react-native/normalize-color@2.1.0:
+ resolution: {integrity: sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA==}
+ dev: false
+
+ /@react-native/normalize-colors@0.72.0:
+ resolution: {integrity: sha512-285lfdqSXaqKuBbbtP9qL2tDrfxdOFtIMvkKadtleRQkdOxx+uzGvFr82KHmc/sSiMtfXGp7JnFYWVh4sFl7Yw==}
+ dev: false
+
+ /@react-native/virtualized-lists@0.72.8(react-native@0.72.6):
+ resolution: {integrity: sha512-J3Q4Bkuo99k7mu+jPS9gSUSgq+lLRSI/+ahXNwV92XgJ/8UgOTxu2LPwhJnBk/sQKxq7E8WkZBnBiozukQMqrw==}
+ peerDependencies:
+ react-native: '*'
+ dependencies:
+ invariant: 2.2.4
+ nullthrows: 1.1.1
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ dev: false
+
+ /@react-navigation/bottom-tabs@6.5.11(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.6.3)(react-native-screens@3.22.1)(react-native@0.72.6)(react@18.2.0):
+ resolution: {integrity: sha512-CBN/NOdxnMvmjw+AJQI1kltOYaClTZmGec5pQ3ZNTPX86ytbIOylDIITKMfTgHZcIEFQDymx1SHeS++PIL3Szw==}
+ peerDependencies:
+ '@react-navigation/native': ^6.0.0
+ react: '*'
+ react-native: '*'
+ react-native-safe-area-context: '>= 3.0.0'
+ react-native-screens: '>= 3.0.0'
+ dependencies:
+ '@react-navigation/elements': 1.3.21(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.6.3)(react-native@0.72.6)(react@18.2.0)
+ '@react-navigation/native': 6.1.9(react-native@0.72.6)(react@18.2.0)
+ color: 4.2.3
+ react: 18.2.0
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ react-native-safe-area-context: 4.6.3(react-native@0.72.6)(react@18.2.0)
+ react-native-screens: 3.22.1(react-native@0.72.6)(react@18.2.0)
+ warn-once: 0.1.1
+ dev: false
+
+ /@react-navigation/core@6.4.10(react@18.2.0):
+ resolution: {integrity: sha512-oYhqxETRHNHKsipm/BtGL0LI43Hs2VSFoWMbBdHK9OqgQPjTVUitslgLcPpo4zApCcmBWoOLX2qPxhsBda644A==}
+ peerDependencies:
+ react: '*'
+ dependencies:
+ '@react-navigation/routers': 6.1.9
+ escape-string-regexp: 4.0.0
+ nanoid: 3.3.7
+ query-string: 7.1.3
+ react: 18.2.0
+ react-is: 16.13.1
+ use-latest-callback: 0.1.9(react@18.2.0)
+ dev: false
+
+ /@react-navigation/drawer@6.6.6(@react-navigation/native@6.1.9)(react-native-gesture-handler@2.12.1)(react-native-reanimated@3.3.0)(react-native-safe-area-context@4.6.3)(react-native-screens@3.22.1)(react-native@0.72.6)(react@18.2.0):
+ resolution: {integrity: sha512-DW/oNRisSOGOqvZfCzfhKBxnzT97Teqtg1Gal85g+K3gnVbM1jOBE2PdnYsKU0fULfFtDwvp/QZSbcgjDpr12A==}
+ peerDependencies:
+ '@react-navigation/native': ^6.0.0
+ react: '*'
+ react-native: '*'
+ react-native-gesture-handler: '>= 1.0.0'
+ react-native-reanimated: '>= 1.0.0'
+ react-native-safe-area-context: '>= 3.0.0'
+ react-native-screens: '>= 3.0.0'
+ dependencies:
+ '@react-navigation/elements': 1.3.21(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.6.3)(react-native@0.72.6)(react@18.2.0)
+ '@react-navigation/native': 6.1.9(react-native@0.72.6)(react@18.2.0)
+ color: 4.2.3
+ react: 18.2.0
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ react-native-gesture-handler: 2.12.1(react-native@0.72.6)(react@18.2.0)
+ react-native-reanimated: 3.3.0(@babel/core@7.20.5)(@babel/plugin-proposal-nullish-coalescing-operator@7.18.6)(@babel/plugin-proposal-optional-chaining@7.21.0)(@babel/plugin-transform-arrow-functions@7.18.6)(@babel/plugin-transform-shorthand-properties@7.18.6)(@babel/plugin-transform-template-literals@7.18.9)(react-native@0.72.6)(react@18.2.0)
+ react-native-safe-area-context: 4.6.3(react-native@0.72.6)(react@18.2.0)
+ react-native-screens: 3.22.1(react-native@0.72.6)(react@18.2.0)
+ warn-once: 0.1.1
+ dev: false
+
+ /@react-navigation/elements@1.3.21(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.6.3)(react-native@0.72.6)(react@18.2.0):
+ resolution: {integrity: sha512-eyS2C6McNR8ihUoYfc166O1D8VYVh9KIl0UQPI8/ZJVsStlfSTgeEEh+WXge6+7SFPnZ4ewzEJdSAHH+jzcEfg==}
+ peerDependencies:
+ '@react-navigation/native': ^6.0.0
+ react: '*'
+ react-native: '*'
+ react-native-safe-area-context: '>= 3.0.0'
+ dependencies:
+ '@react-navigation/native': 6.1.9(react-native@0.72.6)(react@18.2.0)
+ react: 18.2.0
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ react-native-safe-area-context: 4.6.3(react-native@0.72.6)(react@18.2.0)
+ dev: false
+
+ /@react-navigation/native-stack@6.9.17(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.6.3)(react-native-screens@3.22.1)(react-native@0.72.6)(react@18.2.0):
+ resolution: {integrity: sha512-X8p8aS7JptQq7uZZNFEvfEcPf6tlK4PyVwYDdryRbG98B4bh2wFQYMThxvqa+FGEN7USEuHdv2mF0GhFKfX0ew==}
+ peerDependencies:
+ '@react-navigation/native': ^6.0.0
+ react: '*'
+ react-native: '*'
+ react-native-safe-area-context: '>= 3.0.0'
+ react-native-screens: '>= 3.0.0'
+ dependencies:
+ '@react-navigation/elements': 1.3.21(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.6.3)(react-native@0.72.6)(react@18.2.0)
+ '@react-navigation/native': 6.1.9(react-native@0.72.6)(react@18.2.0)
+ react: 18.2.0
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ react-native-safe-area-context: 4.6.3(react-native@0.72.6)(react@18.2.0)
+ react-native-screens: 3.22.1(react-native@0.72.6)(react@18.2.0)
+ warn-once: 0.1.1
+ dev: false
+
+ /@react-navigation/native@6.1.9(react-native@0.72.6)(react@18.2.0):
+ resolution: {integrity: sha512-AMuJDpwXE7UlfyhIXaUCCynXmv69Kb8NzKgKJO7v0k0L+u6xUTbt6xvshmJ79vsvaFyaEH9Jg5FMzek5/S5qNw==}
+ peerDependencies:
+ react: '*'
+ react-native: '*'
+ dependencies:
+ '@react-navigation/core': 6.4.10(react@18.2.0)
+ escape-string-regexp: 4.0.0
+ fast-deep-equal: 3.1.3
+ nanoid: 3.3.7
+ react: 18.2.0
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ dev: false
+
+ /@react-navigation/routers@6.1.9:
+ resolution: {integrity: sha512-lTM8gSFHSfkJvQkxacGM6VJtBt61ip2XO54aNfswD+KMw6eeZ4oehl7m0me3CR9hnDE4+60iAZR8sAhvCiI3NA==}
+ dependencies:
+ nanoid: 3.3.7
+ dev: false
+
+ /@rushstack/eslint-patch@1.2.0:
+ resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==}
+ dev: true
+
+ /@segment/loosely-validate-event@2.0.0:
+ resolution: {integrity: sha512-ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw==}
+ dependencies:
+ component-type: 1.2.1
+ join-component: 1.1.0
+ dev: false
+
+ /@shopify/flash-list@1.4.3(@babel/runtime@7.20.6)(react-native@0.72.6)(react@18.2.0):
+ resolution: {integrity: sha512-jtIReAbwWzYBV0dQ6Io9wBX+pD0C4qQFMrb5/fkEvX8PYDgBl5KRYvpfr9WLLj8CV2Jsn1X0mYOsB+ysWrI/8g==}
+ peerDependencies:
+ '@babel/runtime': '*'
+ react: '*'
+ react-native: '*'
+ dependencies:
+ '@babel/runtime': 7.20.6
+ react: 18.2.0
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ recyclerlistview: 4.2.0(react-native@0.72.6)(react@18.2.0)
+ tslib: 2.4.0
+ dev: false
+
+ /@sideway/address@4.1.4:
+ resolution: {integrity: sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==}
+ dependencies:
+ '@hapi/hoek': 9.3.0
+ dev: false
+
+ /@sideway/formula@3.0.0:
+ resolution: {integrity: sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==}
+ dev: false
+
+ /@sideway/pinpoint@2.0.0:
+ resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==}
+ dev: false
+
+ /@sinclair/typebox@0.27.8:
+ resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
+ dev: false
+
+ /@sindresorhus/is@0.14.0:
+ resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /@sinonjs/commons@3.0.0:
+ resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==}
+ dependencies:
+ type-detect: 4.0.8
+ dev: false
+
+ /@sinonjs/fake-timers@10.3.0:
+ resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==}
+ dependencies:
+ '@sinonjs/commons': 3.0.0
+ dev: false
+
+ /@swc/helpers@0.4.14:
+ resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==}
+ dependencies:
+ tslib: 2.4.1
+ dev: false
+
+ /@szmarczak/http-timer@1.1.2:
+ resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==}
+ engines: {node: '>=6'}
+ dependencies:
+ defer-to-connect: 1.1.3
+ dev: false
+
+ /@tanstack/query-core@4.19.1:
+ resolution: {integrity: sha512-Zp0aIose5C8skBzqbVFGk9HJsPtUhRVDVNWIqVzFbGQQgYSeLZMd3Sdb4+EnA5wl1J7X+bre2PJGnQg9x/zHOA==}
+ dev: false
+
+ /@tanstack/react-query@4.19.1(react-dom@18.2.0)(react-native@0.72.6)(react@18.2.0):
+ resolution: {integrity: sha512-5dvHvmc0vrWI03AJugzvKfirxCyCLe+qawrWFCXdu8t7dklIhJ7D5ZhgTypv7mMtIpdHPcECtCiT/+V74wCn2A==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-native: '*'
+ peerDependenciesMeta:
+ react-dom:
+ optional: true
+ react-native:
+ optional: true
+ dependencies:
+ '@tanstack/query-core': 4.19.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ use-sync-external-store: 1.2.0(react@18.2.0)
+ dev: false
+
+ /@trpc/client@10.5.0(@trpc/server@10.5.0):
+ resolution: {integrity: sha512-ULRL6YUi/4sMzZnqS3VCe/VduPZgY24wdC4canpwWZfHj+O0kHz3KR260DzEw0QrpLrOwmkIWOlQKzVBn2lLgQ==}
+ peerDependencies:
+ '@trpc/server': 10.5.0
+ dependencies:
+ '@trpc/server': 10.5.0
+ dev: false
+
+ /@trpc/next@10.5.0(@tanstack/react-query@4.19.1)(@trpc/client@10.5.0)(@trpc/react-query@10.5.0)(@trpc/server@10.5.0)(next@13.1.6)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-beWvrdHZTV7kx4XeLlHKB29EC6VWkkPykWN1eoPkSTeAYMqEIpl46Xgdj6UfiLmuq8yjAi888BahGNdmTMqFZQ==}
+ peerDependencies:
+ '@tanstack/react-query': ^4.3.8
+ '@trpc/client': 10.5.0
+ '@trpc/react-query': ^10.0.0-proxy-beta.21
+ '@trpc/server': 10.5.0
+ next: '*'
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+ dependencies:
+ '@tanstack/react-query': 4.19.1(react-dom@18.2.0)(react-native@0.72.6)(react@18.2.0)
+ '@trpc/client': 10.5.0(@trpc/server@10.5.0)
+ '@trpc/react-query': 10.5.0(@tanstack/react-query@4.19.1)(@trpc/client@10.5.0)(@trpc/server@10.5.0)(react-dom@18.2.0)(react@18.2.0)
+ '@trpc/server': 10.5.0
+ next: 13.1.6(@babel/core@7.20.5)(react-dom@18.2.0)(react@18.2.0)
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-ssr-prepass: 1.5.0(react@18.2.0)
+ dev: false
+
+ /@trpc/react-query@10.5.0(@tanstack/react-query@4.19.1)(@trpc/client@10.5.0)(@trpc/server@10.5.0)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-MBjgssZBy1ZRZVRE4uvnVu7AGcdOhL47Y1NIPGd5WG5ZisNrV6imf7yZ62uNDemnekwTuJT/Lad9r14swvmvzQ==}
+ peerDependencies:
+ '@tanstack/react-query': ^4.3.8
+ '@trpc/client': 10.5.0
+ '@trpc/server': 10.5.0
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+ dependencies:
+ '@tanstack/react-query': 4.19.1(react-dom@18.2.0)(react-native@0.72.6)(react@18.2.0)
+ '@trpc/client': 10.5.0(@trpc/server@10.5.0)
+ '@trpc/server': 10.5.0
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@trpc/server@10.5.0:
+ resolution: {integrity: sha512-AJ4ckDpnN8xuqWBox68KDTFpG12ZxKkW7fi9XJ+TLtyyNyqOMVUvKH9070CdxhqBZjebTASryE+/6lntkDFQxA==}
+ dev: false
+
+ /@trysound/sax@0.2.0:
+ resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
+ engines: {node: '>=10.13.0'}
+ dev: false
+
+ /@types/body-parser@1.19.2:
+ resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==}
+ dependencies:
+ '@types/connect': 3.4.35
+ '@types/node': 18.11.18
+ dev: false
+
+ /@types/bonjour@3.5.13:
+ resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==}
+ dependencies:
+ '@types/node': 18.15.11
+ dev: false
+
+ /@types/connect-history-api-fallback@1.5.4:
+ resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==}
+ dependencies:
+ '@types/express-serve-static-core': 4.17.31
+ '@types/node': 18.15.11
+ dev: false
+
+ /@types/connect@3.4.35:
+ resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==}
+ dependencies:
+ '@types/node': 18.11.18
+ dev: false
+
+ /@types/cookies@0.7.7:
+ resolution: {integrity: sha512-h7BcvPUogWbKCzBR2lY4oqaZbO3jXZksexYJVFvkrFeLgbZjQkU4x8pRq6eg2MHXQhY0McQdqmmsxRWlVAHooA==}
+ dependencies:
+ '@types/connect': 3.4.35
+ '@types/express': 4.17.14
+ '@types/keygrip': 1.0.2
+ '@types/node': 18.11.18
+ dev: false
+
+ /@types/eslint-scope@3.7.7:
+ resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
+ dependencies:
+ '@types/eslint': 8.56.0
+ '@types/estree': 1.0.5
+ dev: false
+
+ /@types/eslint@8.56.0:
+ resolution: {integrity: sha512-FlsN0p4FhuYRjIxpbdXovvHQhtlG05O1GG/RNWvdAxTboR438IOTwmrY/vLA+Xfgg06BTkP045M3vpFwTMv1dg==}
+ dependencies:
+ '@types/estree': 1.0.5
+ '@types/json-schema': 7.0.11
+ dev: false
+
+ /@types/estree@1.0.5:
+ resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
+ dev: false
+
+ /@types/express-serve-static-core@4.17.31:
+ resolution: {integrity: sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==}
+ dependencies:
+ '@types/node': 18.11.18
+ '@types/qs': 6.9.7
+ '@types/range-parser': 1.2.4
+ dev: false
+
+ /@types/express@4.17.14:
+ resolution: {integrity: sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==}
+ dependencies:
+ '@types/body-parser': 1.19.2
+ '@types/express-serve-static-core': 4.17.31
+ '@types/qs': 6.9.7
+ '@types/serve-static': 1.15.0
+ dev: false
+
+ /@types/glob@7.2.0:
+ resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==}
+ dependencies:
+ '@types/minimatch': 5.1.2
+ '@types/node': 18.15.11
+ dev: false
+
+ /@types/hammerjs@2.0.45:
+ resolution: {integrity: sha512-qkcUlZmX6c4J8q45taBKTL3p+LbITgyx7qhlPYOdOHZB7B31K0mXbP5YA7i7SgDeEGuI9MnumiKPEMrxg8j3KQ==}
+ dev: false
+
+ /@types/hoist-non-react-statics@3.3.5:
+ resolution: {integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==}
+ dependencies:
+ '@types/react': 18.0.38
+ hoist-non-react-statics: 3.3.2
+ dev: false
+
+ /@types/html-minifier-terser@6.1.0:
+ resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==}
+ dev: false
+
+ /@types/http-proxy@1.17.14:
+ resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==}
+ dependencies:
+ '@types/node': 18.15.11
+ dev: false
+
+ /@types/istanbul-lib-coverage@2.0.4:
+ resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==}
+ dev: false
+
+ /@types/istanbul-lib-report@3.0.0:
+ resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==}
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.4
+ dev: false
+
+ /@types/istanbul-reports@3.0.1:
+ resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==}
+ dependencies:
+ '@types/istanbul-lib-report': 3.0.0
+ dev: false
+
+ /@types/json-schema@7.0.11:
+ resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==}
+ dev: false
+
+ /@types/json5@0.0.29:
+ resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
+ dev: true
+
+ /@types/keygrip@1.0.2:
+ resolution: {integrity: sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==}
+ dev: false
+
+ /@types/keyv@3.1.4:
+ resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
+ dependencies:
+ '@types/node': 18.15.11
+ dev: false
+
+ /@types/mime@3.0.1:
+ resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==}
+ dev: false
+
+ /@types/minimatch@5.1.2:
+ resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==}
+ dev: false
+
+ /@types/node-fetch@2.6.2:
+ resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==}
+ dependencies:
+ '@types/node': 18.11.18
+ form-data: 3.0.1
+ dev: false
+
+ /@types/node-forge@1.3.10:
+ resolution: {integrity: sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw==}
+ dependencies:
+ '@types/node': 18.15.11
+ dev: false
+
+ /@types/node@12.20.55:
+ resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==}
+ dev: false
+
+ /@types/node@16.18.6:
+ resolution: {integrity: sha512-vmYJF0REqDyyU0gviezF/KHq/fYaUbFhkcNbQCuPGFQj6VTbXuHZoxs/Y7mutWe73C8AC6l9fFu8mSYiBAqkGA==}
+ dev: false
+
+ /@types/node@18.11.13:
+ resolution: {integrity: sha512-IASpMGVcWpUsx5xBOrxMj7Bl8lqfuTY7FKAnPmu5cHkfQVWF8GulWS1jbRqA934qZL35xh5xN/+Xe/i26Bod4w==}
+
+ /@types/node@18.11.18:
+ resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==}
+ dev: false
+
+ /@types/node@18.15.11:
+ resolution: {integrity: sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==}
+ dev: false
+
+ /@types/parse-json@4.0.0:
+ resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==}
+ dev: false
+
+ /@types/prop-types@15.7.5:
+ resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==}
+
+ /@types/qs@6.9.7:
+ resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==}
+ dev: false
+
+ /@types/range-parser@1.2.4:
+ resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==}
+ dev: false
+
+ /@types/react-dom@18.0.9:
+ resolution: {integrity: sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==}
+ dependencies:
+ '@types/react': 18.0.26
+ dev: true
+
+ /@types/react-native@0.70.8:
+ resolution: {integrity: sha512-jvs5QMOrlyi0ScfT5Brha2roDoOWtbIOadNkp0jsueVen5+pH4SQAYtzL6xu0+dIcx3J/5LtZ/JYby2C1/zUug==}
+ dependencies:
+ '@types/react': 18.0.38
+ dev: true
+
+ /@types/react@18.0.26:
+ resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==}
+ dependencies:
+ '@types/prop-types': 15.7.5
+ '@types/scheduler': 0.16.2
+ csstype: 3.1.1
+ dev: true
+
+ /@types/react@18.0.38:
+ resolution: {integrity: sha512-ExsidLLSzYj4cvaQjGnQCk4HFfVT9+EZ9XZsQ8Hsrcn8QNgXtpZ3m9vSIC2MWtx7jHictK6wYhQgGh6ic58oOw==}
+ dependencies:
+ '@types/prop-types': 15.7.5
+ '@types/scheduler': 0.16.2
+ csstype: 3.1.1
+
+ /@types/responselike@1.0.0:
+ resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==}
+ dependencies:
+ '@types/node': 18.15.11
+ dev: false
+
+ /@types/retry@0.12.0:
+ resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==}
+ dev: false
+
+ /@types/scheduler@0.16.2:
+ resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==}
+
+ /@types/semver@6.2.3:
+ resolution: {integrity: sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A==}
+ dev: false
+
+ /@types/semver@7.3.13:
+ resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==}
+ dev: false
+
+ /@types/serve-index@1.9.4:
+ resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==}
+ dependencies:
+ '@types/express': 4.17.14
+ dev: false
+
+ /@types/serve-static@1.15.0:
+ resolution: {integrity: sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==}
+ dependencies:
+ '@types/mime': 3.0.1
+ '@types/node': 18.11.18
+ dev: false
+
+ /@types/sockjs@0.3.36:
+ resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==}
+ dependencies:
+ '@types/node': 18.15.11
+ dev: false
+
+ /@types/stack-utils@2.0.3:
+ resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
+ dev: false
+
+ /@types/uuid@8.3.4:
+ resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==}
+ dev: false
+
+ /@types/ws@8.5.10:
+ resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==}
+ dependencies:
+ '@types/node': 18.15.11
+ dev: false
+
+ /@types/yargs-parser@21.0.0:
+ resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==}
+ dev: false
+
+ /@types/yargs@15.0.14:
+ resolution: {integrity: sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==}
+ dependencies:
+ '@types/yargs-parser': 21.0.0
+ dev: false
+
+ /@types/yargs@16.0.4:
+ resolution: {integrity: sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==}
+ dependencies:
+ '@types/yargs-parser': 21.0.0
+ dev: false
+
+ /@types/yargs@17.0.17:
+ resolution: {integrity: sha512-72bWxFKTK6uwWJAVT+3rF6Jo6RTojiJ27FQo8Rf60AL+VZbzoVPnMFhKsUnbjR8A3BTCYQ7Mv3hnl8T0A+CX9g==}
+ dependencies:
+ '@types/yargs-parser': 21.0.0
+ dev: false
+
+ /@typescript-eslint/eslint-plugin@5.57.1(@typescript-eslint/parser@5.57.1)(eslint@8.29.0)(typescript@4.9.4):
+ resolution: {integrity: sha512-1MeobQkQ9tztuleT3v72XmY0XuKXVXusAhryoLuU5YZ+mXoYKZP9SQ7Flulh1NX4DTjpGTc2b/eMu4u7M7dhnQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^5.0.0
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@eslint-community/regexpp': 4.5.0
+ '@typescript-eslint/parser': 5.57.1(eslint@8.29.0)(typescript@4.9.4)
+ '@typescript-eslint/scope-manager': 5.57.1
+ '@typescript-eslint/type-utils': 5.57.1(eslint@8.29.0)(typescript@4.9.4)
+ '@typescript-eslint/utils': 5.57.1(eslint@8.29.0)(typescript@4.9.4)
+ debug: 4.3.4
+ eslint: 8.29.0
+ grapheme-splitter: 1.0.4
+ ignore: 5.2.4
+ natural-compare-lite: 1.4.0
+ semver: 7.3.8
+ tsutils: 3.21.0(typescript@4.9.4)
+ typescript: 4.9.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@typescript-eslint/parser@5.50.0(eslint@8.29.0)(typescript@4.9.4):
+ resolution: {integrity: sha512-KCcSyNaogUDftK2G9RXfQyOCt51uB5yqC6pkUYqhYh8Kgt+DwR5M0EwEAxGPy/+DH6hnmKeGsNhiZRQxjH71uQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/scope-manager': 5.50.0
+ '@typescript-eslint/types': 5.50.0
+ '@typescript-eslint/typescript-estree': 5.50.0(typescript@4.9.4)
+ debug: 4.3.4
+ eslint: 8.29.0
+ typescript: 4.9.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/parser@5.57.1(eslint@8.29.0)(typescript@4.9.4):
+ resolution: {integrity: sha512-hlA0BLeVSA/wBPKdPGxoVr9Pp6GutGoY380FEhbVi0Ph4WNe8kLvqIRx76RSQt1lynZKfrXKs0/XeEk4zZycuA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/scope-manager': 5.57.1
+ '@typescript-eslint/types': 5.57.1
+ '@typescript-eslint/typescript-estree': 5.57.1(typescript@4.9.4)
+ debug: 4.3.4
+ eslint: 8.29.0
+ typescript: 4.9.4
+ transitivePeerDependencies:
+ - supports-color
+
+ /@typescript-eslint/scope-manager@5.50.0:
+ resolution: {integrity: sha512-rt03kaX+iZrhssaT974BCmoUikYtZI24Vp/kwTSy841XhiYShlqoshRFDvN1FKKvU2S3gK+kcBW1EA7kNUrogg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ '@typescript-eslint/types': 5.50.0
+ '@typescript-eslint/visitor-keys': 5.50.0
+ dev: true
+
+ /@typescript-eslint/scope-manager@5.57.1:
+ resolution: {integrity: sha512-N/RrBwEUKMIYxSKl0oDK5sFVHd6VI7p9K5MyUlVYAY6dyNb/wHUqndkTd3XhpGlXgnQsBkRZuu4f9kAHghvgPw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ '@typescript-eslint/types': 5.57.1
+ '@typescript-eslint/visitor-keys': 5.57.1
+
+ /@typescript-eslint/type-utils@5.57.1(eslint@8.29.0)(typescript@4.9.4):
+ resolution: {integrity: sha512-/RIPQyx60Pt6ga86hKXesXkJ2WOS4UemFrmmq/7eOyiYjYv/MUSHPlkhU6k9T9W1ytnTJueqASW+wOmW4KrViw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '*'
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/typescript-estree': 5.57.1(typescript@4.9.4)
+ '@typescript-eslint/utils': 5.57.1(eslint@8.29.0)(typescript@4.9.4)
+ debug: 4.3.4
+ eslint: 8.29.0
+ tsutils: 3.21.0(typescript@4.9.4)
+ typescript: 4.9.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@typescript-eslint/types@5.50.0:
+ resolution: {integrity: sha512-atruOuJpir4OtyNdKahiHZobPKFvZnBnfDiyEaBf6d9vy9visE7gDjlmhl+y29uxZ2ZDgvXijcungGFjGGex7w==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
+ /@typescript-eslint/types@5.57.1:
+ resolution: {integrity: sha512-bSs4LOgyV3bJ08F5RDqO2KXqg3WAdwHCu06zOqcQ6vqbTJizyBhuh1o1ImC69X4bV2g1OJxbH71PJqiO7Y1RuA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ /@typescript-eslint/typescript-estree@5.50.0(typescript@4.9.4):
+ resolution: {integrity: sha512-Gq4zapso+OtIZlv8YNAStFtT6d05zyVCK7Fx3h5inlLBx2hWuc/0465C2mg/EQDDU2LKe52+/jN4f0g9bd+kow==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/types': 5.50.0
+ '@typescript-eslint/visitor-keys': 5.50.0
+ debug: 4.3.4
+ globby: 11.1.0
+ is-glob: 4.0.3
+ semver: 7.3.8
+ tsutils: 3.21.0(typescript@4.9.4)
+ typescript: 4.9.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/typescript-estree@5.57.1(typescript@4.9.4):
+ resolution: {integrity: sha512-A2MZqD8gNT0qHKbk2wRspg7cHbCDCk2tcqt6ScCFLr5Ru8cn+TCfM786DjPhqwseiS+PrYwcXht5ztpEQ6TFTw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/types': 5.57.1
+ '@typescript-eslint/visitor-keys': 5.57.1
+ debug: 4.3.4
+ globby: 11.1.0
+ is-glob: 4.0.3
+ semver: 7.3.8
+ tsutils: 3.21.0(typescript@4.9.4)
+ typescript: 4.9.4
+ transitivePeerDependencies:
+ - supports-color
+
+ /@typescript-eslint/utils@5.57.1(eslint@8.29.0)(typescript@4.9.4):
+ resolution: {integrity: sha512-kN6vzzf9NkEtawECqze6v99LtmDiUJCVpvieTFA1uL7/jDghiJGubGZ5csicYHU1Xoqb3oH/R5cN5df6W41Nfg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.29.0)
+ '@types/json-schema': 7.0.11
+ '@types/semver': 7.3.13
+ '@typescript-eslint/scope-manager': 5.57.1
+ '@typescript-eslint/types': 5.57.1
+ '@typescript-eslint/typescript-estree': 5.57.1(typescript@4.9.4)
+ eslint: 8.29.0
+ eslint-scope: 5.1.1
+ semver: 7.3.8
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: false
+
+ /@typescript-eslint/visitor-keys@5.50.0:
+ resolution: {integrity: sha512-cdMeD9HGu6EXIeGOh2yVW6oGf9wq8asBgZx7nsR/D36gTfQ0odE5kcRYe5M81vjEFAcPeugXrHg78Imu55F6gg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ '@typescript-eslint/types': 5.50.0
+ eslint-visitor-keys: 3.4.0
+ dev: true
+
+ /@typescript-eslint/visitor-keys@5.57.1:
+ resolution: {integrity: sha512-RjQrAniDU0CEk5r7iphkm731zKlFiUjvcBS2yHAg8WWqFMCaCrD0rKEVOMUyMMcbGPZ0bPp56srkGWrgfZqLRA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ '@typescript-eslint/types': 5.57.1
+ eslint-visitor-keys: 3.4.0
+
+ /@urql/core@2.3.6(graphql@15.8.0):
+ resolution: {integrity: sha512-PUxhtBh7/8167HJK6WqBv6Z0piuiaZHQGYbhwpNL9aIQmLROPEdaUYkY4wh45wPQXcTpnd11l0q3Pw+TI11pdw==}
+ peerDependencies:
+ graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ dependencies:
+ '@graphql-typed-document-node/core': 3.1.1(graphql@15.8.0)
+ graphql: 15.8.0
+ wonka: 4.0.15
+ dev: false
+
+ /@urql/exchange-retry@0.3.0(graphql@15.8.0):
+ resolution: {integrity: sha512-hHqer2mcdVC0eYnVNbWyi28AlGOPb2vjH3lP3/Bc8Lc8BjhMsDwFMm7WhoP5C1+cfbr/QJ6Er3H/L08wznXxfg==}
+ peerDependencies:
+ graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0
+ dependencies:
+ '@urql/core': 2.3.6(graphql@15.8.0)
+ graphql: 15.8.0
+ wonka: 4.0.15
+ dev: false
+
+ /@webassemblyjs/ast@1.11.6:
+ resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==}
+ dependencies:
+ '@webassemblyjs/helper-numbers': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ dev: false
+
+ /@webassemblyjs/floating-point-hex-parser@1.11.6:
+ resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==}
+ dev: false
+
+ /@webassemblyjs/helper-api-error@1.11.6:
+ resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==}
+ dev: false
+
+ /@webassemblyjs/helper-buffer@1.11.6:
+ resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==}
+ dev: false
+
+ /@webassemblyjs/helper-numbers@1.11.6:
+ resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==}
+ dependencies:
+ '@webassemblyjs/floating-point-hex-parser': 1.11.6
+ '@webassemblyjs/helper-api-error': 1.11.6
+ '@xtuc/long': 4.2.2
+ dev: false
+
+ /@webassemblyjs/helper-wasm-bytecode@1.11.6:
+ resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==}
+ dev: false
+
+ /@webassemblyjs/helper-wasm-section@1.11.6:
+ resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==}
+ dependencies:
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/helper-buffer': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/wasm-gen': 1.11.6
+ dev: false
+
+ /@webassemblyjs/ieee754@1.11.6:
+ resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==}
+ dependencies:
+ '@xtuc/ieee754': 1.2.0
+ dev: false
+
+ /@webassemblyjs/leb128@1.11.6:
+ resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==}
+ dependencies:
+ '@xtuc/long': 4.2.2
+ dev: false
+
+ /@webassemblyjs/utf8@1.11.6:
+ resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==}
+ dev: false
+
+ /@webassemblyjs/wasm-edit@1.11.6:
+ resolution: {integrity: sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==}
+ dependencies:
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/helper-buffer': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/helper-wasm-section': 1.11.6
+ '@webassemblyjs/wasm-gen': 1.11.6
+ '@webassemblyjs/wasm-opt': 1.11.6
+ '@webassemblyjs/wasm-parser': 1.11.6
+ '@webassemblyjs/wast-printer': 1.11.6
+ dev: false
+
+ /@webassemblyjs/wasm-gen@1.11.6:
+ resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==}
+ dependencies:
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/ieee754': 1.11.6
+ '@webassemblyjs/leb128': 1.11.6
+ '@webassemblyjs/utf8': 1.11.6
+ dev: false
+
+ /@webassemblyjs/wasm-opt@1.11.6:
+ resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==}
+ dependencies:
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/helper-buffer': 1.11.6
+ '@webassemblyjs/wasm-gen': 1.11.6
+ '@webassemblyjs/wasm-parser': 1.11.6
+ dev: false
+
+ /@webassemblyjs/wasm-parser@1.11.6:
+ resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==}
+ dependencies:
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/helper-api-error': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/ieee754': 1.11.6
+ '@webassemblyjs/leb128': 1.11.6
+ '@webassemblyjs/utf8': 1.11.6
+ dev: false
+
+ /@webassemblyjs/wast-printer@1.11.6:
+ resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==}
+ dependencies:
+ '@webassemblyjs/ast': 1.11.6
+ '@xtuc/long': 4.2.2
+ dev: false
+
+ /@xmldom/xmldom@0.7.9:
+ resolution: {integrity: sha512-yceMpm/xd4W2a85iqZyO09gTnHvXF6pyiWjD2jcOJs7hRoZtNNOO1eJlhHj1ixA+xip2hOyGn+LgcvLCMo5zXA==}
+ engines: {node: '>=10.0.0'}
+ dev: false
+
+ /@xtuc/ieee754@1.2.0:
+ resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
+ dev: false
+
+ /@xtuc/long@4.2.2:
+ resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
+ dev: false
+
+ /@zxcvbn-ts/core@2.2.1:
+ resolution: {integrity: sha512-Cg1JyRpCDIF+Dh3nauqygmmCYxogNVZDxSn+9PgkPD1HZ2QiJe4elruVJrGmYRS7muGmZ1hNJq8ySQdPv6GHaw==}
+ dependencies:
+ fastest-levenshtein: 1.0.16
+ dev: false
+
+ /@zxcvbn-ts/language-common@3.0.2:
+ resolution: {integrity: sha512-GPnf4cuSUZXhx3spjRQLtUoI6/+00f9198gcG8hJDBFR4KYfMvLorAk97MU7qeTkyhzhYLR7yLr/E66vH7ZOaw==}
+ dev: false
+
+ /abab@2.0.6:
+ resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==}
+ deprecated: Use your platform's native atob() and btoa() methods instead
+ dev: false
+
+ /abort-controller@3.0.0:
+ resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
+ engines: {node: '>=6.5'}
+ dependencies:
+ event-target-shim: 5.0.1
+ dev: false
+
+ /accepts@1.3.8:
+ resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-types: 2.1.35
+ negotiator: 0.6.3
+ dev: false
+
+ /acorn-import-assertions@1.9.0(acorn@8.8.2):
+ resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==}
+ peerDependencies:
+ acorn: ^8
+ dependencies:
+ acorn: 8.8.2
+ dev: false
+
+ /acorn-jsx@5.3.2(acorn@8.8.2):
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ acorn: 8.8.2
+
+ /acorn-node@1.8.2:
+ resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==}
+ dependencies:
+ acorn: 7.4.1
+ acorn-walk: 7.2.0
+ xtend: 4.0.2
+
+ /acorn-walk@7.2.0:
+ resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
+ engines: {node: '>=0.4.0'}
+
+ /acorn@7.4.1:
+ resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ /acorn@8.8.2:
+ resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ /agent-base@6.0.2:
+ resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
+ engines: {node: '>= 6.0.0'}
+ dependencies:
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /aggregate-error@3.1.0:
+ resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
+ engines: {node: '>=8'}
+ dependencies:
+ clean-stack: 2.2.0
+ indent-string: 4.0.0
+ dev: false
+
+ /ajv-formats@2.1.1(ajv@8.12.0):
+ resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
+ peerDependencies:
+ ajv: ^8.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+ dependencies:
+ ajv: 8.12.0
+ dev: false
+
+ /ajv-keywords@3.5.2(ajv@6.12.6):
+ resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
+ peerDependencies:
+ ajv: ^6.9.1
+ dependencies:
+ ajv: 6.12.6
+ dev: false
+
+ /ajv-keywords@5.1.0(ajv@8.12.0):
+ resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
+ peerDependencies:
+ ajv: ^8.8.2
+ dependencies:
+ ajv: 8.12.0
+ fast-deep-equal: 3.1.3
+ dev: false
+
+ /ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-json-stable-stringify: 2.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.4.1
+
+ /ajv@8.12.0:
+ resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==}
+ dependencies:
+ fast-deep-equal: 3.1.3
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+ uri-js: 4.4.1
+ dev: false
+
+ /anser@1.4.10:
+ resolution: {integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==}
+ dev: false
+
+ /ansi-escapes@3.2.0:
+ resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /ansi-escapes@4.3.2:
+ resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ type-fest: 0.21.3
+ dev: false
+
+ /ansi-fragments@0.2.1:
+ resolution: {integrity: sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==}
+ dependencies:
+ colorette: 1.4.0
+ slice-ansi: 2.1.0
+ strip-ansi: 5.2.0
+ dev: false
+
+ /ansi-html-community@0.0.8:
+ resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
+ engines: {'0': node >= 0.8.0}
+ hasBin: true
+ dev: false
+
+ /ansi-regex@4.1.1:
+ resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ /ansi-styles@3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
+ dependencies:
+ color-convert: 1.9.3
+
+ /ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+ dependencies:
+ color-convert: 2.0.1
+
+ /ansi-styles@5.2.0:
+ resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /any-promise@1.3.0:
+ resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
+ dev: false
+
+ /anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+
+ /appdirsjs@1.2.7:
+ resolution: {integrity: sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==}
+ dev: false
+
+ /application-config-path@0.1.1:
+ resolution: {integrity: sha512-zy9cHePtMP0YhwG+CfHm0bgwdnga2X3gZexpdCwEj//dpb+TKajtiC8REEUJUSq6Ab4f9cgNy2l8ObXzCXFkEw==}
+ dev: false
+
+ /arg@4.1.0:
+ resolution: {integrity: sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==}
+ dev: false
+
+ /arg@5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+
+ /argparse@1.0.10:
+ resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
+ dependencies:
+ sprintf-js: 1.0.3
+ dev: false
+
+ /argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
+ /argsarray@0.0.1:
+ resolution: {integrity: sha512-u96dg2GcAKtpTrBdDoFIM7PjcBA+6rSP0OR94MOReNRyUECL6MtQt5XXmRr4qrftYaef9+l5hcpO5te7sML1Cg==}
+ dev: false
+
+ /aria-hidden@1.2.2(@types/react@18.0.38)(react@18.2.0):
+ resolution: {integrity: sha512-6y/ogyDTk/7YAe91T3E2PR1ALVKyM2QbTio5HwM+N1Q6CMlCKhvClyIjkckBswa0f2xJhjsfzIGa1yVSe1UMVA==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0
+ react: ^16.9.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@types/react': 18.0.38
+ react: 18.2.0
+ tslib: 2.4.1
+ dev: false
+
+ /aria-query@4.2.2:
+ resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==}
+ engines: {node: '>=6.0'}
+ dependencies:
+ '@babel/runtime': 7.21.0
+ '@babel/runtime-corejs3': 7.20.6
+ dev: true
+
+ /array-flatten@1.1.1:
+ resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
+ dev: false
+
+ /array-flatten@2.1.2:
+ resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==}
+ dev: false
+
+ /array-includes@3.1.6:
+ resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ es-abstract: 1.20.5
+ get-intrinsic: 1.1.3
+ is-string: 1.0.7
+ dev: true
+
+ /array-union@1.0.2:
+ resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ array-uniq: 1.0.3
+ dev: false
+
+ /array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+
+ /array-union@3.0.1:
+ resolution: {integrity: sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==}
+ engines: {node: '>=12'}
+ dev: false
+
+ /array-uniq@1.0.3:
+ resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /array.prototype.flat@1.3.1:
+ resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ es-abstract: 1.20.5
+ es-shim-unscopables: 1.0.0
+ dev: true
+
+ /array.prototype.flatmap@1.3.1:
+ resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ es-abstract: 1.20.5
+ es-shim-unscopables: 1.0.0
+ dev: true
+
+ /array.prototype.tosorted@1.1.1:
+ resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ es-abstract: 1.20.5
+ es-shim-unscopables: 1.0.0
+ get-intrinsic: 1.1.3
+ dev: true
+
+ /asap@2.0.6:
+ resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
+ dev: false
+
+ /asn1js@3.0.5:
+ resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==}
+ engines: {node: '>=12.0.0'}
+ dependencies:
+ pvtsutils: 1.3.2
+ pvutils: 1.1.3
+ tslib: 2.4.1
+ dev: false
+
+ /ast-types-flow@0.0.7:
+ resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==}
+ dev: true
+
+ /ast-types@0.15.2:
+ resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==}
+ engines: {node: '>=4'}
+ dependencies:
+ tslib: 2.4.1
+ dev: false
+
+ /astral-regex@1.0.0:
+ resolution: {integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /async-limiter@1.0.1:
+ resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==}
+ dev: false
+
+ /async@3.2.4:
+ resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==}
+ dev: false
+
+ /asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+ dev: false
+
+ /at-least-node@1.0.0:
+ resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
+ engines: {node: '>= 4.0.0'}
+ dev: false
+
+ /autoprefixer@10.4.13(postcss@8.4.20):
+ resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ browserslist: 4.21.4
+ caniuse-lite: 1.0.30001439
+ fraction.js: 4.2.0
+ normalize-range: 0.1.2
+ picocolors: 1.0.0
+ postcss: 8.4.20
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /axe-core@4.5.2:
+ resolution: {integrity: sha512-u2MVsXfew5HBvjsczCv+xlwdNnB1oQR9HlAcsejZttNjKKSkeDNVwB1vMThIUIFI9GoT57Vtk8iQLwqOfAkboA==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /axios@1.6.3:
+ resolution: {integrity: sha512-fWyNdeawGam70jXSVlKl+SUNVcL6j6W79CuSIPfi6HnDUmSCH6gyUys/HrqHeA/wU0Az41rRgean494d0Jb+ww==}
+ dependencies:
+ follow-redirects: 1.15.3
+ form-data: 4.0.0
+ proxy-from-env: 1.1.0
+ transitivePeerDependencies:
+ - debug
+ dev: false
+
+ /axobject-query@2.2.0:
+ resolution: {integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==}
+ dev: true
+
+ /babel-core@7.0.0-bridge.0(@babel/core@7.20.5):
+ resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ dev: false
+
+ /babel-loader@8.3.0(@babel/core@7.20.5)(webpack@5.89.0):
+ resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==}
+ engines: {node: '>= 8.9'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ webpack: '>=2'
+ dependencies:
+ '@babel/core': 7.20.5
+ find-cache-dir: 3.3.2
+ loader-utils: 2.0.4
+ make-dir: 3.1.0
+ schema-utils: 2.7.1
+ webpack: 5.89.0(esbuild@0.19.11)
+ dev: false
+
+ /babel-plugin-macros@3.1.0:
+ resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
+ engines: {node: '>=10', npm: '>=6'}
+ dependencies:
+ '@babel/runtime': 7.21.0
+ cosmiconfig: 7.1.0
+ resolve: 1.22.1
+ dev: false
+
+ /babel-plugin-module-resolver@5.0.0:
+ resolution: {integrity: sha512-g0u+/ChLSJ5+PzYwLwP8Rp8Rcfowz58TJNCe+L/ui4rpzE/mg//JVX0EWBUYoxaextqnwuGHzfGp2hh0PPV25Q==}
+ engines: {node: '>= 16'}
+ dependencies:
+ find-babel-config: 2.0.0
+ glob: 8.1.0
+ pkg-up: 3.1.0
+ reselect: 4.1.8
+ resolve: 1.22.8
+ dev: false
+
+ /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.20.5):
+ resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.20.5
+ '@babel/core': 7.20.5
+ '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.20.5)
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.20.5):
+ resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.20.5)
+ core-js-compat: 3.26.1
+ transitivePeerDependencies:
+ - supports-color
+
+ /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.20.5):
+ resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.20.5)
+ transitivePeerDependencies:
+ - supports-color
+
+ /babel-plugin-react-native-web@0.18.10:
+ resolution: {integrity: sha512-2UiwS6G7XKJvpo0X5OFkzGjHGFuNx9J+DgEG8TEmm+X5S0z6EB59W11RDEZghdKzsQzVbs1jB+2VHBuVgjMTiw==}
+ dev: false
+
+ /babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0:
+ resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==}
+ dev: false
+
+ /babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.20.5):
+ resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==}
+ dependencies:
+ '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.20.5)
+ transitivePeerDependencies:
+ - '@babel/core'
+ dev: false
+
+ /babel-preset-expo@9.5.2(@babel/core@7.20.5):
+ resolution: {integrity: sha512-hU1G1TDiikuXV6UDZjPnX+WdbjbtidDiYhftMEVrZQSst45pDPVBWbM41TUKrpJMwv4FypsLzK+378gnMPRVWQ==}
+ dependencies:
+ '@babel/plugin-proposal-decorators': 7.20.5(@babel/core@7.20.5)
+ '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.20.5)
+ '@babel/plugin-proposal-object-rest-spread': 7.20.2(@babel/core@7.20.5)
+ '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.20.5)
+ '@babel/preset-env': 7.20.2(@babel/core@7.20.5)
+ babel-plugin-module-resolver: 5.0.0
+ babel-plugin-react-native-web: 0.18.10
+ metro-react-native-babel-preset: 0.76.8(@babel/core@7.20.5)
+ transitivePeerDependencies:
+ - '@babel/core'
+ - supports-color
+ dev: false
+
+ /babel-preset-fbjs@3.4.0(@babel/core@7.20.5):
+ resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-proposal-object-rest-spread': 7.20.2(@babel/core@7.20.5)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.20.5)
+ '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.20.5)
+ '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.20.5)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.20.5)
+ '@babel/plugin-transform-arrow-functions': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-block-scoping': 7.20.5(@babel/core@7.20.5)
+ '@babel/plugin-transform-classes': 7.20.2(@babel/core@7.20.5)
+ '@babel/plugin-transform-computed-properties': 7.18.9(@babel/core@7.20.5)
+ '@babel/plugin-transform-destructuring': 7.20.2(@babel/core@7.20.5)
+ '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.20.5)
+ '@babel/plugin-transform-for-of': 7.18.8(@babel/core@7.20.5)
+ '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.20.5)
+ '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.20.5)
+ '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-modules-commonjs': 7.19.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.20.5)
+ '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.20.5)
+ '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.20.5)
+ '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-spread': 7.19.0(@babel/core@7.20.5)
+ '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.20.5)
+ babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ /base-64@1.0.0:
+ resolution: {integrity: sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==}
+ dev: false
+
+ /base64-js@1.5.1:
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+ dev: false
+
+ /batch@0.6.1:
+ resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==}
+ dev: false
+
+ /better-opn@3.0.2:
+ resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==}
+ engines: {node: '>=12.0.0'}
+ dependencies:
+ open: 8.4.0
+ dev: false
+
+ /big-integer@1.6.51:
+ resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==}
+ engines: {node: '>=0.6'}
+ dev: false
+
+ /big.js@5.2.2:
+ resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
+ dev: false
+
+ /binary-extensions@2.2.0:
+ resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
+ engines: {node: '>=8'}
+
+ /bl@4.1.0:
+ resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
+ dependencies:
+ buffer: 5.7.1
+ inherits: 2.0.4
+ readable-stream: 3.6.0
+ dev: false
+
+ /blueimp-md5@2.19.0:
+ resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==}
+ dev: false
+
+ /body-parser@1.20.1:
+ resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+ dependencies:
+ bytes: 3.1.2
+ content-type: 1.0.4
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ on-finished: 2.4.1
+ qs: 6.11.0
+ raw-body: 2.5.1
+ type-is: 1.6.18
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /bonjour-service@1.1.1:
+ resolution: {integrity: sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==}
+ dependencies:
+ array-flatten: 2.1.2
+ dns-equal: 1.0.0
+ fast-deep-equal: 3.1.3
+ multicast-dns: 7.2.5
+ dev: false
+
+ /boolbase@1.0.0:
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+ dev: false
+
+ /bplist-creator@0.1.0:
+ resolution: {integrity: sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==}
+ dependencies:
+ stream-buffers: 2.2.0
+ dev: false
+
+ /bplist-parser@0.3.1:
+ resolution: {integrity: sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==}
+ engines: {node: '>= 5.10.0'}
+ dependencies:
+ big-integer: 1.6.51
+ dev: false
+
+ /bplist-parser@0.3.2:
+ resolution: {integrity: sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==}
+ engines: {node: '>= 5.10.0'}
+ dependencies:
+ big-integer: 1.6.51
+ dev: false
+
+ /brace-expansion@1.1.11:
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+
+ /brace-expansion@2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ dependencies:
+ balanced-match: 1.0.2
+
+ /braces@3.0.2:
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
+ engines: {node: '>=8'}
+ dependencies:
+ fill-range: 7.0.1
+
+ /browser-tabs-lock@1.2.15:
+ resolution: {integrity: sha512-J8K9vdivK0Di+b8SBdE7EZxDr88TnATing7XoLw6+nFkXMQ6sVBh92K3NQvZlZU91AIkFRi0w3sztk5Z+vsswA==}
+ requiresBuild: true
+ dependencies:
+ lodash: 4.17.21
+ dev: false
+
+ /browserslist@4.21.4:
+ resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001439
+ electron-to-chromium: 1.4.284
+ node-releases: 2.0.6
+ update-browserslist-db: 1.0.10(browserslist@4.21.4)
+
+ /bser@2.1.1:
+ resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
+ dependencies:
+ node-int64: 0.4.0
+ dev: false
+
+ /buffer-alloc-unsafe@1.1.0:
+ resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==}
+ dev: false
+
+ /buffer-alloc@1.2.0:
+ resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==}
+ dependencies:
+ buffer-alloc-unsafe: 1.1.0
+ buffer-fill: 1.0.0
+ dev: false
+
+ /buffer-fill@1.0.0:
+ resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==}
+ dev: false
+
+ /buffer-from@1.1.2:
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+
+ /buffer@5.7.1:
+ resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+ dev: false
+
+ /builtins@1.0.3:
+ resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==}
+ dev: false
+
+ /bytes@3.0.0:
+ resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ /bytes@3.1.2:
+ resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ /cacache@15.3.0:
+ resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==}
+ engines: {node: '>= 10'}
+ dependencies:
+ '@npmcli/fs': 1.1.1
+ '@npmcli/move-file': 1.1.2
+ chownr: 2.0.0
+ fs-minipass: 2.1.0
+ glob: 7.2.3
+ infer-owner: 1.0.4
+ lru-cache: 6.0.0
+ minipass: 3.3.6
+ minipass-collect: 1.0.2
+ minipass-flush: 1.0.5
+ minipass-pipeline: 1.2.4
+ mkdirp: 1.0.4
+ p-map: 4.0.0
+ promise-inflight: 1.0.1
+ rimraf: 3.0.2
+ ssri: 8.0.1
+ tar: 6.1.13
+ unique-filename: 1.1.1
+ transitivePeerDependencies:
+ - bluebird
+ dev: false
+
+ /cacheable-request@6.1.0:
+ resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==}
+ engines: {node: '>=8'}
+ dependencies:
+ clone-response: 1.0.3
+ get-stream: 5.2.0
+ http-cache-semantics: 4.1.1
+ keyv: 3.1.0
+ lowercase-keys: 2.0.0
+ normalize-url: 4.5.1
+ responselike: 1.0.2
+ dev: false
+
+ /call-bind@1.0.2:
+ resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
+ dependencies:
+ function-bind: 1.1.1
+ get-intrinsic: 1.1.3
+
+ /caller-callsite@2.0.0:
+ resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ callsites: 2.0.0
+ dev: false
+
+ /caller-path@2.0.0:
+ resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==}
+ engines: {node: '>=4'}
+ dependencies:
+ caller-callsite: 2.0.0
+ dev: false
+
+ /callsites@2.0.0:
+ resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+
+ /camel-case@4.1.2:
+ resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
+ dependencies:
+ pascal-case: 3.1.2
+ tslib: 2.4.1
+ dev: false
+
+ /camelcase-css@2.0.1:
+ resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
+ engines: {node: '>= 6'}
+
+ /camelcase-keys@6.2.2:
+ resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==}
+ engines: {node: '>=8'}
+ dependencies:
+ camelcase: 5.3.1
+ map-obj: 4.3.0
+ quick-lru: 4.0.1
+ dev: false
+
+ /camelcase@5.3.1:
+ resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /camelcase@6.3.0:
+ resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /camelcase@7.0.1:
+ resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==}
+ engines: {node: '>=14.16'}
+ dev: true
+
+ /camelize@1.0.1:
+ resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==}
+ dev: false
+
+ /caniuse-api@3.0.0:
+ resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
+ dependencies:
+ browserslist: 4.21.4
+ caniuse-lite: 1.0.30001439
+ lodash.memoize: 4.1.2
+ lodash.uniq: 4.5.0
+ dev: false
+
+ /caniuse-lite@1.0.30001439:
+ resolution: {integrity: sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==}
+
+ /chalk@2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+
+ /chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+
+ /chalk@5.3.0:
+ resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+ dev: true
+
+ /charenc@0.0.2:
+ resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==}
+ dev: false
+
+ /chokidar@3.5.3:
+ resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
+ engines: {node: '>= 8.10.0'}
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.2
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.2
+
+ /chownr@2.0.0:
+ resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /chrome-trace-event@1.0.3:
+ resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==}
+ engines: {node: '>=6.0'}
+ dev: false
+
+ /ci-info@2.0.0:
+ resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==}
+ dev: false
+
+ /ci-info@3.7.0:
+ resolution: {integrity: sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /class-variance-authority@0.7.0:
+ resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==}
+ dependencies:
+ clsx: 2.0.0
+ dev: false
+
+ /clean-css@5.3.3:
+ resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==}
+ engines: {node: '>= 10.0'}
+ dependencies:
+ source-map: 0.6.1
+ dev: false
+
+ /clean-stack@2.2.0:
+ resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /clean-webpack-plugin@4.0.0(webpack@5.89.0):
+ resolution: {integrity: sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ webpack: '>=4.0.0 <6.0.0'
+ dependencies:
+ del: 4.1.1
+ webpack: 5.89.0(esbuild@0.19.11)
+ dev: false
+
+ /cli-color@2.0.3:
+ resolution: {integrity: sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==}
+ engines: {node: '>=0.10'}
+ dependencies:
+ d: 1.0.1
+ es5-ext: 0.10.62
+ es6-iterator: 2.0.3
+ memoizee: 0.4.15
+ timers-ext: 0.1.7
+ dev: true
+
+ /cli-cursor@2.1.0:
+ resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==}
+ engines: {node: '>=4'}
+ dependencies:
+ restore-cursor: 2.0.0
+ dev: false
+
+ /cli-cursor@3.1.0:
+ resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
+ engines: {node: '>=8'}
+ dependencies:
+ restore-cursor: 3.1.0
+ dev: false
+
+ /cli-spinners@2.7.0:
+ resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /client-only@0.0.1:
+ resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
+ dev: false
+
+ /cliui@6.0.0:
+ resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 6.2.0
+ dev: false
+
+ /cliui@8.0.1:
+ resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
+ dev: false
+
+ /clone-deep@4.0.1:
+ resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ is-plain-object: 2.0.4
+ kind-of: 6.0.3
+ shallow-clone: 3.0.1
+ dev: false
+
+ /clone-response@1.0.3:
+ resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==}
+ dependencies:
+ mimic-response: 1.0.1
+ dev: false
+
+ /clone@1.0.4:
+ resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
+ engines: {node: '>=0.8'}
+ dev: false
+
+ /clone@2.1.2:
+ resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==}
+ engines: {node: '>=0.8'}
+ dev: false
+
+ /clsx@2.0.0:
+ resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /color-convert@1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+ dependencies:
+ color-name: 1.1.3
+
+ /color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+ dependencies:
+ color-name: 1.1.4
+
+ /color-name@1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+
+ /color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ /color-string@1.9.1:
+ resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
+ dependencies:
+ color-name: 1.1.4
+ simple-swizzle: 0.2.2
+ dev: false
+
+ /color@4.2.3:
+ resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
+ engines: {node: '>=12.5.0'}
+ dependencies:
+ color-convert: 2.0.1
+ color-string: 1.9.1
+ dev: false
+
+ /colord@2.9.3:
+ resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
+ dev: false
+
+ /colorette@1.4.0:
+ resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==}
+ dev: false
+
+ /colorette@2.0.20:
+ resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
+ dev: false
+
+ /combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ delayed-stream: 1.0.0
+ dev: false
+
+ /command-exists@1.2.9:
+ resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==}
+ dev: false
+
+ /commander@2.13.0:
+ resolution: {integrity: sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==}
+ dev: false
+
+ /commander@2.20.0:
+ resolution: {integrity: sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==}
+ dev: false
+
+ /commander@2.20.3:
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+ dev: false
+
+ /commander@4.1.1:
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
+ engines: {node: '>= 6'}
+ dev: false
+
+ /commander@7.2.0:
+ resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
+ engines: {node: '>= 10'}
+ dev: false
+
+ /commander@8.3.0:
+ resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
+ engines: {node: '>= 12'}
+ dev: false
+
+ /commander@9.4.1:
+ resolution: {integrity: sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==}
+ engines: {node: ^12.20.0 || >=14}
+
+ /commondir@1.0.1:
+ resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
+ dev: false
+
+ /compare-urls@2.0.0:
+ resolution: {integrity: sha512-eCJcWn2OYFEIqbm70ta7LQowJOOZZqq1a2YbbFCFI1uwSvj+TWMwXVn7vPR1ceFNcAIt5RSTDbwdlX82gYLTkA==}
+ engines: {node: '>=6'}
+ dependencies:
+ normalize-url: 2.0.1
+ dev: false
+
+ /compare-versions@3.6.0:
+ resolution: {integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==}
+ dev: false
+
+ /component-type@1.2.1:
+ resolution: {integrity: sha512-Kgy+2+Uwr75vAi6ChWXgHuLvd+QLD7ssgpaRq2zCvt80ptvAfMc/hijcJxXkBa2wMlEZcJvC2H8Ubo+A9ATHIg==}
+ dev: false
+
+ /compressible@2.0.18:
+ resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-db: 1.52.0
+ dev: false
+
+ /compression@1.7.4:
+ resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ accepts: 1.3.8
+ bytes: 3.0.0
+ compressible: 2.0.18
+ debug: 2.6.9
+ on-headers: 1.0.2
+ safe-buffer: 5.1.2
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
+ /connect-history-api-fallback@2.0.0:
+ resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==}
+ engines: {node: '>=0.8'}
+ dev: false
+
+ /connect@3.7.0:
+ resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==}
+ engines: {node: '>= 0.10.0'}
+ dependencies:
+ debug: 2.6.9
+ finalhandler: 1.1.2
+ parseurl: 1.3.3
+ utils-merge: 1.0.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /content-disposition@0.5.4:
+ resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: false
+
+ /content-type@1.0.4:
+ resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==}
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ /convert-source-map@1.9.0:
+ resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+
+ /convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+ dev: false
+
+ /cookie-signature@1.0.6:
+ resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
+ dev: false
+
+ /cookie@0.5.0:
+ resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ /copy-anything@3.0.3:
+ resolution: {integrity: sha512-fpW2W/BqEzqPp29QS+MwwfisHCQZtiduTe/m8idFo0xbti9fIZ2WVhAsCv4ggFVH3AgCkVdpoOCtQC6gBrdhjw==}
+ engines: {node: '>=12.13'}
+ dependencies:
+ is-what: 4.1.8
+
+ /copy-to-clipboard@3.3.3:
+ resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==}
+ dependencies:
+ toggle-selection: 1.0.6
+ dev: false
+
+ /copy-webpack-plugin@10.2.4(webpack@5.89.0):
+ resolution: {integrity: sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==}
+ engines: {node: '>= 12.20.0'}
+ peerDependencies:
+ webpack: ^5.1.0
+ dependencies:
+ fast-glob: 3.2.12
+ glob-parent: 6.0.2
+ globby: 12.2.0
+ normalize-path: 3.0.0
+ schema-utils: 4.2.0
+ serialize-javascript: 6.0.1
+ webpack: 5.89.0(esbuild@0.19.11)
+ dev: false
+
+ /core-js-compat@3.26.1:
+ resolution: {integrity: sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A==}
+ dependencies:
+ browserslist: 4.21.4
+
+ /core-js-pure@3.26.1:
+ resolution: {integrity: sha512-VVXcDpp/xJ21KdULRq/lXdLzQAtX7+37LzpyfFM973il0tWSsDEoyzG38G14AjTpK9VTfiNM9jnFauq/CpaWGQ==}
+ requiresBuild: true
+ dev: true
+
+ /core-js@3.26.1:
+ resolution: {integrity: sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==}
+ requiresBuild: true
+ dev: false
+
+ /core-util-is@1.0.3:
+ resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+ dev: false
+
+ /cosmiconfig@5.2.1:
+ resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==}
+ engines: {node: '>=4'}
+ dependencies:
+ import-fresh: 2.0.0
+ is-directory: 0.3.1
+ js-yaml: 3.14.1
+ parse-json: 4.0.0
+ dev: false
+
+ /cosmiconfig@7.1.0:
+ resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
+ engines: {node: '>=10'}
+ dependencies:
+ '@types/parse-json': 4.0.0
+ import-fresh: 3.3.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ yaml: 1.10.2
+ dev: false
+
+ /cross-fetch@3.1.5:
+ resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==}
+ dependencies:
+ node-fetch: 2.6.7
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /cross-spawn@5.1.0:
+ resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==}
+ dependencies:
+ lru-cache: 4.1.5
+ shebang-command: 1.2.0
+ which: 1.3.1
+ dev: false
+
+ /cross-spawn@6.0.5:
+ resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==}
+ engines: {node: '>=4.8'}
+ dependencies:
+ nice-try: 1.0.5
+ path-key: 2.0.1
+ semver: 5.7.1
+ shebang-command: 1.2.0
+ which: 1.3.1
+ dev: false
+
+ /cross-spawn@7.0.3:
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ engines: {node: '>= 8'}
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+
+ /crypt@0.0.2:
+ resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==}
+ dev: false
+
+ /crypto-random-string@1.0.0:
+ resolution: {integrity: sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /crypto-random-string@2.0.0:
+ resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /css-color-keywords@1.0.0:
+ resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /css-declaration-sorter@6.4.1(postcss@8.4.32):
+ resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==}
+ engines: {node: ^10 || ^12 || >=14}
+ peerDependencies:
+ postcss: ^8.0.9
+ dependencies:
+ postcss: 8.4.32
+ dev: false
+
+ /css-in-js-utils@3.1.0:
+ resolution: {integrity: sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==}
+ dependencies:
+ hyphenate-style-name: 1.0.4
+ dev: false
+
+ /css-loader@6.8.1(webpack@5.89.0):
+ resolution: {integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^5.0.0
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.32)
+ postcss: 8.4.32
+ postcss-modules-extract-imports: 3.0.0(postcss@8.4.32)
+ postcss-modules-local-by-default: 4.0.3(postcss@8.4.32)
+ postcss-modules-scope: 3.1.0(postcss@8.4.32)
+ postcss-modules-values: 4.0.0(postcss@8.4.32)
+ postcss-value-parser: 4.2.0
+ semver: 7.5.4
+ webpack: 5.89.0(esbuild@0.19.11)
+ dev: false
+
+ /css-mediaquery@0.1.2:
+ resolution: {integrity: sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==}
+ dev: false
+
+ /css-minimizer-webpack-plugin@3.4.1(esbuild@0.19.11)(webpack@5.89.0):
+ resolution: {integrity: sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ '@parcel/css': '*'
+ clean-css: '*'
+ csso: '*'
+ esbuild: '*'
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ '@parcel/css':
+ optional: true
+ clean-css:
+ optional: true
+ csso:
+ optional: true
+ esbuild:
+ optional: true
+ dependencies:
+ cssnano: 5.1.15(postcss@8.4.32)
+ esbuild: 0.19.11
+ jest-worker: 27.5.1
+ postcss: 8.4.32
+ schema-utils: 4.2.0
+ serialize-javascript: 6.0.1
+ source-map: 0.6.1
+ webpack: 5.89.0(esbuild@0.19.11)
+ dev: false
+
+ /css-select@4.3.0:
+ resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
+ dependencies:
+ boolbase: 1.0.0
+ css-what: 6.1.0
+ domhandler: 4.3.1
+ domutils: 2.8.0
+ nth-check: 2.1.1
+ dev: false
+
+ /css-to-react-native@3.0.0:
+ resolution: {integrity: sha512-Ro1yETZA813eoyUp2GDBhG2j+YggidUmzO1/v9eYBKR2EHVEniE2MI/NqpTQ954BMpTPZFsGNPm46qFB9dpaPQ==}
+ dependencies:
+ camelize: 1.0.1
+ css-color-keywords: 1.0.0
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /css-tree@1.1.3:
+ resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ mdn-data: 2.0.14
+ source-map: 0.6.1
+ dev: false
+
+ /css-what@6.1.0:
+ resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
+ engines: {node: '>= 6'}
+ dev: false
+
+ /cssesc@3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ /cssnano-preset-default@5.2.14(postcss@8.4.32):
+ resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ css-declaration-sorter: 6.4.1(postcss@8.4.32)
+ cssnano-utils: 3.1.0(postcss@8.4.32)
+ postcss: 8.4.32
+ postcss-calc: 8.2.4(postcss@8.4.32)
+ postcss-colormin: 5.3.1(postcss@8.4.32)
+ postcss-convert-values: 5.1.3(postcss@8.4.32)
+ postcss-discard-comments: 5.1.2(postcss@8.4.32)
+ postcss-discard-duplicates: 5.1.0(postcss@8.4.32)
+ postcss-discard-empty: 5.1.1(postcss@8.4.32)
+ postcss-discard-overridden: 5.1.0(postcss@8.4.32)
+ postcss-merge-longhand: 5.1.7(postcss@8.4.32)
+ postcss-merge-rules: 5.1.4(postcss@8.4.32)
+ postcss-minify-font-values: 5.1.0(postcss@8.4.32)
+ postcss-minify-gradients: 5.1.1(postcss@8.4.32)
+ postcss-minify-params: 5.1.4(postcss@8.4.32)
+ postcss-minify-selectors: 5.2.1(postcss@8.4.32)
+ postcss-normalize-charset: 5.1.0(postcss@8.4.32)
+ postcss-normalize-display-values: 5.1.0(postcss@8.4.32)
+ postcss-normalize-positions: 5.1.1(postcss@8.4.32)
+ postcss-normalize-repeat-style: 5.1.1(postcss@8.4.32)
+ postcss-normalize-string: 5.1.0(postcss@8.4.32)
+ postcss-normalize-timing-functions: 5.1.0(postcss@8.4.32)
+ postcss-normalize-unicode: 5.1.1(postcss@8.4.32)
+ postcss-normalize-url: 5.1.0(postcss@8.4.32)
+ postcss-normalize-whitespace: 5.1.1(postcss@8.4.32)
+ postcss-ordered-values: 5.1.3(postcss@8.4.32)
+ postcss-reduce-initial: 5.1.2(postcss@8.4.32)
+ postcss-reduce-transforms: 5.1.0(postcss@8.4.32)
+ postcss-svgo: 5.1.0(postcss@8.4.32)
+ postcss-unique-selectors: 5.1.1(postcss@8.4.32)
+ dev: false
+
+ /cssnano-utils@3.1.0(postcss@8.4.32):
+ resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.32
+ dev: false
+
+ /cssnano@5.1.15(postcss@8.4.32):
+ resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ cssnano-preset-default: 5.2.14(postcss@8.4.32)
+ lilconfig: 2.0.6
+ postcss: 8.4.32
+ yaml: 1.10.2
+ dev: false
+
+ /csso@4.2.0:
+ resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ css-tree: 1.1.3
+ dev: false
+
+ /csstype@3.1.1:
+ resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==}
+
+ /d@1.0.1:
+ resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==}
+ dependencies:
+ es5-ext: 0.10.62
+ type: 1.2.0
+ dev: true
+
+ /dag-map@1.0.2:
+ resolution: {integrity: sha512-+LSAiGFwQ9dRnRdOeaj7g47ZFJcOUPukAP8J3A3fuZ1g9Y44BG+P1sgApjLXTQPOzC4+7S9Wr8kXsfpINM4jpw==}
+ dev: false
+
+ /damerau-levenshtein@1.0.8:
+ resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
+ dev: true
+
+ /dayjs@1.11.7:
+ resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==}
+ dev: false
+
+ /debug@2.6.9:
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.0.0
+
+ /debug@3.2.7:
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.3
+
+ /debug@4.3.4:
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
+
+ /decamelize@1.2.0:
+ resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /decode-uri-component@0.2.2:
+ resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==}
+ engines: {node: '>=0.10'}
+ dev: false
+
+ /decompress-response@3.3.0:
+ resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==}
+ engines: {node: '>=4'}
+ dependencies:
+ mimic-response: 1.0.1
+ dev: false
+
+ /deep-extend@0.6.0:
+ resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
+ engines: {node: '>=4.0.0'}
+ dev: false
+
+ /deep-is@0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+
+ /deepmerge@2.2.1:
+ resolution: {integrity: sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /deepmerge@4.2.2:
+ resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /deepmerge@4.3.1:
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /default-gateway@4.2.0:
+ resolution: {integrity: sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==}
+ engines: {node: '>=6'}
+ dependencies:
+ execa: 1.0.0
+ ip-regex: 2.1.0
+ dev: false
+
+ /default-gateway@6.0.3:
+ resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==}
+ engines: {node: '>= 10'}
+ dependencies:
+ execa: 5.1.1
+ dev: false
+
+ /defaults@1.0.4:
+ resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
+ dependencies:
+ clone: 1.0.4
+ dev: false
+
+ /defer-to-connect@1.1.3:
+ resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==}
+ dev: false
+
+ /define-lazy-prop@2.0.0:
+ resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
+ engines: {node: '>=8'}
+
+ /define-properties@1.1.4:
+ resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-property-descriptors: 1.0.0
+ object-keys: 1.1.1
+ dev: true
+
+ /defined@1.0.1:
+ resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==}
+
+ /del@4.1.1:
+ resolution: {integrity: sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ '@types/glob': 7.2.0
+ globby: 6.1.0
+ is-path-cwd: 2.2.0
+ is-path-in-cwd: 2.1.0
+ p-map: 2.1.0
+ pify: 4.0.1
+ rimraf: 2.7.1
+ dev: false
+
+ /del@6.1.1:
+ resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==}
+ engines: {node: '>=10'}
+ dependencies:
+ globby: 11.1.0
+ graceful-fs: 4.2.11
+ is-glob: 4.0.3
+ is-path-cwd: 2.2.0
+ is-path-inside: 3.0.3
+ p-map: 4.0.0
+ rimraf: 3.0.2
+ slash: 3.0.0
+ dev: false
+
+ /delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
+ dev: false
+
+ /denodeify@1.2.1:
+ resolution: {integrity: sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==}
+ dev: false
+
+ /depd@1.1.2:
+ resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ /depd@2.0.0:
+ resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ /deprecated-react-native-prop-types@4.1.0:
+ resolution: {integrity: sha512-WfepZHmRbbdTvhcolb8aOKEvQdcmTMn5tKLbqbXmkBvjFjRVWAYqsXk/DBsV8TZxws8SdGHLuHaJrHSQUPRdfw==}
+ dependencies:
+ '@react-native/normalize-colors': 0.72.0
+ invariant: 2.2.4
+ prop-types: 15.8.1
+ dev: false
+
+ /dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /destroy@1.2.0:
+ resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+ dev: false
+
+ /detect-indent@6.1.0:
+ resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /detect-libc@1.0.3:
+ resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
+ engines: {node: '>=0.10'}
+ hasBin: true
+ dev: false
+
+ /detect-node@2.1.0:
+ resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
+ dev: false
+
+ /detective@5.2.1:
+ resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==}
+ engines: {node: '>=0.8.0'}
+ hasBin: true
+ dependencies:
+ acorn-node: 1.8.2
+ defined: 1.0.1
+ minimist: 1.2.7
+
+ /didyoumean@1.2.2:
+ resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
+
+ /difflib@0.2.4:
+ resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==}
+ dependencies:
+ heap: 0.2.7
+ dev: true
+
+ /dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-type: 4.0.0
+
+ /dlv@1.1.3:
+ resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
+
+ /dns-equal@1.0.0:
+ resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==}
+ dev: false
+
+ /dns-packet@5.6.1:
+ resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==}
+ engines: {node: '>=6'}
+ dependencies:
+ '@leichtgewicht/ip-codec': 2.0.4
+ dev: false
+
+ /doctrine@2.1.0:
+ resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ esutils: 2.0.3
+ dev: true
+
+ /doctrine@3.0.0:
+ resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ esutils: 2.0.3
+
+ /dom-converter@0.2.0:
+ resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==}
+ dependencies:
+ utila: 0.4.0
+ dev: false
+
+ /dom-serializer@1.4.1:
+ resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ entities: 2.2.0
+ dev: false
+
+ /domelementtype@2.3.0:
+ resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
+ dev: false
+
+ /domhandler@4.3.1:
+ resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
+ engines: {node: '>= 4'}
+ dependencies:
+ domelementtype: 2.3.0
+ dev: false
+
+ /domutils@2.8.0:
+ resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
+ dependencies:
+ dom-serializer: 1.4.1
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ dev: false
+
+ /dot-case@3.0.4:
+ resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.4.1
+ dev: false
+
+ /dotenv-cli@6.0.0:
+ resolution: {integrity: sha512-qXlCOi3UMDhCWFKe0yq5sg3X+pJAz+RQDiFN38AMSbUrnY3uZshSfDJUAge951OS7J9gwLZGfsBlWRSOYz/TRg==}
+ hasBin: true
+ dependencies:
+ cross-spawn: 7.0.3
+ dotenv: 16.0.3
+ dotenv-expand: 8.0.3
+ minimist: 1.2.7
+ dev: true
+
+ /dotenv-expand@10.0.0:
+ resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==}
+ engines: {node: '>=12'}
+ dev: false
+
+ /dotenv-expand@8.0.3:
+ resolution: {integrity: sha512-SErOMvge0ZUyWd5B0NXMQlDkN+8r+HhVUsxgOO7IoPDOdDRD2JjExpN6y3KnFR66jsJMwSn1pqIivhU5rcJiNg==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /dotenv@16.0.3:
+ resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==}
+ engines: {node: '>=12'}
+
+ /dreamopt@0.8.0:
+ resolution: {integrity: sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg==}
+ engines: {node: '>=0.4.0'}
+ dependencies:
+ wordwrap: 1.0.0
+ dev: true
+
+ /drizzle-kit@0.20.9:
+ resolution: {integrity: sha512-5oIbPFdfEEfzVSOB3MWGt70VSHv6W7qMAWCJ5xc6W1BxgGASipxuAuyXD59fx9S6QYTNNnuSuQFoIdnNTRWY2A==}
+ hasBin: true
+ dependencies:
+ '@drizzle-team/studio': 0.0.37
+ '@esbuild-kit/esm-loader': 2.6.5
+ camelcase: 7.0.1
+ chalk: 5.3.0
+ commander: 9.4.1
+ env-paths: 3.0.0
+ esbuild: 0.19.11
+ esbuild-register: 3.5.0(esbuild@0.19.11)
+ glob: 8.1.0
+ hanji: 0.0.5
+ json-diff: 0.9.0
+ minimatch: 7.4.6
+ semver: 7.5.4
+ zod: 3.22.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /drizzle-orm@0.29.2(@planetscale/database@1.13.0)(@types/react@18.0.38)(expo-sqlite@13.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-BhwCwuSQqUoLVc7wtgIkuWexY127Z9+yDbuXU7QWZbMC2XE48jecvAThW9apQaDoaxQmwQ+ObyPfPb4zL4Bgsw==}
+ peerDependencies:
+ '@aws-sdk/client-rds-data': '>=3'
+ '@cloudflare/workers-types': '>=3'
+ '@libsql/client': '*'
+ '@neondatabase/serverless': '>=0.1'
+ '@opentelemetry/api': ^1.4.1
+ '@planetscale/database': '>=1'
+ '@types/better-sqlite3': '*'
+ '@types/pg': '*'
+ '@types/react': '>=18'
+ '@types/sql.js': '*'
+ '@vercel/postgres': '*'
+ better-sqlite3: '>=7'
+ bun-types: '*'
+ expo-sqlite: '>=13.2.0'
+ knex: '*'
+ kysely: '*'
+ mysql2: '>=2'
+ pg: '>=8'
+ postgres: '>=3'
+ react: '>=18'
+ sql.js: '>=1'
+ sqlite3: '>=5'
+ peerDependenciesMeta:
+ '@aws-sdk/client-rds-data':
+ optional: true
+ '@cloudflare/workers-types':
+ optional: true
+ '@libsql/client':
+ optional: true
+ '@neondatabase/serverless':
+ optional: true
+ '@opentelemetry/api':
+ optional: true
+ '@planetscale/database':
+ optional: true
+ '@types/better-sqlite3':
+ optional: true
+ '@types/pg':
+ optional: true
+ '@types/sql.js':
+ optional: true
+ '@vercel/postgres':
+ optional: true
+ better-sqlite3:
+ optional: true
+ bun-types:
+ optional: true
+ knex:
+ optional: true
+ kysely:
+ optional: true
+ mysql2:
+ optional: true
+ pg:
+ optional: true
+ postgres:
+ optional: true
+ sql.js:
+ optional: true
+ sqlite3:
+ optional: true
+ dependencies:
+ '@planetscale/database': 1.13.0
+ '@types/react': 18.0.38
+ expo-sqlite: 13.2.0(expo@49.0.22)
+ react: 18.2.0
+ dev: false
+
+ /duplexer3@0.1.5:
+ resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==}
+ dev: false
+
+ /ee-first@1.1.1:
+ resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
+ dev: false
+
+ /electron-to-chromium@1.4.284:
+ resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==}
+
+ /emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+ dev: false
+
+ /emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ dev: true
+
+ /emojis-list@3.0.0:
+ resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
+ engines: {node: '>= 4'}
+ dev: false
+
+ /encodeurl@1.0.2:
+ resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ /end-of-stream@1.4.4:
+ resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
+ dependencies:
+ once: 1.4.0
+ dev: false
+
+ /enhanced-resolve@5.12.0:
+ resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ graceful-fs: 4.2.10
+ tapable: 2.2.1
+ dev: true
+
+ /enhanced-resolve@5.15.0:
+ resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.2.1
+ dev: false
+
+ /entities@2.2.0:
+ resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
+ dev: false
+
+ /env-editor@0.4.2:
+ resolution: {integrity: sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /env-paths@3.0.0:
+ resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dev: true
+
+ /envinfo@7.8.1:
+ resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: false
+
+ /eol@0.9.1:
+ resolution: {integrity: sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==}
+ dev: false
+
+ /error-ex@1.3.2:
+ resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+ dependencies:
+ is-arrayish: 0.2.1
+ dev: false
+
+ /error-stack-parser@2.1.4:
+ resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==}
+ dependencies:
+ stackframe: 1.3.4
+ dev: false
+
+ /errorhandler@1.5.1:
+ resolution: {integrity: sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ accepts: 1.3.8
+ escape-html: 1.0.3
+ dev: false
+
+ /es-abstract@1.20.5:
+ resolution: {integrity: sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ es-to-primitive: 1.2.1
+ function-bind: 1.1.1
+ function.prototype.name: 1.1.5
+ get-intrinsic: 1.1.3
+ get-symbol-description: 1.0.0
+ gopd: 1.0.1
+ has: 1.0.3
+ has-property-descriptors: 1.0.0
+ has-symbols: 1.0.3
+ internal-slot: 1.0.3
+ is-callable: 1.2.7
+ is-negative-zero: 2.0.2
+ is-regex: 1.1.4
+ is-shared-array-buffer: 1.0.2
+ is-string: 1.0.7
+ is-weakref: 1.0.2
+ object-inspect: 1.12.2
+ object-keys: 1.1.1
+ object.assign: 4.1.4
+ regexp.prototype.flags: 1.4.3
+ safe-regex-test: 1.0.0
+ string.prototype.trimend: 1.0.6
+ string.prototype.trimstart: 1.0.6
+ unbox-primitive: 1.0.2
+ dev: true
+
+ /es-module-lexer@1.4.1:
+ resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==}
+ dev: false
+
+ /es-shim-unscopables@1.0.0:
+ resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==}
+ dependencies:
+ has: 1.0.3
+ dev: true
+
+ /es-to-primitive@1.2.1:
+ resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ is-callable: 1.2.7
+ is-date-object: 1.0.5
+ is-symbol: 1.0.4
+ dev: true
+
+ /es5-ext@0.10.62:
+ resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==}
+ engines: {node: '>=0.10'}
+ requiresBuild: true
+ dependencies:
+ es6-iterator: 2.0.3
+ es6-symbol: 3.1.3
+ next-tick: 1.1.0
+ dev: true
+
+ /es6-iterator@2.0.3:
+ resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
+ dependencies:
+ d: 1.0.1
+ es5-ext: 0.10.62
+ es6-symbol: 3.1.3
+ dev: true
+
+ /es6-symbol@3.1.3:
+ resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==}
+ dependencies:
+ d: 1.0.1
+ ext: 1.7.0
+ dev: true
+
+ /es6-weak-map@2.0.3:
+ resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==}
+ dependencies:
+ d: 1.0.1
+ es5-ext: 0.10.62
+ es6-iterator: 2.0.3
+ es6-symbol: 3.1.3
+ dev: true
+
+ /esbuild-register@3.5.0(esbuild@0.19.11):
+ resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==}
+ peerDependencies:
+ esbuild: '>=0.12 <1'
+ dependencies:
+ debug: 4.3.4
+ esbuild: 0.19.11
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /esbuild@0.18.20:
+ resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/android-arm': 0.18.20
+ '@esbuild/android-arm64': 0.18.20
+ '@esbuild/android-x64': 0.18.20
+ '@esbuild/darwin-arm64': 0.18.20
+ '@esbuild/darwin-x64': 0.18.20
+ '@esbuild/freebsd-arm64': 0.18.20
+ '@esbuild/freebsd-x64': 0.18.20
+ '@esbuild/linux-arm': 0.18.20
+ '@esbuild/linux-arm64': 0.18.20
+ '@esbuild/linux-ia32': 0.18.20
+ '@esbuild/linux-loong64': 0.18.20
+ '@esbuild/linux-mips64el': 0.18.20
+ '@esbuild/linux-ppc64': 0.18.20
+ '@esbuild/linux-riscv64': 0.18.20
+ '@esbuild/linux-s390x': 0.18.20
+ '@esbuild/linux-x64': 0.18.20
+ '@esbuild/netbsd-x64': 0.18.20
+ '@esbuild/openbsd-x64': 0.18.20
+ '@esbuild/sunos-x64': 0.18.20
+ '@esbuild/win32-arm64': 0.18.20
+ '@esbuild/win32-ia32': 0.18.20
+ '@esbuild/win32-x64': 0.18.20
+ dev: true
+
+ /esbuild@0.19.11:
+ resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.19.11
+ '@esbuild/android-arm': 0.19.11
+ '@esbuild/android-arm64': 0.19.11
+ '@esbuild/android-x64': 0.19.11
+ '@esbuild/darwin-arm64': 0.19.11
+ '@esbuild/darwin-x64': 0.19.11
+ '@esbuild/freebsd-arm64': 0.19.11
+ '@esbuild/freebsd-x64': 0.19.11
+ '@esbuild/linux-arm': 0.19.11
+ '@esbuild/linux-arm64': 0.19.11
+ '@esbuild/linux-ia32': 0.19.11
+ '@esbuild/linux-loong64': 0.19.11
+ '@esbuild/linux-mips64el': 0.19.11
+ '@esbuild/linux-ppc64': 0.19.11
+ '@esbuild/linux-riscv64': 0.19.11
+ '@esbuild/linux-s390x': 0.19.11
+ '@esbuild/linux-x64': 0.19.11
+ '@esbuild/netbsd-x64': 0.19.11
+ '@esbuild/openbsd-x64': 0.19.11
+ '@esbuild/sunos-x64': 0.19.11
+ '@esbuild/win32-arm64': 0.19.11
+ '@esbuild/win32-ia32': 0.19.11
+ '@esbuild/win32-x64': 0.19.11
+
+ /escalade@3.1.1:
+ resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
+ engines: {node: '>=6'}
+
+ /escape-html@1.0.3:
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
+ dev: false
+
+ /escape-string-regexp@1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+
+ /escape-string-regexp@2.0.0:
+ resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+
+ /eslint-config-next@13.1.6(eslint@8.29.0)(typescript@4.9.4):
+ resolution: {integrity: sha512-0cg7h5wztg/SoLAlxljZ0ZPUQ7i6QKqRiP4M2+MgTZtxWwNKb2JSwNc18nJ6/kXBI6xYvPraTbQSIhAuVw6czw==}
+ peerDependencies:
+ eslint: ^7.23.0 || ^8.0.0
+ typescript: '>=3.3.1'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@next/eslint-plugin-next': 13.1.6
+ '@rushstack/eslint-patch': 1.2.0
+ '@typescript-eslint/parser': 5.50.0(eslint@8.29.0)(typescript@4.9.4)
+ eslint: 8.29.0
+ eslint-import-resolver-node: 0.3.6
+ eslint-import-resolver-typescript: 3.5.2(eslint-plugin-import@2.26.0)(eslint@8.29.0)
+ eslint-plugin-import: 2.26.0(@typescript-eslint/parser@5.57.1)(eslint@8.29.0)
+ eslint-plugin-jsx-a11y: 6.6.1(eslint@8.29.0)
+ eslint-plugin-react: 7.31.11(eslint@8.29.0)
+ eslint-plugin-react-hooks: 4.6.0(eslint@8.29.0)
+ typescript: 4.9.4
+ transitivePeerDependencies:
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: true
+
+ /eslint-import-resolver-node@0.3.6:
+ resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==}
+ dependencies:
+ debug: 3.2.7
+ resolve: 1.22.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-import-resolver-typescript@3.5.2(eslint-plugin-import@2.26.0)(eslint@8.29.0):
+ resolution: {integrity: sha512-zX4ebnnyXiykjhcBvKIf5TNvt8K7yX6bllTRZ14MiurKPjDpCAZujlszTdB8pcNXhZcOf+god4s9SjQa5GnytQ==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '*'
+ eslint-plugin-import: '*'
+ dependencies:
+ debug: 4.3.4
+ enhanced-resolve: 5.12.0
+ eslint: 8.29.0
+ eslint-plugin-import: 2.26.0(@typescript-eslint/parser@5.57.1)(eslint@8.29.0)
+ get-tsconfig: 4.2.0
+ globby: 13.1.2
+ is-core-module: 2.11.0
+ is-glob: 4.0.3
+ synckit: 0.8.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-module-utils@2.7.4(@typescript-eslint/parser@5.57.1)(eslint-import-resolver-node@0.3.6)(eslint@8.29.0):
+ resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: '*'
+ eslint-import-resolver-node: '*'
+ eslint-import-resolver-typescript: '*'
+ eslint-import-resolver-webpack: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ eslint:
+ optional: true
+ eslint-import-resolver-node:
+ optional: true
+ eslint-import-resolver-typescript:
+ optional: true
+ eslint-import-resolver-webpack:
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': 5.57.1(eslint@8.29.0)(typescript@4.9.4)
+ debug: 3.2.7
+ eslint: 8.29.0
+ eslint-import-resolver-node: 0.3.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-plugin-import@2.26.0(@typescript-eslint/parser@5.57.1)(eslint@8.29.0):
+ resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': 5.57.1(eslint@8.29.0)(typescript@4.9.4)
+ array-includes: 3.1.6
+ array.prototype.flat: 1.3.1
+ debug: 2.6.9
+ doctrine: 2.1.0
+ eslint: 8.29.0
+ eslint-import-resolver-node: 0.3.6
+ eslint-module-utils: 2.7.4(@typescript-eslint/parser@5.57.1)(eslint-import-resolver-node@0.3.6)(eslint@8.29.0)
+ has: 1.0.3
+ is-core-module: 2.11.0
+ is-glob: 4.0.3
+ minimatch: 3.1.2
+ object.values: 1.1.6
+ resolve: 1.22.1
+ tsconfig-paths: 3.14.1
+ transitivePeerDependencies:
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: true
+
+ /eslint-plugin-jsx-a11y@6.6.1(eslint@8.29.0):
+ resolution: {integrity: sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
+ dependencies:
+ '@babel/runtime': 7.20.13
+ aria-query: 4.2.2
+ array-includes: 3.1.6
+ ast-types-flow: 0.0.7
+ axe-core: 4.5.2
+ axobject-query: 2.2.0
+ damerau-levenshtein: 1.0.8
+ emoji-regex: 9.2.2
+ eslint: 8.29.0
+ has: 1.0.3
+ jsx-ast-utils: 3.3.3
+ language-tags: 1.0.6
+ minimatch: 3.1.2
+ semver: 6.3.0
+ dev: true
+
+ /eslint-plugin-react-hooks@4.6.0(eslint@8.29.0):
+ resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
+ dependencies:
+ eslint: 8.29.0
+ dev: true
+
+ /eslint-plugin-react@7.31.11(eslint@8.29.0):
+ resolution: {integrity: sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
+ dependencies:
+ array-includes: 3.1.6
+ array.prototype.flatmap: 1.3.1
+ array.prototype.tosorted: 1.1.1
+ doctrine: 2.1.0
+ eslint: 8.29.0
+ estraverse: 5.3.0
+ jsx-ast-utils: 3.3.3
+ minimatch: 3.1.2
+ object.entries: 1.1.6
+ object.fromentries: 2.0.6
+ object.hasown: 1.1.2
+ object.values: 1.1.6
+ prop-types: 15.8.1
+ resolve: 2.0.0-next.4
+ semver: 6.3.0
+ string.prototype.matchall: 4.0.8
+ dev: true
+
+ /eslint-scope@5.1.1:
+ resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 4.3.0
+ dev: false
+
+ /eslint-scope@7.1.1:
+ resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+
+ /eslint-utils@3.0.0(eslint@8.29.0):
+ resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
+ engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
+ peerDependencies:
+ eslint: '>=5'
+ dependencies:
+ eslint: 8.29.0
+ eslint-visitor-keys: 2.1.0
+
+ /eslint-visitor-keys@2.1.0:
+ resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
+ engines: {node: '>=10'}
+
+ /eslint-visitor-keys@3.4.0:
+ resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ /eslint@8.29.0:
+ resolution: {integrity: sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ hasBin: true
+ dependencies:
+ '@eslint/eslintrc': 1.3.3
+ '@humanwhocodes/config-array': 0.11.8
+ '@humanwhocodes/module-importer': 1.0.1
+ '@nodelib/fs.walk': 1.2.8
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.3
+ debug: 4.3.4
+ doctrine: 3.0.0
+ escape-string-regexp: 4.0.0
+ eslint-scope: 7.1.1
+ eslint-utils: 3.0.0(eslint@8.29.0)
+ eslint-visitor-keys: 3.4.0
+ espree: 9.5.1
+ esquery: 1.5.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 6.0.1
+ find-up: 5.0.0
+ glob-parent: 6.0.2
+ globals: 13.20.0
+ grapheme-splitter: 1.0.4
+ ignore: 5.2.4
+ import-fresh: 3.3.0
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ is-path-inside: 3.0.3
+ js-sdsl: 4.4.0
+ js-yaml: 4.1.0
+ json-stable-stringify-without-jsonify: 1.0.1
+ levn: 0.4.1
+ lodash.merge: 4.6.2
+ minimatch: 3.1.2
+ natural-compare: 1.4.0
+ optionator: 0.9.1
+ regexpp: 3.2.0
+ strip-ansi: 6.0.1
+ strip-json-comments: 3.1.1
+ text-table: 0.2.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /espree@9.5.1:
+ resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ acorn: 8.8.2
+ acorn-jsx: 5.3.2(acorn@8.8.2)
+ eslint-visitor-keys: 3.4.0
+
+ /esprima@4.0.1:
+ resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: false
+
+ /esquery@1.5.0:
+ resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
+ engines: {node: '>=0.10'}
+ dependencies:
+ estraverse: 5.3.0
+
+ /esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+ dependencies:
+ estraverse: 5.3.0
+
+ /estraverse@4.3.0:
+ resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
+ engines: {node: '>=4.0'}
+ dev: false
+
+ /estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+
+ /esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+
+ /etag@1.8.1:
+ resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ /event-emitter@0.3.5:
+ resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
+ dependencies:
+ d: 1.0.1
+ es5-ext: 0.10.62
+ dev: true
+
+ /event-target-shim@5.0.1:
+ resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /eventemitter3@4.0.7:
+ resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
+ dev: false
+
+ /events@3.3.0:
+ resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
+ engines: {node: '>=0.8.x'}
+ dev: false
+
+ /exec-async@2.2.0:
+ resolution: {integrity: sha512-87OpwcEiMia/DeiKFzaQNBNFeN3XkkpYIh9FyOqq5mS2oKv3CBE67PXoEKcr6nodWdXNogTiQ0jE2NGuoffXPw==}
+ dev: false
+
+ /execa@1.0.0:
+ resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==}
+ engines: {node: '>=6'}
+ dependencies:
+ cross-spawn: 6.0.5
+ get-stream: 4.1.0
+ is-stream: 1.1.0
+ npm-run-path: 2.0.2
+ p-finally: 1.0.0
+ signal-exit: 3.0.7
+ strip-eof: 1.0.0
+ dev: false
+
+ /execa@5.1.1:
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
+ engines: {node: '>=10'}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 2.1.0
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
+ dev: false
+
+ /expo-application@5.3.1(expo@49.0.22):
+ resolution: {integrity: sha512-HR2+K+Hm33vLw/TfbFaHrvUbRRNRco8R+3QaCKy7eJC2LFfT05kZ15ynGaKfB5DJ/oqPV3mxXVR/EfwmE++hoA==}
+ peerDependencies:
+ expo: '*'
+ dependencies:
+ expo: 49.0.22(@babel/core@7.20.5)
+ dev: false
+
+ /expo-asset@8.10.1(expo@49.0.22):
+ resolution: {integrity: sha512-5VMTESxgY9GBsspO/esY25SKEa7RyascVkLe/OcL1WgblNFm7xCCEEUIW8VWS1nHJQGYxpMZPr3bEfjMpdWdyA==}
+ dependencies:
+ blueimp-md5: 2.19.0
+ expo-constants: 14.4.2(expo@49.0.22)
+ expo-file-system: 15.4.5(expo@49.0.22)
+ invariant: 2.2.4
+ md5-file: 3.2.3
+ path-browserify: 1.0.1
+ url-parse: 1.5.10
+ transitivePeerDependencies:
+ - expo
+ - supports-color
+ dev: false
+
+ /expo-auth-session@5.0.2(expo@49.0.22):
+ resolution: {integrity: sha512-hzuIGATiyZ4ICuzSnCTTQLUA74eHGd1aaPydsSAQEAkMnNT2bMoIYLq1rp971xF+eqWz0lzMVboRYTnxuvEKJg==}
+ dependencies:
+ expo-constants: 14.4.2(expo@49.0.22)
+ expo-crypto: 12.4.1(expo@49.0.22)
+ expo-linking: 5.0.2(expo@49.0.22)
+ expo-web-browser: 12.3.2(expo@49.0.22)
+ invariant: 2.2.4
+ qs: 6.11.0
+ transitivePeerDependencies:
+ - expo
+ - supports-color
+ dev: false
+
+ /expo-background-fetch@11.3.0(expo@49.0.22):
+ resolution: {integrity: sha512-aRBCg+kp/5j6XJBrcww8i7TPZ7RbybTLDwmBNzsqjUUKH9M8rkTJxy+eoo1qbFp3NGGrfTSNXPyXkH59hwR1mA==}
+ peerDependencies:
+ expo: '*'
+ dependencies:
+ expo: 49.0.22(@babel/core@7.20.5)
+ expo-task-manager: 11.3.0(expo@49.0.22)
+ dev: false
+
+ /expo-constants@14.4.2(expo@49.0.22):
+ resolution: {integrity: sha512-nOB122DOAjk+KrJT69lFQAoYVQGQjFHSigCPVBzVdko9S1xGsfiOH9+X5dygTsZTIlVLpQJDdmZ7ONiv3i+26w==}
+ peerDependencies:
+ expo: '*'
+ dependencies:
+ '@expo/config': 8.1.2
+ expo: 49.0.22(@babel/core@7.20.5)
+ uuid: 3.4.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /expo-crypto@12.4.1(expo@49.0.22):
+ resolution: {integrity: sha512-/en03oPNAX6gP0bKpwA1EyLBnGG9uv0+Q7uvGYyOXaQQEvj31a+8cEvNPkv75x6GuK1hcaBfO25RtX9AGOMwVA==}
+ peerDependencies:
+ expo: '*'
+ dependencies:
+ base64-js: 1.5.1
+ expo: 49.0.22(@babel/core@7.20.5)
+ dev: false
+
+ /expo-file-system@15.4.5(expo@49.0.22):
+ resolution: {integrity: sha512-xy61KaTaDgXhT/dllwYDHm3ch026EyO8j4eC6wSVr/yE12MMMxAC09yGwy4f7kkOs6ztGVQF5j7ldRzNLN4l0Q==}
+ peerDependencies:
+ expo: '*'
+ dependencies:
+ expo: 49.0.22(@babel/core@7.20.5)
+ uuid: 3.4.0
+ dev: false
+
+ /expo-font@11.4.0(expo@49.0.22):
+ resolution: {integrity: sha512-nkmezCFD7gR/I6R+e3/ry18uEfF8uYrr6h+PdBJu+3dawoLOpo+wFb/RG9bHUekU1/cPanR58LR7G5MEMKHR2w==}
+ peerDependencies:
+ expo: '*'
+ dependencies:
+ expo: 49.0.22(@babel/core@7.20.5)
+ fontfaceobserver: 2.3.0
+ dev: false
+
+ /expo-head@0.0.20(expo@49.0.22)(react-dom@18.2.0)(react-native@0.72.6)(react@18.2.0):
+ resolution: {integrity: sha512-K0ETFOp/I+Td1T40D8k+Nlk8zCtvUFKTVYiwUhLoCCPf4dGC0zXv/noJLgyZ8jZ+5FJLlrSTpk2Gm9bxJfqkLw==}
+ peerDependencies:
+ expo: '*'
+ react: '*'
+ react-native: '*'
+ dependencies:
+ expo: 49.0.22(@babel/core@7.20.5)
+ react: 18.2.0
+ react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0)
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ transitivePeerDependencies:
+ - react-dom
+ dev: false
+
+ /expo-keep-awake@12.3.0(expo@49.0.22):
+ resolution: {integrity: sha512-ujiJg1p9EdCOYS05jh5PtUrfiZnK0yyLy+UewzqrjUqIT8eAGMQbkfOn3C3fHE7AKd5AefSMzJnS3lYZcZYHDw==}
+ peerDependencies:
+ expo: '*'
+ dependencies:
+ expo: 49.0.22(@babel/core@7.20.5)
+ dev: false
+
+ /expo-linking@5.0.2(expo@49.0.22):
+ resolution: {integrity: sha512-SPQus0+tYGx9c69Uw4wmdo3rkKX8vRT1vyJz/mvkpSlZN986s0NmP/V0M5vDv5Zv2qZzVdqJyuITFe0Pg5aI+A==}
+ dependencies:
+ '@types/qs': 6.9.7
+ expo-constants: 14.4.2(expo@49.0.22)
+ invariant: 2.2.4
+ qs: 6.11.0
+ url-parse: 1.5.10
+ transitivePeerDependencies:
+ - expo
+ - supports-color
+ dev: false
+
+ /expo-modules-autolinking@1.10.2:
+ resolution: {integrity: sha512-OEeoz0+zGx5EJwGtDm9pSywCr+gUCaisZV0mNkK7V3fuRl+EVPBSsI+957JwAc4ZxVps95jy28eLcRRtQ33yVg==}
+ hasBin: true
+ dependencies:
+ '@expo/config': 8.5.4
+ chalk: 4.1.2
+ commander: 7.2.0
+ fast-glob: 3.2.12
+ find-up: 5.0.0
+ fs-extra: 9.1.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /expo-modules-autolinking@1.5.1:
+ resolution: {integrity: sha512-yt5a1VCp2BF9CrsO689PCD5oXKP14MMhnOanQMvDn4BDpURYfzAlDVGC5fZrNQKtwn/eq3bcrxIwZ7D9QjVVRg==}
+ hasBin: true
+ dependencies:
+ '@expo/config': 8.1.2
+ chalk: 4.1.2
+ commander: 7.2.0
+ fast-glob: 3.2.12
+ find-up: 5.0.0
+ fs-extra: 9.1.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /expo-modules-core@1.5.13:
+ resolution: {integrity: sha512-cKRsiHKwpDPRkBgMW3XdUWmEUDzihEPWXAyeo629BXpJ6uX6a66Zbz63SEXhlgsbLq8FB77gvYku3ceBqb+hHg==}
+ dependencies:
+ compare-versions: 3.6.0
+ invariant: 2.2.4
+ dev: false
+
+ /expo-pwa@0.0.127(expo@49.0.22):
+ resolution: {integrity: sha512-8D9wEDkEXG9r6TPvAFpWt27IiP1cLm/4RWVRUHzFZflbWYLi8GkYArj5LHbbfokybRm1GVAanSrrYFEqHoIUiA==}
+ hasBin: true
+ peerDependencies:
+ expo: '*'
+ dependencies:
+ '@expo/image-utils': 0.3.23
+ chalk: 4.1.2
+ commander: 2.20.0
+ expo: 49.0.22(@babel/core@7.20.5)
+ update-check: 1.5.3
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /expo-random@13.2.0(expo@49.0.22):
+ resolution: {integrity: sha512-ZamtB6Yuly8VLr8frQfh7PxMtvXmP9YDdce4JxWEFp9TaHGZep7MJ73SUo7PsMA61PVmHWJuZOw6big6dweloA==}
+ peerDependencies:
+ expo: '*'
+ dependencies:
+ base64-js: 1.5.1
+ expo: 49.0.22(@babel/core@7.20.5)
+ dev: false
+
+ /expo-router@2.0.14(@react-navigation/drawer@6.6.6)(expo-constants@14.4.2)(expo-linking@5.0.2)(expo-modules-autolinking@1.10.2)(expo-status-bar@1.6.0)(expo@49.0.22)(metro@0.76.8)(react-dom@18.2.0)(react-native-gesture-handler@2.12.1)(react-native-reanimated@3.3.0)(react-native-safe-area-context@4.6.3)(react-native-screens@3.22.1)(react-native@0.72.6)(react@18.2.0):
+ resolution: {integrity: sha512-F5dP4WMe+zQLzlGSbC+NT9/67FGgwmUCJuPGD4BkK0eRt0uga+y53vQ59m5MCOebqE0N9Ukr/Jz8Num16iGqZA==}
+ peerDependencies:
+ '@react-navigation/drawer': ^6.5.8
+ '@testing-library/jest-native': '*'
+ expo: ^49.0.0
+ expo-constants: '*'
+ expo-linking: '*'
+ expo-status-bar: '*'
+ metro: ~0.76.7
+ react-native-gesture-handler: '*'
+ react-native-reanimated: '*'
+ react-native-safe-area-context: '*'
+ react-native-screens: '*'
+ peerDependenciesMeta:
+ '@react-navigation/drawer':
+ optional: true
+ '@testing-library/jest-native':
+ optional: true
+ react-native-reanimated:
+ optional: true
+ dependencies:
+ '@bacons/react-views': 1.1.3(react-native@0.72.6)
+ '@expo/metro-runtime': 2.2.16(react-native@0.72.6)
+ '@radix-ui/react-slot': 1.0.1(react@18.2.0)
+ '@react-navigation/bottom-tabs': 6.5.11(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.6.3)(react-native-screens@3.22.1)(react-native@0.72.6)(react@18.2.0)
+ '@react-navigation/drawer': 6.6.6(@react-navigation/native@6.1.9)(react-native-gesture-handler@2.12.1)(react-native-reanimated@3.3.0)(react-native-safe-area-context@4.6.3)(react-native-screens@3.22.1)(react-native@0.72.6)(react@18.2.0)
+ '@react-navigation/native': 6.1.9(react-native@0.72.6)(react@18.2.0)
+ '@react-navigation/native-stack': 6.9.17(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.6.3)(react-native-screens@3.22.1)(react-native@0.72.6)(react@18.2.0)
+ expo: 49.0.22(@babel/core@7.20.5)
+ expo-constants: 14.4.2(expo@49.0.22)
+ expo-head: 0.0.20(expo@49.0.22)(react-dom@18.2.0)(react-native@0.72.6)(react@18.2.0)
+ expo-linking: 5.0.2(expo@49.0.22)
+ expo-splash-screen: 0.20.5(expo-modules-autolinking@1.10.2)(expo@49.0.22)
+ expo-status-bar: 1.6.0
+ metro: 0.76.8
+ query-string: 7.1.3
+ react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0)
+ react-native-gesture-handler: 2.12.1(react-native@0.72.6)(react@18.2.0)
+ react-native-reanimated: 3.3.0(@babel/core@7.20.5)(@babel/plugin-proposal-nullish-coalescing-operator@7.18.6)(@babel/plugin-proposal-optional-chaining@7.21.0)(@babel/plugin-transform-arrow-functions@7.18.6)(@babel/plugin-transform-shorthand-properties@7.18.6)(@babel/plugin-transform-template-literals@7.18.9)(react-native@0.72.6)(react@18.2.0)
+ react-native-safe-area-context: 4.6.3(react-native@0.72.6)(react@18.2.0)
+ react-native-screens: 3.22.1(react-native@0.72.6)(react@18.2.0)
+ schema-utils: 4.2.0
+ url: 0.11.0
+ transitivePeerDependencies:
+ - encoding
+ - expo-modules-autolinking
+ - react
+ - react-dom
+ - react-native
+ - supports-color
+ dev: false
+
+ /expo-secure-store@12.3.1(expo@49.0.22):
+ resolution: {integrity: sha512-XLIgWDiIuiR0c+AA4NCWWibAMHCZUyRcy+lQBU49U6rvG+xmd3YrBJfQjfqAPyLroEqnLPGTWUX57GyRsfDOQw==}
+ peerDependencies:
+ expo: '*'
+ dependencies:
+ expo: 49.0.22(@babel/core@7.20.5)
+ dev: false
+
+ /expo-splash-screen@0.20.5(expo-modules-autolinking@1.10.2)(expo@49.0.22):
+ resolution: {integrity: sha512-nTALYdjHpeEA30rdOWSguxn72ctv8WM8ptuUgpfRgsWyn4i6rwYds/rBXisX69XO5fg+XjHAQqijGx/b28+3tg==}
+ peerDependencies:
+ expo: '*'
+ dependencies:
+ '@expo/prebuild-config': 6.2.6(expo-modules-autolinking@1.10.2)
+ expo: 49.0.22(@babel/core@7.20.5)
+ transitivePeerDependencies:
+ - encoding
+ - expo-modules-autolinking
+ - supports-color
+ dev: false
+
+ /expo-sqlite@13.2.0(expo@49.0.22):
+ resolution: {integrity: sha512-TYpX+a+2oJOxzChug8+TkIob0lipl7rluCRBGXbGKG68kG4Reb6OCruRiQTJTnbGiEgnN4S+B0cT8f4ZXPUxBg==}
+ peerDependencies:
+ expo: '*'
+ dependencies:
+ '@expo/websql': 1.0.1
+ expo: 49.0.22(@babel/core@7.20.5)
+ dev: false
+
+ /expo-status-bar@1.6.0:
+ resolution: {integrity: sha512-e//Oi2WPdomMlMDD3skE4+1ZarKCJ/suvcB4Jo/nO427niKug5oppcPNYO+csR6y3ZglGuypS+3pp/hJ+Xp6fQ==}
+ dev: false
+
+ /expo-task-manager@11.3.0(expo@49.0.22):
+ resolution: {integrity: sha512-580XaQGOC2IHLjPV3GBeIwlfxtjuBaitENsUxHvCVgWusatWkq0frq7uzG3yVpG3UHUuQwSOHvkJ6X/3EjdYXw==}
+ peerDependencies:
+ expo: '*'
+ dependencies:
+ expo: 49.0.22(@babel/core@7.20.5)
+ unimodules-app-loader: 4.2.0
+ dev: false
+
+ /expo-web-browser@12.3.2(expo@49.0.22):
+ resolution: {integrity: sha512-ohBf+vnRnGzlTleY8EQ2XQU0vRdRwqMJtKkzM9MZRPDOK5QyJYPJjpk6ixGhxdeoUG2Ogj0InvhhgX9NUn4jkg==}
+ peerDependencies:
+ expo: '*'
+ dependencies:
+ compare-urls: 2.0.0
+ expo: 49.0.22(@babel/core@7.20.5)
+ url: 0.11.0
+ dev: false
+
+ /expo@49.0.22(@babel/core@7.20.5):
+ resolution: {integrity: sha512-1hhcphaKN74gDqEmGzU4sqxnusLi/i8SsWZ04rRn7b6zdyEchyudVLN3SOzeIUgfGmn7AcXm78JAQ7+e0WqSyw==}
+ hasBin: true
+ dependencies:
+ '@babel/runtime': 7.21.0
+ '@expo/cli': 0.10.16(expo-modules-autolinking@1.5.1)
+ '@expo/config': 8.1.2
+ '@expo/config-plugins': 7.2.5
+ '@expo/vector-icons': 13.0.0
+ babel-preset-expo: 9.5.2(@babel/core@7.20.5)
+ expo-application: 5.3.1(expo@49.0.22)
+ expo-asset: 8.10.1(expo@49.0.22)
+ expo-constants: 14.4.2(expo@49.0.22)
+ expo-file-system: 15.4.5(expo@49.0.22)
+ expo-font: 11.4.0(expo@49.0.22)
+ expo-keep-awake: 12.3.0(expo@49.0.22)
+ expo-modules-autolinking: 1.5.1
+ expo-modules-core: 1.5.13
+ fbemitter: 3.0.0
+ invariant: 2.2.4
+ md5-file: 3.2.3
+ node-fetch: 2.6.7
+ pretty-format: 26.6.2
+ uuid: 3.4.0
+ transitivePeerDependencies:
+ - '@babel/core'
+ - bluebird
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /express@4.18.2:
+ resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==}
+ engines: {node: '>= 0.10.0'}
+ dependencies:
+ accepts: 1.3.8
+ array-flatten: 1.1.1
+ body-parser: 1.20.1
+ content-disposition: 0.5.4
+ content-type: 1.0.4
+ cookie: 0.5.0
+ cookie-signature: 1.0.6
+ debug: 2.6.9
+ depd: 2.0.0
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ etag: 1.8.1
+ finalhandler: 1.2.0
+ fresh: 0.5.2
+ http-errors: 2.0.0
+ merge-descriptors: 1.0.1
+ methods: 1.1.2
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ path-to-regexp: 0.1.7
+ proxy-addr: 2.0.7
+ qs: 6.11.0
+ range-parser: 1.2.1
+ safe-buffer: 5.2.1
+ send: 0.18.0
+ serve-static: 1.15.0
+ setprototypeof: 1.2.0
+ statuses: 2.0.1
+ type-is: 1.6.18
+ utils-merge: 1.0.1
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /ext@1.7.0:
+ resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
+ dependencies:
+ type: 2.7.2
+ dev: true
+
+ /extend@3.0.2:
+ resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
+ dev: false
+
+ /fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+ /fast-glob@3.2.12:
+ resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==}
+ engines: {node: '>=8.6.0'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.5
+
+ /fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+
+ /fast-levenshtein@2.0.6:
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+
+ /fast-loops@1.1.3:
+ resolution: {integrity: sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g==}
+ dev: false
+
+ /fast-xml-parser@4.3.2:
+ resolution: {integrity: sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg==}
+ hasBin: true
+ dependencies:
+ strnum: 1.0.5
+ dev: false
+
+ /fastest-levenshtein@1.0.16:
+ resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==}
+ engines: {node: '>= 4.9.1'}
+ dev: false
+
+ /fastq@1.15.0:
+ resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
+ dependencies:
+ reusify: 1.0.4
+
+ /faye-websocket@0.11.4:
+ resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==}
+ engines: {node: '>=0.8.0'}
+ dependencies:
+ websocket-driver: 0.7.4
+ dev: false
+
+ /fb-watchman@2.0.2:
+ resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
+ dependencies:
+ bser: 2.1.1
+ dev: false
+
+ /fbemitter@3.0.0:
+ resolution: {integrity: sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==}
+ dependencies:
+ fbjs: 3.0.4
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /fbjs-css-vars@1.0.2:
+ resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==}
+ dev: false
+
+ /fbjs@3.0.4:
+ resolution: {integrity: sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ==}
+ dependencies:
+ cross-fetch: 3.1.5
+ fbjs-css-vars: 1.0.2
+ loose-envify: 1.4.0
+ object-assign: 4.1.1
+ promise: 7.3.1
+ setimmediate: 1.0.5
+ ua-parser-js: 0.7.32
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /fetch-retry@4.1.1:
+ resolution: {integrity: sha512-e6eB7zN6UBSwGVwrbWVH+gdLnkW9WwHhmq2YDK1Sh30pzx1onRVGBvogTlUeWxwTa+L86NYdo4hFkh7O8ZjSnA==}
+ dev: false
+
+ /file-entry-cache@6.0.1:
+ resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+ dependencies:
+ flat-cache: 3.0.4
+
+ /fill-range@7.0.1:
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ to-regex-range: 5.0.1
+
+ /filter-obj@1.1.0:
+ resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /finalhandler@1.1.2:
+ resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ debug: 2.6.9
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ on-finished: 2.3.0
+ parseurl: 1.3.3
+ statuses: 1.5.0
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /finalhandler@1.2.0:
+ resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ debug: 2.6.9
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ statuses: 2.0.1
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /find-babel-config@2.0.0:
+ resolution: {integrity: sha512-dOKT7jvF3hGzlW60Gc3ONox/0rRZ/tz7WCil0bqA1In/3I8f1BctpXahRnEKDySZqci7u+dqq93sZST9fOJpFw==}
+ engines: {node: '>=16.0.0'}
+ dependencies:
+ json5: 2.2.3
+ path-exists: 4.0.0
+ dev: false
+
+ /find-cache-dir@2.1.0:
+ resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ commondir: 1.0.1
+ make-dir: 2.1.0
+ pkg-dir: 3.0.0
+ dev: false
+
+ /find-cache-dir@3.3.2:
+ resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
+ engines: {node: '>=8'}
+ dependencies:
+ commondir: 1.0.1
+ make-dir: 3.1.0
+ pkg-dir: 4.2.0
+ dev: false
+
+ /find-root@1.1.0:
+ resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
+ dev: false
+
+ /find-up@3.0.0:
+ resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==}
+ engines: {node: '>=6'}
+ dependencies:
+ locate-path: 3.0.0
+ dev: false
+
+ /find-up@4.1.0:
+ resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
+ engines: {node: '>=8'}
+ dependencies:
+ locate-path: 5.0.0
+ path-exists: 4.0.0
+ dev: false
+
+ /find-up@5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
+ dependencies:
+ locate-path: 6.0.0
+ path-exists: 4.0.0
+
+ /find-yarn-workspace-root@2.0.0:
+ resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==}
+ dependencies:
+ micromatch: 4.0.5
+ dev: false
+
+ /flat-cache@3.0.4:
+ resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+ dependencies:
+ flatted: 3.2.7
+ rimraf: 3.0.2
+
+ /flatted@3.2.7:
+ resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
+
+ /flow-enums-runtime@0.0.5:
+ resolution: {integrity: sha512-PSZF9ZuaZD03sT9YaIs0FrGJ7lSUw7rHZIex+73UYVXg46eL/wxN5PaVcPJFudE2cJu5f0fezitV5aBkLHPUOQ==}
+ dev: false
+
+ /flow-parser@0.206.0:
+ resolution: {integrity: sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==}
+ engines: {node: '>=0.4.0'}
+ dev: false
+
+ /follow-redirects@1.15.3:
+ resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+ dev: false
+
+ /fontfaceobserver@2.3.0:
+ resolution: {integrity: sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==}
+ dev: false
+
+ /form-data@3.0.1:
+ resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==}
+ engines: {node: '>= 6'}
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ mime-types: 2.1.35
+ dev: false
+
+ /form-data@4.0.0:
+ resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
+ engines: {node: '>= 6'}
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ mime-types: 2.1.35
+ dev: false
+
+ /formik@2.4.5(react@18.2.0):
+ resolution: {integrity: sha512-Gxlht0TD3vVdzMDHwkiNZqJ7Mvg77xQNfmBRrNtvzcHZs72TJppSTDKHpImCMJZwcWPBJ8jSQQ95GJzXFf1nAQ==}
+ peerDependencies:
+ react: '>=16.8.0'
+ dependencies:
+ '@types/hoist-non-react-statics': 3.3.5
+ deepmerge: 2.2.1
+ hoist-non-react-statics: 3.3.2
+ lodash: 4.17.21
+ lodash-es: 4.17.21
+ react: 18.2.0
+ react-fast-compare: 2.0.4
+ tiny-warning: 1.0.3
+ tslib: 2.4.1
+ dev: false
+
+ /forwarded@0.2.0:
+ resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ /fraction.js@4.2.0:
+ resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
+ dev: true
+
+ /framer-motion@10.16.16(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-je6j91rd7NmUX7L1XHouwJ4v3R+SO4umso2LUcgOct3rHZ0PajZ80ETYZTajzEXEl9DlKyzjyt4AvGQ+lrebOw==}
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ dependencies:
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ tslib: 2.4.1
+ optionalDependencies:
+ '@emotion/is-prop-valid': 0.8.8
+ dev: false
+
+ /freeport-async@2.0.0:
+ resolution: {integrity: sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /fresh@0.5.2:
+ resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ /fs-extra@11.2.0:
+ resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
+ engines: {node: '>=14.14'}
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.0
+ dev: false
+
+ /fs-extra@8.1.0:
+ resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
+ engines: {node: '>=6 <7 || >=8'}
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 4.0.0
+ universalify: 0.1.2
+ dev: false
+
+ /fs-extra@9.0.0:
+ resolution: {integrity: sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==}
+ engines: {node: '>=10'}
+ dependencies:
+ at-least-node: 1.0.0
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 1.0.0
+ dev: false
+
+ /fs-extra@9.1.0:
+ resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ at-least-node: 1.0.0
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.0
+ dev: false
+
+ /fs-minipass@2.1.0:
+ resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ minipass: 3.3.6
+ dev: false
+
+ /fs-monkey@1.0.5:
+ resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==}
+ dev: false
+
+ /fs.realpath@1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+
+ /fsevents@2.3.2:
+ resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /function-bind@1.1.1:
+ resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
+
+ /function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+ dev: false
+
+ /function.prototype.name@1.1.5:
+ resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ es-abstract: 1.20.5
+ functions-have-names: 1.2.3
+ dev: true
+
+ /functions-have-names@1.2.3:
+ resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+ dev: true
+
+ /gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+
+ /get-caller-file@2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+ dev: false
+
+ /get-intrinsic@1.1.3:
+ resolution: {integrity: sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==}
+ dependencies:
+ function-bind: 1.1.1
+ has: 1.0.3
+ has-symbols: 1.0.3
+
+ /get-port@3.2.0:
+ resolution: {integrity: sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /get-stream@4.1.0:
+ resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==}
+ engines: {node: '>=6'}
+ dependencies:
+ pump: 3.0.0
+ dev: false
+
+ /get-stream@5.2.0:
+ resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
+ engines: {node: '>=8'}
+ dependencies:
+ pump: 3.0.0
+ dev: false
+
+ /get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /get-symbol-description@1.0.0:
+ resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.1.3
+ dev: true
+
+ /get-tsconfig@4.2.0:
+ resolution: {integrity: sha512-X8u8fREiYOE6S8hLbq99PeykTDoLVnxvF4DjWKJmz9xy2nNRdUcV8ZN9tniJFeKyTU3qnC9lL8n4Chd6LmVKHg==}
+ dev: true
+
+ /get-tsconfig@4.7.2:
+ resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==}
+ dependencies:
+ resolve-pkg-maps: 1.0.0
+ dev: true
+
+ /getenv@1.0.0:
+ resolution: {integrity: sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+ dependencies:
+ is-glob: 4.0.3
+
+ /glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ is-glob: 4.0.3
+
+ /glob-to-regexp@0.4.1:
+ resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
+ dev: false
+
+ /glob@6.0.4:
+ resolution: {integrity: sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==}
+ requiresBuild: true
+ dependencies:
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+ dev: false
+ optional: true
+
+ /glob@7.1.6:
+ resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+ dev: false
+
+ /glob@7.1.7:
+ resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+ dev: true
+
+ /glob@7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+
+ /glob@8.1.0:
+ resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 5.1.6
+ once: 1.4.0
+
+ /globals@11.12.0:
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+ engines: {node: '>=4'}
+
+ /globals@13.20.0:
+ resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ type-fest: 0.20.2
+
+ /globalyzer@0.1.0:
+ resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
+ dev: true
+
+ /globby@11.1.0:
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
+ engines: {node: '>=10'}
+ dependencies:
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.2.12
+ ignore: 5.2.4
+ merge2: 1.4.1
+ slash: 3.0.0
+
+ /globby@12.2.0:
+ resolution: {integrity: sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ array-union: 3.0.1
+ dir-glob: 3.0.1
+ fast-glob: 3.2.12
+ ignore: 5.2.4
+ merge2: 1.4.1
+ slash: 4.0.0
+ dev: false
+
+ /globby@13.1.2:
+ resolution: {integrity: sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ dir-glob: 3.0.1
+ fast-glob: 3.2.12
+ ignore: 5.2.4
+ merge2: 1.4.1
+ slash: 4.0.0
+ dev: true
+
+ /globby@6.1.0:
+ resolution: {integrity: sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ array-union: 1.0.2
+ glob: 7.2.3
+ object-assign: 4.1.1
+ pify: 2.3.0
+ pinkie-promise: 2.0.1
+ dev: false
+
+ /globrex@0.1.2:
+ resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
+ dev: true
+
+ /gopd@1.0.1:
+ resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ dependencies:
+ get-intrinsic: 1.1.3
+ dev: true
+
+ /got@9.6.0:
+ resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==}
+ engines: {node: '>=8.6'}
+ dependencies:
+ '@sindresorhus/is': 0.14.0
+ '@szmarczak/http-timer': 1.1.2
+ '@types/keyv': 3.1.4
+ '@types/responselike': 1.0.0
+ cacheable-request: 6.1.0
+ decompress-response: 3.3.0
+ duplexer3: 0.1.5
+ get-stream: 4.1.0
+ lowercase-keys: 1.0.1
+ mimic-response: 1.0.1
+ p-cancelable: 1.1.0
+ to-readable-stream: 1.0.0
+ url-parse-lax: 3.0.0
+ dev: false
+
+ /graceful-fs@4.2.10:
+ resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
+ dev: true
+
+ /graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+ dev: false
+
+ /grapheme-splitter@1.0.4:
+ resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
+
+ /graphql-tag@2.12.6(graphql@15.8.0):
+ resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ dependencies:
+ graphql: 15.8.0
+ tslib: 2.4.1
+ dev: false
+
+ /graphql@15.8.0:
+ resolution: {integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==}
+ engines: {node: '>= 10.x'}
+ dev: false
+
+ /handle-thing@2.0.1:
+ resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==}
+ dev: false
+
+ /hanji@0.0.5:
+ resolution: {integrity: sha512-Abxw1Lq+TnYiL4BueXqMau222fPSPMFtya8HdpWsz/xVAhifXou71mPh/kY2+08RgFcVccjG3uZHs6K5HAe3zw==}
+ dependencies:
+ lodash.throttle: 4.1.1
+ sisteransi: 1.0.5
+ dev: true
+
+ /has-bigints@1.0.2:
+ resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
+ dev: true
+
+ /has-flag@3.0.0:
+ resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
+ engines: {node: '>=4'}
+
+ /has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+
+ /has-property-descriptors@1.0.0:
+ resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==}
+ dependencies:
+ get-intrinsic: 1.1.3
+ dev: true
+
+ /has-symbols@1.0.3:
+ resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
+ engines: {node: '>= 0.4'}
+
+ /has-tostringtag@1.0.0:
+ resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-symbols: 1.0.3
+ dev: true
+
+ /has@1.0.3:
+ resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
+ engines: {node: '>= 0.4.0'}
+ dependencies:
+ function-bind: 1.1.1
+
+ /hasown@2.0.0:
+ resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ function-bind: 1.1.2
+ dev: false
+
+ /he@1.2.0:
+ resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
+ hasBin: true
+ dev: false
+
+ /heap@0.2.7:
+ resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==}
+ dev: true
+
+ /hermes-estree@0.12.0:
+ resolution: {integrity: sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw==}
+ dev: false
+
+ /hermes-parser@0.12.0:
+ resolution: {integrity: sha512-d4PHnwq6SnDLhYl3LHNHvOg7nQ6rcI7QVil418REYksv0Mh3cEkHDcuhGxNQ3vgnLSLl4QSvDrFCwQNYdpWlzw==}
+ dependencies:
+ hermes-estree: 0.12.0
+ dev: false
+
+ /hermes-profile-transformer@0.0.6:
+ resolution: {integrity: sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ source-map: 0.7.4
+ dev: false
+
+ /hoist-non-react-statics@3.3.2:
+ resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
+ dependencies:
+ react-is: 16.13.1
+ dev: false
+
+ /hosted-git-info@3.0.8:
+ resolution: {integrity: sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==}
+ engines: {node: '>=10'}
+ dependencies:
+ lru-cache: 6.0.0
+ dev: false
+
+ /hpack.js@2.1.6:
+ resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==}
+ dependencies:
+ inherits: 2.0.4
+ obuf: 1.1.2
+ readable-stream: 2.3.7
+ wbuf: 1.7.3
+ dev: false
+
+ /html-entities@2.4.0:
+ resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==}
+ dev: false
+
+ /html-minifier-terser@6.1.0:
+ resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==}
+ engines: {node: '>=12'}
+ hasBin: true
+ dependencies:
+ camel-case: 4.1.2
+ clean-css: 5.3.3
+ commander: 8.3.0
+ he: 1.2.0
+ param-case: 3.0.4
+ relateurl: 0.2.7
+ terser: 5.26.0
+ dev: false
+
+ /html-webpack-plugin@5.6.0(webpack@5.89.0):
+ resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==}
+ engines: {node: '>=10.13.0'}
+ peerDependencies:
+ '@rspack/core': 0.x || 1.x
+ webpack: ^5.20.0
+ peerDependenciesMeta:
+ '@rspack/core':
+ optional: true
+ webpack:
+ optional: true
+ dependencies:
+ '@types/html-minifier-terser': 6.1.0
+ html-minifier-terser: 6.1.0
+ lodash: 4.17.21
+ pretty-error: 4.0.0
+ tapable: 2.2.1
+ webpack: 5.89.0(esbuild@0.19.11)
+ dev: false
+
+ /htmlparser2@6.1.0:
+ resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==}
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ domutils: 2.8.0
+ entities: 2.2.0
+ dev: false
+
+ /http-cache-semantics@4.1.1:
+ resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
+ dev: false
+
+ /http-deceiver@1.2.7:
+ resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==}
+ dev: false
+
+ /http-errors@1.6.3:
+ resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ depd: 1.1.2
+ inherits: 2.0.3
+ setprototypeof: 1.1.0
+ statuses: 1.5.0
+ dev: false
+
+ /http-errors@2.0.0:
+ resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ depd: 2.0.0
+ inherits: 2.0.4
+ setprototypeof: 1.2.0
+ statuses: 2.0.1
+ toidentifier: 1.0.1
+ dev: false
+
+ /http-parser-js@0.5.8:
+ resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==}
+ dev: false
+
+ /http-proxy-middleware@2.0.6(@types/express@4.17.14):
+ resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@types/express': ^4.17.13
+ peerDependenciesMeta:
+ '@types/express':
+ optional: true
+ dependencies:
+ '@types/express': 4.17.14
+ '@types/http-proxy': 1.17.14
+ http-proxy: 1.18.1
+ is-glob: 4.0.3
+ is-plain-obj: 3.0.0
+ micromatch: 4.0.5
+ transitivePeerDependencies:
+ - debug
+ dev: false
+
+ /http-proxy@1.18.1:
+ resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ eventemitter3: 4.0.7
+ follow-redirects: 1.15.3
+ requires-port: 1.0.0
+ transitivePeerDependencies:
+ - debug
+ dev: false
+
+ /https-proxy-agent@5.0.1:
+ resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
+ engines: {node: '>= 6'}
+ dependencies:
+ agent-base: 6.0.2
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /human-signals@2.1.0:
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+ engines: {node: '>=10.17.0'}
+ dev: false
+
+ /hyphenate-style-name@1.0.4:
+ resolution: {integrity: sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==}
+ dev: false
+
+ /iconv-lite@0.4.24:
+ resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ safer-buffer: 2.1.2
+ dev: false
+
+ /iconv-lite@0.6.3:
+ resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ safer-buffer: 2.1.2
+ dev: false
+
+ /icss-utils@5.1.0(postcss@8.4.32):
+ resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ postcss: 8.4.32
+ dev: false
+
+ /ieee754@1.2.1:
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+ dev: false
+
+ /ignore@5.2.4:
+ resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
+ engines: {node: '>= 4'}
+
+ /image-size@1.1.0:
+ resolution: {integrity: sha512-asnTHw2K8OlqT5kVnQwX+AGKQqpvLo95LbNzQ/C0ln3yzentZmAdd0ygoD004VC4Kkd4PV7J2iaPQkqwp9yuTw==}
+ engines: {node: '>=18.0.0'}
+ hasBin: true
+ dependencies:
+ queue: 6.0.2
+ dev: false
+
+ /immediate@3.3.0:
+ resolution: {integrity: sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==}
+ dev: false
+
+ /import-fresh@2.0.0:
+ resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==}
+ engines: {node: '>=4'}
+ dependencies:
+ caller-path: 2.0.0
+ resolve-from: 3.0.0
+ dev: false
+
+ /import-fresh@3.3.0:
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ engines: {node: '>=6'}
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+
+ /imurmurhash@0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+ engines: {node: '>=0.8.19'}
+
+ /indent-string@4.0.0:
+ resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /infer-owner@1.0.4:
+ resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==}
+ dev: false
+
+ /inflight@1.0.6:
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+
+ /inherits@2.0.3:
+ resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==}
+ dev: false
+
+ /inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+
+ /ini@1.3.8:
+ resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
+ dev: false
+
+ /inline-style-prefixer@6.0.4:
+ resolution: {integrity: sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==}
+ dependencies:
+ css-in-js-utils: 3.1.0
+ fast-loops: 1.1.3
+ dev: false
+
+ /internal-ip@4.3.0:
+ resolution: {integrity: sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==}
+ engines: {node: '>=6'}
+ dependencies:
+ default-gateway: 4.2.0
+ ipaddr.js: 1.9.1
+ dev: false
+
+ /internal-slot@1.0.3:
+ resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.1.3
+ has: 1.0.3
+ side-channel: 1.0.4
+ dev: true
+
+ /invariant@2.2.4:
+ resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
+ dependencies:
+ loose-envify: 1.4.0
+ dev: false
+
+ /ip-regex@2.1.0:
+ resolution: {integrity: sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /ip@1.1.8:
+ resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==}
+ dev: false
+
+ /ipaddr.js@1.9.1:
+ resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
+ engines: {node: '>= 0.10'}
+ dev: false
+
+ /ipaddr.js@2.1.0:
+ resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==}
+ engines: {node: '>= 10'}
+ dev: false
+
+ /is-arrayish@0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+ dev: false
+
+ /is-arrayish@0.3.2:
+ resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
+ dev: false
+
+ /is-bigint@1.0.4:
+ resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
+ dependencies:
+ has-bigints: 1.0.2
+ dev: true
+
+ /is-binary-path@2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+ dependencies:
+ binary-extensions: 2.2.0
+
+ /is-boolean-object@1.1.2:
+ resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-buffer@1.1.6:
+ resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
+ dev: false
+
+ /is-callable@1.2.7:
+ resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /is-core-module@2.11.0:
+ resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==}
+ dependencies:
+ has: 1.0.3
+
+ /is-core-module@2.13.1:
+ resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
+ dependencies:
+ hasown: 2.0.0
+ dev: false
+
+ /is-date-object@1.0.5:
+ resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-directory@0.3.1:
+ resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /is-docker@2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: true
+
+ /is-extglob@1.0.0:
+ resolution: {integrity: sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+
+ /is-fullwidth-code-point@2.0.0:
+ resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /is-glob@2.0.1:
+ resolution: {integrity: sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-extglob: 1.0.0
+ dev: false
+
+ /is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-extglob: 2.1.1
+
+ /is-interactive@1.0.0:
+ resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /is-invalid-path@0.1.0:
+ resolution: {integrity: sha512-aZMG0T3F34mTg4eTdszcGXx54oiZ4NtHSft3hWNJMGJXUUqdIj3cOZuHcU0nCWWcY3jd7yRe/3AEm3vSNTpBGQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-glob: 2.0.1
+ dev: false
+
+ /is-negative-zero@2.0.2:
+ resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /is-number-object@1.0.7:
+ resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+
+ /is-path-cwd@2.2.0:
+ resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /is-path-in-cwd@2.1.0:
+ resolution: {integrity: sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ is-path-inside: 2.1.0
+ dev: false
+
+ /is-path-inside@2.1.0:
+ resolution: {integrity: sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==}
+ engines: {node: '>=6'}
+ dependencies:
+ path-is-inside: 1.0.2
+ dev: false
+
+ /is-path-inside@3.0.3:
+ resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
+ engines: {node: '>=8'}
+
+ /is-plain-obj@1.1.0:
+ resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /is-plain-obj@2.1.0:
+ resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /is-plain-obj@3.0.0:
+ resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /is-plain-object@2.0.4:
+ resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ isobject: 3.0.1
+ dev: false
+
+ /is-promise@2.2.2:
+ resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
+ dev: true
+
+ /is-regex@1.1.4:
+ resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-shared-array-buffer@1.0.2:
+ resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==}
+ dependencies:
+ call-bind: 1.0.2
+ dev: true
+
+ /is-stream@1.1.0:
+ resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /is-string@1.0.7:
+ resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-symbol@1.0.4:
+ resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-symbols: 1.0.3
+ dev: true
+
+ /is-unicode-supported@0.1.0:
+ resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /is-valid-path@0.1.1:
+ resolution: {integrity: sha512-+kwPrVDu9Ms03L90Qaml+79+6DZHqHyRoANI6IsZJ/g8frhnfchDOBCa0RbQ6/kdHt5CS5OeIEyrYznNuVN+8A==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-invalid-path: 0.1.0
+ dev: false
+
+ /is-weakref@1.0.2:
+ resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
+ dependencies:
+ call-bind: 1.0.2
+ dev: true
+
+ /is-what@4.1.8:
+ resolution: {integrity: sha512-yq8gMao5upkPoGEU9LsB2P+K3Kt8Q3fQFCGyNCWOAnJAMzEXVV9drYb0TXr42TTliLLhKIBvulgAXgtLLnwzGA==}
+ engines: {node: '>=12.13'}
+
+ /is-wsl@1.1.0:
+ resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /is-wsl@2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
+ dependencies:
+ is-docker: 2.2.1
+
+ /isarray@1.0.0:
+ resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
+ dev: false
+
+ /isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ /isobject@3.0.1:
+ resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /jest-environment-node@29.7.0:
+ resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/environment': 29.7.0
+ '@jest/fake-timers': 29.7.0
+ '@jest/types': 29.6.3
+ '@types/node': 18.15.11
+ jest-mock: 29.7.0
+ jest-util: 29.7.0
+ dev: false
+
+ /jest-get-type@29.6.3:
+ resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dev: false
+
+ /jest-message-util@29.7.0:
+ resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@babel/code-frame': 7.23.5
+ '@jest/types': 29.6.3
+ '@types/stack-utils': 2.0.3
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ micromatch: 4.0.5
+ pretty-format: 29.7.0
+ slash: 3.0.0
+ stack-utils: 2.0.6
+ dev: false
+
+ /jest-mock@29.7.0:
+ resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/types': 29.6.3
+ '@types/node': 18.15.11
+ jest-util: 29.7.0
+ dev: false
+
+ /jest-regex-util@27.5.1:
+ resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dev: false
+
+ /jest-util@27.5.1:
+ resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/types': 27.5.1
+ '@types/node': 18.15.11
+ chalk: 4.1.2
+ ci-info: 3.7.0
+ graceful-fs: 4.2.11
+ picomatch: 2.3.1
+ dev: false
+
+ /jest-util@29.7.0:
+ resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/types': 29.6.3
+ '@types/node': 18.15.11
+ chalk: 4.1.2
+ ci-info: 3.7.0
+ graceful-fs: 4.2.11
+ picomatch: 2.3.1
+ dev: false
+
+ /jest-validate@29.7.0:
+ resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/types': 29.6.3
+ camelcase: 6.3.0
+ chalk: 4.1.2
+ jest-get-type: 29.6.3
+ leven: 3.1.0
+ pretty-format: 29.7.0
+ dev: false
+
+ /jest-worker@27.5.1:
+ resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
+ engines: {node: '>= 10.13.0'}
+ dependencies:
+ '@types/node': 18.15.11
+ merge-stream: 2.0.0
+ supports-color: 8.1.1
+ dev: false
+
+ /jimp-compact@0.16.1:
+ resolution: {integrity: sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==}
+ dev: false
+
+ /joi@17.7.0:
+ resolution: {integrity: sha512-1/ugc8djfn93rTE3WRKdCzGGt/EtiYKxITMO4Wiv6q5JL1gl9ePt4kBsl1S499nbosspfctIQTpYIhSmHA3WAg==}
+ dependencies:
+ '@hapi/hoek': 9.3.0
+ '@hapi/topo': 5.1.0
+ '@sideway/address': 4.1.4
+ '@sideway/formula': 3.0.0
+ '@sideway/pinpoint': 2.0.0
+ dev: false
+
+ /join-component@1.1.0:
+ resolution: {integrity: sha512-bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ==}
+ dev: false
+
+ /js-sdsl@4.4.0:
+ resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==}
+
+ /js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ /js-yaml@3.14.1:
+ resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
+ hasBin: true
+ dependencies:
+ argparse: 1.0.10
+ esprima: 4.0.1
+ dev: false
+
+ /js-yaml@4.1.0:
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ hasBin: true
+ dependencies:
+ argparse: 2.0.1
+
+ /jsc-android@250231.0.0:
+ resolution: {integrity: sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==}
+ dev: false
+
+ /jsc-safe-url@0.2.4:
+ resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==}
+ dev: false
+
+ /jscodeshift@0.14.0(@babel/preset-env@7.20.2):
+ resolution: {integrity: sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==}
+ hasBin: true
+ peerDependencies:
+ '@babel/preset-env': ^7.1.6
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/parser': 7.23.6
+ '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.20.5)
+ '@babel/plugin-transform-modules-commonjs': 7.19.6(@babel/core@7.20.5)
+ '@babel/preset-env': 7.20.2(@babel/core@7.20.5)
+ '@babel/preset-flow': 7.18.6(@babel/core@7.20.5)
+ '@babel/preset-typescript': 7.18.6(@babel/core@7.20.5)
+ '@babel/register': 7.18.9(@babel/core@7.20.5)
+ babel-core: 7.0.0-bridge.0(@babel/core@7.20.5)
+ chalk: 4.1.2
+ flow-parser: 0.206.0
+ graceful-fs: 4.2.11
+ micromatch: 4.0.5
+ neo-async: 2.6.2
+ node-dir: 0.1.17
+ recast: 0.21.5
+ temp: 0.8.4
+ write-file-atomic: 2.4.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /jsesc@0.5.0:
+ resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
+ hasBin: true
+
+ /jsesc@2.5.2:
+ resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ /json-buffer@3.0.0:
+ resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==}
+ dev: false
+
+ /json-diff@0.9.0:
+ resolution: {integrity: sha512-cVnggDrVkAAA3OvFfHpFEhOnmcsUpleEKq4d4O8sQWWSH40MBrWstKigVB1kGrgLWzuom+7rRdaCsnBD6VyObQ==}
+ hasBin: true
+ dependencies:
+ cli-color: 2.0.3
+ difflib: 0.2.4
+ dreamopt: 0.8.0
+ dev: true
+
+ /json-parse-better-errors@1.0.2:
+ resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==}
+ dev: false
+
+ /json-parse-even-better-errors@2.3.1:
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+ dev: false
+
+ /json-schema-deref-sync@0.13.0:
+ resolution: {integrity: sha512-YBOEogm5w9Op337yb6pAT6ZXDqlxAsQCanM3grid8lMWNxRJO/zWEJi3ZzqDL8boWfwhTFym5EFrNgWwpqcBRg==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ clone: 2.1.2
+ dag-map: 1.0.2
+ is-valid-path: 0.1.1
+ lodash: 4.17.21
+ md5: 2.2.1
+ memory-cache: 0.2.0
+ traverse: 0.6.7
+ valid-url: 1.0.9
+ dev: false
+
+ /json-schema-traverse@0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+
+ /json-schema-traverse@1.0.0:
+ resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
+ dev: false
+
+ /json-stable-stringify-without-jsonify@1.0.1:
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+
+ /json5@1.0.1:
+ resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==}
+ hasBin: true
+ dependencies:
+ minimist: 1.2.7
+ dev: true
+
+ /json5@2.2.1:
+ resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ /json5@2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
+ dev: false
+
+ /jsonfile@4.0.0:
+ resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
+ optionalDependencies:
+ graceful-fs: 4.2.11
+ dev: false
+
+ /jsonfile@6.1.0:
+ resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
+ dependencies:
+ universalify: 2.0.0
+ optionalDependencies:
+ graceful-fs: 4.2.11
+ dev: false
+
+ /jsx-ast-utils@3.3.3:
+ resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==}
+ engines: {node: '>=4.0'}
+ dependencies:
+ array-includes: 3.1.6
+ object.assign: 4.1.4
+ dev: true
+
+ /keyv@3.1.0:
+ resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==}
+ dependencies:
+ json-buffer: 3.0.0
+ dev: false
+
+ /kind-of@6.0.3:
+ resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /kleur@3.0.3:
+ resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /language-subtag-registry@0.3.22:
+ resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
+ dev: true
+
+ /language-tags@1.0.6:
+ resolution: {integrity: sha512-HNkaCgM8wZgE/BZACeotAAgpL9FUjEnhgF0FVQMIgH//zqTPreLYMb3rWYkYAqPoF75Jwuycp1da7uz66cfFQg==}
+ dependencies:
+ language-subtag-registry: 0.3.22
+ dev: true
+
+ /launch-editor@2.6.1:
+ resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==}
+ dependencies:
+ picocolors: 1.0.0
+ shell-quote: 1.8.1
+ dev: false
+
+ /leven@3.1.0:
+ resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /levn@0.4.1:
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+
+ /lightningcss-darwin-arm64@1.19.0:
+ resolution: {integrity: sha512-wIJmFtYX0rXHsXHSr4+sC5clwblEMji7HHQ4Ub1/CznVRxtCFha6JIt5JZaNf8vQrfdZnBxLLC6R8pC818jXqg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /lightningcss-darwin-x64@1.19.0:
+ resolution: {integrity: sha512-Lif1wD6P4poaw9c/4Uh2z+gmrWhw/HtXFoeZ3bEsv6Ia4tt8rOJBdkfVaUJ6VXmpKHALve+iTyP2+50xY1wKPw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /lightningcss-linux-arm-gnueabihf@1.19.0:
+ resolution: {integrity: sha512-P15VXY5682mTXaiDtbnLYQflc8BYb774j2R84FgDLJTN6Qp0ZjWEFyN1SPqyfTj2B2TFjRHRUvQSSZ7qN4Weig==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /lightningcss-linux-arm64-gnu@1.19.0:
+ resolution: {integrity: sha512-zwXRjWqpev8wqO0sv0M1aM1PpjHz6RVIsBcxKszIG83Befuh4yNysjgHVplF9RTU7eozGe3Ts7r6we1+Qkqsww==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /lightningcss-linux-arm64-musl@1.19.0:
+ resolution: {integrity: sha512-vSCKO7SDnZaFN9zEloKSZM5/kC5gbzUjoJQ43BvUpyTFUX7ACs/mDfl2Eq6fdz2+uWhUh7vf92c4EaaP4udEtA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /lightningcss-linux-x64-gnu@1.19.0:
+ resolution: {integrity: sha512-0AFQKvVzXf9byrXUq9z0anMGLdZJS+XSDqidyijI5njIwj6MdbvX2UZK/c4FfNmeRa2N/8ngTffoIuOUit5eIQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /lightningcss-linux-x64-musl@1.19.0:
+ resolution: {integrity: sha512-SJoM8CLPt6ECCgSuWe+g0qo8dqQYVcPiW2s19dxkmSI5+Uu1GIRzyKA0b7QqmEXolA+oSJhQqCmJpzjY4CuZAg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /lightningcss-win32-x64-msvc@1.19.0:
+ resolution: {integrity: sha512-C+VuUTeSUOAaBZZOPT7Etn/agx/MatzJzGRkeV+zEABmPuntv1zihncsi+AyGmjkkzq3wVedEy7h0/4S84mUtg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /lightningcss@1.19.0:
+ resolution: {integrity: sha512-yV5UR7og+Og7lQC+70DA7a8ta1uiOPnWPJfxa0wnxylev5qfo4P+4iMpzWAdYWOca4jdNQZii+bDL/l+4hUXIA==}
+ engines: {node: '>= 12.0.0'}
+ dependencies:
+ detect-libc: 1.0.3
+ optionalDependencies:
+ lightningcss-darwin-arm64: 1.19.0
+ lightningcss-darwin-x64: 1.19.0
+ lightningcss-linux-arm-gnueabihf: 1.19.0
+ lightningcss-linux-arm64-gnu: 1.19.0
+ lightningcss-linux-arm64-musl: 1.19.0
+ lightningcss-linux-x64-gnu: 1.19.0
+ lightningcss-linux-x64-musl: 1.19.0
+ lightningcss-win32-x64-msvc: 1.19.0
+ dev: false
+
+ /lilconfig@2.0.6:
+ resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==}
+ engines: {node: '>=10'}
+
+ /lines-and-columns@1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ dev: false
+
+ /loader-runner@4.3.0:
+ resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
+ engines: {node: '>=6.11.5'}
+ dev: false
+
+ /loader-utils@2.0.4:
+ resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==}
+ engines: {node: '>=8.9.0'}
+ dependencies:
+ big.js: 5.2.2
+ emojis-list: 3.0.0
+ json5: 2.2.3
+ dev: false
+
+ /locate-path@3.0.0:
+ resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==}
+ engines: {node: '>=6'}
+ dependencies:
+ p-locate: 3.0.0
+ path-exists: 3.0.0
+ dev: false
+
+ /locate-path@5.0.0:
+ resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
+ engines: {node: '>=8'}
+ dependencies:
+ p-locate: 4.1.0
+ dev: false
+
+ /locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
+ dependencies:
+ p-locate: 5.0.0
+
+ /lodash-es@4.17.21:
+ resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
+ dev: false
+
+ /lodash.debounce@4.0.8:
+ resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+
+ /lodash.memoize@4.1.2:
+ resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
+ dev: false
+
+ /lodash.merge@4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+
+ /lodash.throttle@4.1.1:
+ resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
+
+ /lodash.uniq@4.5.0:
+ resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
+ dev: false
+
+ /lodash@4.17.21:
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+ dev: false
+
+ /log-symbols@2.2.0:
+ resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==}
+ engines: {node: '>=4'}
+ dependencies:
+ chalk: 2.4.2
+ dev: false
+
+ /log-symbols@4.1.0:
+ resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
+ engines: {node: '>=10'}
+ dependencies:
+ chalk: 4.1.2
+ is-unicode-supported: 0.1.0
+ dev: false
+
+ /logkitty@0.7.1:
+ resolution: {integrity: sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==}
+ hasBin: true
+ dependencies:
+ ansi-fragments: 0.2.1
+ dayjs: 1.11.7
+ yargs: 15.4.1
+ dev: false
+
+ /loose-envify@1.4.0:
+ resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+ hasBin: true
+ dependencies:
+ js-tokens: 4.0.0
+
+ /lower-case@2.0.2:
+ resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
+ dependencies:
+ tslib: 2.4.1
+ dev: false
+
+ /lowercase-keys@1.0.1:
+ resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /lowercase-keys@2.0.0:
+ resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /lru-cache@4.1.5:
+ resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==}
+ dependencies:
+ pseudomap: 1.0.2
+ yallist: 2.1.2
+ dev: false
+
+ /lru-cache@6.0.0:
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
+ engines: {node: '>=10'}
+ dependencies:
+ yallist: 4.0.0
+
+ /lru-queue@0.1.0:
+ resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==}
+ dependencies:
+ es5-ext: 0.10.62
+ dev: true
+
+ /make-dir@2.1.0:
+ resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
+ engines: {node: '>=6'}
+ dependencies:
+ pify: 4.0.1
+ semver: 5.7.1
+ dev: false
+
+ /make-dir@3.1.0:
+ resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
+ engines: {node: '>=8'}
+ dependencies:
+ semver: 6.3.1
+ dev: false
+
+ /makeerror@1.0.12:
+ resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
+ dependencies:
+ tmpl: 1.0.5
+ dev: false
+
+ /map-obj@4.3.0:
+ resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /md5-file@3.2.3:
+ resolution: {integrity: sha512-3Tkp1piAHaworfcCgH0jKbTvj1jWWFgbvh2cXaNCgHwyTCBxxvD1Y04rmfpvdPm1P4oXMOpm6+2H7sr7v9v8Fw==}
+ engines: {node: '>=0.10'}
+ hasBin: true
+ dependencies:
+ buffer-alloc: 1.2.0
+ dev: false
+
+ /md5@2.2.1:
+ resolution: {integrity: sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ==}
+ dependencies:
+ charenc: 0.0.2
+ crypt: 0.0.2
+ is-buffer: 1.1.6
+ dev: false
+
+ /md5@2.3.0:
+ resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==}
+ dependencies:
+ charenc: 0.0.2
+ crypt: 0.0.2
+ is-buffer: 1.1.6
+ dev: false
+
+ /md5hex@1.0.0:
+ resolution: {integrity: sha512-c2YOUbp33+6thdCUi34xIyOU/a7bvGKj/3DB1iaPMTuPHf/Q2d5s4sn1FaCOO43XkXggnb08y5W2PU8UNYNLKQ==}
+ dev: false
+
+ /mdn-data@2.0.14:
+ resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
+ dev: false
+
+ /media-typer@0.3.0:
+ resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ /memfs@3.5.3:
+ resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==}
+ engines: {node: '>= 4.0.0'}
+ dependencies:
+ fs-monkey: 1.0.5
+ dev: false
+
+ /memoize-one@5.2.1:
+ resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==}
+ dev: false
+
+ /memoize-one@6.0.0:
+ resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==}
+ dev: false
+
+ /memoizee@0.4.15:
+ resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==}
+ dependencies:
+ d: 1.0.1
+ es5-ext: 0.10.62
+ es6-weak-map: 2.0.3
+ event-emitter: 0.3.5
+ is-promise: 2.2.2
+ lru-queue: 0.1.0
+ next-tick: 1.1.0
+ timers-ext: 0.1.7
+ dev: true
+
+ /memory-cache@0.2.0:
+ resolution: {integrity: sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==}
+ dev: false
+
+ /merge-descriptors@1.0.1:
+ resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==}
+ dev: false
+
+ /merge-options@3.0.4:
+ resolution: {integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ is-plain-obj: 2.1.0
+ dev: false
+
+ /merge-stream@2.0.0:
+ resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+ dev: false
+
+ /merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+
+ /methods@1.1.2:
+ resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ /metro-babel-transformer@0.76.8:
+ resolution: {integrity: sha512-Hh6PW34Ug/nShlBGxkwQJSgPGAzSJ9FwQXhUImkzdsDgVu6zj5bx258J8cJVSandjNoQ8nbaHK6CaHlnbZKbyA==}
+ engines: {node: '>=16'}
+ dependencies:
+ '@babel/core': 7.20.5
+ hermes-parser: 0.12.0
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /metro-cache-key@0.76.8:
+ resolution: {integrity: sha512-buKQ5xentPig9G6T37Ww/R/bC+/V1MA5xU/D8zjnhlelsrPG6w6LtHUS61ID3zZcMZqYaELWk5UIadIdDsaaLw==}
+ engines: {node: '>=16'}
+ dev: false
+
+ /metro-cache@0.76.8:
+ resolution: {integrity: sha512-QBJSJIVNH7Hc/Yo6br/U/qQDUpiUdRgZ2ZBJmvAbmAKp2XDzsapnMwK/3BGj8JNWJF7OLrqrYHsRsukSbUBpvQ==}
+ engines: {node: '>=16'}
+ dependencies:
+ metro-core: 0.76.8
+ rimraf: 3.0.2
+ dev: false
+
+ /metro-config@0.76.8:
+ resolution: {integrity: sha512-SL1lfKB0qGHALcAk2zBqVgQZpazDYvYFGwCK1ikz0S6Y/CM2i2/HwuZN31kpX6z3mqjv/6KvlzaKoTb1otuSAA==}
+ engines: {node: '>=16'}
+ dependencies:
+ connect: 3.7.0
+ cosmiconfig: 5.2.1
+ jest-validate: 29.7.0
+ metro: 0.76.8
+ metro-cache: 0.76.8
+ metro-core: 0.76.8
+ metro-runtime: 0.76.8
+ transitivePeerDependencies:
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /metro-core@0.76.8:
+ resolution: {integrity: sha512-sl2QLFI3d1b1XUUGxwzw/KbaXXU/bvFYrSKz6Sg19AdYGWFyzsgZ1VISRIDf+HWm4R/TJXluhWMEkEtZuqi3qA==}
+ engines: {node: '>=16'}
+ dependencies:
+ lodash.throttle: 4.1.1
+ metro-resolver: 0.76.8
+ dev: false
+
+ /metro-file-map@0.76.8:
+ resolution: {integrity: sha512-A/xP1YNEVwO1SUV9/YYo6/Y1MmzhL4ZnVgcJC3VmHp/BYVOXVStzgVbWv2wILe56IIMkfXU+jpXrGKKYhFyHVw==}
+ engines: {node: '>=16'}
+ dependencies:
+ anymatch: 3.1.3
+ debug: 2.6.9
+ fb-watchman: 2.0.2
+ graceful-fs: 4.2.11
+ invariant: 2.2.4
+ jest-regex-util: 27.5.1
+ jest-util: 27.5.1
+ jest-worker: 27.5.1
+ micromatch: 4.0.5
+ node-abort-controller: 3.1.1
+ nullthrows: 1.1.1
+ walker: 1.0.8
+ optionalDependencies:
+ fsevents: 2.3.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /metro-inspector-proxy@0.76.8:
+ resolution: {integrity: sha512-Us5o5UEd4Smgn1+TfHX4LvVPoWVo9VsVMn4Ldbk0g5CQx3Gu0ygc/ei2AKPGTwsOZmKxJeACj7yMH2kgxQP/iw==}
+ engines: {node: '>=16'}
+ hasBin: true
+ dependencies:
+ connect: 3.7.0
+ debug: 2.6.9
+ node-fetch: 2.6.7
+ ws: 7.5.9
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /metro-minify-terser@0.76.8:
+ resolution: {integrity: sha512-Orbvg18qXHCrSj1KbaeSDVYRy/gkro2PC7Fy2tDSH1c9RB4aH8tuMOIXnKJE+1SXxBtjWmQ5Yirwkth2DyyEZA==}
+ engines: {node: '>=16'}
+ dependencies:
+ terser: 5.26.0
+ dev: false
+
+ /metro-minify-uglify@0.76.8:
+ resolution: {integrity: sha512-6l8/bEvtVaTSuhG1FqS0+Mc8lZ3Bl4RI8SeRIifVLC21eeSDp4CEBUWSGjpFyUDfi6R5dXzYaFnSgMNyfxADiQ==}
+ engines: {node: '>=16'}
+ dependencies:
+ uglify-es: 3.3.9
+ dev: false
+
+ /metro-react-native-babel-preset@0.76.8(@babel/core@7.20.5):
+ resolution: {integrity: sha512-Ptza08GgqzxEdK8apYsjTx2S8WDUlS2ilBlu9DR1CUcHmg4g3kOkFylZroogVAUKtpYQNYwAvdsjmrSdDNtiAg==}
+ engines: {node: '>=16'}
+ peerDependencies:
+ '@babel/core': '*'
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/plugin-proposal-async-generator-functions': 7.20.1(@babel/core@7.20.5)
+ '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-proposal-export-default-from': 7.18.10(@babel/core@7.20.5)
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-proposal-object-rest-spread': 7.20.2(@babel/core@7.20.5)
+ '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.20.5)
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.20.5)
+ '@babel/plugin-syntax-export-default-from': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.20.5)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.20.5)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.20.5)
+ '@babel/plugin-transform-arrow-functions': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.20.5)
+ '@babel/plugin-transform-block-scoping': 7.20.5(@babel/core@7.20.5)
+ '@babel/plugin-transform-classes': 7.20.2(@babel/core@7.20.5)
+ '@babel/plugin-transform-computed-properties': 7.18.9(@babel/core@7.20.5)
+ '@babel/plugin-transform-destructuring': 7.20.2(@babel/core@7.20.5)
+ '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.20.5)
+ '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.20.5)
+ '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.20.5)
+ '@babel/plugin-transform-modules-commonjs': 7.19.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.20.5)
+ '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.20.5)
+ '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.20.5)
+ '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.20.5)
+ '@babel/plugin-transform-react-jsx-self': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-runtime': 7.19.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-spread': 7.19.0(@babel/core@7.20.5)
+ '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-typescript': 7.20.2(@babel/core@7.20.5)
+ '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.20.5)
+ '@babel/template': 7.22.15
+ babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.20.5)
+ react-refresh: 0.4.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /metro-react-native-babel-transformer@0.76.8(@babel/core@7.20.5):
+ resolution: {integrity: sha512-3h+LfS1WG1PAzhq8QF0kfXjxuXetbY/lgz8vYMQhgrMMp17WM1DNJD0gjx8tOGYbpbBC1qesJ45KMS4o5TA73A==}
+ engines: {node: '>=16'}
+ peerDependencies:
+ '@babel/core': '*'
+ dependencies:
+ '@babel/core': 7.20.5
+ babel-preset-fbjs: 3.4.0(@babel/core@7.20.5)
+ hermes-parser: 0.12.0
+ metro-react-native-babel-preset: 0.76.8(@babel/core@7.20.5)
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /metro-resolver@0.76.8:
+ resolution: {integrity: sha512-KccOqc10vrzS7ZhG2NSnL2dh3uVydarB7nOhjreQ7C4zyWuiW9XpLC4h47KtGQv3Rnv/NDLJYeDqaJ4/+140HQ==}
+ engines: {node: '>=16'}
+ dev: false
+
+ /metro-runtime@0.76.8:
+ resolution: {integrity: sha512-XKahvB+iuYJSCr3QqCpROli4B4zASAYpkK+j3a0CJmokxCDNbgyI4Fp88uIL6rNaZfN0Mv35S0b99SdFXIfHjg==}
+ engines: {node: '>=16'}
+ dependencies:
+ '@babel/runtime': 7.21.0
+ react-refresh: 0.4.3
+ dev: false
+
+ /metro-source-map@0.76.8:
+ resolution: {integrity: sha512-Hh0ncPsHPVf6wXQSqJqB3K9Zbudht4aUtNpNXYXSxH+pteWqGAXnjtPsRAnCsCWl38wL0jYF0rJDdMajUI3BDw==}
+ engines: {node: '>=16'}
+ dependencies:
+ '@babel/traverse': 7.20.5
+ '@babel/types': 7.23.6
+ invariant: 2.2.4
+ metro-symbolicate: 0.76.8
+ nullthrows: 1.1.1
+ ob1: 0.76.8
+ source-map: 0.5.7
+ vlq: 1.0.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /metro-symbolicate@0.76.8:
+ resolution: {integrity: sha512-LrRL3uy2VkzrIXVlxoPtqb40J6Bf1mlPNmUQewipc3qfKKFgtPHBackqDy1YL0njDsWopCKcfGtFYLn0PTUn3w==}
+ engines: {node: '>=16'}
+ hasBin: true
+ dependencies:
+ invariant: 2.2.4
+ metro-source-map: 0.76.8
+ nullthrows: 1.1.1
+ source-map: 0.5.7
+ through2: 2.0.5
+ vlq: 1.0.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /metro-transform-plugins@0.76.8:
+ resolution: {integrity: sha512-PlkGTQNqS51Bx4vuufSQCdSn2R2rt7korzngo+b5GCkeX5pjinPjnO2kNhQ8l+5bO0iUD/WZ9nsM2PGGKIkWFA==}
+ engines: {node: '>=16'}
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/generator': 7.20.5
+ '@babel/template': 7.22.15
+ '@babel/traverse': 7.20.5
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /metro-transform-worker@0.76.8:
+ resolution: {integrity: sha512-mE1fxVAnJKmwwJyDtThildxxos9+DGs9+vTrx2ktSFMEVTtXS/bIv2W6hux1pqivqAfyJpTeACXHk5u2DgGvIQ==}
+ engines: {node: '>=16'}
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/generator': 7.20.5
+ '@babel/parser': 7.23.6
+ '@babel/types': 7.23.6
+ babel-preset-fbjs: 3.4.0(@babel/core@7.20.5)
+ metro: 0.76.8
+ metro-babel-transformer: 0.76.8
+ metro-cache: 0.76.8
+ metro-cache-key: 0.76.8
+ metro-source-map: 0.76.8
+ metro-transform-plugins: 0.76.8
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /metro@0.76.8:
+ resolution: {integrity: sha512-oQA3gLzrrYv3qKtuWArMgHPbHu8odZOD9AoavrqSFllkPgOtmkBvNNDLCELqv5SjBfqjISNffypg+5UGG3y0pg==}
+ engines: {node: '>=16'}
+ hasBin: true
+ dependencies:
+ '@babel/code-frame': 7.23.5
+ '@babel/core': 7.20.5
+ '@babel/generator': 7.20.5
+ '@babel/parser': 7.23.6
+ '@babel/template': 7.22.15
+ '@babel/traverse': 7.20.5
+ '@babel/types': 7.23.6
+ accepts: 1.3.8
+ async: 3.2.4
+ chalk: 4.1.2
+ ci-info: 2.0.0
+ connect: 3.7.0
+ debug: 2.6.9
+ denodeify: 1.2.1
+ error-stack-parser: 2.1.4
+ graceful-fs: 4.2.11
+ hermes-parser: 0.12.0
+ image-size: 1.1.0
+ invariant: 2.2.4
+ jest-worker: 27.5.1
+ jsc-safe-url: 0.2.4
+ lodash.throttle: 4.1.1
+ metro-babel-transformer: 0.76.8
+ metro-cache: 0.76.8
+ metro-cache-key: 0.76.8
+ metro-config: 0.76.8
+ metro-core: 0.76.8
+ metro-file-map: 0.76.8
+ metro-inspector-proxy: 0.76.8
+ metro-minify-terser: 0.76.8
+ metro-minify-uglify: 0.76.8
+ metro-react-native-babel-preset: 0.76.8(@babel/core@7.20.5)
+ metro-resolver: 0.76.8
+ metro-runtime: 0.76.8
+ metro-source-map: 0.76.8
+ metro-symbolicate: 0.76.8
+ metro-transform-plugins: 0.76.8
+ metro-transform-worker: 0.76.8
+ mime-types: 2.1.35
+ node-fetch: 2.6.7
+ nullthrows: 1.1.1
+ rimraf: 3.0.2
+ serialize-error: 2.1.0
+ source-map: 0.5.7
+ strip-ansi: 6.0.1
+ throat: 5.0.0
+ ws: 7.5.9
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /micromatch@4.0.5:
+ resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
+ engines: {node: '>=8.6'}
+ dependencies:
+ braces: 3.0.2
+ picomatch: 2.3.1
+
+ /mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ /mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-db: 1.52.0
+ dev: false
+
+ /mime@1.6.0:
+ resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: false
+
+ /mime@2.6.0:
+ resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==}
+ engines: {node: '>=4.0.0'}
+ hasBin: true
+ dev: false
+
+ /mimic-fn@1.2.0:
+ resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /mimic-fn@2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /mimic-response@1.0.1:
+ resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /mini-css-extract-plugin@2.7.6(webpack@5.89.0):
+ resolution: {integrity: sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^5.0.0
+ dependencies:
+ schema-utils: 4.2.0
+ webpack: 5.89.0(esbuild@0.19.11)
+ dev: false
+
+ /minimalistic-assert@1.0.1:
+ resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
+ dev: false
+
+ /minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ dependencies:
+ brace-expansion: 1.1.11
+
+ /minimatch@5.1.6:
+ resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
+ engines: {node: '>=10'}
+ dependencies:
+ brace-expansion: 2.0.1
+
+ /minimatch@7.4.6:
+ resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==}
+ engines: {node: '>=10'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
+ /minimist@1.2.7:
+ resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==}
+
+ /minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+ dev: false
+
+ /minipass-collect@1.0.2:
+ resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==}
+ engines: {node: '>= 8'}
+ dependencies:
+ minipass: 3.3.6
+ dev: false
+
+ /minipass-flush@1.0.5:
+ resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==}
+ engines: {node: '>= 8'}
+ dependencies:
+ minipass: 3.3.6
+ dev: false
+
+ /minipass-pipeline@1.2.4:
+ resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==}
+ engines: {node: '>=8'}
+ dependencies:
+ minipass: 3.3.6
+ dev: false
+
+ /minipass@3.1.6:
+ resolution: {integrity: sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ yallist: 4.0.0
+ dev: false
+
+ /minipass@3.3.6:
+ resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
+ engines: {node: '>=8'}
+ dependencies:
+ yallist: 4.0.0
+ dev: false
+
+ /minipass@4.0.0:
+ resolution: {integrity: sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==}
+ engines: {node: '>=8'}
+ dependencies:
+ yallist: 4.0.0
+ dev: false
+
+ /minizlib@2.1.2:
+ resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ minipass: 3.3.6
+ yallist: 4.0.0
+ dev: false
+
+ /mkdirp@0.5.6:
+ resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
+ hasBin: true
+ dependencies:
+ minimist: 1.2.8
+ dev: false
+
+ /mkdirp@1.0.4:
+ resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dev: false
+
+ /ms@2.0.0:
+ resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
+
+ /ms@2.1.2:
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+
+ /ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ /multicast-dns@7.2.5:
+ resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==}
+ hasBin: true
+ dependencies:
+ dns-packet: 5.6.1
+ thunky: 1.1.0
+ dev: false
+
+ /mv@2.1.1:
+ resolution: {integrity: sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==}
+ engines: {node: '>=0.8.0'}
+ requiresBuild: true
+ dependencies:
+ mkdirp: 0.5.6
+ ncp: 2.0.0
+ rimraf: 2.4.5
+ dev: false
+ optional: true
+
+ /mz@2.7.0:
+ resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
+ dependencies:
+ any-promise: 1.3.0
+ object-assign: 4.1.1
+ thenify-all: 1.6.0
+ dev: false
+
+ /nanoid@3.3.4:
+ resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ /nanoid@3.3.7:
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+ dev: false
+
+ /nativewind@2.0.11(react@18.2.0)(tailwindcss@3.2.4):
+ resolution: {integrity: sha512-qCEXUwKW21RYJ33KRAJl3zXq2bCq82WoI564fI21D/TiqhfmstZOqPN53RF8qK1NDK6PGl56b2xaTxgObEePEg==}
+ engines: {node: '>=14.18'}
+ peerDependencies:
+ tailwindcss: ~3
+ dependencies:
+ '@babel/generator': 7.20.5
+ '@babel/helper-module-imports': 7.18.6
+ '@babel/types': 7.19.0
+ css-mediaquery: 0.1.2
+ css-to-react-native: 3.0.0
+ micromatch: 4.0.5
+ postcss: 8.4.20
+ postcss-calc: 8.2.4(postcss@8.4.20)
+ postcss-color-functional-notation: 4.2.4(postcss@8.4.20)
+ postcss-css-variables: 0.18.0(postcss@8.4.20)
+ postcss-nested: 5.0.6(postcss@8.4.20)
+ react-is: 18.2.0
+ tailwindcss: 3.2.4(postcss@8.4.20)
+ use-sync-external-store: 1.2.0(react@18.2.0)
+ transitivePeerDependencies:
+ - react
+ dev: false
+
+ /natural-compare-lite@1.4.0:
+ resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
+ dev: false
+
+ /natural-compare@1.4.0:
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+
+ /ncp@2.0.0:
+ resolution: {integrity: sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==}
+ hasBin: true
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /negotiator@0.6.3:
+ resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ /neo-async@2.6.2:
+ resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
+ dev: false
+
+ /nested-error-stacks@2.0.1:
+ resolution: {integrity: sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A==}
+ dev: false
+
+ /next-tick@1.1.0:
+ resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
+ dev: true
+
+ /next@13.1.6(@babel/core@7.20.5)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-hHlbhKPj9pW+Cymvfzc15lvhaOZ54l+8sXDXJWm3OBNBzgrVj6hwGPmqqsXg40xO1Leq+kXpllzRPuncpC0Phw==}
+ engines: {node: '>=14.6.0'}
+ hasBin: true
+ peerDependencies:
+ fibers: '>= 3.1.0'
+ node-sass: ^6.0.0 || ^7.0.0
+ react: ^18.2.0
+ react-dom: ^18.2.0
+ sass: ^1.3.0
+ peerDependenciesMeta:
+ fibers:
+ optional: true
+ node-sass:
+ optional: true
+ sass:
+ optional: true
+ dependencies:
+ '@next/env': 13.1.6
+ '@swc/helpers': 0.4.14
+ caniuse-lite: 1.0.30001439
+ postcss: 8.4.14
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ styled-jsx: 5.1.1(@babel/core@7.20.5)(react@18.2.0)
+ optionalDependencies:
+ '@next/swc-android-arm-eabi': 13.1.6
+ '@next/swc-android-arm64': 13.1.6
+ '@next/swc-darwin-arm64': 13.1.6
+ '@next/swc-darwin-x64': 13.1.6
+ '@next/swc-freebsd-x64': 13.1.6
+ '@next/swc-linux-arm-gnueabihf': 13.1.6
+ '@next/swc-linux-arm64-gnu': 13.1.6
+ '@next/swc-linux-arm64-musl': 13.1.6
+ '@next/swc-linux-x64-gnu': 13.1.6
+ '@next/swc-linux-x64-musl': 13.1.6
+ '@next/swc-win32-arm64-msvc': 13.1.6
+ '@next/swc-win32-ia32-msvc': 13.1.6
+ '@next/swc-win32-x64-msvc': 13.1.6
+ transitivePeerDependencies:
+ - '@babel/core'
+ - babel-plugin-macros
+ dev: false
+
+ /nice-try@1.0.5:
+ resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
+ dev: false
+
+ /no-case@3.0.4:
+ resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
+ dependencies:
+ lower-case: 2.0.2
+ tslib: 2.4.1
+ dev: false
+
+ /nocache@3.0.4:
+ resolution: {integrity: sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==}
+ engines: {node: '>=12.0.0'}
+ dev: false
+
+ /node-abort-controller@3.1.1:
+ resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==}
+ dev: false
+
+ /node-dir@0.1.17:
+ resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==}
+ engines: {node: '>= 0.10.5'}
+ dependencies:
+ minimatch: 3.1.2
+ dev: false
+
+ /node-fetch-native@1.0.1:
+ resolution: {integrity: sha512-VzW+TAk2wE4X9maiKMlT+GsPU4OMmR1U9CrHSmd3DFLn2IcZ9VJ6M6BBugGfYUnPCLSYxXdZy17M0BEJyhUTwg==}
+ dev: false
+
+ /node-fetch@2.6.7:
+ resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+ dependencies:
+ whatwg-url: 5.0.0
+ dev: false
+
+ /node-forge@1.3.1:
+ resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
+ engines: {node: '>= 6.13.0'}
+ dev: false
+
+ /node-html-parser@5.4.2:
+ resolution: {integrity: sha512-RaBPP3+51hPne/OolXxcz89iYvQvKOydaqoePpOgXcrOKZhjVIzmpKZz+Hd/RBO2/zN2q6CNJhQzucVz+u3Jyw==}
+ dependencies:
+ css-select: 4.3.0
+ he: 1.2.0
+ dev: false
+
+ /node-int64@0.4.0:
+ resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
+ dev: false
+
+ /node-releases@2.0.6:
+ resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==}
+
+ /node-stream-zip@1.15.0:
+ resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==}
+ engines: {node: '>=0.12.0'}
+ dev: false
+
+ /noop-fn@1.0.0:
+ resolution: {integrity: sha512-pQ8vODlgXt2e7A3mIbFDlizkr46r75V+BJxVAyat8Jl7YmI513gG5cfyRL0FedKraoZ+VAouI1h4/IWpus5pcQ==}
+ dev: false
+
+ /normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+
+ /normalize-range@0.1.2:
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /normalize-url@2.0.1:
+ resolution: {integrity: sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==}
+ engines: {node: '>=4'}
+ dependencies:
+ prepend-http: 2.0.0
+ query-string: 5.1.1
+ sort-keys: 2.0.0
+ dev: false
+
+ /normalize-url@4.5.1:
+ resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /normalize-url@6.1.0:
+ resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /npm-package-arg@7.0.0:
+ resolution: {integrity: sha512-xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==}
+ dependencies:
+ hosted-git-info: 3.0.8
+ osenv: 0.1.5
+ semver: 5.7.1
+ validate-npm-package-name: 3.0.0
+ dev: false
+
+ /npm-run-path@2.0.2:
+ resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==}
+ engines: {node: '>=4'}
+ dependencies:
+ path-key: 2.0.1
+ dev: false
+
+ /npm-run-path@4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-key: 3.1.1
+ dev: false
+
+ /nth-check@2.1.1:
+ resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+ dependencies:
+ boolbase: 1.0.0
+ dev: false
+
+ /nullthrows@1.1.1:
+ resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==}
+ dev: false
+
+ /ob1@0.76.8:
+ resolution: {integrity: sha512-dlBkJJV5M/msj9KYA9upc+nUWVwuOFFTbu28X6kZeGwcuW+JxaHSBZ70SYQnk5M+j5JbNLR6yKHmgW4M5E7X5g==}
+ engines: {node: '>=16'}
+ dev: false
+
+ /object-assign@4.1.1:
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
+ engines: {node: '>=0.10.0'}
+
+ /object-hash@3.0.0:
+ resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
+ engines: {node: '>= 6'}
+
+ /object-inspect@1.12.2:
+ resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==}
+
+ /object-keys@1.1.1:
+ resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /object.assign@4.1.4:
+ resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ has-symbols: 1.0.3
+ object-keys: 1.1.1
+ dev: true
+
+ /object.entries@1.1.6:
+ resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ es-abstract: 1.20.5
+ dev: true
+
+ /object.fromentries@2.0.6:
+ resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ es-abstract: 1.20.5
+ dev: true
+
+ /object.hasown@1.1.2:
+ resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==}
+ dependencies:
+ define-properties: 1.1.4
+ es-abstract: 1.20.5
+ dev: true
+
+ /object.values@1.1.6:
+ resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ es-abstract: 1.20.5
+ dev: true
+
+ /obuf@1.1.2:
+ resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
+ dev: false
+
+ /on-finished@2.3.0:
+ resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ ee-first: 1.1.1
+ dev: false
+
+ /on-finished@2.4.1:
+ resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ ee-first: 1.1.1
+ dev: false
+
+ /on-headers@1.0.2:
+ resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ /once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+ dependencies:
+ wrappy: 1.0.2
+
+ /onetime@2.0.1:
+ resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ mimic-fn: 1.2.0
+ dev: false
+
+ /onetime@5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
+ dependencies:
+ mimic-fn: 2.1.0
+ dev: false
+
+ /open@6.4.0:
+ resolution: {integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==}
+ engines: {node: '>=8'}
+ dependencies:
+ is-wsl: 1.1.0
+ dev: false
+
+ /open@8.4.0:
+ resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==}
+ engines: {node: '>=12'}
+ dependencies:
+ define-lazy-prop: 2.0.0
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+
+ /optionator@0.9.1:
+ resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ deep-is: 0.1.4
+ fast-levenshtein: 2.0.6
+ levn: 0.4.1
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ word-wrap: 1.2.3
+
+ /ora@3.4.0:
+ resolution: {integrity: sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==}
+ engines: {node: '>=6'}
+ dependencies:
+ chalk: 2.4.2
+ cli-cursor: 2.1.0
+ cli-spinners: 2.7.0
+ log-symbols: 2.2.0
+ strip-ansi: 5.2.0
+ wcwidth: 1.0.1
+ dev: false
+
+ /ora@5.4.1:
+ resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ bl: 4.1.0
+ chalk: 4.1.2
+ cli-cursor: 3.1.0
+ cli-spinners: 2.7.0
+ is-interactive: 1.0.0
+ is-unicode-supported: 0.1.0
+ log-symbols: 4.1.0
+ strip-ansi: 6.0.1
+ wcwidth: 1.0.1
+ dev: false
+
+ /os-homedir@1.0.2:
+ resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /os-tmpdir@1.0.2:
+ resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /osenv@0.1.5:
+ resolution: {integrity: sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==}
+ dependencies:
+ os-homedir: 1.0.2
+ os-tmpdir: 1.0.2
+ dev: false
+
+ /p-cancelable@1.1.0:
+ resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /p-finally@1.0.0:
+ resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /p-limit@2.3.0:
+ resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
+ engines: {node: '>=6'}
+ dependencies:
+ p-try: 2.2.0
+ dev: false
+
+ /p-limit@3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ yocto-queue: 0.1.0
+
+ /p-locate@3.0.0:
+ resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ p-limit: 2.3.0
+ dev: false
+
+ /p-locate@4.1.0:
+ resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
+ engines: {node: '>=8'}
+ dependencies:
+ p-limit: 2.3.0
+ dev: false
+
+ /p-locate@5.0.0:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+ engines: {node: '>=10'}
+ dependencies:
+ p-limit: 3.1.0
+
+ /p-map@2.1.0:
+ resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /p-map@4.0.0:
+ resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ aggregate-error: 3.1.0
+ dev: false
+
+ /p-retry@4.6.2:
+ resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@types/retry': 0.12.0
+ retry: 0.13.1
+ dev: false
+
+ /p-try@2.2.0:
+ resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /package-json@6.5.0:
+ resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ got: 9.6.0
+ registry-auth-token: 4.2.2
+ registry-url: 5.1.0
+ semver: 6.3.0
+ dev: false
+
+ /param-case@3.0.4:
+ resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
+ dependencies:
+ dot-case: 3.0.4
+ tslib: 2.4.1
+ dev: false
+
+ /parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+ dependencies:
+ callsites: 3.1.0
+
+ /parse-github-url@1.0.2:
+ resolution: {integrity: sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==}
+ engines: {node: '>=0.10.0'}
+ hasBin: true
+ dev: false
+
+ /parse-json@4.0.0:
+ resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==}
+ engines: {node: '>=4'}
+ dependencies:
+ error-ex: 1.3.2
+ json-parse-better-errors: 1.0.2
+ dev: false
+
+ /parse-json@5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@babel/code-frame': 7.18.6
+ error-ex: 1.3.2
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+ dev: false
+
+ /parse-png@2.1.0:
+ resolution: {integrity: sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ pngjs: 3.4.0
+ dev: false
+
+ /parseurl@1.3.3:
+ resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ /pascal-case@3.1.2:
+ resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.4.1
+ dev: false
+
+ /password-prompt@1.1.2:
+ resolution: {integrity: sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA==}
+ dependencies:
+ ansi-escapes: 3.2.0
+ cross-spawn: 6.0.5
+ dev: false
+
+ /path-browserify@1.0.1:
+ resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
+ dev: false
+
+ /path-exists@3.0.0:
+ resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+
+ /path-is-absolute@1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+ engines: {node: '>=0.10.0'}
+
+ /path-is-inside@1.0.2:
+ resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==}
+ dev: false
+
+ /path-key@2.0.1:
+ resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+
+ /path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
+ /path-to-regexp@0.1.7:
+ resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
+ dev: false
+
+ /path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+
+ /picocolors@1.0.0:
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+
+ /picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+
+ /pify@2.3.0:
+ resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
+ engines: {node: '>=0.10.0'}
+
+ /pify@4.0.1:
+ resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /pinkie-promise@2.0.1:
+ resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ pinkie: 2.0.4
+ dev: false
+
+ /pinkie@2.0.4:
+ resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /pirates@4.0.5:
+ resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==}
+ engines: {node: '>= 6'}
+ dev: false
+
+ /pkg-dir@3.0.0:
+ resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==}
+ engines: {node: '>=6'}
+ dependencies:
+ find-up: 3.0.0
+ dev: false
+
+ /pkg-dir@4.2.0:
+ resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ find-up: 4.1.0
+ dev: false
+
+ /pkg-up@3.1.0:
+ resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==}
+ engines: {node: '>=8'}
+ dependencies:
+ find-up: 3.0.0
+ dev: false
+
+ /plist@3.0.6:
+ resolution: {integrity: sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==}
+ engines: {node: '>=6'}
+ dependencies:
+ base64-js: 1.5.1
+ xmlbuilder: 15.1.1
+ dev: false
+
+ /pngjs@3.4.0:
+ resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==}
+ engines: {node: '>=4.0.0'}
+ dev: false
+
+ /postcss-calc@8.2.4(postcss@8.4.20):
+ resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==}
+ peerDependencies:
+ postcss: ^8.2.2
+ dependencies:
+ postcss: 8.4.20
+ postcss-selector-parser: 6.0.11
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-calc@8.2.4(postcss@8.4.32):
+ resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==}
+ peerDependencies:
+ postcss: ^8.2.2
+ dependencies:
+ postcss: 8.4.32
+ postcss-selector-parser: 6.0.11
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-color-functional-notation@4.2.4(postcss@8.4.20):
+ resolution: {integrity: sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+ dependencies:
+ postcss: 8.4.20
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-colormin@5.3.1(postcss@8.4.32):
+ resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.21.4
+ caniuse-api: 3.0.0
+ colord: 2.9.3
+ postcss: 8.4.32
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-convert-values@5.1.3(postcss@8.4.32):
+ resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.21.4
+ postcss: 8.4.32
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-css-variables@0.18.0(postcss@8.4.20):
+ resolution: {integrity: sha512-lYS802gHbzn1GI+lXvy9MYIYDuGnl1WB4FTKoqMQqJ3Mab09A7a/1wZvGTkCEZJTM8mSbIyb1mJYn8f0aPye0Q==}
+ peerDependencies:
+ postcss: ^8.2.6
+ dependencies:
+ balanced-match: 1.0.2
+ escape-string-regexp: 1.0.5
+ extend: 3.0.2
+ postcss: 8.4.20
+ dev: false
+
+ /postcss-discard-comments@5.1.2(postcss@8.4.32):
+ resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.32
+ dev: false
+
+ /postcss-discard-duplicates@5.1.0(postcss@8.4.32):
+ resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.32
+ dev: false
+
+ /postcss-discard-empty@5.1.1(postcss@8.4.32):
+ resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.32
+ dev: false
+
+ /postcss-discard-overridden@5.1.0(postcss@8.4.32):
+ resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.32
+ dev: false
+
+ /postcss-import@14.1.0(postcss@8.4.20):
+ resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ postcss: ^8.0.0
+ dependencies:
+ postcss: 8.4.20
+ postcss-value-parser: 4.2.0
+ read-cache: 1.0.0
+ resolve: 1.22.1
+
+ /postcss-js@4.0.0(postcss@8.4.20):
+ resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==}
+ engines: {node: ^12 || ^14 || >= 16}
+ peerDependencies:
+ postcss: ^8.3.3
+ dependencies:
+ camelcase-css: 2.0.1
+ postcss: 8.4.20
+
+ /postcss-load-config@3.1.4(postcss@8.4.20):
+ resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
+ engines: {node: '>= 10'}
+ peerDependencies:
+ postcss: '>=8.0.9'
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ ts-node:
+ optional: true
+ dependencies:
+ lilconfig: 2.0.6
+ postcss: 8.4.20
+ yaml: 1.10.2
+
+ /postcss-merge-longhand@5.1.7(postcss@8.4.32):
+ resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.32
+ postcss-value-parser: 4.2.0
+ stylehacks: 5.1.1(postcss@8.4.32)
+ dev: false
+
+ /postcss-merge-rules@5.1.4(postcss@8.4.32):
+ resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.21.4
+ caniuse-api: 3.0.0
+ cssnano-utils: 3.1.0(postcss@8.4.32)
+ postcss: 8.4.32
+ postcss-selector-parser: 6.0.11
+ dev: false
+
+ /postcss-minify-font-values@5.1.0(postcss@8.4.32):
+ resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.32
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-minify-gradients@5.1.1(postcss@8.4.32):
+ resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ colord: 2.9.3
+ cssnano-utils: 3.1.0(postcss@8.4.32)
+ postcss: 8.4.32
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-minify-params@5.1.4(postcss@8.4.32):
+ resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.21.4
+ cssnano-utils: 3.1.0(postcss@8.4.32)
+ postcss: 8.4.32
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-minify-selectors@5.2.1(postcss@8.4.32):
+ resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.32
+ postcss-selector-parser: 6.0.11
+ dev: false
+
+ /postcss-modules-extract-imports@3.0.0(postcss@8.4.32):
+ resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ postcss: 8.4.32
+ dev: false
+
+ /postcss-modules-local-by-default@4.0.3(postcss@8.4.32):
+ resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.32)
+ postcss: 8.4.32
+ postcss-selector-parser: 6.0.11
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-modules-scope@3.1.0(postcss@8.4.32):
+ resolution: {integrity: sha512-SaIbK8XW+MZbd0xHPf7kdfA/3eOt7vxJ72IRecn3EzuZVLr1r0orzf0MX/pN8m+NMDoo6X/SQd8oeKqGZd8PXg==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ postcss: 8.4.32
+ postcss-selector-parser: 6.0.11
+ dev: false
+
+ /postcss-modules-values@4.0.0(postcss@8.4.32):
+ resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.32)
+ postcss: 8.4.32
+ dev: false
+
+ /postcss-nested@5.0.6(postcss@8.4.20):
+ resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.2.14
+ dependencies:
+ postcss: 8.4.20
+ postcss-selector-parser: 6.0.11
+ dev: false
+
+ /postcss-nested@6.0.0(postcss@8.4.20):
+ resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.2.14
+ dependencies:
+ postcss: 8.4.20
+ postcss-selector-parser: 6.0.11
+
+ /postcss-normalize-charset@5.1.0(postcss@8.4.32):
+ resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.32
+ dev: false
+
+ /postcss-normalize-display-values@5.1.0(postcss@8.4.32):
+ resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.32
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-normalize-positions@5.1.1(postcss@8.4.32):
+ resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.32
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-normalize-repeat-style@5.1.1(postcss@8.4.32):
+ resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.32
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-normalize-string@5.1.0(postcss@8.4.32):
+ resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.32
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-normalize-timing-functions@5.1.0(postcss@8.4.32):
+ resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.32
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-normalize-unicode@5.1.1(postcss@8.4.32):
+ resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.21.4
+ postcss: 8.4.32
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-normalize-url@5.1.0(postcss@8.4.32):
+ resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ normalize-url: 6.1.0
+ postcss: 8.4.32
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-normalize-whitespace@5.1.1(postcss@8.4.32):
+ resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.32
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-ordered-values@5.1.3(postcss@8.4.32):
+ resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ cssnano-utils: 3.1.0(postcss@8.4.32)
+ postcss: 8.4.32
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-reduce-initial@5.1.2(postcss@8.4.32):
+ resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.21.4
+ caniuse-api: 3.0.0
+ postcss: 8.4.32
+ dev: false
+
+ /postcss-reduce-transforms@5.1.0(postcss@8.4.32):
+ resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.32
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-selector-parser@6.0.11:
+ resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==}
+ engines: {node: '>=4'}
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
+ /postcss-svgo@5.1.0(postcss@8.4.32):
+ resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.32
+ postcss-value-parser: 4.2.0
+ svgo: 2.8.0
+ dev: false
+
+ /postcss-unique-selectors@5.1.1(postcss@8.4.32):
+ resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.32
+ postcss-selector-parser: 6.0.11
+ dev: false
+
+ /postcss-value-parser@4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+
+ /postcss@8.4.14:
+ resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.4
+ picocolors: 1.0.0
+ source-map-js: 1.0.2
+ dev: false
+
+ /postcss@8.4.20:
+ resolution: {integrity: sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.4
+ picocolors: 1.0.0
+ source-map-js: 1.0.2
+
+ /postcss@8.4.32:
+ resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.0.0
+ source-map-js: 1.0.2
+ dev: false
+
+ /pouchdb-collections@1.0.1:
+ resolution: {integrity: sha512-31db6JRg4+4D5Yzc2nqsRqsA2oOkZS8DpFav3jf/qVNBxusKa2ClkEIZ2bJNpaDbMfWtnuSq59p6Bn+CipPMdg==}
+ dev: false
+
+ /prelude-ls@1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
+ engines: {node: '>= 0.8.0'}
+
+ /prepend-http@2.0.0:
+ resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /prettier-plugin-tailwindcss@0.1.13(prettier@2.8.7):
+ resolution: {integrity: sha512-/EKQURUrxLu66CMUg4+1LwGdxnz8of7IDvrSLqEtDqhLH61SAlNNUSr90UTvZaemujgl3OH/VHg+fyGltrNixw==}
+ engines: {node: '>=12.17.0'}
+ peerDependencies:
+ prettier: '>=2.2.0'
+ dependencies:
+ prettier: 2.8.7
+ dev: false
+
+ /prettier@2.8.7:
+ resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ dev: false
+
+ /pretty-bytes@5.6.0:
+ resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /pretty-error@4.0.0:
+ resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==}
+ dependencies:
+ lodash: 4.17.21
+ renderkid: 3.0.0
+ dev: false
+
+ /pretty-format@26.6.2:
+ resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==}
+ engines: {node: '>= 10'}
+ dependencies:
+ '@jest/types': 26.6.2
+ ansi-regex: 5.0.1
+ ansi-styles: 4.3.0
+ react-is: 17.0.2
+ dev: false
+
+ /pretty-format@29.7.0:
+ resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/schemas': 29.6.3
+ ansi-styles: 5.2.0
+ react-is: 18.2.0
+ dev: false
+
+ /prisma@4.7.1:
+ resolution: {integrity: sha512-CCQP+m+1qZOGIZlvnL6T3ZwaU0LAleIHYFPN9tFSzjs/KL6vH9rlYbGOkTuG9Q1s6Ki5D0LJlYlW18Z9EBUpGg==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+ requiresBuild: true
+ dependencies:
+ '@prisma/engines': 4.7.1
+
+ /process-nextick-args@2.0.1:
+ resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
+ dev: false
+
+ /progress@2.0.3:
+ resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
+ engines: {node: '>=0.4.0'}
+ dev: false
+
+ /promise-inflight@1.0.1:
+ resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==}
+ peerDependencies:
+ bluebird: '*'
+ peerDependenciesMeta:
+ bluebird:
+ optional: true
+ dev: false
+
+ /promise@7.3.1:
+ resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==}
+ dependencies:
+ asap: 2.0.6
+ dev: false
+
+ /promise@8.3.0:
+ resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==}
+ dependencies:
+ asap: 2.0.6
+ dev: false
+
+ /prompts@2.4.2:
+ resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
+ engines: {node: '>= 6'}
+ dependencies:
+ kleur: 3.0.3
+ sisteransi: 1.0.5
+ dev: false
+
+ /prop-types@15.8.1:
+ resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
+ dependencies:
+ loose-envify: 1.4.0
+ object-assign: 4.1.1
+ react-is: 16.13.1
+
+ /proxy-addr@2.0.7:
+ resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
+ engines: {node: '>= 0.10'}
+ dependencies:
+ forwarded: 0.2.0
+ ipaddr.js: 1.9.1
+ dev: false
+
+ /proxy-from-env@1.1.0:
+ resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
+ dev: false
+
+ /pseudomap@1.0.2:
+ resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==}
+ dev: false
+
+ /pump@3.0.0:
+ resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
+ dependencies:
+ end-of-stream: 1.4.4
+ once: 1.4.0
+ dev: false
+
+ /punycode@1.3.2:
+ resolution: {integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==}
+ dev: false
+
+ /punycode@2.3.0:
+ resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
+ engines: {node: '>=6'}
+
+ /pvtsutils@1.3.2:
+ resolution: {integrity: sha512-+Ipe2iNUyrZz+8K/2IOo+kKikdtfhRKzNpQbruF2URmqPtoqAs8g3xS7TJvFF2GcPXjh7DkqMnpVveRFq4PgEQ==}
+ dependencies:
+ tslib: 2.4.1
+ dev: false
+
+ /pvutils@1.1.3:
+ resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==}
+ engines: {node: '>=6.0.0'}
+ dev: false
+
+ /qrcode-terminal@0.11.0:
+ resolution: {integrity: sha512-Uu7ii+FQy4Qf82G4xu7ShHhjhGahEpCWc3x8UavY3CTcWV+ufmmCtwkr7ZKsX42jdL0kr1B5FKUeqJvAn51jzQ==}
+ hasBin: true
+ dev: false
+
+ /qrcode.react@3.1.0(react@18.2.0):
+ resolution: {integrity: sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ react: 18.2.0
+ dev: false
+
+ /qs@6.11.0:
+ resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
+ engines: {node: '>=0.6'}
+ dependencies:
+ side-channel: 1.0.4
+ dev: false
+
+ /query-string@5.1.1:
+ resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ decode-uri-component: 0.2.2
+ object-assign: 4.1.1
+ strict-uri-encode: 1.1.0
+ dev: false
+
+ /query-string@7.1.3:
+ resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==}
+ engines: {node: '>=6'}
+ dependencies:
+ decode-uri-component: 0.2.2
+ filter-obj: 1.1.0
+ split-on-first: 1.1.0
+ strict-uri-encode: 2.0.0
+ dev: false
+
+ /querystring@0.2.0:
+ resolution: {integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==}
+ engines: {node: '>=0.4.x'}
+ deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
+ dev: false
+
+ /querystringify@2.2.0:
+ resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
+ dev: false
+
+ /queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
+ /queue@6.0.2:
+ resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==}
+ dependencies:
+ inherits: 2.0.4
+ dev: false
+
+ /quick-lru@4.0.1:
+ resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /quick-lru@5.1.1:
+ resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
+ engines: {node: '>=10'}
+
+ /randombytes@2.1.0:
+ resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: false
+
+ /range-parser@1.2.1:
+ resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ /raw-body@2.5.1:
+ resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ bytes: 3.1.2
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ unpipe: 1.0.0
+ dev: false
+
+ /rc@1.2.8:
+ resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
+ hasBin: true
+ dependencies:
+ deep-extend: 0.6.0
+ ini: 1.3.8
+ minimist: 1.2.8
+ strip-json-comments: 2.0.1
+ dev: false
+
+ /react-devtools-core@4.28.5:
+ resolution: {integrity: sha512-cq/o30z9W2Wb4rzBefjv5fBalHU0rJGZCHAkf/RHSBWSSYwh8PlQTqqOJmgIIbBtpj27T6FIPXeomIjZtCNVqA==}
+ dependencies:
+ shell-quote: 1.8.1
+ ws: 7.5.9
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+ dev: false
+
+ /react-dom@18.2.0(react@18.2.0):
+ resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
+ peerDependencies:
+ react: ^18.2.0
+ dependencies:
+ loose-envify: 1.4.0
+ react: 18.2.0
+ scheduler: 0.23.0
+ dev: false
+
+ /react-fast-compare@2.0.4:
+ resolution: {integrity: sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==}
+ dev: false
+
+ /react-fast-compare@3.2.2:
+ resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==}
+ dev: false
+
+ /react-freeze@1.0.3(react@18.2.0):
+ resolution: {integrity: sha512-ZnXwLQnGzrDpHBHiC56TXFXvmolPeMjTn1UOm610M4EXGzbEDR7oOIyS2ZiItgbs6eZc4oU/a0hpk8PrcKvv5g==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ react: '>=17.0.0'
+ dependencies:
+ react: 18.2.0
+ dev: false
+
+ /react-helmet-async@1.3.0(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==}
+ peerDependencies:
+ react: ^16.6.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ '@babel/runtime': 7.21.0
+ invariant: 2.2.4
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-fast-compare: 3.2.2
+ shallowequal: 1.1.0
+ dev: false
+
+ /react-icons@4.12.0(react@18.2.0):
+ resolution: {integrity: sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==}
+ peerDependencies:
+ react: '*'
+ dependencies:
+ react: 18.2.0
+ dev: false
+
+ /react-is@16.13.1:
+ resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+
+ /react-is@17.0.2:
+ resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
+ dev: false
+
+ /react-is@18.2.0:
+ resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
+ dev: false
+
+ /react-native-async-storage@0.0.1(react-native@0.72.6):
+ resolution: {integrity: sha512-EwOIpNfwMiELMnS7HDzgyX2xO4TALK95O473Z6Kai5Il5j/03yTTErwMtvoYnA0OKUHd1R54ptmbbMukUH03Xg==}
+ peerDependencies:
+ react-native: '>=0.5.0'
+ dependencies:
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ dev: false
+
+ /react-native-gesture-handler@2.12.1(react-native@0.72.6)(react@18.2.0):
+ resolution: {integrity: sha512-deqh36bw82CFUV9EC4tTo2PP1i9HfCOORGS3Zmv71UYhEZEHkzZv18IZNPB+2Awzj45vLIidZxGYGFxHlDSQ5A==}
+ peerDependencies:
+ react: '*'
+ react-native: '*'
+ dependencies:
+ '@egjs/hammerjs': 2.0.17
+ hoist-non-react-statics: 3.3.2
+ invariant: 2.2.4
+ lodash: 4.17.21
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ dev: false
+
+ /react-native-gesture-handler@2.14.1(react-native@0.72.6)(react@18.2.0):
+ resolution: {integrity: sha512-YiM1BApV4aKeuwsM6O4C2ufwewYEKk6VMXOt0YqEZFMwABBFWhXLySFZYjBSNRU2USGppJbfHP1q1DfFQpKhdA==}
+ peerDependencies:
+ react: '*'
+ react-native: '*'
+ dependencies:
+ '@egjs/hammerjs': 2.0.17
+ hoist-non-react-statics: 3.3.2
+ invariant: 2.2.4
+ lodash: 4.17.21
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ dev: false
+
+ /react-native-reanimated@3.3.0(@babel/core@7.20.5)(@babel/plugin-proposal-nullish-coalescing-operator@7.18.6)(@babel/plugin-proposal-optional-chaining@7.21.0)(@babel/plugin-transform-arrow-functions@7.18.6)(@babel/plugin-transform-shorthand-properties@7.18.6)(@babel/plugin-transform-template-literals@7.18.9)(react-native@0.72.6)(react@18.2.0):
+ resolution: {integrity: sha512-LzfpPZ1qXBGy5BcUHqw3pBC0qSd22qXS3t8hWSbozXNrBkzMhhOrcILE/nEg/PHpNNp1xvGOW8NwpAMF006roQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ '@babel/plugin-proposal-nullish-coalescing-operator': ^7.0.0-0
+ '@babel/plugin-proposal-optional-chaining': ^7.0.0-0
+ '@babel/plugin-transform-arrow-functions': ^7.0.0-0
+ '@babel/plugin-transform-shorthand-properties': ^7.0.0-0
+ '@babel/plugin-transform-template-literals': ^7.0.0-0
+ react: '*'
+ react-native: '*'
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.20.5)
+ '@babel/plugin-transform-arrow-functions': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-object-assign': 7.23.3(@babel/core@7.20.5)
+ '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.20.5)
+ '@babel/preset-typescript': 7.18.6(@babel/core@7.20.5)
+ convert-source-map: 2.0.0
+ invariant: 2.2.4
+ react: 18.2.0
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /react-native-reanimated@3.6.2(@babel/core@7.20.5)(@babel/plugin-proposal-nullish-coalescing-operator@7.18.6)(@babel/plugin-proposal-optional-chaining@7.21.0)(@babel/plugin-transform-arrow-functions@7.18.6)(@babel/plugin-transform-shorthand-properties@7.18.6)(@babel/plugin-transform-template-literals@7.18.9)(react-native@0.72.6)(react@18.2.0):
+ resolution: {integrity: sha512-IIMREMOrxhtK35drfpzh2UhxNqAOHnuvGgtMofj7yHcMj16tmWZR2zFvMUf6z2MfmXv+aVgFQ6TRZ6yKYf7LNA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ '@babel/plugin-proposal-nullish-coalescing-operator': ^7.0.0-0
+ '@babel/plugin-proposal-optional-chaining': ^7.0.0-0
+ '@babel/plugin-transform-arrow-functions': ^7.0.0-0
+ '@babel/plugin-transform-shorthand-properties': ^7.0.0-0
+ '@babel/plugin-transform-template-literals': ^7.0.0-0
+ react: '*'
+ react-native: '*'
+ dependencies:
+ '@babel/core': 7.20.5
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.20.5)
+ '@babel/plugin-transform-arrow-functions': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-object-assign': 7.23.3(@babel/core@7.20.5)
+ '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.20.5)
+ '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.20.5)
+ '@babel/preset-typescript': 7.18.6(@babel/core@7.20.5)
+ convert-source-map: 2.0.0
+ invariant: 2.2.4
+ react: 18.2.0
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /react-native-safe-area-context@4.6.3(react-native@0.72.6)(react@18.2.0):
+ resolution: {integrity: sha512-3CeZM9HFXkuqiU9HqhOQp1yxhXw6q99axPWrT+VJkITd67gnPSU03+U27Xk2/cr9XrLUnakM07kj7H0hdPnFiQ==}
+ peerDependencies:
+ react: '*'
+ react-native: '*'
+ dependencies:
+ react: 18.2.0
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ dev: false
+
+ /react-native-screens@3.22.1(react-native@0.72.6)(react@18.2.0):
+ resolution: {integrity: sha512-ffzwUdVKf+iLqhWSzN5DXBm0s2w5sN0P+TaHHPAx42LT7+DT0g8PkHT1QDvxpR5vCEPSS1i3EswyVK4HCuhTYg==}
+ peerDependencies:
+ react: '*'
+ react-native: '*'
+ dependencies:
+ react: 18.2.0
+ react-freeze: 1.0.3(react@18.2.0)
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ warn-once: 0.1.1
+ dev: false
+
+ /react-native-session-storage@1.1.1:
+ resolution: {integrity: sha512-dgxU7spmM1b14sKDvCjyO3eUcX7iAcMU2AwputxHf/eDhMosHCwq6S+FARz4TofZd41phB3nbysIjBnCs/LFag==}
+ dev: false
+
+ /react-native-url-polyfill@1.3.0(react-native@0.72.6):
+ resolution: {integrity: sha512-w9JfSkvpqqlix9UjDvJjm1EjSt652zVQ6iwCIj1cVVkwXf4jQhQgTNXY6EVTwuAmUjg6BC6k9RHCBynoLFo3IQ==}
+ peerDependencies:
+ react-native: '*'
+ dependencies:
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ whatwg-url-without-unicode: 8.0.0-3
+ dev: false
+
+ /react-native-web@0.19.10(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-IQoHiTQq8egBCVVwmTrYcFLgEFyb4LMZYEktHn4k22JMk9+QTCEz5WTfvr+jdNoeqj/7rtE81xgowKbfGO74qg==}
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+ dependencies:
+ '@babel/runtime': 7.21.0
+ '@react-native/normalize-color': 2.1.0
+ fbjs: 3.0.4
+ inline-style-prefixer: 6.0.4
+ memoize-one: 6.0.0
+ nullthrows: 1.1.1
+ postcss-value-parser: 4.2.0
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ styleq: 0.1.3
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /react-native@0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0):
+ resolution: {integrity: sha512-RafPY2gM7mcrFySS8TL8x+TIO3q7oAlHpzEmC7Im6pmXni6n1AuufGaVh0Narbr1daxstw7yW7T9BKW5dpVc2A==}
+ engines: {node: '>=16'}
+ hasBin: true
+ peerDependencies:
+ react: 18.2.0
+ dependencies:
+ '@jest/create-cache-key-function': 29.3.1
+ '@react-native-community/cli': 11.3.7(@babel/core@7.20.5)
+ '@react-native-community/cli-platform-android': 11.3.7
+ '@react-native-community/cli-platform-ios': 11.3.7
+ '@react-native/assets-registry': 0.72.0
+ '@react-native/codegen': 0.72.8(@babel/preset-env@7.20.2)
+ '@react-native/gradle-plugin': 0.72.11
+ '@react-native/js-polyfills': 0.72.1
+ '@react-native/normalize-colors': 0.72.0
+ '@react-native/virtualized-lists': 0.72.8(react-native@0.72.6)
+ abort-controller: 3.0.0
+ anser: 1.4.10
+ base64-js: 1.5.1
+ deprecated-react-native-prop-types: 4.1.0
+ event-target-shim: 5.0.1
+ flow-enums-runtime: 0.0.5
+ invariant: 2.2.4
+ jest-environment-node: 29.7.0
+ jsc-android: 250231.0.0
+ memoize-one: 5.2.1
+ metro-runtime: 0.76.8
+ metro-source-map: 0.76.8
+ mkdirp: 0.5.6
+ nullthrows: 1.1.1
+ pretty-format: 26.6.2
+ promise: 8.3.0
+ react: 18.2.0
+ react-devtools-core: 4.28.5
+ react-refresh: 0.4.3
+ react-shallow-renderer: 16.15.0(react@18.2.0)
+ regenerator-runtime: 0.13.11
+ scheduler: 0.24.0-canary-efb381bbf-20230505
+ stacktrace-parser: 0.1.10
+ use-sync-external-store: 1.2.0(react@18.2.0)
+ whatwg-fetch: 3.6.2
+ ws: 6.2.2
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - '@babel/core'
+ - '@babel/preset-env'
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /react-refresh@0.4.3:
+ resolution: {integrity: sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /react-shallow-renderer@16.15.0(react@18.2.0):
+ resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==}
+ peerDependencies:
+ react: ^16.0.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ object-assign: 4.1.1
+ react: 18.2.0
+ react-is: 18.2.0
+ dev: false
+
+ /react-ssr-prepass@1.5.0(react@18.2.0):
+ resolution: {integrity: sha512-yFNHrlVEReVYKsLI5lF05tZoHveA5pGzjFbFJY/3pOqqjGOmMmqx83N4hIjN2n6E1AOa+eQEUxs3CgRnPmT0RQ==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ react: 18.2.0
+ dev: false
+
+ /react@18.2.0:
+ resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ loose-envify: 1.4.0
+ dev: false
+
+ /read-cache@1.0.0:
+ resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
+ dependencies:
+ pify: 2.3.0
+
+ /read-yaml-file@1.1.0:
+ resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==}
+ engines: {node: '>=6'}
+ dependencies:
+ graceful-fs: 4.2.11
+ js-yaml: 3.14.1
+ pify: 4.0.1
+ strip-bom: 3.0.0
+ dev: false
+
+ /readable-stream@2.3.7:
+ resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==}
+ dependencies:
+ core-util-is: 1.0.3
+ inherits: 2.0.4
+ isarray: 1.0.0
+ process-nextick-args: 2.0.1
+ safe-buffer: 5.1.2
+ string_decoder: 1.1.1
+ util-deprecate: 1.0.2
+ dev: false
+
+ /readable-stream@3.6.0:
+ resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==}
+ engines: {node: '>= 6'}
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
+ dev: false
+
+ /readdirp@3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+ dependencies:
+ picomatch: 2.3.1
+
+ /readline@1.3.0:
+ resolution: {integrity: sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==}
+ dev: false
+
+ /recast@0.21.5:
+ resolution: {integrity: sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==}
+ engines: {node: '>= 4'}
+ dependencies:
+ ast-types: 0.15.2
+ esprima: 4.0.1
+ source-map: 0.6.1
+ tslib: 2.4.1
+ dev: false
+
+ /recyclerlistview@4.2.0(react-native@0.72.6)(react@18.2.0):
+ resolution: {integrity: sha512-uuBCi0c+ggqHKwrzPX4Z/mJOzsBbjZEAwGGmlwpD/sD7raXixdAbdJ6BTcAmuWG50Cg4ru9p12M94Njwhr/27A==}
+ peerDependencies:
+ react: '>= 15.2.1'
+ react-native: '>= 0.30.0'
+ dependencies:
+ lodash.debounce: 4.0.8
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-native: 0.72.6(@babel/core@7.20.5)(@babel/preset-env@7.20.2)(react@18.2.0)
+ ts-object-utils: 0.0.5
+ dev: false
+
+ /regenerate-unicode-properties@10.1.0:
+ resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ regenerate: 1.4.2
+
+ /regenerate@1.4.2:
+ resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
+
+ /regenerator-runtime@0.13.11:
+ resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
+
+ /regenerator-transform@0.15.1:
+ resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==}
+ dependencies:
+ '@babel/runtime': 7.20.6
+
+ /regexp.prototype.flags@1.4.3:
+ resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ functions-have-names: 1.2.3
+ dev: true
+
+ /regexpp@3.2.0:
+ resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==}
+ engines: {node: '>=8'}
+
+ /regexpu-core@5.2.2:
+ resolution: {integrity: sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==}
+ engines: {node: '>=4'}
+ dependencies:
+ regenerate: 1.4.2
+ regenerate-unicode-properties: 10.1.0
+ regjsgen: 0.7.1
+ regjsparser: 0.9.1
+ unicode-match-property-ecmascript: 2.0.0
+ unicode-match-property-value-ecmascript: 2.1.0
+
+ /registry-auth-token@3.3.2:
+ resolution: {integrity: sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==}
+ dependencies:
+ rc: 1.2.8
+ safe-buffer: 5.2.1
+ dev: false
+
+ /registry-auth-token@4.2.2:
+ resolution: {integrity: sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ rc: 1.2.8
+ dev: false
+
+ /registry-url@3.1.0:
+ resolution: {integrity: sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ rc: 1.2.8
+ dev: false
+
+ /registry-url@5.1.0:
+ resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==}
+ engines: {node: '>=8'}
+ dependencies:
+ rc: 1.2.8
+ dev: false
+
+ /regjsgen@0.7.1:
+ resolution: {integrity: sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==}
+
+ /regjsparser@0.9.1:
+ resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==}
+ hasBin: true
+ dependencies:
+ jsesc: 0.5.0
+
+ /relateurl@0.2.7:
+ resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==}
+ engines: {node: '>= 0.10'}
+ dev: false
+
+ /remove-trailing-slash@0.1.1:
+ resolution: {integrity: sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA==}
+ dev: false
+
+ /renderkid@3.0.0:
+ resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==}
+ dependencies:
+ css-select: 4.3.0
+ dom-converter: 0.2.0
+ htmlparser2: 6.1.0
+ lodash: 4.17.21
+ strip-ansi: 6.0.1
+ dev: false
+
+ /require-directory@2.1.1:
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /require-from-string@2.0.2:
+ resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /require-main-filename@2.0.0:
+ resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
+ dev: false
+
+ /requireg@0.2.2:
+ resolution: {integrity: sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg==}
+ engines: {node: '>= 4.0.0'}
+ dependencies:
+ nested-error-stacks: 2.0.1
+ rc: 1.2.8
+ resolve: 1.7.1
+ dev: false
+
+ /requires-port@1.0.0:
+ resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+ dev: false
+
+ /reselect@4.1.8:
+ resolution: {integrity: sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==}
+ dev: false
+
+ /resolve-from@3.0.0:
+ resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+
+ /resolve-from@5.0.0:
+ resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+ dev: true
+
+ /resolve@1.22.1:
+ resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.11.0
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
+ /resolve@1.22.8:
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.13.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+ dev: false
+
+ /resolve@1.7.1:
+ resolution: {integrity: sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==}
+ dependencies:
+ path-parse: 1.0.7
+ dev: false
+
+ /resolve@2.0.0-next.4:
+ resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.11.0
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+ dev: true
+
+ /responselike@1.0.2:
+ resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==}
+ dependencies:
+ lowercase-keys: 1.0.1
+ dev: false
+
+ /restore-cursor@2.0.0:
+ resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==}
+ engines: {node: '>=4'}
+ dependencies:
+ onetime: 2.0.1
+ signal-exit: 3.0.7
+ dev: false
+
+ /restore-cursor@3.1.0:
+ resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
+ engines: {node: '>=8'}
+ dependencies:
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ dev: false
+
+ /retry@0.13.1:
+ resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
+ engines: {node: '>= 4'}
+ dev: false
+
+ /reusify@1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+
+ /rfc4648@1.5.2:
+ resolution: {integrity: sha512-tLOizhR6YGovrEBLatX1sdcuhoSCXddw3mqNVAcKxGJ+J0hFeJ+SjeWCv5UPA/WU3YzWPPuCVYgXBKZUPGpKtg==}
+ dev: false
+
+ /rimraf@2.4.5:
+ resolution: {integrity: sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==}
+ hasBin: true
+ requiresBuild: true
+ dependencies:
+ glob: 6.0.4
+ dev: false
+ optional: true
+
+ /rimraf@2.6.3:
+ resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==}
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+ dev: false
+
+ /rimraf@2.7.1:
+ resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+ dev: false
+
+ /rimraf@3.0.2:
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+
+ /run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ dependencies:
+ queue-microtask: 1.2.3
+
+ /safe-buffer@5.1.2:
+ resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
+ dev: false
+
+ /safe-buffer@5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+ dev: false
+
+ /safe-json-stringify@1.2.0:
+ resolution: {integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /safe-regex-test@1.0.0:
+ resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.1.3
+ is-regex: 1.1.4
+ dev: true
+
+ /safer-buffer@2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+ dev: false
+
+ /sax@1.2.4:
+ resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==}
+ dev: false
+
+ /scheduler@0.23.0:
+ resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
+ dependencies:
+ loose-envify: 1.4.0
+ dev: false
+
+ /scheduler@0.24.0-canary-efb381bbf-20230505:
+ resolution: {integrity: sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==}
+ dependencies:
+ loose-envify: 1.4.0
+ dev: false
+
+ /schema-utils@2.7.1:
+ resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==}
+ engines: {node: '>= 8.9.0'}
+ dependencies:
+ '@types/json-schema': 7.0.11
+ ajv: 6.12.6
+ ajv-keywords: 3.5.2(ajv@6.12.6)
+ dev: false
+
+ /schema-utils@3.3.0:
+ resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
+ engines: {node: '>= 10.13.0'}
+ dependencies:
+ '@types/json-schema': 7.0.11
+ ajv: 6.12.6
+ ajv-keywords: 3.5.2(ajv@6.12.6)
+ dev: false
+
+ /schema-utils@4.2.0:
+ resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==}
+ engines: {node: '>= 12.13.0'}
+ dependencies:
+ '@types/json-schema': 7.0.11
+ ajv: 8.12.0
+ ajv-formats: 2.1.1(ajv@8.12.0)
+ ajv-keywords: 5.1.0(ajv@8.12.0)
+ dev: false
+
+ /select-hose@2.0.0:
+ resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==}
+ dev: false
+
+ /selfsigned@2.4.1:
+ resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ '@types/node-forge': 1.3.10
+ node-forge: 1.3.1
+ dev: false
+
+ /sembear@0.5.2:
+ resolution: {integrity: sha512-Ij1vCAdFgWABd7zTg50Xw1/p0JgESNxuLlneEAsmBrKishA06ulTTL/SHGmNy2Zud7+rKrHTKNI6moJsn1ppAQ==}
+ dependencies:
+ '@types/semver': 6.2.3
+ semver: 6.3.0
+ dev: false
+
+ /semver@5.7.1:
+ resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==}
+ hasBin: true
+ dev: false
+
+ /semver@6.3.0:
+ resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
+ hasBin: true
+
+ /semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+ dev: false
+
+ /semver@7.3.2:
+ resolution: {integrity: sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dev: false
+
+ /semver@7.3.8:
+ resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ lru-cache: 6.0.0
+
+ /semver@7.5.3:
+ resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ lru-cache: 6.0.0
+ dev: false
+
+ /semver@7.5.4:
+ resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ lru-cache: 6.0.0
+
+ /send@0.18.0:
+ resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ etag: 1.8.1
+ fresh: 0.5.2
+ http-errors: 2.0.0
+ mime: 1.6.0
+ ms: 2.1.3
+ on-finished: 2.4.1
+ range-parser: 1.2.1
+ statuses: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /serialize-error@2.1.0:
+ resolution: {integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /serialize-error@6.0.0:
+ resolution: {integrity: sha512-3vmBkMZLQO+BR4RPHcyRGdE09XCF6cvxzk2N2qn8Er3F91cy8Qt7VvEbZBOpaL53qsBbe2cFOefU6tRY6WDelA==}
+ engines: {node: '>=10'}
+ dependencies:
+ type-fest: 0.12.0
+ dev: false
+
+ /serialize-javascript@6.0.1:
+ resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==}
+ dependencies:
+ randombytes: 2.1.0
+ dev: false
+
+ /serve-index@1.9.1:
+ resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ accepts: 1.3.8
+ batch: 0.6.1
+ debug: 2.6.9
+ escape-html: 1.0.3
+ http-errors: 1.6.3
+ mime-types: 2.1.35
+ parseurl: 1.3.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /serve-static@1.15.0:
+ resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ parseurl: 1.3.3
+ send: 0.18.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /set-blocking@2.0.0:
+ resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
+ dev: false
+
+ /setimmediate@1.0.5:
+ resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}
+ dev: false
+
+ /setprototypeof@1.1.0:
+ resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==}
+ dev: false
+
+ /setprototypeof@1.2.0:
+ resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
+ dev: false
+
+ /shallow-clone@3.0.1:
+ resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==}
+ engines: {node: '>=8'}
+ dependencies:
+ kind-of: 6.0.3
+ dev: false
+
+ /shallowequal@1.1.0:
+ resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==}
+ dev: false
+
+ /shebang-command@1.2.0:
+ resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ shebang-regex: 1.0.0
+ dev: false
+
+ /shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+ dependencies:
+ shebang-regex: 3.0.0
+
+ /shebang-regex@1.0.0:
+ resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+
+ /shell-quote@1.8.1:
+ resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
+ dev: false
+
+ /side-channel@1.0.4:
+ resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.1.3
+ object-inspect: 1.12.2
+
+ /signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+ dev: false
+
+ /simple-plist@1.3.1:
+ resolution: {integrity: sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==}
+ dependencies:
+ bplist-creator: 0.1.0
+ bplist-parser: 0.3.1
+ plist: 3.0.6
+ dev: false
+
+ /simple-swizzle@0.2.2:
+ resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
+ dependencies:
+ is-arrayish: 0.3.2
+ dev: false
+
+ /sisteransi@1.0.5:
+ resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+
+ /slash@3.0.0:
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
+ engines: {node: '>=8'}
+
+ /slash@4.0.0:
+ resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
+ engines: {node: '>=12'}
+
+ /slice-ansi@2.1.0:
+ resolution: {integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ ansi-styles: 3.2.1
+ astral-regex: 1.0.0
+ is-fullwidth-code-point: 2.0.0
+ dev: false
+
+ /slugify@1.6.6:
+ resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==}
+ engines: {node: '>=8.0.0'}
+ dev: false
+
+ /snake-case@3.0.4:
+ resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==}
+ dependencies:
+ dot-case: 3.0.4
+ tslib: 2.4.1
+ dev: false
+
+ /snakecase-keys@3.2.1:
+ resolution: {integrity: sha512-CjU5pyRfwOtaOITYv5C8DzpZ8XA/ieRsDpr93HI2r6e3YInC6moZpSQbmUtg8cTk58tq2x3jcG2gv+p1IZGmMA==}
+ engines: {node: '>=8'}
+ dependencies:
+ map-obj: 4.3.0
+ to-snake-case: 1.0.0
+ dev: false
+
+ /snakecase-keys@5.4.4:
+ resolution: {integrity: sha512-YTywJG93yxwHLgrYLZjlC75moVEX04LZM4FHfihjHe1FCXm+QaLOFfSf535aXOAd0ArVQMWUAe8ZPm4VtWyXaA==}
+ engines: {node: '>=12'}
+ dependencies:
+ map-obj: 4.3.0
+ snake-case: 3.0.4
+ type-fest: 2.19.0
+ dev: false
+
+ /sockjs@0.3.24:
+ resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==}
+ dependencies:
+ faye-websocket: 0.11.4
+ uuid: 8.3.2
+ websocket-driver: 0.7.4
+ dev: false
+
+ /sort-keys@2.0.0:
+ resolution: {integrity: sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==}
+ engines: {node: '>=4'}
+ dependencies:
+ is-plain-obj: 1.1.0
+ dev: false
+
+ /source-list-map@2.0.1:
+ resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==}
+ dev: false
+
+ /source-map-js@1.0.2:
+ resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
+ engines: {node: '>=0.10.0'}
+
+ /source-map-loader@3.0.2(webpack@5.89.0):
+ resolution: {integrity: sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^5.0.0
+ dependencies:
+ abab: 2.0.6
+ iconv-lite: 0.6.3
+ source-map-js: 1.0.2
+ webpack: 5.89.0(esbuild@0.19.11)
+ dev: false
+
+ /source-map-support@0.5.21:
+ resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
+ dependencies:
+ buffer-from: 1.1.2
+ source-map: 0.6.1
+
+ /source-map@0.5.7:
+ resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /source-map@0.6.1:
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+ engines: {node: '>=0.10.0'}
+
+ /source-map@0.7.4:
+ resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
+ engines: {node: '>= 8'}
+ dev: false
+
+ /spawndamnit@2.0.0:
+ resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==}
+ dependencies:
+ cross-spawn: 5.1.0
+ signal-exit: 3.0.7
+ dev: false
+
+ /spdy-transport@3.0.0:
+ resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==}
+ dependencies:
+ debug: 4.3.4
+ detect-node: 2.1.0
+ hpack.js: 2.1.6
+ obuf: 1.1.2
+ readable-stream: 3.6.0
+ wbuf: 1.7.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /spdy@4.0.2:
+ resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ debug: 4.3.4
+ handle-thing: 2.0.1
+ http-deceiver: 1.2.7
+ select-hose: 2.0.0
+ spdy-transport: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /split-on-first@1.1.0:
+ resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /split@1.0.1:
+ resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==}
+ dependencies:
+ through: 2.3.8
+ dev: false
+
+ /sprintf-js@1.0.3:
+ resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
+ dev: false
+
+ /ssri@8.0.1:
+ resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==}
+ engines: {node: '>= 8'}
+ dependencies:
+ minipass: 3.3.6
+ dev: false
+
+ /stable@0.1.8:
+ resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==}
+ deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility'
+ dev: false
+
+ /stack-utils@2.0.6:
+ resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ escape-string-regexp: 2.0.0
+ dev: false
+
+ /stackframe@1.3.4:
+ resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==}
+ dev: false
+
+ /stacktrace-parser@0.1.10:
+ resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==}
+ engines: {node: '>=6'}
+ dependencies:
+ type-fest: 0.7.1
+ dev: false
+
+ /statuses@1.5.0:
+ resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ /statuses@2.0.1:
+ resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ /stream-buffers@2.2.0:
+ resolution: {integrity: sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==}
+ engines: {node: '>= 0.10.0'}
+ dev: false
+
+ /strict-uri-encode@1.1.0:
+ resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /strict-uri-encode@2.0.0:
+ resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+ dev: false
+
+ /string.prototype.matchall@4.0.8:
+ resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ es-abstract: 1.20.5
+ get-intrinsic: 1.1.3
+ has-symbols: 1.0.3
+ internal-slot: 1.0.3
+ regexp.prototype.flags: 1.4.3
+ side-channel: 1.0.4
+ dev: true
+
+ /string.prototype.trimend@1.0.6:
+ resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ es-abstract: 1.20.5
+ dev: true
+
+ /string.prototype.trimstart@1.0.6:
+ resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ es-abstract: 1.20.5
+ dev: true
+
+ /string_decoder@1.1.1:
+ resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
+ dependencies:
+ safe-buffer: 5.1.2
+ dev: false
+
+ /string_decoder@1.3.0:
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: false
+
+ /strip-ansi@5.2.0:
+ resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==}
+ engines: {node: '>=6'}
+ dependencies:
+ ansi-regex: 4.1.1
+ dev: false
+
+ /strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+ dependencies:
+ ansi-regex: 5.0.1
+
+ /strip-bom@3.0.0:
+ resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
+ engines: {node: '>=4'}
+
+ /strip-eof@1.0.0:
+ resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /strip-final-newline@2.0.0:
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /strip-json-comments@2.0.1:
+ resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /strip-json-comments@3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+
+ /strnum@1.0.5:
+ resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==}
+ dev: false
+
+ /structured-headers@0.4.1:
+ resolution: {integrity: sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==}
+ dev: false
+
+ /style-loader@3.3.3(webpack@5.89.0):
+ resolution: {integrity: sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^5.0.0
+ dependencies:
+ webpack: 5.89.0(esbuild@0.19.11)
+ dev: false
+
+ /styled-jsx@5.1.1(@babel/core@7.20.5)(react@18.2.0):
+ resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
+ engines: {node: '>= 12.0.0'}
+ peerDependencies:
+ '@babel/core': '*'
+ babel-plugin-macros: '*'
+ react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ babel-plugin-macros:
+ optional: true
+ dependencies:
+ '@babel/core': 7.20.5
+ client-only: 0.0.1
+ react: 18.2.0
+ dev: false
+
+ /stylehacks@5.1.1(postcss@8.4.32):
+ resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.21.4
+ postcss: 8.4.32
+ postcss-selector-parser: 6.0.11
+ dev: false
+
+ /styleq@0.1.3:
+ resolution: {integrity: sha512-3ZUifmCDCQanjeej1f6kyl/BeP/Vae5EYkQ9iJfUm/QwZvlgnZzyflqAsAWYURdtea8Vkvswu2GrC57h3qffcA==}
+ dev: false
+
+ /stylis@4.1.3:
+ resolution: {integrity: sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==}
+ dev: false
+
+ /sucrase@3.34.0:
+ resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.2
+ commander: 4.1.1
+ glob: 7.1.6
+ lines-and-columns: 1.2.4
+ mz: 2.7.0
+ pirates: 4.0.5
+ ts-interface-checker: 0.1.13
+ dev: false
+
+ /sudo-prompt@8.2.5:
+ resolution: {integrity: sha512-rlBo3HU/1zAJUrkY6jNxDOC9eVYliG6nS4JA8u8KAshITd07tafMc/Br7xQwCSseXwJ2iCcHCE8SNWX3q8Z+kw==}
+ dev: false
+
+ /sudo-prompt@9.1.1:
+ resolution: {integrity: sha512-es33J1g2HjMpyAhz8lOR+ICmXXAqTuKbuXuUWLhOLew20oN9oUCgCJx615U/v7aioZg7IX5lIh9x34vwneu4pA==}
+ dev: false
+
+ /sudo-prompt@9.2.1:
+ resolution: {integrity: sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==}
+ dev: false
+
+ /superjson@1.12.0:
+ resolution: {integrity: sha512-B4tefmFqj8KDShHi2br2rz0kBlUJuQHtxMCydEuHvooL+6EscROTNWRfOLMDxW1dS/daK2zZr3C3N9DU+jXATQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ copy-anything: 3.0.3
+ dev: false
+
+ /superjson@2.2.1:
+ resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==}
+ engines: {node: '>=16'}
+ dependencies:
+ copy-anything: 3.0.3
+ dev: true
+
+ /supports-color@5.5.0:
+ resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
+ engines: {node: '>=4'}
+ dependencies:
+ has-flag: 3.0.0
+
+ /supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+ dependencies:
+ has-flag: 4.0.0
+
+ /supports-color@8.1.1:
+ resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ has-flag: 4.0.0
+ dev: false
+
+ /supports-hyperlinks@2.3.0:
+ resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==}
+ engines: {node: '>=8'}
+ dependencies:
+ has-flag: 4.0.0
+ supports-color: 7.2.0
+ dev: false
+
+ /supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
+ /svgo@2.8.0:
+ resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ dependencies:
+ '@trysound/sax': 0.2.0
+ commander: 7.2.0
+ css-select: 4.3.0
+ css-tree: 1.1.3
+ csso: 4.2.0
+ picocolors: 1.0.0
+ stable: 0.1.8
+ dev: false
+
+ /swr@1.3.0(react@18.2.0):
+ resolution: {integrity: sha512-dkghQrOl2ORX9HYrMDtPa7LTVHJjCTeZoB1dqTbnnEDlSvN8JEKpYIYurDfvbQFUUS8Cg8PceFVZNkW0KNNYPw==}
+ peerDependencies:
+ react: ^16.11.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ react: 18.2.0
+ dev: false
+
+ /synckit@0.8.4:
+ resolution: {integrity: sha512-Dn2ZkzMdSX827QbowGbU/4yjWuvNaCoScLLoMo/yKbu+P4GBR6cRGKZH27k6a9bRzdqcyd1DE96pQtQ6uNkmyw==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ dependencies:
+ '@pkgr/utils': 2.3.1
+ tslib: 2.4.1
+ dev: true
+
+ /tabbable@6.1.1:
+ resolution: {integrity: sha512-4kl5w+nCB44EVRdO0g/UGoOp3vlwgycUVtkk/7DPyeLZUCuNFFKCFG6/t/DgHLrUPHjrZg6s5tNm+56Q2B0xyg==}
+ dev: false
+
+ /tailwindcss@3.2.4(postcss@8.4.20):
+ resolution: {integrity: sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==}
+ engines: {node: '>=12.13.0'}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.0.9
+ dependencies:
+ arg: 5.0.2
+ chokidar: 3.5.3
+ color-name: 1.1.4
+ detective: 5.2.1
+ didyoumean: 1.2.2
+ dlv: 1.1.3
+ fast-glob: 3.2.12
+ glob-parent: 6.0.2
+ is-glob: 4.0.3
+ lilconfig: 2.0.6
+ micromatch: 4.0.5
+ normalize-path: 3.0.0
+ object-hash: 3.0.0
+ picocolors: 1.0.0
+ postcss: 8.4.20
+ postcss-import: 14.1.0(postcss@8.4.20)
+ postcss-js: 4.0.0(postcss@8.4.20)
+ postcss-load-config: 3.1.4(postcss@8.4.20)
+ postcss-nested: 6.0.0(postcss@8.4.20)
+ postcss-selector-parser: 6.0.11
+ postcss-value-parser: 4.2.0
+ quick-lru: 5.1.1
+ resolve: 1.22.1
+ transitivePeerDependencies:
+ - ts-node
+
+ /tapable@2.2.1:
+ resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
+ engines: {node: '>=6'}
+
+ /tar@6.1.13:
+ resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==}
+ engines: {node: '>=10'}
+ dependencies:
+ chownr: 2.0.0
+ fs-minipass: 2.1.0
+ minipass: 4.0.0
+ minizlib: 2.1.2
+ mkdirp: 1.0.4
+ yallist: 4.0.0
+ dev: false
+
+ /temp-dir@1.0.0:
+ resolution: {integrity: sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /temp-dir@2.0.0:
+ resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /temp@0.8.4:
+ resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ rimraf: 2.6.3
+ dev: false
+
+ /tempy@0.3.0:
+ resolution: {integrity: sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ temp-dir: 1.0.0
+ type-fest: 0.3.1
+ unique-string: 1.0.0
+ dev: false
+
+ /tempy@0.7.1:
+ resolution: {integrity: sha512-vXPxwOyaNVi9nyczO16mxmHGpl6ASC5/TVhRRHpqeYHvKQm58EaWNvZXxAhR0lYYnBOQFjXjhzeLsaXdjxLjRg==}
+ engines: {node: '>=10'}
+ dependencies:
+ del: 6.1.1
+ is-stream: 2.0.1
+ temp-dir: 2.0.0
+ type-fest: 0.16.0
+ unique-string: 2.0.0
+ dev: false
+
+ /terminal-link@2.1.1:
+ resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ ansi-escapes: 4.3.2
+ supports-hyperlinks: 2.3.0
+ dev: false
+
+ /terser-webpack-plugin@5.3.10(esbuild@0.19.11)(webpack@5.89.0):
+ resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ '@swc/core': '*'
+ esbuild: '*'
+ uglify-js: '*'
+ webpack: ^5.1.0
+ peerDependenciesMeta:
+ '@swc/core':
+ optional: true
+ esbuild:
+ optional: true
+ uglify-js:
+ optional: true
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.20
+ esbuild: 0.19.11
+ jest-worker: 27.5.1
+ schema-utils: 3.3.0
+ serialize-javascript: 6.0.1
+ terser: 5.26.0
+ webpack: 5.89.0(esbuild@0.19.11)
+ dev: false
+
+ /terser@5.26.0:
+ resolution: {integrity: sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ '@jridgewell/source-map': 0.3.5
+ acorn: 8.8.2
+ commander: 2.20.3
+ source-map-support: 0.5.21
+ dev: false
+
+ /text-table@0.2.0:
+ resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+
+ /thenify-all@1.6.0:
+ resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
+ engines: {node: '>=0.8'}
+ dependencies:
+ thenify: 3.3.1
+ dev: false
+
+ /thenify@3.3.1:
+ resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
+ dependencies:
+ any-promise: 1.3.0
+ dev: false
+
+ /throat@5.0.0:
+ resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==}
+ dev: false
+
+ /through2@2.0.5:
+ resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
+ dependencies:
+ readable-stream: 2.3.7
+ xtend: 4.0.2
+ dev: false
+
+ /through@2.3.8:
+ resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
+ dev: false
+
+ /thunky@1.1.0:
+ resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
+ dev: false
+
+ /timers-ext@0.1.7:
+ resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==}
+ dependencies:
+ es5-ext: 0.10.62
+ next-tick: 1.1.0
+ dev: true
+
+ /tiny-glob@0.2.9:
+ resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
+ dependencies:
+ globalyzer: 0.1.0
+ globrex: 0.1.2
+ dev: true
+
+ /tiny-queue@0.2.1:
+ resolution: {integrity: sha512-EijGsv7kzd9I9g0ByCl6h42BWNGUZrlCSejfrb3AKeHC33SGbASu1VDf5O3rRiiUOhAC9CHdZxFPbZu0HmR70A==}
+ dev: false
+
+ /tiny-warning@1.0.3:
+ resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==}
+ dev: false
+
+ /tmp@0.0.33:
+ resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
+ engines: {node: '>=0.6.0'}
+ dependencies:
+ os-tmpdir: 1.0.2
+ dev: false
+
+ /tmpl@1.0.5:
+ resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
+ dev: false
+
+ /to-fast-properties@2.0.0:
+ resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
+ engines: {node: '>=4'}
+
+ /to-no-case@1.0.2:
+ resolution: {integrity: sha512-Z3g735FxuZY8rodxV4gH7LxClE4H0hTIyHNIHdk+vpQxjLm0cwnKXq/OFVZ76SOQmto7txVcwSCwkU5kqp+FKg==}
+ dev: false
+
+ /to-readable-stream@1.0.0:
+ resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+ dependencies:
+ is-number: 7.0.0
+
+ /to-snake-case@1.0.0:
+ resolution: {integrity: sha512-joRpzBAk1Bhi2eGEYBjukEWHOe/IvclOkiJl3DtA91jV6NwQ3MwXA4FHYeqk8BNp/D8bmi9tcNbRu/SozP0jbQ==}
+ dependencies:
+ to-space-case: 1.0.0
+ dev: false
+
+ /to-space-case@1.0.0:
+ resolution: {integrity: sha512-rLdvwXZ39VOn1IxGL3V6ZstoTbwLRckQmn/U8ZDLuWwIXNpuZDhQ3AiRUlhTbOXFVE9C+dR51wM0CBDhk31VcA==}
+ dependencies:
+ to-no-case: 1.0.2
+ dev: false
+
+ /toggle-selection@1.0.6:
+ resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==}
+ dev: false
+
+ /toidentifier@1.0.1:
+ resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
+ engines: {node: '>=0.6'}
+ dev: false
+
+ /tr46@0.0.3:
+ resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+ dev: false
+
+ /traverse@0.6.7:
+ resolution: {integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==}
+ dev: false
+
+ /ts-interface-checker@0.1.13:
+ resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
+ dev: false
+
+ /ts-object-utils@0.0.5:
+ resolution: {integrity: sha512-iV0GvHqOmilbIKJsfyfJY9/dNHCs969z3so90dQWsO1eMMozvTpnB1MEaUbb3FYtZTGjv5sIy/xmslEz0Rg2TA==}
+ dev: false
+
+ /tsconfig-paths@3.14.1:
+ resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==}
+ dependencies:
+ '@types/json5': 0.0.29
+ json5: 1.0.1
+ minimist: 1.2.7
+ strip-bom: 3.0.0
+ dev: true
+
+ /tslib@1.14.1:
+ resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
+
+ /tslib@2.4.0:
+ resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==}
+ dev: false
+
+ /tslib@2.4.1:
+ resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==}
+
+ /tsutils@3.21.0(typescript@4.9.4):
+ resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
+ 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'
+ dependencies:
+ tslib: 1.14.1
+ typescript: 4.9.4
+
+ /turbo-darwin-64@1.8.8:
+ resolution: {integrity: sha512-18cSeIm7aeEvIxGyq7PVoFyEnPpWDM/0CpZvXKHpQ6qMTkfNt517qVqUTAwsIYqNS8xazcKAqkNbvU1V49n65Q==}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /turbo-darwin-arm64@1.8.8:
+ resolution: {integrity: sha512-ruGRI9nHxojIGLQv1TPgN7ud4HO4V8mFBwSgO6oDoZTNuk5ybWybItGR+yu6fni5vJoyMHXOYA2srnxvOc7hjQ==}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /turbo-linux-64@1.8.8:
+ resolution: {integrity: sha512-N/GkHTHeIQogXB1/6ZWfxHx+ubYeb8Jlq3b/3jnU4zLucpZzTQ8XkXIAfJG/TL3Q7ON7xQ8yGOyGLhHL7MpFRg==}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /turbo-linux-arm64@1.8.8:
+ resolution: {integrity: sha512-hKqLbBHgUkYf2Ww8uBL9UYdBFQ5677a7QXdsFhONXoACbDUPvpK4BKlz3NN7G4NZ+g9dGju+OJJjQP0VXRHb5w==}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /turbo-windows-64@1.8.8:
+ resolution: {integrity: sha512-2ndjDJyzkNslXxLt+PQuU21AHJWc8f6MnLypXy3KsN4EyX/uKKGZS0QJWz27PeHg0JS75PVvhfFV+L9t9i+Yyg==}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /turbo-windows-arm64@1.8.8:
+ resolution: {integrity: sha512-xCA3oxgmW9OMqpI34AAmKfOVsfDljhD5YBwgs0ZDsn5h3kCHhC4x9W5dDk1oyQ4F5EXSH3xVym5/xl1J6WRpUg==}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /turbo@1.8.8:
+ resolution: {integrity: sha512-qYJ5NjoTX+591/x09KgsDOPVDUJfU9GoS+6jszQQlLp1AHrf1wRFA3Yps8U+/HTG03q0M4qouOfOLtRQP4QypA==}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ turbo-darwin-64: 1.8.8
+ turbo-darwin-arm64: 1.8.8
+ turbo-linux-64: 1.8.8
+ turbo-linux-arm64: 1.8.8
+ turbo-windows-64: 1.8.8
+ turbo-windows-arm64: 1.8.8
+ dev: false
+
+ /type-check@0.4.0:
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: 1.2.1
+
+ /type-detect@4.0.8:
+ resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /type-fest@0.12.0:
+ resolution: {integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /type-fest@0.16.0:
+ resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /type-fest@0.20.2:
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
+ engines: {node: '>=10'}
+
+ /type-fest@0.21.3:
+ resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /type-fest@0.3.1:
+ resolution: {integrity: sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /type-fest@0.7.1:
+ resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /type-fest@2.19.0:
+ resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==}
+ engines: {node: '>=12.20'}
+ dev: false
+
+ /type-is@1.6.18:
+ resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ media-typer: 0.3.0
+ mime-types: 2.1.35
+ dev: false
+
+ /type@1.2.0:
+ resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==}
+ dev: true
+
+ /type@2.7.2:
+ resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==}
+ dev: true
+
+ /typescript@4.9.4:
+ resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==}
+ engines: {node: '>=4.2.0'}
+ hasBin: true
+
+ /ua-parser-js@0.7.32:
+ resolution: {integrity: sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==}
+ dev: false
+
+ /uglify-es@3.3.9:
+ resolution: {integrity: sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==}
+ engines: {node: '>=0.8.0'}
+ deprecated: support for ECMAScript is superseded by `uglify-js` as of v3.13.0
+ hasBin: true
+ dependencies:
+ commander: 2.13.0
+ source-map: 0.6.1
+ dev: false
+
+ /unbox-primitive@1.0.2:
+ resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
+ dependencies:
+ call-bind: 1.0.2
+ has-bigints: 1.0.2
+ has-symbols: 1.0.3
+ which-boxed-primitive: 1.0.2
+ dev: true
+
+ /unicode-canonical-property-names-ecmascript@2.0.0:
+ resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
+ engines: {node: '>=4'}
+
+ /unicode-match-property-ecmascript@2.0.0:
+ resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
+ engines: {node: '>=4'}
+ dependencies:
+ unicode-canonical-property-names-ecmascript: 2.0.0
+ unicode-property-aliases-ecmascript: 2.1.0
+
+ /unicode-match-property-value-ecmascript@2.1.0:
+ resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==}
+ engines: {node: '>=4'}
+
+ /unicode-property-aliases-ecmascript@2.1.0:
+ resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
+ engines: {node: '>=4'}
+
+ /unimodules-app-loader@4.2.0:
+ resolution: {integrity: sha512-q3FHCw04JUjsDXxvTvJPl63sBseHCiqHWD/3imOseGP+PZLzW46boQmnxSaHcdIOoWK88N/npyEh6eDN9Wyvng==}
+ dev: false
+
+ /unique-filename@1.1.1:
+ resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==}
+ dependencies:
+ unique-slug: 2.0.2
+ dev: false
+
+ /unique-slug@2.0.2:
+ resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==}
+ dependencies:
+ imurmurhash: 0.1.4
+ dev: false
+
+ /unique-string@1.0.0:
+ resolution: {integrity: sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg==}
+ engines: {node: '>=4'}
+ dependencies:
+ crypto-random-string: 1.0.0
+ dev: false
+
+ /unique-string@2.0.0:
+ resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
+ engines: {node: '>=8'}
+ dependencies:
+ crypto-random-string: 2.0.0
+ dev: false
+
+ /universalify@0.1.2:
+ resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
+ engines: {node: '>= 4.0.0'}
+ dev: false
+
+ /universalify@1.0.0:
+ resolution: {integrity: sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==}
+ engines: {node: '>= 10.0.0'}
+ dev: false
+
+ /universalify@2.0.0:
+ resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
+ engines: {node: '>= 10.0.0'}
+ dev: false
+
+ /unpipe@1.0.0:
+ resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ /update-browserslist-db@1.0.10(browserslist@4.21.4):
+ resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+ dependencies:
+ browserslist: 4.21.4
+ escalade: 3.1.1
+ picocolors: 1.0.0
+
+ /update-check@1.5.3:
+ resolution: {integrity: sha512-6KLU4/dd0Tg/l0xwL+f9V7kEIPSL1vOIbnNnhSLiRDlj4AVG6Ks9Zoc9Jgt9kIgWFPZ/wp2AHgmG7xNf15TJOA==}
+ dependencies:
+ registry-auth-token: 3.3.2
+ registry-url: 3.1.0
+ dev: false
+
+ /uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ dependencies:
+ punycode: 2.3.0
+
+ /url-join@4.0.0:
+ resolution: {integrity: sha512-EGXjXJZhIHiQMK2pQukuFcL303nskqIRzWvPvV5O8miOfwoUb9G+a/Cld60kUyeaybEI94wvVClT10DtfeAExA==}
+ dev: false
+
+ /url-parse-lax@3.0.0:
+ resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ prepend-http: 2.0.0
+ dev: false
+
+ /url-parse@1.5.10:
+ resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
+ dependencies:
+ querystringify: 2.2.0
+ requires-port: 1.0.0
+ dev: false
+
+ /url@0.11.0:
+ resolution: {integrity: sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==}
+ dependencies:
+ punycode: 1.3.2
+ querystring: 0.2.0
+ dev: false
+
+ /use-latest-callback@0.1.9(react@18.2.0):
+ resolution: {integrity: sha512-CL/29uS74AwreI/f2oz2hLTW7ZqVeV5+gxFeGudzQrgkCytrHw33G4KbnQOrRlAEzzAFXi7dDLMC9zhWcVpzmw==}
+ peerDependencies:
+ react: '>=16.8'
+ dependencies:
+ react: 18.2.0
+ dev: false
+
+ /use-sync-external-store@1.2.0(react@18.2.0):
+ resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ react: 18.2.0
+ dev: false
+
+ /util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+
+ /utila@0.4.0:
+ resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==}
+ dev: false
+
+ /utils-merge@1.0.1:
+ resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
+ engines: {node: '>= 0.4.0'}
+ dev: false
+
+ /uuid@3.4.0:
+ resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==}
+ deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
+ hasBin: true
+ dev: false
+
+ /uuid@7.0.3:
+ resolution: {integrity: sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==}
+ hasBin: true
+ dev: false
+
+ /uuid@8.3.2:
+ resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
+ hasBin: true
+ dev: false
+
+ /uuid@9.0.1:
+ resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
+ hasBin: true
+ dev: false
+
+ /uuidv4@6.2.13:
+ resolution: {integrity: sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==}
+ dependencies:
+ '@types/uuid': 8.3.4
+ uuid: 8.3.2
+ dev: false
+
+ /uuidv5@1.0.0:
+ resolution: {integrity: sha512-OIrdJoTuC0Sbk1CKrGWG02gwrZHZptlYTHGkVOH7wxVNmMsGYFzJ77N7+SbrctXfpp9sI8Bp/nsu6C932p2MGQ==}
+ dev: false
+
+ /valid-url@1.0.9:
+ resolution: {integrity: sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==}
+ dev: false
+
+ /validate-npm-package-name@3.0.0:
+ resolution: {integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==}
+ dependencies:
+ builtins: 1.0.3
+ dev: false
+
+ /vary@1.1.2:
+ resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ /vlq@1.0.1:
+ resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==}
+ dev: false
+
+ /walker@1.0.8:
+ resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
+ dependencies:
+ makeerror: 1.0.12
+ dev: false
+
+ /warn-once@0.1.1:
+ resolution: {integrity: sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q==}
+ dev: false
+
+ /watchpack@2.4.0:
+ resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+ dev: false
+
+ /wbuf@1.7.3:
+ resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==}
+ dependencies:
+ minimalistic-assert: 1.0.1
+ dev: false
+
+ /wcwidth@1.0.1:
+ resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
+ dependencies:
+ defaults: 1.0.4
+ dev: false
+
+ /webcrypto-core@1.7.5:
+ resolution: {integrity: sha512-gaExY2/3EHQlRNNNVSrbG2Cg94Rutl7fAaKILS1w8ZDhGxdFOaw6EbCfHIxPy9vt/xwp5o0VQAx9aySPF6hU1A==}
+ dependencies:
+ '@peculiar/asn1-schema': 2.3.3
+ '@peculiar/json-schema': 1.1.12
+ asn1js: 3.0.5
+ pvtsutils: 1.3.2
+ tslib: 2.4.1
+ dev: false
+
+ /webidl-conversions@3.0.1:
+ resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+ dev: false
+
+ /webidl-conversions@5.0.0:
+ resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /webpack-dev-middleware@5.3.3(webpack@5.89.0):
+ resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^4.0.0 || ^5.0.0
+ dependencies:
+ colorette: 2.0.20
+ memfs: 3.5.3
+ mime-types: 2.1.35
+ range-parser: 1.2.1
+ schema-utils: 4.2.0
+ webpack: 5.89.0(esbuild@0.19.11)
+ dev: false
+
+ /webpack-dev-server@4.15.1(webpack@5.89.0):
+ resolution: {integrity: sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==}
+ engines: {node: '>= 12.13.0'}
+ hasBin: true
+ peerDependencies:
+ webpack: ^4.37.0 || ^5.0.0
+ webpack-cli: '*'
+ peerDependenciesMeta:
+ webpack:
+ optional: true
+ webpack-cli:
+ optional: true
+ dependencies:
+ '@types/bonjour': 3.5.13
+ '@types/connect-history-api-fallback': 1.5.4
+ '@types/express': 4.17.14
+ '@types/serve-index': 1.9.4
+ '@types/serve-static': 1.15.0
+ '@types/sockjs': 0.3.36
+ '@types/ws': 8.5.10
+ ansi-html-community: 0.0.8
+ bonjour-service: 1.1.1
+ chokidar: 3.5.3
+ colorette: 2.0.20
+ compression: 1.7.4
+ connect-history-api-fallback: 2.0.0
+ default-gateway: 6.0.3
+ express: 4.18.2
+ graceful-fs: 4.2.11
+ html-entities: 2.4.0
+ http-proxy-middleware: 2.0.6(@types/express@4.17.14)
+ ipaddr.js: 2.1.0
+ launch-editor: 2.6.1
+ open: 8.4.0
+ p-retry: 4.6.2
+ rimraf: 3.0.2
+ schema-utils: 4.2.0
+ selfsigned: 2.4.1
+ serve-index: 1.9.1
+ sockjs: 0.3.24
+ spdy: 4.0.2
+ webpack: 5.89.0(esbuild@0.19.11)
+ webpack-dev-middleware: 5.3.3(webpack@5.89.0)
+ ws: 8.16.0
+ transitivePeerDependencies:
+ - bufferutil
+ - debug
+ - supports-color
+ - utf-8-validate
+ dev: false
+
+ /webpack-manifest-plugin@4.1.1(webpack@5.89.0):
+ resolution: {integrity: sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==}
+ engines: {node: '>=12.22.0'}
+ peerDependencies:
+ webpack: ^4.44.2 || ^5.47.0
+ dependencies:
+ tapable: 2.2.1
+ webpack: 5.89.0(esbuild@0.19.11)
+ webpack-sources: 2.3.1
+ dev: false
+
+ /webpack-sources@2.3.1:
+ resolution: {integrity: sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ source-list-map: 2.0.1
+ source-map: 0.6.1
+ dev: false
+
+ /webpack-sources@3.2.3:
+ resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
+ engines: {node: '>=10.13.0'}
+ dev: false
+
+ /webpack@5.89.0(esbuild@0.19.11):
+ resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ peerDependencies:
+ webpack-cli: '*'
+ peerDependenciesMeta:
+ webpack-cli:
+ optional: true
+ dependencies:
+ '@types/eslint-scope': 3.7.7
+ '@types/estree': 1.0.5
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/wasm-edit': 1.11.6
+ '@webassemblyjs/wasm-parser': 1.11.6
+ acorn: 8.8.2
+ acorn-import-assertions: 1.9.0(acorn@8.8.2)
+ browserslist: 4.21.4
+ chrome-trace-event: 1.0.3
+ enhanced-resolve: 5.15.0
+ es-module-lexer: 1.4.1
+ eslint-scope: 5.1.1
+ events: 3.3.0
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+ json-parse-even-better-errors: 2.3.1
+ loader-runner: 4.3.0
+ mime-types: 2.1.35
+ neo-async: 2.6.2
+ schema-utils: 3.3.0
+ tapable: 2.2.1
+ terser-webpack-plugin: 5.3.10(esbuild@0.19.11)(webpack@5.89.0)
+ watchpack: 2.4.0
+ webpack-sources: 3.2.3
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - uglify-js
+ dev: false
+
+ /websocket-driver@0.7.4:
+ resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==}
+ engines: {node: '>=0.8.0'}
+ dependencies:
+ http-parser-js: 0.5.8
+ safe-buffer: 5.2.1
+ websocket-extensions: 0.1.4
+ dev: false
+
+ /websocket-extensions@0.1.4:
+ resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==}
+ engines: {node: '>=0.8.0'}
+ dev: false
+
+ /whatwg-fetch@3.6.2:
+ resolution: {integrity: sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==}
+ dev: false
+
+ /whatwg-url-without-unicode@8.0.0-3:
+ resolution: {integrity: sha512-HoKuzZrUlgpz35YO27XgD28uh/WJH4B0+3ttFqRo//lmq+9T/mIOJ6kqmINI9HpUpz1imRC/nR/lxKpJiv0uig==}
+ engines: {node: '>=10'}
+ dependencies:
+ buffer: 5.7.1
+ punycode: 2.3.0
+ webidl-conversions: 5.0.0
+ dev: false
+
+ /whatwg-url@5.0.0:
+ resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+ dependencies:
+ tr46: 0.0.3
+ webidl-conversions: 3.0.1
+ dev: false
+
+ /which-boxed-primitive@1.0.2:
+ resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
+ dependencies:
+ is-bigint: 1.0.4
+ is-boolean-object: 1.1.2
+ is-number-object: 1.0.7
+ is-string: 1.0.7
+ is-symbol: 1.0.4
+ dev: true
+
+ /which-module@2.0.0:
+ resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==}
+ dev: false
+
+ /which@1.3.1:
+ resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+ dev: false
+
+ /which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+
+ /wonka@4.0.15:
+ resolution: {integrity: sha512-U0IUQHKXXn6PFo9nqsHphVCE5m3IntqZNB9Jjn7EB1lrR7YTDY3YWgFvEvwniTzXSvOH/XMzAZaIfJF/LvHYXg==}
+ dev: false
+
+ /word-wrap@1.2.3:
+ resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
+ engines: {node: '>=0.10.0'}
+
+ /wordwrap@1.0.0:
+ resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
+ dev: true
+
+ /wrap-ansi@6.2.0:
+ resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
+ engines: {node: '>=8'}
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ dev: false
+
+ /wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ dev: false
+
+ /wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+
+ /write-file-atomic@2.4.3:
+ resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==}
+ dependencies:
+ graceful-fs: 4.2.11
+ imurmurhash: 0.1.4
+ signal-exit: 3.0.7
+ dev: false
+
+ /ws@6.2.2:
+ resolution: {integrity: sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: ^5.0.2
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ dependencies:
+ async-limiter: 1.0.1
+ dev: false
+
+ /ws@7.5.9:
+ resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==}
+ engines: {node: '>=8.3.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: ^5.0.2
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ dev: false
+
+ /ws@8.16.0:
+ resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ dev: false
+
+ /xcode@3.0.1:
+ resolution: {integrity: sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==}
+ engines: {node: '>=10.0.0'}
+ dependencies:
+ simple-plist: 1.3.1
+ uuid: 7.0.3
+ dev: false
+
+ /xml2js@0.6.0:
+ resolution: {integrity: sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==}
+ engines: {node: '>=4.0.0'}
+ dependencies:
+ sax: 1.2.4
+ xmlbuilder: 11.0.1
+ dev: false
+
+ /xmlbuilder@11.0.1:
+ resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==}
+ engines: {node: '>=4.0'}
+ dev: false
+
+ /xmlbuilder@14.0.0:
+ resolution: {integrity: sha512-ts+B2rSe4fIckR6iquDjsKbQFK2NlUk6iG5nf14mDEyldgoc2nEKZ3jZWMPTxGQwVgToSjt6VGIho1H8/fNFTg==}
+ engines: {node: '>=8.0'}
+ dev: false
+
+ /xmlbuilder@15.1.1:
+ resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==}
+ engines: {node: '>=8.0'}
+ dev: false
+
+ /xtend@4.0.2:
+ resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
+ engines: {node: '>=0.4'}
+
+ /y18n@4.0.3:
+ resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
+ dev: false
+
+ /y18n@5.0.8:
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /yallist@2.1.2:
+ resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==}
+ dev: false
+
+ /yallist@4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+
+ /yaml@1.10.2:
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ engines: {node: '>= 6'}
+
+ /yaml@2.3.4:
+ resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
+ engines: {node: '>= 14'}
+ dev: false
+
+ /yargs-parser@18.1.3:
+ resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ camelcase: 5.3.1
+ decamelize: 1.2.0
+ dev: false
+
+ /yargs-parser@21.1.1:
+ resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
+ engines: {node: '>=12'}
+ dev: false
+
+ /yargs@15.4.1:
+ resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
+ engines: {node: '>=8'}
+ dependencies:
+ cliui: 6.0.0
+ decamelize: 1.2.0
+ find-up: 4.1.0
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ require-main-filename: 2.0.0
+ set-blocking: 2.0.0
+ string-width: 4.2.3
+ which-module: 2.0.0
+ y18n: 4.0.3
+ yargs-parser: 18.1.3
+ dev: false
+
+ /yargs@17.7.2:
+ resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
+ engines: {node: '>=12'}
+ dependencies:
+ cliui: 8.0.1
+ escalade: 3.1.1
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ string-width: 4.2.3
+ y18n: 5.0.8
+ yargs-parser: 21.1.1
+ dev: false
+
+ /yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
+
+ /zod@3.20.0:
+ resolution: {integrity: sha512-ZWxs7oM5ixoo1BMoxTNeDMYSih/F/FUnExsnRtHT04rG6q0Bd74TKS45RGXw07TOalOZyyzdKaYH38k8yTEv9A==}
+ dev: false
+
+ /zod@3.22.4:
+ resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==}
+ dev: true
+
+ /zustand@4.4.7(@types/react@18.0.38)(react@18.2.0):
+ resolution: {integrity: sha512-QFJWJMdlETcI69paJwhSMJz7PPWjVP8Sjhclxmxmxv/RYI7ZOvR5BHX+ktH0we9gTWQMxcne8q1OY8xxz604gw==}
+ engines: {node: '>=12.7.0'}
+ peerDependencies:
+ '@types/react': '>=16.8'
+ immer: '>=9.0'
+ react: '>=16.8'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ immer:
+ optional: true
+ react:
+ optional: true
+ dependencies:
+ '@types/react': 18.0.38
+ react: 18.2.0
+ use-sync-external-store: 1.2.0(react@18.2.0)
+ dev: false
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
new file mode 100644
index 0000000..a6b9d47
--- /dev/null
+++ b/pnpm-workspace.yaml
@@ -0,0 +1,9 @@
+packages:
+ - apps/expo
+ - apps/nextjs
+ - packages/api
+ - packages/db
+ - packages/helpers
+ - packages/types
+ - packages/validators
+ - packages/config/*
diff --git a/src/components/greendottext.tsx b/src/components/greendottext.tsx
deleted file mode 100644
index ab793d9..0000000
--- a/src/components/greendottext.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-export default function BackgroundText() {
- return (
-
- Saturday morning was come, and all the summer world was bright and fresh,
- and brimming with life. There was a song in every heart; and if the heart was young the music issued at the lips.
- There was cheer in every face and a spring in every step. The locust-trees were in bloom and the fragrance of the
- blossoms filled the air. Cardiff Hill, beyond the village and above it,
- was green with vegetation and it lay just far enough away to seem a Delectable Land, dreamy, reposeful, and inviting.
-
- Tom appeared on the sidewalk with a bucket of whitewash and a long-handled brush. He surveyed the fence,
- and all gladness left him and a deep melancholy settled down upon his spirit. Thirty yards of board fence nine feet high.
- Life to him seemed hollow, and existence but a burden. Sighing, he dipped his brush and passed it along the topmost plank;
- repeated the operation; did it again; compared the insignificant whitewashed streak with the far-reaching continent of unwhitewashed fence,
- and sat down on a tree-box discouraged. Jim came skipping out at the gate with a tin pail, and singing Buffalo Gals.
- Bringing water from the town pump had always been hateful work in Tom’s eyes, before, but now it did not strike him so.
- He remembered that there was company at the pump. White, mulatto, and negro boys and girls were always there waiting their turns,
- resting, trading playthings, quarrelling, fighting, skylarking. And he remembered that although the pump was only a hundred and fifty yards off,
- Jim never got back with a bucket of water under an hour – and even then somebody generally had to go after him. Tom said:
- “Say, Jim, I’ll fetch the water if you’ll whitewash some.”
-
- Jim shook his head and said:
-
- “Can’t, Mars Tom. Ole missis, she tole me I got to go an’ git dis water an’ not stop foolin’ roun’ wid anybody.
- She say she spec’ Mars Tom gwine to ax me to whitewash, an’ so she tole me go ‘long an’
- ‘tend to my own business – she ‘lowed she’d ‘tend to de whitewashin’.”
-
- “Oh, never you mind what she said, Jim. That’s the way she always talks. Gimme the bucket – I won’t be gone only a a minute. She won’t ever know.”
-
- “Oh, I dasn’t, Mars Tom. Ole missis she’d take an’ tar de head off’n me. ‘Deed she would.”
-
- “She! She never licks anybody – whacks ’em over the head with her thimble – and who cares for that,
- I’d like to know. She talks awful, but talk don’t hurt – anyways it don’t if she don’t cry. Jim, I’ll give you a marvel. I’ll give you a white alley!”
-
- )
-}
diff --git a/src/components/homebutton 2.tsx b/src/components/homebutton 2.tsx
deleted file mode 100644
index 35ef34e..0000000
--- a/src/components/homebutton 2.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-import Link from 'next/link'
-import Image from 'next/image'
-import homeImage from 'public/home.png'
-
-export default function HomeButton({
- className = 'absolute top-5 left-5 md:w-20 md:h-20 h-14 w-14 border border-white rounded-full bg-slate-700/40',
-}){
- return (
-
-
-
-
-
- )
-}
diff --git a/src/components/letterMatcher.tsx b/src/components/letterMatcher.tsx
deleted file mode 100644
index 528a981..0000000
--- a/src/components/letterMatcher.tsx
+++ /dev/null
@@ -1,228 +0,0 @@
-import { useRef, useEffect, useState } from "react"
-import { api } from "~/utils/api"
-import { SingletonRouter, useRouter } from "next/router"
-import useUserStore from "~/stores/userStore"
-import { formatDate, navigate } from "~/utils/helpers"
-import useTimer from '~/hooks/useTimer'
-import type { Font } from "~/utils/types"
-import { FontProvider } from "~/cva/fontProvider"
-import { motion } from "framer-motion"
-
-function getLetter() {
- const letters = "abcdefghijklmnopqrstuvwxyz"
- return letters[Math.floor(Math.random() * letters.length)] as string
-}
-
-type LetterGridProps = {
- size: number
-}
-
-
-export default function LetterGrid({ size }: LetterGridProps) {
- const classNameCenter = "text-green-500"
- const classNameHighlight = "text-yellow-400"
- const signal = "teardown letter matcher"
- const correctCount = useRef(0)
- const incorrectCount = useRef(0)
- const user = api.user.getUnique.useQuery()
- const mutateUser = api.user.setUser.useMutation()
- const userStore = useUserStore()
- const collectData = api.letterMatcherSession.setUnique.useMutation()
- const [started, setStarted] = useState(false)
- const [top, setTop] = useState('●')
- const router = useRouter()
- const [bottom, setBottom] = useState('●')
- const [left, setLeft] = useState('●')
- const [right, setRight] = useState('●')
- const timer = useTimer(
- "minutes",
- 1,
- signal,
- )
- const matching = useRef(Math.random() < 0.5)
- const [showingTarget, setShowing] = useState(false)
- const [font, setFont] = useState('sans' as Font)
- const grid = (() => {
- const grid = []
- for (let i = 0; i < size; i++) {
- const row = []
- for (let j = 0; j < size; j++) {
- if (i === Math.floor(size / 2) && j === Math.floor(size / 2)) {
- row.push(
-
- ⊚
-
- )
- }
- else if (i === 0 && j === Math.floor(size / 2)) {
- row.push(
-
- {
- !showingTarget
- ? '●'
- : top
- }
-
)
- }
- else if (i === (size - 1) && j === Math.floor(size / 2)) {
- row.push(
-
- {
- !showingTarget
- ? '●'
- : bottom
- }
-
)
- }
- else if (i === Math.floor(size / 2) && j === 0) {
- row.push(
-
- {
- !showingTarget
- ? '●'
- : left
- }
-
)
- }
- else if (i === Math.floor(size / 2) && j === (size - 1)) {
- row.push(
-
- {
- !showingTarget
- ? '●'
- : right
- }
-
)
- }
- else {
- row.push(
-
- {
- !showingTarget
- ? '●'
- : getLetter()
- }
-
)
- }
- }
- grid.push(row)
- }
- return grid
- })()
-
- function handleClick(answer: boolean) {
- if (!started) {
- setStarted(() => true)
- timer.start()
- gameLoop()
- return
- }
- if (answer === matching.current) {
- correctCount.current += 1
- }
- else {
- incorrectCount.current += 1
- }
- gameLoop()
- }
-
- function teardown() {
- if (user.data) {
- collectData.mutate({
- userId: user.data.id,
- numberCorrect: correctCount.current,
- numberWrong: incorrectCount.current,
- })
- userStore.setUser({
- ...user.data,
- lastLetterMatcher: formatDate(new Date()),
- })
- mutateUser.mutate({
- ...user.data,
- lastLetterMatcher: formatDate(new Date()),
- })
- }
- navigate(router as SingletonRouter, '/next')
- }
-
- function gameLoop() {
- matching.current = Math.random() < 0.5
- console.log('triggerd')
- if (matching.current) {
- console.log('matching')
- const letter = getLetter()
- setTop(() => letter)
- setBottom(() => letter)
- setLeft(() => letter)
- setRight(() => letter)
- }
- else {
- console.log('not matching')
- setTop(() => getLetter())
- setBottom(() => getLetter())
- setLeft(() => getLetter())
- setRight(() => getLetter())
- }
- console.log(top, bottom, left, right)
- setShowing(() => true)
- setTimeout(() => setShowing(() => false), 500)
- }
-
- useEffect(() => {
- if (!user.data) return
- setFont(user.data.font)
- document.addEventListener(signal, teardown)
- return () => {
- document.removeEventListener(signal, teardown)
- }
- }, [user])
-
- useEffect(() => {
- setShowing(() => false)
- }, [])
-
- return (
-
-
- {
- !started
- ? 'Press a button to start'
- : ' '
- }
-
-
- {grid}
-
-
- handleClick(true)}>
- ✓
-
- handleClick(false)}>
- ⛔
-
-
-
- )
-}
diff --git a/src/components/settingsbutton 2.tsx b/src/components/settingsbutton 2.tsx
deleted file mode 100644
index 1ab701f..0000000
--- a/src/components/settingsbutton 2.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-import Link from 'next/link'
-import Image from 'next/image'
-import settings from 'public/settings.png'
-
-export default function SettingsButton({
- className = 'absolute top-5 right-5 md:w-20 md:h-20 w-14 h-14 border border-white rounded-full bg-slate-700/40',
-}){
- return (
-
-
-
-
-
- )
-}
diff --git a/src/components/sidebar.tsx b/src/components/sidebar.tsx
deleted file mode 100644
index 7c9e731..0000000
--- a/src/components/sidebar.tsx
+++ /dev/null
@@ -1,99 +0,0 @@
-import { useRouter } from 'next/router'
-import { useState } from 'react'
-import { useClerk } from "@clerk/clerk-react"
-import { motion } from 'framer-motion'
-import {
- IoArrowForwardCircleOutline,
- IoArrowBackCircleOutline
-} from "react-icons/io5"
-
-export default function Sidebar() {
- const [showing, setShowing] = useState(false)
- const router = useRouter()
- const { signOut } = useClerk()
-
- function SideBarItem({ content, onClick }: { content: string, onClick: VoidFunction }) {
- return (
-
- {
- showing
- ? content
- : ''
- }
-
- )
- }
-
- return (
-
- {/*this is the shadow that covers the page when the sidebar is open*/}
-
setShowing(!showing)
- : () => setShowing(showing)
- }
- />
- {/*this is the sidebar itself*/}
-
-
setShowing(!showing)}
- >
- {
- showing
- ?
- :
- }
-
-
- {
- router.push('/nav').catch(err => console.log(err))
- }
- } />
- {
- router.push('/settings').catch(err => console.log(err))
- }
- } />
- {
- signOut(() => {
- router.push('/').catch(err => console.log(err))
- }).catch(err => console.log(err))
- }
- } />
-
-
-
- )
-}
-
diff --git a/src/env.mjs b/src/env.mjs
deleted file mode 100644
index 84eb00b..0000000
--- a/src/env.mjs
+++ /dev/null
@@ -1,76 +0,0 @@
-import { z } from 'zod'
-
-/**
- * Specify your server-side environment variables schema here. This way you can ensure the app isn't
- * built with invalid env vars.
- */
-const server = z.object({
- DATABASE_URL: z.string().url(),
- NODE_ENV: z.enum(['development', 'test', 'production']),
-})
-
-/**
- * Specify your client-side environment variables schema here. This way you can ensure the app isn't
- * built with invalid env vars. To expose them to the client, prefix them with `NEXT_PUBLIC_`.
- */
-const client = z.object({
- // NEXT_PUBLIC_CLIENTVAR: z.string().min(1),
-})
-
-/**
- * You can't destruct `process.env` as a regular object in the Next.js edge runtimes (e.g.
- * middlewares) or client-side so we need to destruct manually.
- *
- * @type {Record
| keyof z.infer, string | undefined>}
- */
-const processEnv = {
- DATABASE_URL: process.env.DATABASE_URL,
- NODE_ENV: process.env.NODE_ENV,
- // NEXT_PUBLIC_CLIENTVAR: process.env.NEXT_PUBLIC_CLIENTVAR,
-}
-
-// Don't touch the part below
-// --------------------------
-
-const merged = server.merge(client)
-
-/** @typedef {z.input} MergedInput */
-/** @typedef {z.infer} MergedOutput */
-/** @typedef {z.SafeParseReturnType} MergedSafeParseReturn */
-
-let env = /** @type {MergedOutput} */ (process.env)
-
-if (!!process.env.SKIP_ENV_VALIDATION == false) {
- const isServer = typeof window === 'undefined'
-
- const parsed = /** @type {MergedSafeParseReturn} */ (
- isServer
- ? merged.safeParse(processEnv) // on server we can validate all env vars
- : client.safeParse(processEnv) // on client we can only validate the ones that are exposed
- )
-
- if (parsed.success === false) {
- console.error(
- '❌ Invalid environment variables:',
- parsed.error.flatten().fieldErrors,
- )
- throw new Error('Invalid environment variables')
- }
-
- env = new Proxy(parsed.data, {
- get(target, prop) {
- if (typeof prop !== 'string') return undefined
- // Throw a descriptive error if a server-side env var is accessed on the client
- // Otherwise it would just be returning `undefined` and be annoying to debug
- if (!isServer && !prop.startsWith('NEXT_PUBLIC_'))
- throw new Error(
- process.env.NODE_ENV === 'production'
- ? '❌ Attempted to access a server-side environment variable on the client'
- : `❌ Attempted to access server-side environment variable '${prop}' on the client`,
- )
- return target[/** @type {keyof typeof target} */ (prop)]
- },
- })
-}
-
-export { env }
diff --git a/src/middleware.ts b/src/middleware.ts
deleted file mode 100644
index 7b3d383..0000000
--- a/src/middleware.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { authMiddleware } from '@clerk/nextjs'
-
-export default authMiddleware({
- apiKey: process.env.NEXT_PUBLIC_CLERK_API_KEY,
- publicRoutes: ['/', '/nav'],
-})
-
-export const config = {
- matcher: ['/((?!.*\\..*|_next).*)', '/', '/(api|trpc)(.*)'],
-}
diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx
deleted file mode 100644
index e7d6c2b..0000000
--- a/src/pages/_app.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import { createContext, useState } from 'react'
-import { type AppType } from 'next/app'
-import { ClerkProvider } from '@clerk/nextjs'
-import { api } from '~/utils/api'
-import '~/styles/globals.css'
-import { User } from '@prisma/client'
-import { SignedIn } from '@clerk/nextjs/dist/types/components.server'
-import Sidebar from '~/components/sidebar'
-
-const MyApp: AppType = ({ Component, pageProps }) => {
- return (
-
-
-
- )
-}
-
-export default api.withTRPC(MyApp)
diff --git a/src/pages/admin/createquestion/done.tsx b/src/pages/admin/createquestion/done.tsx
deleted file mode 100644
index 6a4234b..0000000
--- a/src/pages/admin/createquestion/done.tsx
+++ /dev/null
@@ -1,65 +0,0 @@
-import { useEffect, useState } from 'react'
-import { api } from '~/utils/api'
-import { useRouter } from 'next/router'
-import Sidebar from '~/components/sidebar'
-
-export default function Page(){
- const router = useRouter()
- const [approved, setApproved] = useState(false)
- const user = api.user.getUnique.useQuery().data
-
- const navToCreatQuestion = () => {
- router.push('/admin/createquestion').catch(err => console.log(err))
- }
-
- const navToAdmin = () => {
- router.push('/admin').catch(err => console.log(err))
- }
-
- function Display(){
- return(
- <>
-
-
-
Question created!
-
- Create another question
-
-
- Return to admin page
-
-
- >
- )
- }
-
- function Loading(){
- return(
- <>
-
-
- >
- )
- }
-
- useEffect(() => {
- if(!user) return
- if(!user.isAdmin){
- router.push('/').catch(err => console.log(err))
- }
- else{
- setApproved(true)
- }
- }, [user])
-
- return approved ? :
-
-}
diff --git a/src/pages/admin/createquestion/index.tsx b/src/pages/admin/createquestion/index.tsx
deleted file mode 100644
index 6e793d4..0000000
--- a/src/pages/admin/createquestion/index.tsx
+++ /dev/null
@@ -1,168 +0,0 @@
-import { useRouter } from 'next/router'
-import { useEffect, useState } from 'react'
-import Sidebar from '~/components/sidebar'
-import { api } from '~/utils/api'
-import type { Answer } from '~/utils/types'
-
-function Loading(){
- return(
- <>
-
-
- >
- )
-}
-
-function QuestionForm(){
- const [passage, setPassage] = useState('')
- const [question, setQuestion] = useState('')
- const [answerA, setAnswerA] = useState('')
- const [answerB, setAnswerB] = useState('')
- const [answerC, setAnswerC] = useState('')
- const [answerD, setAnswerD] = useState('')
- const { mutate } = api.createSpeedTest.createSpeedTest.useMutation()
- const [correctAnswer, setCorrectAnswer] = useState('A')
- const router = useRouter()
-
- function submit(){
- if(
- passage == '' ||
- question == ''||
- answerA == '' ||
- answerB == '' ||
- answerC == '' ||
- answerD == ''
- ){
- alert('Please fill out all fields')
- return
- }
- const body = {
- passage,
- question,
- answerA,
- answerB,
- answerC,
- answerD,
- correctAnswer
- }
- mutate(body)
- router.push('/admin/createquestion/done').catch((err) => console.log(err))
-
- }
-
- return (
- <>
-
-
- >
- )
-}
-
-export default function Page(){
- const router = useRouter()
- const { data: user} = api.user.getUnique.useQuery()
- const [approved, setApproved] = useState(false)
-
- useEffect(() => {
- if(!user) return
- if(!user.isAdmin){
- router.push('/').catch(() => console.log('permission denied'))
- }
- else{
- setApproved(true)
- }
- }, [user])
-
- return approved ? :
-}
diff --git a/src/pages/admin/testexercise.tsx b/src/pages/admin/testexercise.tsx
deleted file mode 100644
index dcbec79..0000000
--- a/src/pages/admin/testexercise.tsx
+++ /dev/null
@@ -1,46 +0,0 @@
-import { useRouter } from "next/router"
-import Sidebar from "~/components/sidebar"
-
-export default function Page() {
- const router = useRouter()
-
- function nav(path: string) {
- router.push(path).catch(err => console.log(err))
- }
-
- function NavButton({ path, text }: { path: string, text: string }) {
- return (
- nav(path)}
- className='flex bg-white/20 rounded-full items-center p-4 h-12 py-2 text-white text-2xl md:text-4xl font-normal'
- >
- {text}
-
- )
- }
-
- return (
- <>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- >
- )
-}
diff --git a/src/pages/api/trpc/[trpc].ts b/src/pages/api/trpc/[trpc].ts
deleted file mode 100644
index ac01a7b..0000000
--- a/src/pages/api/trpc/[trpc].ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import { createNextApiHandler } from '@trpc/server/adapters/next'
-
-import { env } from '~/env.mjs'
-import { createTRPCContext } from '~/server/api/trpc'
-import { appRouter } from '~/server/api/root'
-
-// export API handler
-export default createNextApiHandler({
- router: appRouter,
- createContext: createTRPCContext,
- onError:
- env.NODE_ENV === 'development'
- ? ({ path, error }) => {
- console.error(
- `❌ tRPC failed on ${path ?? ''}: ${error.message}`,
- )
- }
- : undefined,
-})
diff --git a/src/pages/done.tsx b/src/pages/done.tsx
deleted file mode 100644
index 986cbea..0000000
--- a/src/pages/done.tsx
+++ /dev/null
@@ -1,29 +0,0 @@
-import type { NextPage } from 'next'
-import Head from 'next/head'
-import Link from 'next/link'
-import { useRouter } from 'next/router'
-
-const Page: NextPage = () => {
- return (
- <>
- Done
-
-
-
-
- You're done all done for the day!
-
-
-
- Home
-
-
-
-
- >
- )
-}
-export default Page
diff --git a/src/pages/exercises/boxes.tsx b/src/pages/exercises/boxes.tsx
deleted file mode 100644
index fb49e06..0000000
--- a/src/pages/exercises/boxes.tsx
+++ /dev/null
@@ -1,28 +0,0 @@
-import CornerFlasher from '~/components/cubeflasher'
-import Sidebar from '~/components/sidebar'
-import { useRouter } from 'next/router'
-
-export default function Page() {
- const params = useRouter().query
-
- function getSideLength(param: string) {
- switch (param) {
- case '2':
- return 2
- case '3':
- return 3
- default:
- return 2
- }
- }
- return (
- <>
-
-
- >
- )
-}
diff --git a/src/pages/exercises/cubebythree.tsx b/src/pages/exercises/cubebythree.tsx
deleted file mode 100644
index 46bb094..0000000
--- a/src/pages/exercises/cubebythree.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import CornerFlasher from '~/components/cubeflasher'
-import Sidebar from '~/components/sidebar'
-
-export default function Page() {
- return (
- <>
-
-
- >
- )
-}
diff --git a/src/pages/exercises/cubebytwo.tsx b/src/pages/exercises/cubebytwo.tsx
deleted file mode 100644
index 6953ec2..0000000
--- a/src/pages/exercises/cubebytwo.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import CornerFlasher from '~/components/cubeflasher'
-import Sidebar from '~/components/sidebar'
-
-export default function Page() {
- return (
- <>
-
-
- >
- )
-}
diff --git a/src/pages/exercises/flashonebyone.tsx b/src/pages/exercises/flashonebyone.tsx
deleted file mode 100644
index 51ea44a..0000000
--- a/src/pages/exercises/flashonebyone.tsx
+++ /dev/null
@@ -1,20 +0,0 @@
-import Head from 'next/head'
-import FlashingGrid from 'src/components/flashingcell'
-import Sidebar from '~/components/sidebar'
-
-export default function Page(){
- return (
- <>
-
- Speed Read
-
-
-
-
-
- >
- )
-}
-
diff --git a/src/pages/exercises/greendot.tsx b/src/pages/exercises/greendot.tsx
deleted file mode 100644
index 4544749..0000000
--- a/src/pages/exercises/greendot.tsx
+++ /dev/null
@@ -1,37 +0,0 @@
-import Head from 'next/head'
-import PieTimer from '~/components/pietimer'
-import Sidebar from '~/components/sidebar'
-import { api } from '~/utils/api'
-import { FontProvider } from '~/cva/fontProvider'
-import type { Font } from '~/utils/types'
-import { useEffect, useState } from 'react'
-import BackgroundText from '~/components/greendottext'
-
-export default function Page() {
- const user = api.user.getUnique.useQuery()
- const [font, setFont] = useState('sans')
-
- useEffect(() => {
- if (!user) return
- if (user.data) {
- setFont(user.data.font)
- }
- }, [user])
-
- return (
- <>
-
- Speed Read
-
-
- >
- )
-}
diff --git a/src/pages/exercises/lettermatcher.tsx b/src/pages/exercises/lettermatcher.tsx
deleted file mode 100644
index 0518645..0000000
--- a/src/pages/exercises/lettermatcher.tsx
+++ /dev/null
@@ -1,20 +0,0 @@
-import Head from 'next/head'
-import dynamic from 'next/dynamic'
-import Sidebar from '~/components/sidebar'
-
-const LetterMatcher = dynamic(() => import('~/components/letterMatcher'), { ssr: false })
-
-export default function Page(){
- return (
- <>
-
- Letter Matcher
-
-
-
-
-
- >
- )
-}
-
diff --git a/src/pages/exercises/numbermatcher.tsx b/src/pages/exercises/numbermatcher.tsx
deleted file mode 100644
index a361914..0000000
--- a/src/pages/exercises/numbermatcher.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-import Head from 'next/head'
-import dynamic from 'next/dynamic'
-import Sidebar from '~/components/sidebar'
-
-const NumberMatcher = dynamic(() => import('~/components/numbermatcher'), { ssr: false })
-
-export default function Page(){
- return (
- <>
-
- Number Matcher
-
-
-
-
-
- >
- )
-}
diff --git a/src/pages/exercises/wordpairs.tsx b/src/pages/exercises/wordpairs.tsx
deleted file mode 100644
index e7ab181..0000000
--- a/src/pages/exercises/wordpairs.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import dynamic from 'next/dynamic'
-import Sidebar from '~/components/sidebar'
-
-const WordPairs = dynamic(() => import('~/components/wordpairs'), { ssr: false })
-export default function Page() {
- return (
-
- )
-}
diff --git a/src/pages/instructions/boxes.tsx b/src/pages/instructions/boxes.tsx
deleted file mode 100644
index 1b061a4..0000000
--- a/src/pages/instructions/boxes.tsx
+++ /dev/null
@@ -1,128 +0,0 @@
-import { useState, useEffect } from 'react'
-import type { NextPage } from 'next'
-import Head from 'next/head'
-import LoadingSpinner from '~/components/loadingspinner'
-import { useUserStore } from '~/stores/userStore'
-import type { Font, User } from '~/utils/types'
-import { type SingletonRouter, useRouter } from "next/router";
-import { FontProvider } from "~/cva/fontProvider";
-import Sidebar from '~/components/sidebar'
-import { navigate } from '~/utils/helpers'
-
-const INSTRUCTION_DELAY = 5_000
-
-function Paragraph1({ user }: { user: User | undefined }) {
- if (!user) return
- if (user.language === 'english') return (
-
-
- As each box appears on the screen move your eyes to the center of the
- box. Do not actively attempt to read the words at the corners of the
- box. This exercise is meant to help improve your parifpheral vision. In
- order to get the most out of this exercise, try to stay relaxed and
- focused. The exercise will only be counted as completed if you do not
- navigate away from the page. The page will automatically navigate away
- and be counted as complete after one minute.
-
-
- )
- // all of the following are grabbed from google translate and may not be accurate
- // if you speak any of these languages and can correct them, please do so.
- // TODO get proper translations
- if (user.language === 'spanish') return (
-
-
- A medida que aparece cada cuadro en la pantalla, mueva los ojos hacia el centro del cuadro.
- caja. No intente activamente leer las palabras en las esquinas del
- caja. Este ejercicio está destinado a ayudar a mejorar su visión periférica. En
- Para aprovechar al máximo este ejercicio, trate de mantenerse relajado y
- enfocado. El ejercicio sólo se contará como completado si no
- navegar fuera de la página. La página se alejará automáticamente
- y se considerará completo después de un minuto.
-
-
- )
- if (user.language === 'italian') return (
-
-
- Quando ogni riquadro appare sullo schermo, sposta gli occhi al centro del riquadro
- scatola. Non tentare attivamente di leggere le parole agli angoli del
- scatola. Questo esercizio ha lo scopo di aiutarti a migliorare la tua visione periferica. In
- Per ottenere il massimo da questo esercizio, cerca di rimanere rilassato e
- focalizzata. L'esercizio verrà conteggiato come completato solo se non lo fai
- allontanarsi dalla pagina. La pagina verrà automaticamente allontanata
- e verrà conteggiato come completato dopo un minuto.
-
-
- )
- if (user.language === 'german') return (
-
-
- Wenn jedes Kästchen auf dem Bildschirm erscheint, bewegen Sie Ihren Blick in die Mitte des Kästchens
- Kasten. Versuchen Sie nicht aktiv, die Wörter an den Ecken des zu lesen
- Kasten. Diese Übung soll dazu beitragen, Ihr peripheres Sehvermögen zu verbessern. In
- Um das Beste aus dieser Übung herauszuholen, versuchen Sie, entspannt zu bleiben
- konzentriert. Nur wenn Sie dies nicht tun, gilt die Übung als abgeschlossen
- Navigieren Sie von der Seite weg. Die Seite navigiert automatisch weg
- und gelten nach einer Minute als abgeschlossen.
-
-
- )
-}
-
-type BlockType = 'two' | 'three'
-
-function typeToUrl(type: BlockType) {
- switch (type) {
- case 'two': return '/exercises/boxes?type=2'
- case 'three': return '/exercises/boxes?type=3'
- default: return '/exercises/boxes?type=2'
- }
-
-}
-
-function StartButton() {
- const [time, setTime] = useState(false)
- const router = useRouter()
- const params = router.query
- const type = params.type
-
- useEffect(() => {
- setTimeout(() => setTime(true), INSTRUCTION_DELAY)
- }, [])
-
- return time ? (
- navigate(router as SingletonRouter, typeToUrl(type as BlockType))}
- >
- Start
-
- ) : (
-
- )
-}
-
-const Page: NextPage = () => {
- const userStore = useUserStore()
- const [font, setFont] = useState('sans')
- useEffect(() => {
- if (!userStore.user) return
- setFont(userStore.user.font)
- })
-
- return (
- <>
- Even Number Exercise Instructions
-
-
-
-
- >
- )
-}
-
-export default Page
diff --git a/src/pages/instructions/evennumbers.tsx b/src/pages/instructions/evennumbers.tsx
deleted file mode 100644
index cb114b5..0000000
--- a/src/pages/instructions/evennumbers.tsx
+++ /dev/null
@@ -1,127 +0,0 @@
-import { useState, useEffect } from 'react'
-import Head from 'next/head'
-import LoadingSpinner from '~/components/loadingspinner'
-import { useUserStore } from '~/stores/userStore'
-import type { Font, User } from '~/utils/types'
-import { useRouter, type SingletonRouter } from "next/router";
-import { FontProvider } from "~/cva/fontProvider";
-import Sidebar from '~/components/sidebar'
-import { navigate } from '~/utils/helpers'
-
-const INSTRUCTION_DELAY = 5_000
-
-function Paragraph1({ user }: { user: User | undefined }) {
- if (!user) return
- if (user.language === 'english') return (
-
-
-
- The goal of this exercise is for you to find the six even numbers in
- the table.
-
-
- There is no time limit, though your time will be recorded to track your
- progression. so try to go as quickly as you can while remaining
- accurate. This exercise is designed to help you improve your ability to
- focus and your perception. Try to stay relaxed and focused while you are
- doing this exercise. It is up to you how you want to approach this
- exercise. But we recommend that you either search the table row by row
- or column by column.
-
-
- )
- // all of the following are grabbed from google translate and may not be accurate
- // if you speak any of these languages and can correct them, please do so.
- // TODO get proper translations
- if (user.language === 'german') return (
-
-
- Das Ziel dieser Übung ist es, die sechs geraden Zahlen zu finden
- Der Tisch. Es gibt keine zeitliche Begrenzung, Ihre Zeit wird jedoch
- aufgezeichnet, um Ihre Zeit zu verfolgen
- Fortschreiten. Versuchen Sie also, so schnell wie möglich zu gehen,
- während Sie bleiben genau. Diese Übung soll Ihnen dabei helfen, Ihre
- Fähigkeiten zu verbessern
- Fokus und Ihre Wahrnehmung. Versuchen Sie dabei entspannt und
- konzentriert zu bleiben
- diese Übung machen. Es liegt an Ihnen, wie Sie dies angehen möchten
- Übung. Wir empfehlen Ihnen jedoch, die Tabelle entweder zeilenweise zu durchsuchen
- oder Spalte für Spalte.
-
-
- )
- if (user.language === 'spanish') return (
-
-
- El objetivo de este ejercicio es que encuentres los seis números pares en
- la mesa. No hay límite de tiempo, aunque su tiempo se registrará para
- realizar un seguimiento de su
- progresión. así que intenta ir lo más rápido que puedas mientras permaneces
- preciso. Este ejercicio está diseñado para ayudarle a mejorar su capacidad para
- enfoque y tu percepción. Intenta mantenerte relajado y concentrado mientras estás
- haciendo este ejercicio. Depende de usted cómo quiere abordar esto
- ejercicio. Pero le recomendamos que busque en la tabla fila por fila
- o columna por columna.
-
-
- )
- if (user.language === 'italian') return (
-
-
- L'obiettivo di questo esercizio è trovare i sei numeri pari
- la tavola. Non c'è limite di tempo, anche se il tuo tempo verrà
- registrato per tenere traccia del tuo
- progressione. quindi prova ad andare il più velocemente possibile rimanendo
- accurato. Questo esercizio è progettato per aiutarti a migliorare la tua capacità di
- concentrazione e la tua percezione. Cerca di rimanere rilassato e concentrato
- mentre lo sei
- facendo questo esercizio. Dipende da te come vuoi affrontare questo problema
- esercizio. Ma ti consigliamo di cercare nella tabella riga per riga
- o colonna per colonna.
-
-
- )
-}
-
-function StartButton() {
- const [time, setTime] = useState(false)
- const router = useRouter()
-
-
- useEffect(() => {
- setTimeout(() => setTime(true), INSTRUCTION_DELAY)
- }, [])
-
- return time ? (
- navigate(router as SingletonRouter, '/exercises/evennumbers')}
- >
- Start
-
- ) : (
-
- )
-}
-
-export default function Page() {
- const userStore = useUserStore()
- const [font, setFont] = useState('sans')
- useEffect(() => {
- if (!userStore.user) return
- setFont(userStore.user.font)
- })
-
- return (
- <>
- Even Number Exercise Instructions
-
-
-
-
- >
- )
-}
diff --git a/src/pages/instructions/flashingwords/fourbyone.tsx b/src/pages/instructions/flashingwords/fourbyone.tsx
deleted file mode 100644
index 7bf2f6a..0000000
--- a/src/pages/instructions/flashingwords/fourbyone.tsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import { useState, useEffect } from 'react'
-import type { NextPage } from 'next'
-import Head from 'next/head'
-import { useUserStore } from '~/stores/userStore'
-import type { HighlightType, Font, User } from '~/utils/types'
-import { FontProvider } from '~/cva/fontProvider'
-import Sidebar from '~/components/sidebar'
-import FlasherStartButton from '~/components/flasherstartbutton'
-import LoadingSpinner from '~/components/loadingspinner'
-
-const INSTRUCTION_DELAY = 5_000
-
-const Paragraph1 = ({ user }: { user: User | undefined }) => {
- if (!user) return
- if (user.language === 'english') return (
-
-
- Follow the highlighted word with your eyes. This exercise is meant to
- help improve your ability to scan and focus as you read. Do not actively
- attempt to read the words, just follow the highligter. In order to get
- the most out of this exercise, try to stay relaxed and focused. The
- exercise will only be counted as completed if you do not navigate away
- from the page. The page will automatically navigate away and be counted
- as complete after one minute.
-
-
- )
- // all of the following are grabbed from google translate and may not be accurate
- // if you speak any of these languages and can correct them, please do so.
- // TODO get proper translations
- if (user.language === 'spanish') return (
-
-
- Sigue la palabra resaltada con tus ojos. Este ejercicio está destinado a
- ayude a mejorar su capacidad para escanear y concentrarse mientras lee. no activamente
- Intente leer las palabras, simplemente siga el resaltador. Para obtener
- Para aprovechar al máximo este ejercicio, trate de mantenerse relajado y concentrado. El
- El ejercicio solo se contará como completado si no navegas
- de la página. La página se alejará automáticamente y se contará.
- como completo después de un minuto.
-
-
- )
- if (user.language === 'german') return (
-
-
- Folgen Sie dem markierten Wort mit Ihren Augen. Diese Übung soll dazu dienen
- Helfen Sie dabei, Ihre Fähigkeit zu scannen und sich beim Lesen zu konzentrieren. Nicht aktiv
- Versuchen Sie, die Wörter zu lesen, folgen Sie einfach der Hervorhebung. Um zu bekommen
- Um das Beste aus dieser Übung herauszuholen, versuchen Sie, entspannt und konzentriert zu bleiben. Der
- Die Übung gilt nur dann als abgeschlossen, wenn Sie nicht wegnavigieren
- von der Seite. Die Seite wird automatisch wegnavigiert und gezählt
- als abgeschlossen nach einer Minute.
-
-
- )
- if (user.language === 'italian') return (
-
-
- Segui con lo sguardo la parola evidenziata. Questo esercizio è pensato per
- aiuta a migliorare la tua capacità di scansione e concentrazione mentre leggi. Non attivamente
- tentare di leggere le parole, basta seguire l'evidenziatore. Per ottenere
- Per ottenere il massimo da questo esercizio, cerca di rimanere rilassato e concentrato. IL
- l'esercizio verrà conteggiato come completato solo se non esci dall'attività
- dalla pagina. La pagina verrà automaticamente allontanata e verrà conteggiata
- come completo dopo un minuto.
-
-
- )
-}
-
-const Page: NextPage = () => {
- const userStore = useUserStore()
- const [font, setFont] = useState('sans')
- const option: HighlightType = 'fourByOne'
-
- useEffect(() => {
- if (!userStore.user) return
- setFont(userStore.user.font)
- }, [userStore.user])
-
- return (
- <>
- Even Number Exercise Instructions
-
-
-
-
- >
- )
-}
-
-export default Page
diff --git a/src/pages/instructions/flashingwords/onebyone.tsx b/src/pages/instructions/flashingwords/onebyone.tsx
deleted file mode 100644
index e416698..0000000
--- a/src/pages/instructions/flashingwords/onebyone.tsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import { useState, useEffect } from 'react'
-import type { NextPage } from 'next'
-import Head from 'next/head'
-import { useUserStore } from '~/stores/userStore'
-import { FontProvider } from '~/cva/fontProvider'
-import Sidebar from '~/components/sidebar'
-import FlasherStartButton from '~/components/flasherstartbutton'
-import type { Font, User } from '~/utils/types'
-import LoadingSpinner from '~/components/loadingspinner'
-
-const INSTRUCTION_DELAY = 5_000
-
-const Paragraph1 = ({ user }: { user: User | undefined }) => {
- if (!user) return
- if (user.language === 'english') return (
-
-
- Follow the highlighted word with your eyes. This exercise is meant to
- help improve your ability to scan and focus as you read. Do not actively
- attempt to read the words, just follow the highligter. In order to get
- the most out of this exercise, try to stay relaxed and focused. The
- exercise will only be counted as completed if you do not navigate away
- from the page. The page will automatically navigate away and be counted
- as complete after one minute.
-
-
- )
- // all of the following are grabbed from google translate and may not be accurate
- // if you speak any of these languages and can correct them, please do so.
- // TODO get proper translations
- if (user.language === 'spanish') return (
-
-
- Sigue la palabra resaltada con tus ojos. Este ejercicio está destinado a
- ayude a mejorar su capacidad para escanear y concentrarse mientras lee. no activamente
- Intente leer las palabras, simplemente siga el resaltador. Para obtener
- Para aprovechar al máximo este ejercicio, trate de mantenerse relajado y concentrado. El
- El ejercicio solo se contará como completado si no navegas
- de la página. La página se alejará automáticamente y se contará.
- como completo después de un minuto.
-
-
- )
- if (user.language === 'german') return (
-
-
- Folgen Sie dem markierten Wort mit Ihren Augen. Diese Übung soll dazu dienen
- Helfen Sie dabei, Ihre Fähigkeit zu scannen und sich beim Lesen zu konzentrieren. Nicht aktiv
- Versuchen Sie, die Wörter zu lesen, folgen Sie einfach der Hervorhebung. Um zu bekommen
- Um das Beste aus dieser Übung herauszuholen, versuchen Sie, entspannt und konzentriert zu bleiben. Der
- Die Übung gilt nur dann als abgeschlossen, wenn Sie nicht wegnavigieren
- von der Seite. Die Seite wird automatisch wegnavigiert und gezählt
- als abgeschlossen nach einer Minute.
-
-
- )
- if (user.language === 'italian') return (
-
-
- Segui con lo sguardo la parola evidenziata. Questo esercizio è pensato per
- aiuta a migliorare la tua capacità di scansione e concentrazione mentre leggi. Non attivamente
- tentare di leggere le parole, basta seguire l'evidenziatore. Per ottenere
- Per ottenere il massimo da questo esercizio, cerca di rimanere rilassato e concentrato. IL
- l'esercizio verrà conteggiato come completato solo se non esci dall'attività
- dalla pagina. La pagina verrà automaticamente allontanata e verrà conteggiata
- come completo dopo un minuto.
-
-
- )
-}
-
-const Page: NextPage = () => {
- const userStore = useUserStore()
- const [font, setFont] = useState('sans')
- const option = 'oneByOne'
-
- useEffect(() => {
- if (!userStore.user) return
- setFont(userStore.user.font)
- }, [userStore.user])
-
- return (
- <>
- Even Number Exercise Instructions
-
-
-
-
- >
- )
-}
-
-export default Page
diff --git a/src/pages/instructions/flashingwords/onebytwo.tsx b/src/pages/instructions/flashingwords/onebytwo.tsx
deleted file mode 100644
index 0e6df23..0000000
--- a/src/pages/instructions/flashingwords/onebytwo.tsx
+++ /dev/null
@@ -1,98 +0,0 @@
-import { useState, useEffect } from 'react'
-import type { NextPage } from 'next'
-import Head from 'next/head'
-import { useUserStore } from '~/stores/userStore'
-import type { Font, User } from '~/utils/types'
-import { FontProvider } from '~/cva/fontProvider'
-import type { HighlightType } from '~/utils/types'
-import Sidebar from '~/components/sidebar'
-import FlasherStartButton from '~/components/flasherstartbutton'
-import LoadingSpinner from '~/components/loadingspinner'
-
-const INSTRUCTION_DELAY = 5_000
-
-const Paragraph1 = ({ user }: { user: User | undefined }) => {
- if (!user) return
- if (user.language === 'english') return (
-
-
- Follow the highlighted word with your eyes. This exercise is meant to
- help improve your ability to scan and focus as you read. Do not actively
- attempt to read the words, just follow the highligter. In order to get
- the most out of this exercise, try to stay relaxed and focused. The
- exercise will only be counted as completed if you do not navigate away
- from the page. The page will automatically navigate away and be counted
- as complete after one minute.
-
-
- )
- // all of the following are grabbed from google translate and may not be accurate
- // if you speak any of these languages and can correct them, please do so.
- // TODO get proper translations
- if (user.language === 'spanish') return (
-
-
- Sigue la palabra resaltada con tus ojos. Este ejercicio está destinado a
- ayude a mejorar su capacidad para escanear y concentrarse mientras lee. no activamente
- Intente leer las palabras, simplemente siga el resaltador. Para obtener
- Para aprovechar al máximo este ejercicio, trate de mantenerse relajado y concentrado. El
- El ejercicio solo se contará como completado si no navegas
- de la página. La página se alejará automáticamente y se contará.
- como completo después de un minuto.
-
-
- )
- if (user.language === 'german') return (
-
-
- Folgen Sie dem markierten Wort mit Ihren Augen. Diese Übung soll dazu dienen
- Helfen Sie dabei, Ihre Fähigkeit zu scannen und sich beim Lesen zu konzentrieren. Nicht aktiv
- Versuchen Sie, die Wörter zu lesen, folgen Sie einfach der Hervorhebung. Um zu bekommen
- Um das Beste aus dieser Übung herauszuholen, versuchen Sie, entspannt und konzentriert zu bleiben. Der
- Die Übung gilt nur dann als abgeschlossen, wenn Sie nicht wegnavigieren
- von der Seite. Die Seite wird automatisch wegnavigiert und gezählt
- als abgeschlossen nach einer Minute.
-
-
- )
- if (user.language === 'italian') return (
-
-
- Segui con lo sguardo la parola evidenziata. Questo esercizio è pensato per
- aiuta a migliorare la tua capacità di scansione e concentrazione mentre leggi. Non attivamente
- tentare di leggere le parole, basta seguire l'evidenziatore. Per ottenere
- Per ottenere il massimo da questo esercizio, cerca di rimanere rilassato e concentrato. IL
- l'esercizio verrà conteggiato come completato solo se non esci dall'attività
- dalla pagina. La pagina verrà automaticamente allontanata e verrà conteggiata
- come completo dopo un minuto.
-
-
- )
-}
-
-
-const Page: NextPage = () => {
- const userStore = useUserStore()
- const [font, setFont] = useState('sans')
- const option: HighlightType = 'oneByTwo'
-
- useEffect(() => {
- if (!userStore.user) return
- setFont(userStore.user.font)
- }, [userStore.user])
-
- return (
- <>
- Even Number Exercise Instructions
-
-
-
-
- >
- )
-}
-
-export default Page
diff --git a/src/pages/instructions/flashingwords/twobyone.tsx b/src/pages/instructions/flashingwords/twobyone.tsx
deleted file mode 100644
index 017b082..0000000
--- a/src/pages/instructions/flashingwords/twobyone.tsx
+++ /dev/null
@@ -1,94 +0,0 @@
-import { useState, useEffect } from 'react'
-import type { NextPage } from 'next'
-import Head from 'next/head'
-import { useUserStore } from '~/stores/userStore'
-import type { HighlightType, Font, User } from '~/utils/types'
-import { FontProvider } from '~/cva/fontProvider'
-import Sidebar from '~/components/sidebar'
-import FlasherStartButton from '~/components/flasherstartbutton'
-import LoadingSpinner from '~/components/loadingspinner'
-
-const INSTRUCTION_DELAY = 5_000
-
-const Paragraph1 = ({ user }: { user: User | undefined }) => {
- if (!user) return
- if (user.language === 'english') return (
-
-
- Follow the highlighted word with your eyes. This exercise is meant to
- help improve your ability to scan and focus as you read. Do not actively
- attempt to read the words, just follow the highligter. In order to get
- the most out of this exercise, try to stay relaxed and focused. The
- exercise will only be counted as completed if you do not navigate away
- from the page. The page will automatically navigate away and be counted
- as complete after one minute.
-
-
- )
- // all of the following are grabbed from google translate and may not be accurate
- // if you speak any of these languages and can correct them, please do so.
- // TODO get proper translations
- if (user.language === 'spanish') return (
-
-
- Sigue la palabra resaltada con tus ojos. Este ejercicio está destinado a
- ayude a mejorar su capacidad para escanear y concentrarse mientras lee. no activamente
- Intente leer las palabras, simplemente siga el resaltador. Para obtener
- Para aprovechar al máximo este ejercicio, trate de mantenerse relajado y concentrado. El
- El ejercicio solo se contará como completado si no navegas
- de la página. La página se alejará automáticamente y se contará.
- como completo después de un minuto.
-
-
- )
- if (user.language === 'german') return (
-
-
- Folgen Sie dem markierten Wort mit Ihren Augen. Diese Übung soll dazu dienen
- Helfen Sie dabei, Ihre Fähigkeit zu scannen und sich beim Lesen zu konzentrieren. Nicht aktiv
- Versuchen Sie, die Wörter zu lesen, folgen Sie einfach der Hervorhebung. Um zu bekommen
- Um das Beste aus dieser Übung herauszuholen, versuchen Sie, entspannt und konzentriert zu bleiben. Der
- Die Übung gilt nur dann als abgeschlossen, wenn Sie nicht wegnavigieren
- von der Seite. Die Seite wird automatisch wegnavigiert und gezählt
- als abgeschlossen nach einer Minute.
-
-
- )
- if (user.language === 'italian') return (
-
-
- Segui con lo sguardo la parola evidenziata. Questo esercizio è pensato per
- aiuta a migliorare la tua capacità di scansione e concentrazione mentre leggi. Non attivamente
- tentare di leggere le parole, basta seguire l'evidenziatore. Per ottenere
- Per ottenere il massimo da questo esercizio, cerca di rimanere rilassato e concentrato. IL
- l'esercizio verrà conteggiato come completato solo se non esci dall'attività
- dalla pagina. La pagina verrà automaticamente allontanata e verrà conteggiata
- come completo dopo un minuto.
-
-
- )
-}
-
-export default function NextPage(){
- const userStore = useUserStore()
- const [font, setFont] = useState('sans')
- const option: HighlightType = 'twoByOne'
-
- useEffect(() => {
- if (!userStore.user) return
- setFont(userStore.user.font)
- }, [userStore.user])
-
- return (
- <>
- Even Number Exercise Instructions
-
-
-
-
- >
- )
-}
diff --git a/src/pages/instructions/flashingwords/twobytwo.tsx b/src/pages/instructions/flashingwords/twobytwo.tsx
deleted file mode 100644
index e76edaf..0000000
--- a/src/pages/instructions/flashingwords/twobytwo.tsx
+++ /dev/null
@@ -1,94 +0,0 @@
-import { useState, useEffect } from 'react'
-import type { NextPage } from 'next'
-import Head from 'next/head'
-import { useUserStore } from '~/stores/userStore'
-import type { Font, User } from '~/utils/types'
-import { FontProvider } from '~/cva/fontProvider'
-import Sidebar from '~/components/sidebar'
-import FlasherStartButton from '~/components/flasherstartbutton'
-import LoadingSpinner from '~/components/loadingspinner'
-
-const INSTRUCTION_DELAY = 5_000
-
-const Paragraph1 = ({ user }: { user: User | undefined }) => {
- if (!user) return
- if (user.language === 'english') return (
-
-
- Follow the highlighted word with your eyes. This exercise is meant to
- help improve your ability to scan and focus as you read. Do not actively
- attempt to read the words, just follow the highligter. In order to get
- the most out of this exercise, try to stay relaxed and focused. The
- exercise will only be counted as completed if you do not navigate away
- from the page. The page will automatically navigate away and be counted
- as complete after one minute.
-
-
- )
- // all of the following are grabbed from google translate and may not be accurate
- // if you speak any of these languages and can correct them, please do so.
- // TODO get proper translations
- if (user.language === 'spanish') return (
-
-
- Sigue la palabra resaltada con tus ojos. Este ejercicio está destinado a
- ayude a mejorar su capacidad para escanear y concentrarse mientras lee. no activamente
- Intente leer las palabras, simplemente siga el resaltador. Para obtener
- Para aprovechar al máximo este ejercicio, trate de mantenerse relajado y concentrado. El
- El ejercicio solo se contará como completado si no navegas
- de la página. La página se alejará automáticamente y se contará.
- como completo después de un minuto.
-
-
- )
- if (user.language === 'german') return (
-
-
- Folgen Sie dem markierten Wort mit Ihren Augen. Diese Übung soll dazu dienen
- Helfen Sie dabei, Ihre Fähigkeit zu scannen und sich beim Lesen zu konzentrieren. Nicht aktiv
- Versuchen Sie, die Wörter zu lesen, folgen Sie einfach der Hervorhebung. Um zu bekommen
- Um das Beste aus dieser Übung herauszuholen, versuchen Sie, entspannt und konzentriert zu bleiben. Der
- Die Übung gilt nur dann als abgeschlossen, wenn Sie nicht wegnavigieren
- von der Seite. Die Seite wird automatisch wegnavigiert und gezählt
- als abgeschlossen nach einer Minute.
-
-
- )
- if (user.language === 'italian') return (
-
-
- Segui con lo sguardo la parola evidenziata. Questo esercizio è pensato per
- aiuta a migliorare la tua capacità di scansione e concentrazione mentre leggi. Non attivamente
- tentare di leggere le parole, basta seguire l'evidenziatore. Per ottenere
- Per ottenere il massimo da questo esercizio, cerca di rimanere rilassato e concentrato. IL
- l'esercizio verrà conteggiato come completato solo se non esci dall'attività
- dalla pagina. La pagina verrà automaticamente allontanata e verrà conteggiata
- come completo dopo un minuto.
-
-
- )
-}
-
-export default function Page() {
- const userStore = useUserStore()
- const [font, setFont] = useState('sans')
- const option = 'twoByTwo'
-
- useEffect(() => {
- if (!userStore.user) return
- setFont(userStore.user.font)
- }, [userStore.user])
-
- return (
- <>
- Even Number Exercise Instructions
-
-
-
-
- >
- )
-}
diff --git a/src/pages/instructions/greendot.tsx b/src/pages/instructions/greendot.tsx
deleted file mode 100644
index 801fca8..0000000
--- a/src/pages/instructions/greendot.tsx
+++ /dev/null
@@ -1,105 +0,0 @@
-import { useState, useEffect } from 'react'
-import Head from 'next/head'
-import LoadingSpinner from '~/components/loadingspinner'
-import { useUserStore } from '~/stores/userStore'
-import type { Font, User } from '~/utils/types'
-import { type SingletonRouter, useRouter } from "next/router";
-import { FontProvider } from "~/cva/fontProvider";
-import Sidebar from '~/components/sidebar'
-import { navigate } from '~/utils/helpers'
-
-const INSTRUCTION_DELAY = 5_000
-
-function Paragraph1({ user }: { user: User | undefined }) {
- if (!user) return
- if (user.language === 'english') return (
-
-
- Focus on the green dot at the center of the screen.
-
- Do not attempt to read the words on the page.
-
- Simply focus on the green dot and attempt to keep as much of the text in your
- peripheral vision as possible.
-
-
- )
- // all of the following are grabbed from google translate and may not be accurate
- // if you speak any of these languages and can correct them, please do so.
- // TODO get proper translations
- if (user.language === 'spanish') return (
-
-
- Concéntrate en el punto verde en el centro de la pantalla.
- No intente leer las palabras de la página.
- Simplemente concéntrate en el punto verde e intenta
- mantener la mayor cantidad de texto en tu
- visión periférica posible.
-
-
- )
- if (user.language === 'german') return (
-
-
- Konzentrieren Sie sich auf den grünen Punkt in der Mitte des Bildschirms.
- Versuchen Sie nicht, die Wörter auf der Seite zu lesen.
- Konzentrieren Sie sich einfach auf den grünen Punkt und versuchen Sie,
- möglichst viel Text in Ihrem Text zu behalten
- möglichst peripheres Sehen.
-
-
- )
- if (user.language === 'italian') return (
-
-
- Concentrati sul punto verde al centro dello schermo.
- Non tentare di leggere le parole sulla pagina.
- Concentrati semplicemente sul punto verde e cerca di
- mantenere la maggior parte del testo nel tuo
- visione periferica possibile.
-
-
- )
-}
-
-function StartButton() {
- const [time, setTime] = useState(false)
- const router = useRouter()
-
- useEffect(() => {
- setTimeout(() => setTime(true), INSTRUCTION_DELAY)
- }, [])
-
- return time ? (
- navigate(router as SingletonRouter, '/exercises/greendot')}
- >
- Start
-
- ) : (
-
- )
-}
-
-export default function Page() {
- const userStore = useUserStore()
- const [font, setFont] = useState('sans')
- useEffect(() => {
- if (!userStore.user) return
- setFont(userStore.user.font)
- })
-
- return (
- <>
- Even Number Exercise Instructions
-
-
-
-
- >
- )
-}
diff --git a/src/pages/instructions/lettermatcher.tsx b/src/pages/instructions/lettermatcher.tsx
deleted file mode 100644
index 7074000..0000000
--- a/src/pages/instructions/lettermatcher.tsx
+++ /dev/null
@@ -1,122 +0,0 @@
-import { useState, useEffect } from 'react'
-import Head from 'next/head'
-import LoadingSpinner from '~/components/loadingspinner'
-import { useUserStore } from '~/stores/userStore'
-import type { Font, User } from '~/utils/types'
-import { type SingletonRouter, useRouter } from "next/router";
-import { FontProvider } from "~/cva/fontProvider";
-import Sidebar from '~/components/sidebar'
-import { navigate } from '~/utils/helpers'
-
-const INSTRUCTION_DELAY = 5_000
-
-function Paragraph1({ user }: { user: User | undefined }) {
- if (!user) return
- if (user.language === 'english') return (
-
-
- Focus on the dot in the center of the grid. After you press one of the buttons below
- the grid the dots will briefly turn into letters.
-
- While focusing on the dot in the center of the grid, use your pirpheral vision
- to see if the yellow letters are either all the same or different.
-
- If they are all the same press the "✓" button, if they are different press "⛔".
- Once the game starts you will have 1 minute to answer as many times as you can.
- Press either button to start.
-
-
- )
- // all of the following are grabbed from google translate and may not be accurate
- // if you speak any of these languages and can correct them, please do so.
- // TODO get proper translations
- if (user.language === 'german') return (
-
-
- Konzentrieren Sie sich auf den Punkt in der Mitte des Rasters.
- Nachdem Sie eine der Tasten unten gedrückt haben
- Im Raster verwandeln sich die Punkte kurzzeitig in Buchstaben.
- Konzentrieren Sie sich dabei auf den Punkt in der Mitte des Rasters
- und nutzen Sie dabei Ihre periphere Sicht
- Um zu sehen, dass die gelben Buchstaben entweder alle gleich oder unterschiedlich sind.
- Wenn sie alle gleich sind, drücken Sie die Taste "✓"
- Taste, wenn sie unterschiedlich sind, drücken Sie "⛔".
- Sobald das Spiel beginnt, haben Sie 1 Minute Zeit, so oft wie möglich zu antworten.
- Drücken Sie zum Starten eine der beiden Tasten.
-
-
- )
- if (user.language === 'spanish') return (
-
-
- Concéntrate en el punto en el centro de la cuadrícula.
- Después de presionar uno de los botones a continuación
- En la cuadrícula, los puntos se convertirán brevemente en letras.
- Mientras te concentras en el punto en el centro de la cuadrícula,
- usa tu visión periférica.
- para ver si las letras amarillas son todas iguales o diferentes.
- Si son todos iguales presione el "✓" botón, si son diferentes presione
- "⛔".
- Una vez que comience el juego tendrás 1 minuto para responder tantas veces como puedas.
- Presione cualquiera de los botones para comenzar.
-
-
- )
- if (user.language === 'italian') return (
-
-
- Concentrati sul punto al centro della griglia.
- Dopo aver premuto uno dei pulsanti sottostanti
- sulla griglia i punti si trasformeranno brevemente in lettere.
- Mentre ti concentri sul punto al centro della griglia, usa la visione periferica
- per vedere se le lettere gialle sono tutte uguali o diverse.
- Se sono tutti uguali premere il tasto
- "✓" pulsante, se sono diversi premere "⛔".
- Una volta avviato il gioco avrai 1 minuto per rispondere quante più volte possibile.
- Premere uno dei pulsanti per iniziare.
-
-
- )
-}
-
-function StartButton() {
- const [time, setTime] = useState(false)
- const router = useRouter()
-
- useEffect(() => {
- setTimeout(() => setTime(true), INSTRUCTION_DELAY)
- }, [])
-
- return time ? (
- navigate(router as SingletonRouter, '/exercises/lettermatcher')}
- >
- Start
-
- ) : (
-
- )
-}
-
-export default function Page() {
- const userStore = useUserStore()
- const [font, setFont] = useState('sans')
- useEffect(() => {
- if (!userStore.user) return
- setFont(userStore.user.font)
- })
-
- return (
- <>
- Even Number Exercise Instructions
-
-
-
-
- >
- )
-}
diff --git a/src/pages/instructions/numbermatcher.tsx b/src/pages/instructions/numbermatcher.tsx
deleted file mode 100644
index 1e37252..0000000
--- a/src/pages/instructions/numbermatcher.tsx
+++ /dev/null
@@ -1,102 +0,0 @@
-import { useState, useEffect } from 'react'
-import Head from 'next/head'
-import LoadingSpinner from '~/components/loadingspinner'
-import { useUserStore } from '~/stores/userStore'
-import type { Font, User } from '~/utils/types'
-import { type SingletonRouter, useRouter } from "next/router";
-import { FontProvider } from "~/cva/fontProvider";
-import Sidebar from '~/components/sidebar'
-import { navigate } from '~/utils/helpers'
-
-const INSTRUCTION_DELAY = 5_000
-
-function Paragraph1({ user }: { user: User | undefined }) {
- if (!user) return
- if (user.language === 'english') return (
-
-
- After a short countdown you will be shown a series of numbers. The numbers will
- remain on screen for a short period of time and then disappear. Once they
- disappear use the buttons on screen to enter the numbers you saw and then press
- "✓". You will have 1 minute to answer as many times as you can.
-
-
- )
- // all of the following are grabbed from google translate and may not be accurate
- // if you speak any of these languages and can correct them, please do so.
- // TODO get proper translations
- if (user.language === 'italian') return (
-
-
- Dopo un breve conto alla rovescia ti verranno mostrati una serie di numeri. I numeri lo faranno
- rimangono sullo schermo per un breve periodo di tempo e poi scompaiono. Una volta loro
- scomparire utilizzare i pulsanti sullo schermo per inserire i numeri visualizzati e quindi premere
- "✓". Avrai 1 minuto per rispondere quante più volte possibile.
-
-
- )
- if (user.language === 'german') return (
-
-
- Nach einem kurzen Countdown wird Ihnen eine Zahlenreihe angezeigt. Die Zahlen werden
- bleiben für kurze Zeit auf dem Bildschirm und verschwinden dann. Sobald sie
- Verschwinden Verwenden Sie die Tasten auf dem Bildschirm, um die angezeigten Zahlen einzugeben, und drücken Sie dann
- "✓". Sie haben 1 Minute Zeit, so oft wie möglich zu antworten.
-
-
- )
- if (user.language === 'spanish') return (
-
-
- Después de una breve cuenta regresiva se le mostrará una serie de números. Los números
- permanecen en la pantalla por un corto período de tiempo y luego desaparecen. Una vez que ellos
- desaparecer use los botones en la pantalla para ingresar los números que vio y luego presione
- "✓". Tendrás 1 minuto para responder tantas veces como puedas.
-
-
- )
-}
-
-function StartButton() {
- const [time, setTime] = useState(false)
- const router = useRouter()
-
- useEffect(() => {
- setTimeout(() => setTime(true), INSTRUCTION_DELAY)
- }, [])
-
- return time ? (
- navigate(router as SingletonRouter, '/exercises/numbermatcher')}
- >
- Start
-
- ) : (
-
- )
-}
-
-function Page() {
- const userStore = useUserStore()
- const [font, setFont] = useState('sans')
- useEffect(() => {
- if (!userStore.user) return
- setFont(userStore.user.font)
- })
-
- return (
- <>
- Even Number Exercise Instructions
-
-
-
-
- >
- )
-}
-
-export default Page
diff --git a/src/pages/instructions/schultetable.tsx b/src/pages/instructions/schultetable.tsx
deleted file mode 100644
index 43820d2..0000000
--- a/src/pages/instructions/schultetable.tsx
+++ /dev/null
@@ -1,192 +0,0 @@
-import { useState, useEffect } from 'react'
-import type { NextPage } from 'next'
-import Head from 'next/head'
-import LoadingSpinner from '~/components/loadingspinner'
-import { useUserStore } from '~/stores/userStore'
-import type { Font, User } from '~/utils/types'
-import { type SingletonRouter, useRouter } from "next/router";
-import { FontProvider } from "~/cva/fontProvider";
-import Sidebar from '~/components/sidebar'
-import { navigate } from '~/utils/helpers'
-import { Beginner, Ideal, Intermediate } from '~/components/schultedraw'
-import { api } from '~/utils/api'
-
-const INSTRUCTION_DELAY = 5_000
-
-function Paragraph1({ user }: { user: User | undefined }) {
- if (!user) return
- if (user.language === 'english') return (
-
-
- Each box in the table will contain a number. The goal of this exercise is to click
- the boxes from lowest number to highest number. Keep your eyes focused on the box
- at the center of the table. Your eyes will naturally wander but try to Keep
- your eyes focused on the center box. As you practice your focus will improve and you
- will begin to use your peripheral vision to see the numbers in the other boxes.
- As you progress your eye movements should look something like this:
-
- Beginner:
-
- Intermediate:
-
- Advanced:
-
-
-
- As you improve at this exercise the tables will get larger. Starting with a 3x3 table,
- then a 5x5 table, and finally a 7x7 table.
-
-
- )
- // all of the following are grabbed from google translate and may not be accurate
- // if you speak any of these languages and can correct them, please do so.
- // TODO get proper translations
- if (user.language === 'italian') return (
-
-
- Ogni casella nella tabella conterrà un numero.
- L'obiettivo di questo esercizio è fare clic
- le caselle dal numero più basso al numero più alto.
- Tieni gli occhi concentrati sulla scatola
- al centro del tavolo. I tuoi occhi vagheranno naturalmente,
- ma cerca di mantenere
- i tuoi occhi si concentrano sul riquadro centrale. Man mano che ti eserciti,
- la tua concentrazione migliorerà e tu
- inizierai a utilizzare la tua visione periferica per vedere i numeri nelle
- altre caselle.
- Man mano che avanzi, i movimenti oculari dovrebbero assomigliare a questo:
-
- Principiante:
-
- Intermedia:
-
- Avanzate:
-
-
-
- Man mano che migliorerai in questo esercizio,
- le tabelle diventeranno più grandi. A partire da una tabella 3x3,
- poi una tabella 5x5 e infine una tabella 7x7.
-
-
- )
- if (user.language === 'spanish') return (
-
-
- Cada casilla de la tabla contendrá un número.
- El objetivo de este ejercicio es hacer clic
- las casillas del número más bajo al número más alto.
- Mantén tus ojos enfocados en la caja.
- en el centro de la mesa. Tus ojos naturalmente se desviarán pero trata de mantener
- Tus ojos se centraron en el cuadro central. A medida que practiques,
- tu concentración mejorará y podrás
- Comenzará a utilizar su visión periférica para ver los números en los otros cuadros.
- A medida que avances, los movimientos de tus ojos deberían verse así:
-
- Principiante:
-
- Intermedia:
-
- Avanzada:
-
-
-
- A medida que vayas mejorando en este ejercicio,
- las tablas se harán más grandes. Comenzando con una mesa de 3x3,
- luego una mesa de 5x5 y finalmente una mesa de 7x7.
-
-
- )
- if (user.language === 'german') return (
-
-
- Jedes Feld in der Tabelle enthält eine Nummer. Das Ziel dieser Übung ist das Klicken
- die Kästchen von der niedrigsten zur höchsten Zahl.
- Konzentrieren Sie Ihren Blick auf die Box
- in der Mitte des Tisches. Ihr Blick wird natürlich wandern,
- aber versuchen Sie, ihn beizubehalten
- Deine Augen waren auf den mittleren Kasten gerichtet.
- Während Sie üben, wird sich Ihr Fokus verbessern und Sie
- beginnt, Ihr peripheres Sehvermögen zu nutzen,
- um die Zahlen in den anderen Kästchen zu sehen.
- Im weiteren Verlauf sollten Ihre Augenbewegungen etwa so aussehen:
-
- Anfänger:
-
- Dazwischenliegend:
-
- Fortschrittlich:
-
-
-
- Je besser Sie diese Übung machen, desto größer werden die Tische.
- Beginnend mit einem 3x3-Tisch,
- dann ein 5x5-Tisch und schließlich ein 7x7-Tisch.
-
-
- )
-}
-
-function getUrl(user: User | undefined){
- if(!user) return '/nav'
- switch(user.schulteLevel){
- case 'three': {
- console.log('three')
- return '/exercises/schultetable?type=3'
- }
- case 'five': {
- console.log('five')
- return '/exercises/schultetable?type=5'
- }
- case 'seven': {
- console.log('seven')
- return '/exercises/schultetable?type=7'
- }
- default: return '/exercises/schultetable?type=5'
- }
-}
-
-function StartButton(){
- const [time, setTime] = useState(false)
- const { data } = api.user.getUnique.useQuery()
- const router = useRouter()
-
- useEffect(() => {
- setTimeout(() => setTime(true), INSTRUCTION_DELAY)
- }, [])
-
- return time ? (
- navigate(router as SingletonRouter, getUrl(data))}
- >
- Start
-
- ) : (
-
- )
-}
-
-const Page: NextPage = () => {
- const userStore = useUserStore()
- const [font, setFont] = useState('sans')
- useEffect(() => {
- if(!userStore.user) return
- setFont(userStore.user.font)
- })
-
- return (
- <>
- Even Number Exercise Instructions
-
-
-
-
- >
- )
-}
-
-export default Page
diff --git a/src/pages/instructions/speedtest.tsx b/src/pages/instructions/speedtest.tsx
deleted file mode 100644
index 2e1c394..0000000
--- a/src/pages/instructions/speedtest.tsx
+++ /dev/null
@@ -1,130 +0,0 @@
-import { useState, useEffect } from 'react'
-import Head from 'next/head'
-import LoadingSpinner from '~/components/loadingspinner'
-import { useUserStore } from '~/stores/userStore'
-import type { Font, User } from '~/utils/types'
-import { type SingletonRouter, useRouter } from "next/router";
-import { FontProvider } from "~/cva/fontProvider";
-import Sidebar from '~/components/sidebar'
-import { navigate } from '~/utils/helpers'
-
-const INSTRUCTION_DELAY = 5_000
-
-function Paragraph1({ user }: { user: User | undefined }) {
- if (!user) return
- if (user.language === 'english') return (
-
-
- You will be asked a series of questions to test your reading comprehension
- at different speeds.
-
- Remember to read the passage and answer the question based solely
- on the information provided.
-
- Some questions may contain information that is different from reality.
- You will be asked a total of 10 questions and if you can answer 8 of them
- correctly your maximum reading speed will be increased.
- Your maximum speed will not be decreased if you fail to answer 8 questions correctly.
- This test is designed for you to take once a week to evaluate and set your progress.
- Remember to try to remain relaxed and focused while taking this test.
-
-
- )
- // all of the following are grabbed from google translate and may not be accurate
- // if you speak any of these languages and can correct them, please do so.
- // TODO get proper translations
- if (user.language === 'spanish') return (
-
-
- Se le harán una serie de preguntas para evaluar su comprensión lectora
- a diferentes velocidades. Recuerde leer el pasaje y responder la pregunta
- basándose únicamente en la información proporcionada.
- Algunas preguntas pueden contener información diferente a la realidad.
- Se te harán un total de 10 preguntas y si puedes responder correctamente
- 8 de ellas, tu velocidad máxima de lectura aumentará.
- Su velocidad máxima no disminuirá si no responde correctamente 8 preguntas.
- Esta prueba está diseñada para que usted la realice una vez por semana para
- evaluar y establecer su progreso.
- Recuerde intentar permanecer relajado y concentrado mientras realiza esta prueba.
-
-
- )
- if (user.language === 'italian') return (
-
-
- Ti verranno poste una serie di domande per testare la tua comprensione
- della lettura a diverse velocità. Ricordati di leggere il passaggio e di
- rispondere alla domanda basandoti esclusivamente sulle informazioni fornite.
- Alcune domande potrebbero contenere informazioni diverse dalla realtà.
- Ti verranno poste un totale di 10 domande e se riesci a rispondere
- correttamente ad 8 di esse la tua velocità massima di lettura aumenterà.
- La tua velocità massima non verrà ridotta se non rispondi correttamente a 8 domande.
- Questo test è progettato per essere svolto una volta alla settimana per
- valutare e definire i tuoi progressi.
- Ricordati di cercare di rimanere rilassato e concentrato mentre fai questo test.
-
-
- )
- if (user.language === 'german') return (
-
-
- Ihnen werden eine Reihe von Fragen gestellt, um Ihr Leseverständnis in
- verschiedenen Geschwindigkeiten zu testen. Denken Sie daran,
- die Passage zu lesen und die Frage ausschließlich auf der Grundlage
- der bereitgestellten Informationen zu beantworten. Einige Fragen können
- Informationen enthalten, die von der Realität abweichen.
- Ihnen werden insgesamt 10 Fragen gestellt und wenn Sie 8 davon
- richtig beantworten können, erhöht sich Ihre maximale Lesegeschwindigkeit.
- Ihre Höchstgeschwindigkeit wird nicht verringert,
- wenn Sie 8 Fragen nicht richtig beantworten.
- Dieser Test ist so konzipiert, dass Sie ihn einmal pro Woche
- absolvieren können, um Ihre Fortschritte zu bewerten und festzulegen.
- Denken Sie daran, bei diesem Test entspannt und konzentriert zu bleiben.
-
-
- )
-}
-
-function StartButton() {
- const [time, setTime] = useState(false)
- const router = useRouter()
-
- useEffect(() => {
- setTimeout(() => setTime(true), INSTRUCTION_DELAY)
- }, [])
-
- return time ? (
- navigate(router as SingletonRouter, '/exercises/speedtest')}
- >
- Start
-
- ) : (
-
- )
-}
-
-function Page() {
- const userStore = useUserStore()
- const [font, setFont] = useState('sans')
- useEffect(() => {
- if (!userStore.user) return
- setFont(userStore.user.font)
- })
-
- return (
- <>
- Even Number Exercise Instructions
-
-
-
-
- >
- )
-}
-
-export default Page
diff --git a/src/pages/instructions/wordpairs.tsx b/src/pages/instructions/wordpairs.tsx
deleted file mode 100644
index bf8f636..0000000
--- a/src/pages/instructions/wordpairs.tsx
+++ /dev/null
@@ -1,128 +0,0 @@
-import { useState, useEffect } from 'react'
-import Head from 'next/head'
-import LoadingSpinner from '~/components/loadingspinner'
-import { useUserStore } from '~/stores/userStore'
-import type { Font, User } from '~/utils/types'
-import { useRouter, type SingletonRouter } from "next/router";
-import { FontProvider } from "~/cva/fontProvider";
-import Sidebar from '~/components/sidebar'
-import { navigate } from '~/utils/helpers'
-
-const INSTRUCTION_DELAY = 5_000
-
-function Paragraph1({ user }: { user: User | undefined }) {
- if (!user) return
- if (user.language === 'english') return (
-
-
-
- Each cell will contian two words. In five of the cells the words will be
- slightly different and the remaining cells contain matching words.
- Click on all of the cells that contain two different words.
-
-
- There is no time limit, though your time will be recorded to track your
- progression. so try to go as quickly as you can while remaining
- accurate. This exercise is designed to help you improve your ability to
- focus and your perception. Try to stay relaxed and focused while you are
- doing this exercise. It is up to you how you want to approach this
- exercise. But we recommend that you either search the table row by row
- or column by column.
-
-
- )
- // all of the following are grabbed from google translate and may not be accurate
- // if you speak any of these languages and can correct them, please do so.
- // TODO get proper translations
- if (user.language === 'german') return (
-
-
- Jede Zelle enthält zwei Wörter. In fünf der Zellen stehen die Wörter
- etwas anders und die restlichen Zellen enthalten übereinstimmende Wörter.
- Klicken Sie auf alle Zellen, die zwei verschiedene Wörter enthalten.
- Es gibt keine zeitliche Begrenzung, Ihre Zeit wird jedoch aufgezeichnet, um Ihre Zeit zu verfolgen
- Fortschreiten. Versuchen Sie also, so schnell wie möglich zu gehen, während Sie bleiben
- genau. Diese Übung soll Ihnen dabei helfen, Ihre Fähigkeiten zu verbessern
- Fokus und Ihre Wahrnehmung. Versuchen Sie dabei entspannt und konzentriert zu bleiben
- diese Übung machen. Es liegt an Ihnen, wie Sie dies angehen möchten
- Übung. Wir empfehlen Ihnen jedoch, die Tabelle entweder zeilenweise zu durchsuchen
- oder Spalte für Spalte.
-
-
- )
- if (user.language === 'spanish') return (
-
-
- Cada celda contendrá dos palabras. En cinco de las celdas las palabras estarán
- ligeramente diferentes y las celdas restantes contienen palabras coincidentes.
- Haga clic en todas las celdas que contengan dos palabras diferentes.
- No hay límite de tiempo, aunque su tiempo se registrará para realizar un seguimiento de su
- progresión. así que intenta ir lo más rápido que puedas mientras permaneces
- preciso. Este ejercicio está diseñado para ayudarle a mejorar su capacidad para
- enfoque y tu percepción. Intenta mantenerte relajado y concentrado mientras estás
- haciendo este ejercicio. Depende de usted cómo quiere abordar esto
- ejercicio. Pero le recomendamos que busque en la tabla fila por fila
- o columna por columna.
-
-
- )
- if (user.language === 'italian') return (
-
-
- Ogni cella conterrà due parole. In cinque celle ci saranno le parole
- leggermente diverso e le celle rimanenti contengono parole corrispondenti.
- Fare clic su tutte le celle che contengono due parole diverse.
- Non c'è limite di tempo, anche se il tuo tempo verrà registrato per tenere traccia del tuo
- progressione. quindi prova ad andare il più velocemente possibile rimanendo
- accurato. Questo esercizio è progettato per aiutarti a migliorare la tua capacità di
- concentrazione e la tua percezione. Cerca di rimanere rilassato e concentrato mentre lo sei
- facendo questo esercizio. Dipende da te come vuoi affrontare questo problema
- esercizio. Ma ti consigliamo di cercare nella tabella riga per riga
- o colonna per colonna.
-
-
- )
-}
-
-function StartButton() {
- const [time, setTime] = useState(false)
- const router = useRouter()
-
-
- useEffect(() => {
- setTimeout(() => setTime(true), INSTRUCTION_DELAY)
- }, [])
-
- return time ? (
- navigate(router as SingletonRouter, '/exercises/wordpairs')}
- >
- Start
-
- ) : (
-
- )
-}
-
-export default function Page() {
- const userStore = useUserStore()
- const [font, setFont] = useState('sans')
- useEffect(() => {
- if (!userStore.user) return
- setFont(userStore.user.font)
- })
-
- return (
- <>
- Even Number Exercise Instructions
-
-
-
-
- >
- )
-}
diff --git a/src/pages/loadnext.tsx b/src/pages/loadnext.tsx
deleted file mode 100644
index daeb66e..0000000
--- a/src/pages/loadnext.tsx
+++ /dev/null
@@ -1,37 +0,0 @@
-import type { NextPage } from 'next'
-import { useRouter } from 'next/router'
-import { useEffect } from 'react'
-import useUserStore from '~/stores/userStore'
-import LoadingSpinner from 'src/components/loadingspinner'
-import type { User } from '~/utils/types'
-import { api } from '~/utils/api'
-
-const LoadNext: NextPage = () => {
- const router = useRouter()
- const store = useUserStore()
- const nextURL = api.nextExercise.get.useQuery(
- store.user as User,
- {enabled: !!store.user}
- )
-
- useEffect(() => {
- if(nextURL.data){
- router.push(nextURL.data)
- .catch((err) => console.log(err))
- }
- else if(nextURL.error){
- router.push('/nav')
- .catch((err) => console.log(err))
- }
- else return
- }, [nextURL])
-
- return (
- <>
-
-
-
- >
- )
-}
-export default LoadNext
diff --git a/src/pages/signin.tsx b/src/pages/signin.tsx
deleted file mode 100644
index 534d13b..0000000
--- a/src/pages/signin.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-import { SignIn } from '@clerk/nextjs'
-import Head from 'next/head'
-import Image from 'next/image'
-import StudyLogo from 'public/study-logo.png'
-
-export default function Page() {
- return (
- <>
-
- Sign In
-
-
-
-
-
- >
- )
-}
diff --git a/src/pages/signup.tsx b/src/pages/signup.tsx
deleted file mode 100644
index 33c5cb6..0000000
--- a/src/pages/signup.tsx
+++ /dev/null
@@ -1,28 +0,0 @@
-import Head from 'next/head'
-import Image from 'next/image'
-import StudyLogo from 'public/study-logo.png'
-import { SignUp } from '@clerk/nextjs'
-
-export default function Page() {
- return (
- <>
-
- Sign up
-
-
-
-
-
-
- >
- )
-}
diff --git a/src/server/api/context.ts b/src/server/api/context.ts
deleted file mode 100644
index 74d399c..0000000
--- a/src/server/api/context.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-// import * as trpc from '@trpc/server'
-// import * as trpcNext from '@trpc/server/adapters/next'
-// import { getAuth } from '@clerk/nextjs/server'
-// import type { SignedInAuthObject,SignedOutAuthObject } from "@clerk/nextjs/server";
-//
-// interface AuthContext {
-// auth: SignedInAuthObject | SignedOutAuthObject;
-// }
-//
-// export const createContextInner = ({ auth }: AuthContext ) => {
-// return {
-// auth,
-// }
-// }
-//
-// export const createContext = (
-// opts: trpcNext.CreateNextContextOptions
-// ) => {
-// return createContextInner({ auth: getAuth(opts.req) })
-// }
-//
-// export type Context = trpc.inferAsyncReturnType
diff --git a/src/server/api/root.ts b/src/server/api/root.ts
deleted file mode 100644
index f783d7e..0000000
--- a/src/server/api/root.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { createTRPCRouter } from '~/server/api/trpc'
-import {
- highlightSessionRouter,
- numberGuesserRouter,
- evenNumbersRouter,
- boxFlasherRouter,
- schulteSessionRouter,
- letterMatcherRouter,
- greenDotRouter,
- wordPairsRouter,
-} from '~/server/api/routers/collector'
-import {
- createSpeedTestRouter,
- excercisesPropsRouter as excercisePropsRouter,
- userRouter,
- createNextExcerciseRouter,
-} from '~/server/api/routers/app'
-
-/**
- * This is the primary router for your server.
- *
- * All routers added in /api/routers should be manually added here.
- */
-export const appRouter = createTRPCRouter({
- user: userRouter,
- getExcerciseProps: excercisePropsRouter,
- createSpeedTest: createSpeedTestRouter,
- nextExercise: createNextExcerciseRouter,
- highlightSession: highlightSessionRouter,
- schulteSession: schulteSessionRouter,
- numberGuesserSession: numberGuesserRouter,
- evenNumbersSession: evenNumbersRouter,
- boxFlasherSession: boxFlasherRouter,
- letterMatcherSession: letterMatcherRouter,
- greenDotSession: greenDotRouter,
- wordPairSession: wordPairsRouter,
-})
-
-// export type definition of API
-export type AppRouter = typeof appRouter
diff --git a/src/server/api/routers/app.ts b/src/server/api/routers/app.ts
deleted file mode 100644
index 1d157b4..0000000
--- a/src/server/api/routers/app.ts
+++ /dev/null
@@ -1,243 +0,0 @@
-import axios from 'axios'
-import { Prisma } from '@prisma/client'
-import { z } from 'zod'
-import type { SpeedQuestion } from '@prisma/client'
-import type { Language, User, WordPair } from '~/utils/types'
-import { createTRPCRouter, publicProcedure } from '~/server/api/trpc'
-import { schemas, inputs, wordPairData, wordPairProps } from '~/utils/validators'
-import { getNextExercise, getNextURL } from '~/utils/helpers'
-
-export const userRouter = createTRPCRouter({
- getUnique: publicProcedure
- .output(schemas.user)
- .query(async ({ ctx }) => {
- const userId = ctx.auth.userId
- if (userId === null || userId === undefined) throw new Error('No user')
- const user = await ctx.prisma.user.findUnique({
- where: {
- id: userId,
- },
- })
- if (user === null || user === undefined) {
- const newUser = await ctx.prisma.user.create({
- data: {
- id: ctx.auth.userId?.toString(),
- firstName: ctx.auth.user?.firstName ?? '',
- lastName: ctx.auth.user?.lastName ?? '',
- createdAt: new Date(),
- updatedAt: new Date(),
- },
- })
- return newUser
- }
- return user
- }),
-
- setUser: publicProcedure
- .output(schemas.user.partial())
- .input(schemas.user.partial())
- .mutation(({ ctx, input }) => {
- return ctx.prisma.user.update({
- where: {
- id: ctx.auth.userId ?? input.id,
- },
- data: {
- firstName: input.firstName,
- lastName: input.lastName,
- maxWpm: input.maxWpm,
- currentWpm: input.currentWpm,
- createdAt: input.createdAt,
- updatedAt: input.updatedAt,
- highlightColor: input.highlightColor,
- lastSchulte: input.lastSchulte,
- lastSpeedTest: input.lastSpeedTest,
- lastFourByOne: input.lastFourByOne,
- lastOneByTwo: input.lastOneByTwo,
- lastTwoByTwo: input.lastTwoByTwo,
- lastOneByOne: input.lastOneByOne,
- lastTwoByOne: input.lastTwoByOne,
- lastEvenNumbers: input.lastEvenNumbers,
- lastCubeByThree: input.lastCubeByThree,
- lastCubeByTwo: input.lastCubeByTwo,
- lastNumberGuesser: input.lastNumberGuesser,
- lastLetterMatcher: input.lastLetterMatcher,
- lastWordPairs: input.lastWordPairs,
- lastGreenDot: input.lastGreenDot,
- numberGuesserFigures: input.numberGuesserFigures,
- schulteLevel: input.schulteLevel,
- schulteAdvanceCount: input.schulteAdvanceCount,
- isAdmin: input.isAdmin,
- isUsingChecklist: input.isUsingChecklist,
- font: input.font,
- language: input.language,
- tested: input.tested,
- },
- })
- }),
-})
-
-async function getRandomWords(size: number, language: Language) {
- if (language === 'english') {
- const response = await axios.get