diff --git a/.env.example b/.env.example index 7b1ad8b6..d4a0c842 100644 --- a/.env.example +++ b/.env.example @@ -17,6 +17,7 @@ KEYCLOAK_ADMIN_PASSWORD = 'admin' KEYCLOAK_DB_PASSWORD = 'changeme' NUXT_API_TOKEN = "badToken" +NUXT_PUBLIC_DEBUG = "false" NUXT_PUBLIC_COLLECTIVO_URL = "http://localhost:3000" NUXT_KEYCLOAK_ADMIN_CLIENT = "admin-cli" diff --git a/collectivo/app/nuxt.config.ts b/collectivo/app/nuxt.config.ts index 655854a7..59435227 100644 --- a/collectivo/app/nuxt.config.ts +++ b/collectivo/app/nuxt.config.ts @@ -2,7 +2,11 @@ export default defineNuxtConfig({ devtools: { enabled: true }, ssr: false, - extends: ["@collectivo/collectivo", "@collectivo/memberships"], + extends: [ + "@collectivo/collectivo", + "@collectivo/payments", + "@collectivo/memberships", + ], i18n: { lazy: true, langDir: "./lang", diff --git a/collectivo/app/package.json b/collectivo/app/package.json index 39523597..7a7f9c08 100644 --- a/collectivo/app/package.json +++ b/collectivo/app/package.json @@ -14,7 +14,8 @@ }, "dependencies": { "@collectivo/collectivo": "workspace:*", - "@collectivo/memberships": "workspace:*" + "@collectivo/memberships": "workspace:*", + "@collectivo/payments": "workspace:*" }, "devDependencies": { "@nuxt/devtools": "^1.0.6", diff --git a/collectivo/collectivo/components/collectivo/form/Builder.vue b/collectivo/collectivo/components/collectivo/form/Builder.vue index b8e1f3dc..878492d3 100644 --- a/collectivo/collectivo/components/collectivo/form/Builder.vue +++ b/collectivo/collectivo/components/collectivo/form/Builder.vue @@ -13,7 +13,7 @@ import type { FormErrorEvent, FormSubmitEvent } from "#ui/types"; const toast = useToast(); const { t } = useI18n(); -const debug = true; +const debug = useRuntimeConfig().public.debug; const props = defineProps({ fields: Object as PropType, @@ -22,6 +22,7 @@ const props = defineProps({ submitLabel: String, }); +console.log("data", props.data); const form = { fields: props.fields ?? [] }; const loading = ref(false); @@ -178,6 +179,7 @@ for (const input of form.fields) { addInputToSchema(input.key, input, boolean()); } + // Add passed data or default value to field if (props.data?.[input.key]) { state[input.key] = props.data[input.key]; } else if ("default" in input && input.default) { @@ -423,15 +425,16 @@ async function fillOutAll() { class="mx-2 my-10 p-6 rounded-lg bg-slate-100 flex flex-col gap-2" >
- DEBUG Tools.
- You are seeing this because NUXT_DEBUG=True +

Debug Tools

+

You are seeing this because NUXT_PUBLIC_DEBUG=True

{{ t("Fill out all") }}
-
Form state: {{ state }}
+

Form state

+
{{ state }}
@@ -448,6 +451,10 @@ async function fillOutAll() { @apply form-field basis-full; } +.form-field-half { + @apply form-field basis-full md:basis-1/2; +} + .form-field-xl { @apply form-field basis-full xl:basis-1/2; } diff --git a/collectivo/collectivo/components/collectivo/form/Page.vue b/collectivo/collectivo/components/collectivo/form/Page.vue index 66af8e6c..3699016f 100644 --- a/collectivo/collectivo/components/collectivo/form/Page.vue +++ b/collectivo/collectivo/components/collectivo/form/Page.vue @@ -3,7 +3,7 @@ import type { FetchError } from "ofetch"; const toast = useToast(); const { t } = useI18n(); -const debug = true; +const debug = useRuntimeConfig().public.debug; const submitted = ref(false); const props = defineProps({ diff --git a/collectivo/collectivo/composables/user.ts b/collectivo/collectivo/composables/user.ts index 5e718835..edbf5127 100644 --- a/collectivo/collectivo/composables/user.ts +++ b/collectivo/collectivo/composables/user.ts @@ -33,7 +33,7 @@ class CollectivoUserStore { this.data = (await $directus?.request( readMe({ - fields: ["id", "first_name", "last_name", "email"], + // fields: ["id", "first_name", "last_name", "email"], }), )) as CollectivoUser; @@ -76,6 +76,8 @@ class CollectivoUserStore { async logout() { const runtimeConfig = useRuntimeConfig(); + const directus = useDirectus(); + await directus.logout(); if (runtimeConfig.public.authService === "keycloak") { const logoutPath = `${runtimeConfig.public.keycloakUrl}/realms/collectivo/protocol/openid-connect/logout`; diff --git a/collectivo/collectivo/nuxt.config.ts b/collectivo/collectivo/nuxt.config.ts index b70ffba7..996c2a1f 100644 --- a/collectivo/collectivo/nuxt.config.ts +++ b/collectivo/collectivo/nuxt.config.ts @@ -16,6 +16,7 @@ export default defineNuxtConfig({ keycloakAdminClient: "admin-cli", keycloakAdminSecret: "**********", public: { + debug: false, collectivoUrl: "http://localhost:3000", authService: "keycloak", keycloakUrl: "http://keycloak:8080", diff --git a/collectivo/collectivo/package.json b/collectivo/collectivo/package.json index 92799c74..ac28abfc 100644 --- a/collectivo/collectivo/package.json +++ b/collectivo/collectivo/package.json @@ -1,6 +1,6 @@ { "name": "@collectivo/collectivo", - "version": "0.1.0", + "version": "0.1.1", "description": "Collectivo is a module system for community plattforms.", "type": "module", "license": "AGPL-3.0", diff --git a/collectivo/collectivo/pages/profile.vue b/collectivo/collectivo/pages/profile.vue index 492f0d02..e08ca46e 100644 --- a/collectivo/collectivo/pages/profile.vue +++ b/collectivo/collectivo/pages/profile.vue @@ -48,6 +48,7 @@ async function saveProfile(data: CollectivoUser) { :data="user.data" :fields="user.fields" :submit="saveProfile" + submit-label="Save" /> diff --git a/collectivo/collectivo/plugins/setup.ts b/collectivo/collectivo/plugins/setup.ts index d382db3e..d4c32d68 100644 --- a/collectivo/collectivo/plugins/setup.ts +++ b/collectivo/collectivo/plugins/setup.ts @@ -45,25 +45,30 @@ export default defineNuxtPlugin(() => { menu.value.public.push(...publicItems); const profileInputs: CollectivoFormField[] = [ + { + type: "section", + order: 100, + title: "Account details", + }, { label: "First name", key: "first_name", type: "text", - order: 1, + order: 101, disabled: true, }, { label: "Last name", key: "last_name", type: "text", - order: 2, + order: 102, disabled: true, }, { label: "Email", key: "email", type: "text", - order: 3, + order: 103, disabled: true, }, ]; diff --git a/collectivo/collectivo/server/plugins/registerExtension.ts b/collectivo/collectivo/server/plugins/registerExtension.ts index 6a0d4464..79500c74 100644 --- a/collectivo/collectivo/server/plugins/registerExtension.ts +++ b/collectivo/collectivo/server/plugins/registerExtension.ts @@ -15,7 +15,7 @@ export default defineNitroPlugin(() => { name: "collectivo", version: pkg.version, schemas: [ - combineSchemas("collectivo", "0.0.1", {}, [ + combineSchemas("collectivo", "0.0.1", [ m001_extensions, m002_settings, m003_tags, diff --git a/collectivo/collectivo/server/schemas/001_extensions.ts b/collectivo/collectivo/server/schemas/001_extensions.ts index 25e2a18d..137e2003 100644 --- a/collectivo/collectivo/server/schemas/001_extensions.ts +++ b/collectivo/collectivo/server/schemas/001_extensions.ts @@ -250,17 +250,14 @@ schema.permissions.push( permissions: { _and: [{ id: { _eq: "$CURRENT_USER" } }] }, fields: user_fields, }, - { - collection: "directus_users", - roleName: "collectivo_editor", - action: "read", - fields: ["id", ...editor_fields], - }, - { +); + +for (const action of ["read", "update", "create", "delete"]) { + schema.permissions.push({ collection: "directus_users", roleName: "collectivo_editor", - action: "update", + action: action, fields: editor_fields, - permissions: {}, - }, -); + permissions: { _and: [{ id: { _nnull: true } }] }, // = all users + }); +} diff --git a/collectivo/collectivo/server/utils/apiToken.ts b/collectivo/collectivo/server/utils/apiToken.ts index 1843ddc6..f1a278ac 100644 --- a/collectivo/collectivo/server/utils/apiToken.ts +++ b/collectivo/collectivo/server/utils/apiToken.ts @@ -10,8 +10,6 @@ export function verifyCollectivoApiToken(event: any) { } if (headers["authorization"] !== useRuntimeConfig().apiToken) { - console.log("headers", headers); - console.log("config", useRuntimeConfig()); throw createError({ statusCode: 401, statusMessage: "Invalid token", diff --git a/collectivo/collectivo/server/utils/directusQueries.ts b/collectivo/collectivo/server/utils/directusQueries.ts index 559f97e7..8fc9b1dc 100644 --- a/collectivo/collectivo/server/utils/directusQueries.ts +++ b/collectivo/collectivo/server/utils/directusQueries.ts @@ -318,7 +318,7 @@ export async function createOrUpdateDirectusPermission( permission.fields = [permission.fields]; } - console.log(permissionDB.fields, permission.fields); + // console.log(permissionDB.fields, permission.fields); // @ts-ignore permission.fields = [ diff --git a/collectivo/collectivo/server/utils/extensions.ts b/collectivo/collectivo/server/utils/extensions.ts index c84f788b..c86e7d77 100644 --- a/collectivo/collectivo/server/utils/extensions.ts +++ b/collectivo/collectivo/server/utils/extensions.ts @@ -8,6 +8,7 @@ export interface ExtensionConfig { version: string; description?: string; schemas?: ExtensionSchema[]; + examples?: () => Promise; // Always relates to latest schema } diff --git a/collectivo/collectivo/server/utils/migrations.ts b/collectivo/collectivo/server/utils/migrations.ts index 8f10862e..c969346b 100644 --- a/collectivo/collectivo/server/utils/migrations.ts +++ b/collectivo/collectivo/server/utils/migrations.ts @@ -1,12 +1,30 @@ import { createItem, readItems, updateItem } from "@directus/sdk"; import ExtensionBaseMigration from "../schemas/001_extensions"; import { ExtensionConfig } from "./extensions"; +import { ExtensionSchema } from "./schemas"; // Run pending migrations for a set of extensions, based on db state export async function migrateAll( exts: ExtensionConfig[], createExampleData: boolean = false, ) { + // // TODO Order extensions by dependencies + // console.log( + // "UNSORTED EXTENSIONS", + // exts.map((m) => m.name), + // ); + // exts.sort((a, b) => { + // if (!a.schemas) return -1; + // if (!b.schemas) return 1; + // if (a.schemas.at(-1)?.dependencies?.includes(b.name)) return 1; + // if (b.schemas.at(-1)?.dependencies?.includes(a.name)) return -1; + // return 0; + // }); + // console.log( + // "SORTED EXTENSIONS", + // exts.map((m) => m.name), + // ); + const extsDb = await getExtensionsFromDb(); for (const ext of exts) { @@ -21,6 +39,8 @@ export async function migrateAll( ); } + console.log("CREATE EXAMPLE DATA", createExampleData); + if (createExampleData) { for (const ext of exts) { if (ext.examples) { @@ -131,6 +151,8 @@ export async function migrateCustom( } try { + const extsDb = await getExtensionsFromDb(); + // TODO checkSchemaDependencies(schema, extsDb); await schema.run_before(); await schema.apply(); await schema.run_after(); @@ -212,15 +234,15 @@ async function runMigrations(ext: ExtensionConfig, extsDb: any[], to?: string) { ); if (migrationStateIndex < migrationTargetIndex) { - for (const migration of ext.schemas.slice( + for (const schema of ext.schemas.slice( migrationStateIndex + 1, migrationTargetIndex + 1, )) { try { - // TODO: checkDependencies(migration, extsDb); - await migration.run_before(); - await migration.apply(); - await migration.run_after(); + // TODO checkSchemaDependencies(schema, extsDb); + await schema.run_before(); + await schema.apply(); + await schema.run_after(); migrationStateIndex++; await directus.request( @@ -231,7 +253,7 @@ async function runMigrations(ext: ExtensionConfig, extsDb: any[], to?: string) { ); } catch (e) { logger.error( - `Error applying schema ${ext.schemas[migrationStateIndex].version} of ${ext.name}`, + `Error applying schema ${ext.schemas[migrationStateIndex]?.version} of ${ext.name}`, ); throw e; @@ -262,17 +284,20 @@ async function runMigrations(ext: ExtensionConfig, extsDb: any[], to?: string) { } // TODO: Dependency checking -// function checkDependencies( -// migration: CollectivoMigration, -// extsDb: any[] -// ): void { -// if (!migration.dependencies) return; -// for (const dep of migration.dependencies) { -// const depDb = extsDb.find((f) => f.name === dep.extensionName); -// if (!depDb || depDb.migration < dep.migrationId) { -// throw new Error( -// `Dependency not met: ${dep.extensionName} must be at migration ${dep.migrationId}` -// ); -// } -// } -// } +function checkSchemaDependencies(schema: ExtensionSchema, extsDb: any[]): void { + console.log("CHECKING DEPENDENCIES", schema.dependencies); + console.log("CURRENT STATE", extsDb); + if (!schema.dependencies) return; + + for (const dep of schema.dependencies) { + const depDb = extsDb.find((f) => f.name === dep.extension); + + if (!depDb || depDb.schema_version < dep.version) { + throw new Error( + `Dependency not met: ${dep.extension} must be at migration ${dep.version}`, + ); + } + + console.log("DEPENDENCY MET", dep, dep.version, depDb.schema_version); + } +} diff --git a/collectivo/collectivo/server/utils/schemas.ts b/collectivo/collectivo/server/utils/schemas.ts index f7c9a339..3fc56daf 100644 --- a/collectivo/collectivo/server/utils/schemas.ts +++ b/collectivo/collectivo/server/utils/schemas.ts @@ -17,12 +17,8 @@ import { createOrUpdateDirectusRole } from "./directusQueries"; // A schema relates to a specific version of an extension // Non-breaking schemas will be skipped if there is a newer version // Migrations can be called before and after the schema is applied -export function initSchema( - extension: string, - version: string, - options?: Partial, -) { - return new ExtensionSchema(extension, version, options); +export function initSchema(extension: string, version: string) { + return new ExtensionSchema(extension, version); } export interface ExtensionDependency { @@ -30,15 +26,14 @@ export interface ExtensionDependency { version: string; } -export interface ExtensionSchemaOptions { - breaking: boolean; - dependencies?: ExtensionDependency[]; +export interface CollectivoFlow extends NestedPartial> { + collectivoEndpoint?: string; } export class ExtensionSchema { extension: string; version: string; - options: ExtensionSchemaOptions; + dependencies: ExtensionDependency[]; run_before: () => Promise; run_after: () => Promise; @@ -47,23 +42,14 @@ export class ExtensionSchema { relations: NestedPartial>[]; roles: NestedPartial>[]; permissions: NestedPartial>[]; - flows: NestedPartial>[]; + flows: CollectivoFlow[]; operations: NestedPartial>[]; translations: any[]; - constructor( - extension: string, - version: string, - options?: Partial, - ) { + constructor(extension: string, version: string) { this.extension = extension; this.version = version; - - this.options = { - breaking: false, - ...options, - }; - + this.dependencies = []; this.collections = []; this.fields = []; this.relations = []; @@ -151,12 +137,12 @@ export class ExtensionSchema { export function combineSchemas( extension: string, version: string, - options: Partial, schemas: ExtensionSchema[], ) { - const combinedSchema = initSchema(extension, version, options); + const combinedSchema = initSchema(extension, version); for (const schema of schemas) { + combinedSchema.dependencies.push(...schema.dependencies); combinedSchema.collections.push(...schema.collections); combinedSchema.fields.push(...schema.fields); combinedSchema.roles.push(...schema.roles); @@ -178,6 +164,8 @@ export function combineSchemas( interface directusM2MSettings { field1?: NestedPartial>; field2?: NestedPartial> | boolean; + relation1?: NestedPartial>; + relation2?: NestedPartial>; m2mFieldType1?: string; m2mFieldType2?: string; } @@ -196,6 +184,9 @@ function createM2MRelation( ? settings?.field2 : {}; + const relation1 = settings?.relation1 || {}; + const relation2 = settings?.relation2 || {}; + const field1Name = settings?.field1?.field || collection2; const field2Name = field2 ? field2.field || collection1 : null; const m2mCollectionName = `${collection1}_${collection2}`; @@ -253,26 +244,30 @@ function createM2MRelation( collection: m2mCollectionName, field: `${collection1}_id`, related_collection: collection1, + ...relation1, meta: { one_field: field1Name, sort_field: null, one_deselect_action: "nullify", junction_field: `${collection2}_id`, + ...relation1?.meta, }, - schema: { on_delete: "SET NULL" }, + schema: { on_delete: "SET NULL", ...relation1?.schema }, }); schema.relations.push({ collection: m2mCollectionName, field: `${collection2}_id`, related_collection: collection2, + ...relation2, meta: { one_field: field2Name, sort_field: null, one_deselect_action: "nullify", junction_field: `${collection1}_id`, + ...relation2?.meta, }, - schema: { on_delete: "SET NULL" }, + schema: { on_delete: "SET NULL", ...relation2?.schema }, }); } diff --git a/collectivo/collectivo/tailwind.config.ts b/collectivo/collectivo/tailwind.config.ts index 97ae62e6..2568f3b5 100644 --- a/collectivo/collectivo/tailwind.config.ts +++ b/collectivo/collectivo/tailwind.config.ts @@ -17,10 +17,10 @@ export default >{ "300": "#a6a0ff", "400": "#8e7aff", // Primary color (dark mode) "500": "#3b2476", // Primary color (light mode) - "600": "#723cef", - "700": "#632fd3", - "800": "#5129aa", - "900": "#3b2476", + "600": "#28184e", + "700": "#28184e", + "800": "#28184e", + "900": "#28184e", "950": "#28184e", }, diff --git a/collectivo/extensions/memberships/lang/de.json b/collectivo/extensions/memberships/lang/de.json index a5b17b4b..83369c0c 100644 --- a/collectivo/extensions/memberships/lang/de.json +++ b/collectivo/extensions/memberships/lang/de.json @@ -36,10 +36,7 @@ "Country": "Land", "Active": "Aktiv", "Investing": "Investierend", - "Payment type": "Zahlungsart", - "Direct transfer": "Überweisung", - "Bank account IBAN": "Bankkonto IBAN", - "Bank account owner": "Bankkonto Inhaber*in", + "Type of membership": "Art der Mitgliedschaft", "Type of person": "Art der Person", diff --git a/collectivo/extensions/memberships/package.json b/collectivo/extensions/memberships/package.json index eb7ca0a6..eaf5d729 100644 --- a/collectivo/extensions/memberships/package.json +++ b/collectivo/extensions/memberships/package.json @@ -1,6 +1,6 @@ { "name": "@collectivo/memberships", - "version": "0.1.0", + "version": "0.1.1", "description": "An extension of collectivo to manage memberships.", "type": "module", "license": "AGPL-3.0", @@ -19,7 +19,8 @@ "lint:fix": "eslint --cache . --fix" }, "dependencies": { - "@collectivo/collectivo": "workspace:*" + "@collectivo/collectivo": "workspace:*", + "@collectivo/memberships": "workspace:*" }, "devDependencies": { "nuxt": "^3.9.0", diff --git a/collectivo/extensions/memberships/pages/memberships/register.vue b/collectivo/extensions/memberships/pages/memberships/register.vue index bdd72ac4..fa482b68 100644 --- a/collectivo/extensions/memberships/pages/memberships/register.vue +++ b/collectivo/extensions/memberships/pages/memberships/register.vue @@ -27,7 +27,7 @@ setCollectivoTitle(form.value.title);

{{ t(form.successText ?? "t:memberships_form_success") }}

- {{ + {{ t("Login") }} diff --git a/collectivo/extensions/memberships/plugins/setup.ts b/collectivo/extensions/memberships/plugins/setup.ts index 3c5296e3..238b7aca 100644 --- a/collectivo/extensions/memberships/plugins/setup.ts +++ b/collectivo/extensions/memberships/plugins/setup.ts @@ -18,13 +18,146 @@ export default defineNuxtPlugin({ menu.value.public.push(...publicItems); + const is_legal = [ + { + key: "memberships_person_type", + value: "legal", + }, + ]; + + const is_natural = [ + { + key: "memberships_person_type", + value: "natural", + }, + ]; + const profileInputs: CollectivoFormField[] = [ { - label: "Another profile field", - key: "another", - type: "text", - order: 4, + type: "select", + key: "memberships_person_type", + label: "Type of person", + default: "natural", + order: 110, disabled: true, + choices: [ + { + value: "natural", + label: "an individual", + }, + { + value: "legal", + label: "an organization", + }, + ], + }, + { + type: "select", + order: 430, + key: "memberships_gender", + label: "Gender", + required: true, + choices: [ + { + value: "diverse", + label: "Diverse", + }, + { + value: "female", + label: "Female", + }, + { + value: "male", + label: "Male", + }, + ], + }, + { + type: "text", + key: "memberships_phone", + order: 440, + label: "Phone", + icon: "i-mi-call", + }, + { + label: "Birthday", + key: "memberships_birthday", + type: "date", + order: 450, + required: true, + conditions: is_natural, + }, + { + label: "Occupation", + key: "memberships_occupation", + type: "text", + order: 460, + required: true, + conditions: is_natural, + icon: "i-system-uicons-briefcase", + }, + { + type: "section", + order: 500, + title: "Address", + conditions: is_natural, + }, + { + type: "section", + order: 501, + title: "Organization address", + conditions: is_legal, + }, + { + label: "Street", + key: "memberships_street", + type: "text", + order: 510, + required: true, + }, + { + label: "Number", + type: "text", + key: "memberships_streetnumber", + order: 511, + width: "xs", + required: true, + }, + { + label: "Stair", + key: "memberships_stair", + type: "text", + order: 512, + width: "xs", + }, + { + label: "Door", + key: "memberships_door", + type: "text", + order: 513, + width: "xs", + }, + { + label: "Postcode", + key: "memberships_postcode", + type: "text", + order: 514, + width: "xs", + required: true, + }, + { + label: "City", + key: "memberships_city", + type: "text", + order: 515, + required: true, + }, + { + label: "Country", + key: "memberships_country", + type: "text", + order: 516, + required: true, }, ]; diff --git a/collectivo/extensions/memberships/server/api/memberships/register.post.ts b/collectivo/extensions/memberships/server/api/memberships/register.post.ts index d222daa4..6a244653 100644 --- a/collectivo/extensions/memberships/server/api/memberships/register.post.ts +++ b/collectivo/extensions/memberships/server/api/memberships/register.post.ts @@ -68,9 +68,6 @@ async function registerMembership(body: any) { userData.external_identifier = userData.email; } - console.log("PASSWORD IS '" + password + "'"); - console.log("TYPE OF PASSWORD IS " + typeof password); - const user_id = await directus.request(createUser(userData)); // Prepare membership diff --git a/collectivo/extensions/memberships/server/examples/examples.ts b/collectivo/extensions/memberships/server/examples/examples.ts index 544e4a45..816e1e4b 100644 --- a/collectivo/extensions/memberships/server/examples/examples.ts +++ b/collectivo/extensions/memberships/server/examples/examples.ts @@ -10,7 +10,7 @@ export default async function examples() { await directus.request(deleteItems("memberships_types", { limit: 1000 })); // Create some membership types - console.info("Creating memberships"); + console.info("Creating membership types"); const types = [["Active"], ["Investing"]]; const type_ids = []; diff --git a/collectivo/extensions/memberships/server/plugins/registerExtension.ts b/collectivo/extensions/memberships/server/plugins/registerExtension.ts index d2812508..6f91eb9e 100644 --- a/collectivo/extensions/memberships/server/plugins/registerExtension.ts +++ b/collectivo/extensions/memberships/server/plugins/registerExtension.ts @@ -10,10 +10,7 @@ export default defineNitroPlugin(() => { description: pkg.description, version: pkg.version, schemas: [ - combineSchemas("memberships", "0.0.1", {}, [ - m001_memberships, - m002_profile, - ]), + combineSchemas("memberships", "0.0.1", [m001_memberships, m002_profile]), ], examples: examples, }); diff --git a/collectivo/extensions/memberships/server/schemas/001_memberships.ts b/collectivo/extensions/memberships/server/schemas/001_memberships.ts index dcbf18d6..66d10078 100644 --- a/collectivo/extensions/memberships/server/schemas/001_memberships.ts +++ b/collectivo/extensions/memberships/server/schemas/001_memberships.ts @@ -2,6 +2,11 @@ const schema = initSchema("memberships", "0.0.1"); export default schema; +schema.dependencies = [ + { extension: "collectivo", version: "0.0.1" }, + { extension: "payments", version: "0.0.1" }, +]; + schema.collections = [ { collection: "memberships", @@ -237,6 +242,19 @@ schema.fields = [ ], }, }, + { + collection: "memberships", + field: "memberhships_shares", + type: "integer", + meta: { + interface: "input", + width: "half", + translations: [ + { language: "de-DE", translation: "Anteile" }, + { language: "en-US", translation: "Shares" }, + ], + }, + }, // Membership Types directusNameField("memberships_types"), @@ -307,6 +325,24 @@ schema.relations = [ }, ]; +schema.flows = [ + { + name: "memberships_shares_invoices", + icon: "receipt", + color: null, + description: null, + status: "active", + accountability: "all", + trigger: "event", + options: { + type: "filter", + scope: ["items.update", "items.create"], + collections: ["memberships"], + }, + collectivoEndpoint: "/api/memberships/create-shares-invoice", + }, +]; + schema.permissions = [ { collection: "memberships", @@ -327,3 +363,48 @@ schema.permissions = [ fields: ["*"], }, ]; + +// TODO: Make optional +// Add a relation to the payments extension +schema.fields.push( + ...[ + { + collection: "memberships", + field: "memberships_invoices", + type: "alias", + meta: { + interface: "list-o2m", + special: ["o2m"], + width: "half", + translations: [ + { language: "de-DE", translation: "Rechnungen" }, + { language: "en-US", translation: "Invoices" }, + ], + }, + }, + { + collection: "payments_invoices_out", + field: "memberships_membership", + type: "integer", + meta: { + hidden: true, + }, + }, + ], +); + +schema.relations.push( + ...[ + { + collection: "payments_invoices_out", + field: "memberships_membership", + related_collection: "memberships", + meta: { + one_field: "memberships_invoices", + sort_field: null, + one_deselect_action: "nullify", + }, + schema: { on_delete: "SET NULL" }, + }, + ], +); diff --git a/collectivo/extensions/payments/.eslintrc.cjs b/collectivo/extensions/payments/.eslintrc.cjs new file mode 100644 index 00000000..fcd587f4 --- /dev/null +++ b/collectivo/extensions/payments/.eslintrc.cjs @@ -0,0 +1,152 @@ +const basicRules = { + // No console & debugger statements in production + "no-console": process.env.NODE_ENV !== "development" ? "error" : "off", + "no-debugger": process.env.NODE_ENV !== "development" ? "error" : "off", + // Require empty line between certain statements + "padding-line-between-statements": [ + "error", + { + blankLine: "always", + prev: [ + "block", + "block-like", + "cjs-export", + "class", + "export", + "import", + "multiline-block-like", + "multiline-const", + "multiline-expression", + "multiline-let", + "multiline-var", + ], + next: "*", + }, + { + blankLine: "always", + prev: ["const", "let"], + next: ["block", "block-like", "cjs-export", "class", "export", "import"], + }, + { + blankLine: "always", + prev: "*", + next: [ + "multiline-block-like", + "multiline-const", + "multiline-expression", + "multiline-let", + "multiline-var", + ], + }, + { + blankLine: "any", + prev: ["export", "import"], + next: ["export", "import"], + }, + ], + // Require empty line between class members + "lines-between-class-members": [ + "error", + "always", + { exceptAfterSingleLine: true }, + ], + // Disallow nested ternary expressions + "no-nested-ternary": "error", + // Require brace style for multi-line control statements + curly: ["error", "multi-line"], +}; + +const tsRules = { + // Allow unused arguments and variables when they begin with an underscore + "@typescript-eslint/no-unused-vars": [ + "warn", + { argsIgnorePattern: "^_", varsIgnorePattern: "^_" }, + ], + // Allow ts-directive comments (used to suppress TypeScript compiler errors) + "@typescript-eslint/ban-ts-comment": "off", + // Allow usage of the any type (consider enabling this rule later on) + "@typescript-eslint/no-explicit-any": "warn", + + // Allow console log statements in development + // "no-console": process.env.NODE_ENV !== "development" ? "error" : "off", + "no-console": [ + "warn", + { + allow: ["info", "warn", "error"], + }, + ], +}; + +const vueRules = { + // Same ordering of component tags everywhere + "vue/component-tags-order": [ + "error", + { + order: ["script", "template", "style"], + }, + ], + // Require empty line between component tags + "vue/padding-line-between-blocks": "error", + // Allow single word component names ("Example" instead of "MyExample") + "vue/multi-word-component-names": "off", + // Don't require default value for props that are not marked as required + "vue/require-default-prop": "off", + // Require shorthand form attribute when v-bind value is true + "vue/prefer-true-attribute-shorthand": "error", +}; + +const getExtends = (configs = []) => [ + // Enables a subset of core rules that report common problems + "eslint:recommended", + ...configs, + // Turns off rules from other configs that are + // unnecessary or might conflict with Prettier + // (should always be the last entry in 'extends') + "prettier", +]; + +/** @type {import('eslint').Linter.Config} */ +module.exports = { + // Stop looking for other ESLint configurations in parent folders + root: true, + // Global variables: Browser and Node.js + env: { + browser: true, + node: true, + }, + // Basic configuration + extends: getExtends(), + rules: basicRules, + parserOptions: { + ecmaVersion: 2022, + sourceType: "module", + }, + reportUnusedDisableDirectives: true, + overrides: [ + // TypeScript & Vue files + { + files: ["*.ts", "*.vue"], + parser: "vue-eslint-parser", + parserOptions: { + parser: "@typescript-eslint/parser", + }, + plugins: ["@typescript-eslint"], + extends: getExtends([ + // Recommended TypeScript rules for code correctness + "plugin:@typescript-eslint/recommended", + // Enables Vue plugin and recommended rules + "plugin:vue/vue3-recommended", + ]), + rules: { + // Disables core rules which are already handled by TypeScript and + // enables rules that make sense due to TS's typechecking / transpilation + // (fetched directly to enable it for Vue files too) + ...require("@typescript-eslint/eslint-plugin").configs[ + "eslint-recommended" + ].overrides[0].rules, + ...tsRules, + ...vueRules, + }, + }, + ], +}; diff --git a/collectivo/extensions/payments/.gitignore b/collectivo/extensions/payments/.gitignore new file mode 100644 index 00000000..4a7f73a2 --- /dev/null +++ b/collectivo/extensions/payments/.gitignore @@ -0,0 +1,24 @@ +# Nuxt dev/build outputs +.output +.data +.nuxt +.nitro +.cache +dist + +# Node dependencies +node_modules + +# Logs +logs +*.log + +# Misc +.DS_Store +.fleet +.idea + +# Local env files +.env +.env.* +!.env.example diff --git a/collectivo/extensions/payments/.npmrc b/collectivo/extensions/payments/.npmrc new file mode 100644 index 00000000..c483022c --- /dev/null +++ b/collectivo/extensions/payments/.npmrc @@ -0,0 +1 @@ +shamefully-hoist=true \ No newline at end of file diff --git a/collectivo/extensions/payments/README.md b/collectivo/extensions/payments/README.md new file mode 100644 index 00000000..595dda92 --- /dev/null +++ b/collectivo/extensions/payments/README.md @@ -0,0 +1,63 @@ +# Nuxt 3 Minimal Starter + +Look at the [Nuxt 3 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more. + +## Setup + +Make sure to install the dependencies: + +```bash +# npm +npm install + +# pnpm +pnpm install + +# yarn +yarn install +``` + +## Development Server + +Start the development server on `http://localhost:3000`: + +```bash +# npm +npm run dev + +# pnpm +pnpm run dev + +# yarn +yarn dev +``` + +## Production + +Build the application for production: + +```bash +# npm +npm run build + +# pnpm +pnpm run build + +# yarn +yarn build +``` + +Locally preview production build: + +```bash +# npm +npm run preview + +# pnpm +pnpm run preview + +# yarn +yarn preview +``` + +Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information. diff --git a/collectivo/extensions/payments/app.vue b/collectivo/extensions/payments/app.vue new file mode 100644 index 00000000..f8eacfa7 --- /dev/null +++ b/collectivo/extensions/payments/app.vue @@ -0,0 +1,5 @@ + diff --git a/collectivo/extensions/payments/i18n.config.ts b/collectivo/extensions/payments/i18n.config.ts new file mode 100644 index 00000000..b4e1a054 --- /dev/null +++ b/collectivo/extensions/payments/i18n.config.ts @@ -0,0 +1 @@ +export default defineI18nConfig(() => ({})); diff --git a/collectivo/extensions/payments/lang/de.json b/collectivo/extensions/payments/lang/de.json new file mode 100644 index 00000000..f0ea0ce3 --- /dev/null +++ b/collectivo/extensions/payments/lang/de.json @@ -0,0 +1,7 @@ +{ + "Payment type": "Zahlungsart", + "Transfer": "Überweisung", + "SEPA Direct Debit": "SEPA Lastschrift", + "Bank account IBAN": "Bankkonto IBAN", + "Bank account owner": "Bankkonto Inhaber*in" +} diff --git a/collectivo/extensions/payments/lang/en.json b/collectivo/extensions/payments/lang/en.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/collectivo/extensions/payments/lang/en.json @@ -0,0 +1 @@ +{} diff --git a/collectivo/extensions/payments/nuxt.config.ts b/collectivo/extensions/payments/nuxt.config.ts new file mode 100644 index 00000000..766ca763 --- /dev/null +++ b/collectivo/extensions/payments/nuxt.config.ts @@ -0,0 +1,12 @@ +// https://nuxt.com/docs/api/configuration/nuxt-config +export default defineNuxtConfig({ + devtools: { enabled: true }, + extends: ["@collectivo/collectivo"], + i18n: { + langDir: "./lang", + locales: [ + { code: "en", file: "en.json" }, + { code: "de", file: "de.json" }, + ], + }, +}); diff --git a/collectivo/extensions/payments/package.json b/collectivo/extensions/payments/package.json new file mode 100644 index 00000000..e69a90e6 --- /dev/null +++ b/collectivo/extensions/payments/package.json @@ -0,0 +1,35 @@ +{ + "name": "@collectivo/payments", + "version": "0.1.1", + "description": "An extension of collectivo to manage payments.", + "type": "module", + "license": "AGPL-3.0", + "author": "Joël Foramitti", + "homepage": "https://collectivo.io", + "main": "./nuxt.config.ts", + "scripts": { + "build": "nuxt build", + "dev": "nuxt dev --p 3101", + "generate": "nuxt generate", + "preview": "nuxt preview", + "postinstall": "nuxt prepare", + "format": "prettier --cache --check .", + "format:fix": "prettier --cache --check . --write", + "lint": "eslint --cache .", + "lint:fix": "eslint --cache . --fix" + }, + "dependencies": { + "@collectivo/collectivo": "workspace:*" + }, + "devDependencies": { + "nuxt": "^3.9.0", + "@nuxt/devtools": "^1.0.6", + "@nuxt/test-utils": "^3.9.0", + "prettier": "3.1.1", + "eslint": "8.56.0", + "eslint-config-prettier": "9.1.0", + "eslint-plugin-vue": "9.19.2", + "@typescript-eslint/eslint-plugin": "6.16.0", + "@typescript-eslint/parser": "6.16.0" + } +} diff --git a/collectivo/extensions/payments/pages/payment-test.vue b/collectivo/extensions/payments/pages/payment-test.vue new file mode 100644 index 00000000..4968b448 --- /dev/null +++ b/collectivo/extensions/payments/pages/payment-test.vue @@ -0,0 +1 @@ + diff --git a/collectivo/extensions/payments/plugins/setup.ts b/collectivo/extensions/payments/plugins/setup.ts new file mode 100644 index 00000000..30339239 --- /dev/null +++ b/collectivo/extensions/payments/plugins/setup.ts @@ -0,0 +1,49 @@ +export default defineNuxtPlugin({ + name: "memberships-setup", + async setup() { + const menu = useCollectivoMenus(); + const user = useCollectivoUser(); + + const publicItems: CollectivoMenuItem[] = []; + + menu.value.public.push(...publicItems); + + const profileInputs: CollectivoFormField[] = [ + { + type: "section", + order: 700, + title: "Payment details", + }, + { + label: "Payment type", + key: "payments_type", + type: "select", + order: 710, + choices: [ + { + value: "sepa", + label: "SEPA Direct Debit", + }, + { + value: "transfer", + label: "Transfer", + }, + ], + }, + { + label: "Bank account IBAN", + key: "payments_account_iban", + type: "text", + order: 720, + }, + { + label: "Bank account owner", + key: "payments_account_owner", + type: "text", + order: 730, + }, + ]; + + user.value.fields.push(...profileInputs); + }, +}); diff --git a/collectivo/extensions/payments/pnpm-lock.yaml b/collectivo/extensions/payments/pnpm-lock.yaml new file mode 100644 index 00000000..2c2c7f7c --- /dev/null +++ b/collectivo/extensions/payments/pnpm-lock.yaml @@ -0,0 +1,12343 @@ +lockfileVersion: "6.0" + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + "@collectivo/collectivo": + specifier: workspace:* + version: link:../../collectivo + "@directus/sdk": + specifier: ^13.0.1 + version: 13.0.2 + "@fullcalendar/core": + specifier: ^6.1.9 + version: 6.1.10 + "@fullcalendar/daygrid": + specifier: ^6.1.9 + version: 6.1.10(@fullcalendar/core@6.1.10) + "@fullcalendar/interaction": + specifier: ^6.1.9 + version: 6.1.10(@fullcalendar/core@6.1.10) + "@fullcalendar/list": + specifier: ^6.1.9 + version: 6.1.10(@fullcalendar/core@6.1.10) + "@fullcalendar/timegrid": + specifier: ^6.1.9 + version: 6.1.10(@fullcalendar/core@6.1.10) + "@fullcalendar/vue3": + specifier: ^6.1.9 + version: 6.1.10(@fullcalendar/core@6.1.10)(vue@3.3.4) + "@headlessui/vue": + specifier: ^1.7.16 + version: 1.7.16(vue@3.3.4) + "@heroicons/vue": + specifier: ^2.0.18 + version: 2.1.1(vue@3.3.4) + "@iconify/json": + specifier: ^2.2.140 + version: 2.2.162 + "@nuxt/ui": + specifier: ^2.10.0 + version: 2.11.1(nuxt@3.7.0)(vite@4.4.9)(vue@3.3.4) + "@popperjs/core": + specifier: ^2.11.8 + version: 2.11.8 + "@vuepic/vue-datepicker": + specifier: ^7.2.2 + version: 7.4.0(vue@3.3.4) + compare-versions: + specifier: ^6.1.0 + version: 6.1.0 + marked: + specifier: ^9.1.0 + version: 9.1.6 + vue3-carousel-nuxt: + specifier: ^1.1.0 + version: 1.1.0(vue@3.3.4) + winston: + specifier: ^3.10.0 + version: 3.11.0 + +devDependencies: + "@iconify/vue": + specifier: ^4.1.1 + version: 4.1.1(vue@3.3.4) + "@nuxt/devtools": + specifier: latest + version: 0.8.2(nuxt@3.7.0)(vite@4.4.9) + "@nuxt/test-utils": + specifier: ^3.7.1 + version: 3.9.0(h3@1.8.1)(vite@4.4.9)(vitest@0.34.6)(vue-router@4.2.4)(vue@3.3.4) + "@nuxtjs/i18n": + specifier: 8.0.0-rc.4 + version: 8.0.0-rc.4(vue-router@4.2.4)(vue@3.3.4) + "@nuxtjs/tailwindcss": + specifier: ^6.8.0 + version: 6.10.3 + "@typescript-eslint/eslint-plugin": + specifier: 6.11.0 + version: 6.11.0(@typescript-eslint/parser@6.11.0)(eslint@8.54.0)(typescript@5.3.3) + "@typescript-eslint/parser": + specifier: 6.11.0 + version: 6.11.0(eslint@8.54.0)(typescript@5.3.3) + eslint: + specifier: 8.54.0 + version: 8.54.0 + eslint-config-prettier: + specifier: 9.0.0 + version: 9.0.0(eslint@8.54.0) + eslint-plugin-vue: + specifier: 9.18.1 + version: 9.18.1(eslint@8.54.0) + nuxt: + specifier: ^3.7.0 + version: 3.7.0(eslint@8.54.0)(sass@1.69.5)(typescript@5.3.3) + prettier: + specifier: 3.1.0 + version: 3.1.0 + sass: + specifier: ^1.69.5 + version: 1.69.5 + vitest: + specifier: ^0.34.3 + version: 0.34.6(sass@1.69.5) + +packages: + /@aashutoshrathi/word-wrap@1.2.6: + resolution: + { + integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, + } + engines: { node: ">=0.10.0" } + + /@alloc/quick-lru@5.2.0: + resolution: + { + integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==, + } + engines: { node: ">=10" } + + /@ampproject/remapping@2.2.1: + resolution: + { + integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==, + } + engines: { node: ">=6.0.0" } + dependencies: + "@jridgewell/gen-mapping": 0.3.3 + "@jridgewell/trace-mapping": 0.3.19 + + /@antfu/install-pkg@0.1.1: + resolution: + { + integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==, + } + dependencies: + execa: 5.1.1 + find-up: 5.0.0 + dev: false + + /@antfu/utils@0.7.6: + resolution: + { + integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==, + } + + /@babel/code-frame@7.22.13: + resolution: + { + integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/highlight": 7.22.13 + chalk: 2.4.2 + + /@babel/compat-data@7.22.9: + resolution: + { + integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==, + } + engines: { node: ">=6.9.0" } + + /@babel/core@7.22.11: + resolution: + { + integrity: sha512-lh7RJrtPdhibbxndr6/xx0w8+CVlY5FJZiaSz908Fpy+G0xkBFTvwLcKJFF4PJxVfGhVWNebikpWGnOoC71juQ==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@ampproject/remapping": 2.2.1 + "@babel/code-frame": 7.22.13 + "@babel/generator": 7.22.10 + "@babel/helper-compilation-targets": 7.22.10 + "@babel/helper-module-transforms": 7.22.9(@babel/core@7.22.11) + "@babel/helpers": 7.22.11 + "@babel/parser": 7.22.13 + "@babel/template": 7.22.5 + "@babel/traverse": 7.22.11 + "@babel/types": 7.22.11 + convert-source-map: 1.9.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + /@babel/generator@7.22.10: + resolution: + { + integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/types": 7.22.11 + "@jridgewell/gen-mapping": 0.3.3 + "@jridgewell/trace-mapping": 0.3.19 + jsesc: 2.5.2 + + /@babel/helper-annotate-as-pure@7.22.5: + resolution: + { + integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/types": 7.22.11 + + /@babel/helper-compilation-targets@7.22.10: + resolution: + { + integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/compat-data": 7.22.9 + "@babel/helper-validator-option": 7.22.5 + browserslist: 4.21.10 + lru-cache: 5.1.1 + semver: 6.3.1 + + /@babel/helper-create-class-features-plugin@7.22.11(@babel/core@7.22.11): + resolution: + { + integrity: sha512-y1grdYL4WzmUDBRGK0pDbIoFd7UZKoDurDzWEoNMYoj1EL+foGRQNyPWDcC+YyegN5y1DUsFFmzjGijB3nSVAQ==, + } + engines: { node: ">=6.9.0" } + peerDependencies: + "@babel/core": ^7.0.0 + dependencies: + "@babel/core": 7.22.11 + "@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.9(@babel/core@7.22.11) + "@babel/helper-skip-transparent-expression-wrappers": 7.22.5 + "@babel/helper-split-export-declaration": 7.22.6 + semver: 6.3.1 + + /@babel/helper-environment-visitor@7.22.5: + resolution: + { + integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==, + } + engines: { node: ">=6.9.0" } + + /@babel/helper-function-name@7.22.5: + resolution: + { + integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/template": 7.22.5 + "@babel/types": 7.22.11 + + /@babel/helper-hoist-variables@7.22.5: + resolution: + { + integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/types": 7.22.11 + + /@babel/helper-member-expression-to-functions@7.22.5: + resolution: + { + integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/types": 7.22.11 + + /@babel/helper-module-imports@7.22.5: + resolution: + { + integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/types": 7.22.11 + + /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.11): + resolution: + { + integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==, + } + engines: { node: ">=6.9.0" } + peerDependencies: + "@babel/core": ^7.0.0 + dependencies: + "@babel/core": 7.22.11 + "@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.6 + "@babel/helper-validator-identifier": 7.22.5 + + /@babel/helper-optimise-call-expression@7.22.5: + resolution: + { + integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/types": 7.22.11 + + /@babel/helper-plugin-utils@7.22.5: + resolution: + { + integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==, + } + engines: { node: ">=6.9.0" } + + /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.11): + resolution: + { + integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==, + } + engines: { node: ">=6.9.0" } + peerDependencies: + "@babel/core": ^7.0.0 + dependencies: + "@babel/core": 7.22.11 + "@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/helper-simple-access@7.22.5: + resolution: + { + integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/types": 7.22.11 + + /@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.22.11 + + /@babel/helper-split-export-declaration@7.22.6: + resolution: + { + integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/types": 7.22.11 + + /@babel/helper-string-parser@7.22.5: + resolution: + { + integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==, + } + engines: { node: ">=6.9.0" } + + /@babel/helper-validator-identifier@7.22.5: + resolution: + { + integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==, + } + engines: { node: ">=6.9.0" } + + /@babel/helper-validator-option@7.22.5: + resolution: + { + integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==, + } + engines: { node: ">=6.9.0" } + + /@babel/helpers@7.22.11: + resolution: + { + integrity: sha512-vyOXC8PBWaGc5h7GMsNx68OH33cypkEDJCHvYVVgVbbxJDROYVtexSk0gK5iCF1xNjRIN2s8ai7hwkWDq5szWg==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/template": 7.22.5 + "@babel/traverse": 7.22.11 + "@babel/types": 7.22.11 + transitivePeerDependencies: + - supports-color + + /@babel/highlight@7.22.13: + resolution: + { + integrity: sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/helper-validator-identifier": 7.22.5 + chalk: 2.4.2 + js-tokens: 4.0.0 + + /@babel/parser@7.22.13: + resolution: + { + integrity: sha512-3l6+4YOvc9wx7VlCSw4yQfcBo01ECA8TicQfbnCPuCEpRQrf+gTUyGdxNw+pyTUyywp6JRD1w0YQs9TpBXYlkw==, + } + engines: { node: ">=6.0.0" } + hasBin: true + dependencies: + "@babel/types": 7.22.11 + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.11): + resolution: + { + integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==, + } + peerDependencies: + "@babel/core": ^7.0.0-0 + dependencies: + "@babel/core": 7.22.11 + "@babel/helper-plugin-utils": 7.22.5 + dev: true + + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.11): + resolution: + { + integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==, + } + engines: { node: ">=6.9.0" } + peerDependencies: + "@babel/core": ^7.0.0-0 + dependencies: + "@babel/core": 7.22.11 + "@babel/helper-plugin-utils": 7.22.5 + + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.11): + resolution: + { + integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==, + } + engines: { node: ">=6.9.0" } + peerDependencies: + "@babel/core": ^7.0.0-0 + dependencies: + "@babel/core": 7.22.11 + "@babel/helper-plugin-utils": 7.22.5 + + /@babel/plugin-transform-typescript@7.22.11(@babel/core@7.22.11): + resolution: + { + integrity: sha512-0E4/L+7gfvHub7wsbTv03oRtD69X31LByy44fGmFzbZScpupFByMcgCJ0VbBTkzyjSJKuRoGN8tcijOWKTmqOA==, + } + engines: { node: ">=6.9.0" } + peerDependencies: + "@babel/core": ^7.0.0-0 + dependencies: + "@babel/core": 7.22.11 + "@babel/helper-annotate-as-pure": 7.22.5 + "@babel/helper-create-class-features-plugin": 7.22.11(@babel/core@7.22.11) + "@babel/helper-plugin-utils": 7.22.5 + "@babel/plugin-syntax-typescript": 7.22.5(@babel/core@7.22.11) + + /@babel/runtime@7.23.6: + resolution: + { + integrity: sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==, + } + engines: { node: ">=6.9.0" } + dependencies: + regenerator-runtime: 0.14.1 + dev: false + + /@babel/standalone@7.22.13: + resolution: + { + integrity: sha512-JoI61IOKM8jJv8V4yD0HprU/Lnx3Y29bGGULdIdJgvIUS7oCWcl43gtXoLY7nrYZhZerXYncYfDtmq4wUEofcg==, + } + engines: { node: ">=6.9.0" } + + /@babel/template@7.22.5: + resolution: + { + integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/code-frame": 7.22.13 + "@babel/parser": 7.22.13 + "@babel/types": 7.22.11 + + /@babel/traverse@7.22.11: + resolution: + { + integrity: sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/code-frame": 7.22.13 + "@babel/generator": 7.22.10 + "@babel/helper-environment-visitor": 7.22.5 + "@babel/helper-function-name": 7.22.5 + "@babel/helper-hoist-variables": 7.22.5 + "@babel/helper-split-export-declaration": 7.22.6 + "@babel/parser": 7.22.13 + "@babel/types": 7.22.11 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + /@babel/types@7.22.11: + resolution: + { + integrity: sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/helper-string-parser": 7.22.5 + "@babel/helper-validator-identifier": 7.22.5 + to-fast-properties: 2.0.0 + + /@cloudflare/kv-asset-handler@0.3.0: + resolution: + { + integrity: sha512-9CB/MKf/wdvbfkUdfrj+OkEwZ5b7rws0eogJ4293h+7b6KX5toPwym+VQKmILafNB9YiehqY0DlNrDcDhdWHSQ==, + } + dependencies: + mime: 3.0.0 + + /@colors/colors@1.6.0: + resolution: + { + integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==, + } + engines: { node: ">=0.1.90" } + dev: false + + /@csstools/cascade-layer-name-parser@1.0.6(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.2): + resolution: + { + integrity: sha512-HkxRNs6ZIV0VjLFw6k5G8K35vd9r+O8B1Vr+QVD8M5Y44eQxyHtc42BdF74FQatXACPnitOR1+sRx2oWdnKTQw==, + } + engines: { node: ^14 || ^16 || >=18 } + peerDependencies: + "@csstools/css-parser-algorithms": ^2.4.0 + "@csstools/css-tokenizer": ^2.2.2 + dependencies: + "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.2) + "@csstools/css-tokenizer": 2.2.2 + + /@csstools/css-parser-algorithms@2.4.0(@csstools/css-tokenizer@2.2.2): + resolution: + { + integrity: sha512-/PPLr2g5PAUCKAPEbfyk6/baZA+WJHQtUhPkoCQMpyRE8I0lXrG1QFRN8e5s3ZYxM8d/g5BZc6lH3s8Op7/VEg==, + } + engines: { node: ^14 || ^16 || >=18 } + peerDependencies: + "@csstools/css-tokenizer": ^2.2.2 + dependencies: + "@csstools/css-tokenizer": 2.2.2 + + /@csstools/css-tokenizer@2.2.2: + resolution: + { + integrity: sha512-wCDUe/MAw7npAHFLyW3QjSyLA66S5QFaV1jIXlNQvdJ8RzXDSgALa49eWcUO6P55ARQaz0TsDdAgdRgkXFYY8g==, + } + engines: { node: ^14 || ^16 || >=18 } + + /@csstools/selector-specificity@3.0.1(postcss-selector-parser@6.0.13): + resolution: + { + integrity: sha512-NPljRHkq4a14YzZ3YD406uaxh7s0g6eAq3L9aLOWywoqe8PkYamAvtsh7KNX6c++ihDrJ0RiU+/z7rGnhlZ5ww==, + } + engines: { node: ^14 || ^16 || >=18 } + peerDependencies: + postcss-selector-parser: ^6.0.13 + dependencies: + postcss-selector-parser: 6.0.13 + + /@dabh/diagnostics@2.0.3: + resolution: + { + integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==, + } + dependencies: + colorspace: 1.1.4 + enabled: 2.0.0 + kuler: 2.0.0 + dev: false + + /@directus/sdk@13.0.2: + resolution: + { + integrity: sha512-KECQM0w8xlgr5EklX+Jb9+dIzXyvJFjRfhiIAI7l/b0WEtVaCfvRMIrJXR3XsLeVW9u2nu+b/TffOyTMSLjm2w==, + } + engines: { node: ">=18.0.0" } + dev: false + + /@egoist/tailwindcss-icons@1.7.1(tailwindcss@3.4.0): + resolution: + { + integrity: sha512-7DqxXxKNr7f1uZbfsIOj8c1d2pJxm+k1+BgUcqvwCQeGcp4zDf/bICv4vc0JTDZG1JpY0ZO4a2PsBb0hKEwD2A==, + } + peerDependencies: + tailwindcss: "*" + dependencies: + "@iconify/utils": 2.1.14 + tailwindcss: 3.4.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@esbuild-kit/cjs-loader@2.4.2: + resolution: + { + integrity: sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg==, + } + dependencies: + "@esbuild-kit/core-utils": 3.2.2 + get-tsconfig: 4.7.0 + dev: true + + /@esbuild-kit/core-utils@3.2.2: + resolution: + { + integrity: sha512-Ub6LaRaAgF80dTSzUdXpFLM1pVDdmEVB9qb5iAzSpyDlX/mfJTFGOnZ516O05p5uWWteNviMKi4PAyEuRxI5gA==, + } + dependencies: + esbuild: 0.18.20 + source-map-support: 0.5.21 + dev: true + + /@esbuild-kit/esm-loader@2.5.5: + resolution: + { + integrity: sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==, + } + dependencies: + "@esbuild-kit/core-utils": 3.2.2 + get-tsconfig: 4.7.0 + dev: true + + /@esbuild/android-arm64@0.18.20: + resolution: + { + integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-arm64@0.19.2: + resolution: + { + integrity: sha512-lsB65vAbe90I/Qe10OjkmrdxSX4UJDjosDgb8sZUKcg3oefEuW2OT2Vozz8ef7wrJbMcmhvCC+hciF8jY/uAkw==, + } + 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 + optional: true + + /@esbuild/android-arm@0.19.2: + resolution: + { + integrity: sha512-tM8yLeYVe7pRyAu9VMi/Q7aunpLwD139EY1S99xbQkT4/q2qa6eA4ige/WJQYdJ8GBL1K33pPFhPfPdJ/WzT8Q==, + } + 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 + optional: true + + /@esbuild/android-x64@0.19.2: + resolution: + { + integrity: sha512-qK/TpmHt2M/Hg82WXHRc/W/2SGo/l1thtDHZWqFq7oi24AjZ4O/CpPSu6ZuYKFkEgmZlFoa7CooAyYmuvnaG8w==, + } + 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 + optional: true + + /@esbuild/darwin-arm64@0.19.2: + resolution: + { + integrity: sha512-Ora8JokrvrzEPEpZO18ZYXkH4asCdc1DLdcVy8TGf5eWtPO1Ie4WroEJzwI52ZGtpODy3+m0a2yEX9l+KUn0tA==, + } + 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 + optional: true + + /@esbuild/darwin-x64@0.19.2: + resolution: + { + integrity: sha512-tP+B5UuIbbFMj2hQaUr6EALlHOIOmlLM2FK7jeFBobPy2ERdohI4Ka6ZFjZ1ZYsrHE/hZimGuU90jusRE0pwDw==, + } + 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 + optional: true + + /@esbuild/freebsd-arm64@0.19.2: + resolution: + { + integrity: sha512-YbPY2kc0acfzL1VPVK6EnAlig4f+l8xmq36OZkU0jzBVHcOTyQDhnKQaLzZudNJQyymd9OqQezeaBgkTGdTGeQ==, + } + 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 + optional: true + + /@esbuild/freebsd-x64@0.19.2: + resolution: + { + integrity: sha512-nSO5uZT2clM6hosjWHAsS15hLrwCvIWx+b2e3lZ3MwbYSaXwvfO528OF+dLjas1g3bZonciivI8qKR/Hm7IWGw==, + } + 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 + optional: true + + /@esbuild/linux-arm64@0.19.2: + resolution: + { + integrity: sha512-ig2P7GeG//zWlU0AggA3pV1h5gdix0MA3wgB+NsnBXViwiGgY77fuN9Wr5uoCrs2YzaYfogXgsWZbm+HGr09xg==, + } + 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 + optional: true + + /@esbuild/linux-arm@0.19.2: + resolution: + { + integrity: sha512-Odalh8hICg7SOD7XCj0YLpYCEc+6mkoq63UnExDCiRA2wXEmGlK5JVrW50vZR9Qz4qkvqnHcpH+OFEggO3PgTg==, + } + 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 + optional: true + + /@esbuild/linux-ia32@0.19.2: + resolution: + { + integrity: sha512-mLfp0ziRPOLSTek0Gd9T5B8AtzKAkoZE70fneiiyPlSnUKKI4lp+mGEnQXcQEHLJAcIYDPSyBvsUbKUG2ri/XQ==, + } + 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 + optional: true + + /@esbuild/linux-loong64@0.19.2: + resolution: + { + integrity: sha512-hn28+JNDTxxCpnYjdDYVMNTR3SKavyLlCHHkufHV91fkewpIyQchS1d8wSbmXhs1fiYDpNww8KTFlJ1dHsxeSw==, + } + 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 + optional: true + + /@esbuild/linux-mips64el@0.19.2: + resolution: + { + integrity: sha512-KbXaC0Sejt7vD2fEgPoIKb6nxkfYW9OmFUK9XQE4//PvGIxNIfPk1NmlHmMg6f25x57rpmEFrn1OotASYIAaTg==, + } + 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 + optional: true + + /@esbuild/linux-ppc64@0.19.2: + resolution: + { + integrity: sha512-dJ0kE8KTqbiHtA3Fc/zn7lCd7pqVr4JcT0JqOnbj4LLzYnp+7h8Qi4yjfq42ZlHfhOCM42rBh0EwHYLL6LEzcw==, + } + 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 + optional: true + + /@esbuild/linux-riscv64@0.19.2: + resolution: + { + integrity: sha512-7Z/jKNFufZ/bbu4INqqCN6DDlrmOTmdw6D0gH+6Y7auok2r02Ur661qPuXidPOJ+FSgbEeQnnAGgsVynfLuOEw==, + } + 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 + optional: true + + /@esbuild/linux-s390x@0.19.2: + resolution: + { + integrity: sha512-U+RinR6aXXABFCcAY4gSlv4CL1oOVvSSCdseQmGO66H+XyuQGZIUdhG56SZaDJQcLmrSfRmx5XZOWyCJPRqS7g==, + } + 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 + optional: true + + /@esbuild/linux-x64@0.19.2: + resolution: + { + integrity: sha512-oxzHTEv6VPm3XXNaHPyUTTte+3wGv7qVQtqaZCrgstI16gCuhNOtBXLEBkBREP57YTd68P0VgDgG73jSD8bwXQ==, + } + 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 + optional: true + + /@esbuild/netbsd-x64@0.19.2: + resolution: + { + integrity: sha512-WNa5zZk1XpTTwMDompZmvQLHszDDDN7lYjEHCUmAGB83Bgs20EMs7ICD+oKeT6xt4phV4NDdSi/8OfjPbSbZfQ==, + } + 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 + optional: true + + /@esbuild/openbsd-x64@0.19.2: + resolution: + { + integrity: sha512-S6kI1aT3S++Dedb7vxIuUOb3oAxqxk2Rh5rOXOTYnzN8JzW1VzBd+IqPiSpgitu45042SYD3HCoEyhLKQcDFDw==, + } + 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 + optional: true + + /@esbuild/sunos-x64@0.19.2: + resolution: + { + integrity: sha512-VXSSMsmb+Z8LbsQGcBMiM+fYObDNRm8p7tkUDMPG/g4fhFX5DEFmjxIEa3N8Zr96SjsJ1woAhF0DUnS3MF3ARw==, + } + 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 + optional: true + + /@esbuild/win32-arm64@0.19.2: + resolution: + { + integrity: sha512-5NayUlSAyb5PQYFAU9x3bHdsqB88RC3aM9lKDAz4X1mo/EchMIT1Q+pSeBXNgkfNmRecLXA0O8xP+x8V+g/LKg==, + } + 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 + optional: true + + /@esbuild/win32-ia32@0.19.2: + resolution: + { + integrity: sha512-47gL/ek1v36iN0wL9L4Q2MFdujR0poLZMJwhO2/N3gA89jgHp4MR8DKCmwYtGNksbfJb9JoTtbkoe6sDhg2QTA==, + } + 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 + optional: true + + /@esbuild/win32-x64@0.19.2: + resolution: + { + integrity: sha512-tcuhV7ncXBqbt/Ybf0IyrMcwVOAPDckMK9rXNHtF17UTK18OKLpg08glminN06pt2WCoALhXdLfSPbVvK/6fxw==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.54.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.54.0 + eslint-visitor-keys: 3.4.3 + + /@eslint-community/regexpp@4.10.0: + resolution: + { + integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==, + } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + + /@eslint/eslintrc@2.1.4: + resolution: + { + integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.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 + + /@eslint/js@8.54.0: + resolution: + { + integrity: sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + + /@fullcalendar/core@6.1.10: + resolution: + { + integrity: sha512-oTXGJSAGpCf1oY+CKp5qYjMHkJCPBkJ3SHitl63n8Q6xKeiwQ4EF6Au451euUovREwJpLmD1AyZrCnWmtB9AVg==, + } + dependencies: + preact: 10.12.1 + dev: false + + /@fullcalendar/daygrid@6.1.10(@fullcalendar/core@6.1.10): + resolution: + { + integrity: sha512-Z4GRm1IyHKgxXFTWGcEI0nTsvYOIkpE0aMt3/o3ER2SZkF+hfwcDFhtj0c9+WhMjXFIWYeoTnA9rUOY7Zl/nxA==, + } + peerDependencies: + "@fullcalendar/core": ~6.1.10 + dependencies: + "@fullcalendar/core": 6.1.10 + dev: false + + /@fullcalendar/interaction@6.1.10(@fullcalendar/core@6.1.10): + resolution: + { + integrity: sha512-aZRlwCpmDasq2RNeWV0ub20Uevare9Cb6iMlxCacx0fhOC14H28G9d1FsduJIecInL84SPGwt5ItqAYMsWv7zw==, + } + peerDependencies: + "@fullcalendar/core": ~6.1.10 + dependencies: + "@fullcalendar/core": 6.1.10 + dev: false + + /@fullcalendar/list@6.1.10(@fullcalendar/core@6.1.10): + resolution: + { + integrity: sha512-WE4vuSUCzol4tJd0ZP0cNxeyRPaZcsVVYs2I3qdf3OZQkXwDCdSyWEz0Hluf+XZWcZXt21aEYKlxRjwUpQcf4Q==, + } + peerDependencies: + "@fullcalendar/core": ~6.1.10 + dependencies: + "@fullcalendar/core": 6.1.10 + dev: false + + /@fullcalendar/timegrid@6.1.10(@fullcalendar/core@6.1.10): + resolution: + { + integrity: sha512-hFKyQXJaPbNyq1reZmvkCmM64O99krHoIcJAbDS+dntCm3FzZUcDtAcRKIbMiantHrezCG/1MEYk3m9e3aKvIQ==, + } + peerDependencies: + "@fullcalendar/core": ~6.1.10 + dependencies: + "@fullcalendar/core": 6.1.10 + "@fullcalendar/daygrid": 6.1.10(@fullcalendar/core@6.1.10) + dev: false + + /@fullcalendar/vue3@6.1.10(@fullcalendar/core@6.1.10)(vue@3.3.4): + resolution: + { + integrity: sha512-YMYBQx0TlWNuN4G6ra2dkf5cCF5aVi/2zDLGLvLqe2Nk2o7uNbTkrCSG40061OepWQlJv+hYqm1JukLRmyqi4Q==, + } + peerDependencies: + "@fullcalendar/core": ~6.1.10 + vue: ^3.0.11 + dependencies: + "@fullcalendar/core": 6.1.10 + vue: 3.3.4 + dev: false + + /@hapi/hoek@9.3.0: + resolution: + { + integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==, + } + dev: true + + /@hapi/topo@5.1.0: + resolution: + { + integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==, + } + dependencies: + "@hapi/hoek": 9.3.0 + dev: true + + /@headlessui/tailwindcss@0.2.0(tailwindcss@3.4.0): + resolution: + { + integrity: sha512-fpL830Fln1SykOCboExsWr3JIVeQKieLJ3XytLe/tt1A0XzqUthOftDmjcCYLW62w7mQI7wXcoPXr3tZ9QfGxw==, + } + engines: { node: ">=10" } + peerDependencies: + tailwindcss: ^3.0 + dependencies: + tailwindcss: 3.4.0 + dev: false + + /@headlessui/vue@1.7.16(vue@3.3.4): + resolution: + { + integrity: sha512-nKT+nf/q6x198SsyK54mSszaQl/z+QxtASmgMEJtpxSX2Q0OPJX0upS/9daDyiECpeAsvjkoOrm2O/6PyBQ+Qg==, + } + engines: { node: ">=10" } + peerDependencies: + vue: ^3.2.0 + dependencies: + vue: 3.3.4 + dev: false + + /@heroicons/vue@2.1.1(vue@3.3.4): + resolution: + { + integrity: sha512-Yi5nh/89L193ALgHyJUQUdNLsKXPrrE3yj5yiR8WAlo7nZyXGxGauQcEAmBsa2XJGMhBMuEdoOiuZ8wEwTBxVQ==, + } + peerDependencies: + vue: ">= 3" + dependencies: + vue: 3.3.4 + dev: false + + /@humanwhocodes/config-array@0.11.13: + resolution: + { + integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==, + } + engines: { node: ">=10.10.0" } + dependencies: + "@humanwhocodes/object-schema": 2.0.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@2.0.1: + resolution: + { + integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==, + } + + /@iconify-json/heroicons@1.1.19: + resolution: + { + integrity: sha512-uW2F9vdGll59W21ocBl+wR4Ve+/1CsmzBqPTuOaR3CbKzqnJKwzGASvC4Op0uTieFVWfBaevnzcRxwNo73J29g==, + } + dependencies: + "@iconify/types": 2.0.0 + dev: false + + /@iconify/collections@1.0.374: + resolution: + { + integrity: sha512-7M8ruZSWACypaR+OpBQIk/b5Vf/fzggMlfVv7JqSYrQ9YjCPtIAMgPi7Kbbm1Rinvp5mVXIylGZKaBqqjqKNJQ==, + } + dependencies: + "@iconify/types": 2.0.0 + dev: false + + /@iconify/json@2.2.162: + resolution: + { + integrity: sha512-+3JGi38kZzXpXf/0kviQPjx2yBKLmd/V/kbL+1f4FdcfCd8HeYpcs07SU9HdGxS7jqiTltXws9IKciiahp2rig==, + } + dependencies: + "@iconify/types": 2.0.0 + pathe: 1.1.1 + dev: false + + /@iconify/types@2.0.0: + resolution: + { + integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==, + } + + /@iconify/utils@2.1.14: + resolution: + { + integrity: sha512-9pKIntkbLbjVVFxH32td21Am3AGGJfyI2KY2d8yDQxkZe4BBZtufJI8NgcamFn8B5QKLU9ai2VMo8OEov8jAtw==, + } + dependencies: + "@antfu/install-pkg": 0.1.1 + "@antfu/utils": 0.7.6 + "@iconify/types": 2.0.0 + debug: 4.3.4 + kolorist: 1.8.0 + local-pkg: 0.4.3 + transitivePeerDependencies: + - supports-color + dev: false + + /@iconify/vue@4.1.1(vue@3.3.4): + resolution: + { + integrity: sha512-RL85Bm/DAe8y6rT6pux7D2FJSiUEM/TPfyK7GrbAOfTSwrhvwJW+S5yijdGcmtXouA8MtuH9C7l4hiSE4mLMjg==, + } + peerDependencies: + vue: ">=3" + dependencies: + "@iconify/types": 2.0.0 + vue: 3.3.4 + + /@intlify/bundle-utils@7.5.0(vue-i18n@9.3.0-beta.27): + resolution: + { + integrity: sha512-6DymqusddBQ8kVtVBsVFFF7arNfIhuLacOmmsqayT2vl427j9m0VX12mMC+cgoVIodSpRfzYPaPTdPuJq7mK0Q==, + } + engines: { node: ">= 14.16" } + peerDependencies: + petite-vue-i18n: "*" + vue-i18n: "*" + peerDependenciesMeta: + petite-vue-i18n: + optional: true + vue-i18n: + optional: true + dependencies: + "@intlify/message-compiler": 9.8.0 + "@intlify/shared": 9.8.0 + acorn: 8.10.0 + escodegen: 2.1.0 + estree-walker: 2.0.2 + jsonc-eslint-parser: 2.4.0 + magic-string: 0.30.3 + mlly: 1.4.1 + source-map-js: 1.0.2 + vue-i18n: 9.3.0-beta.27(vue@3.3.4) + yaml-eslint-parser: 1.2.2 + dev: true + + /@intlify/core-base@9.3.0-beta.27: + resolution: + { + integrity: sha512-hWI8dZh9rRLxDt1IqPJQnXgMW5KZrNX2Z4uJCN348gsPVvsN8eB/J71TcNJs+C1mfIjQPwtmzUWPNhTewi8QGg==, + } + engines: { node: ">= 16" } + dependencies: + "@intlify/devtools-if": 9.3.0-beta.27 + "@intlify/message-compiler": 9.3.0-beta.27 + "@intlify/shared": 9.3.0-beta.27 + "@intlify/vue-devtools": 9.3.0-beta.27 + dev: true + + /@intlify/devtools-if@9.3.0-beta.27: + resolution: + { + integrity: sha512-hA0rBQmVy7fN6UGZa+o0DrFTYnUvqD3E2Vqw35XV+huLlMQ2Zui9IpVhWozSy+ov/bdRFIhaxW11DAEG3BHa4w==, + } + engines: { node: ">= 16" } + dependencies: + "@intlify/shared": 9.3.0-beta.27 + dev: true + + /@intlify/message-compiler@9.3.0-beta.27: + resolution: + { + integrity: sha512-GC8rSbd7V67Zu+a9Z0bpV4riBek11YCURJU50YaEhV4Ub2JHEPtoYxK5r2eIsq/kp+M2hJyGLiC4NJUrGa2VwQ==, + } + engines: { node: ">= 16" } + dependencies: + "@intlify/shared": 9.3.0-beta.27 + source-map-js: 1.0.2 + dev: true + + /@intlify/message-compiler@9.8.0: + resolution: + { + integrity: sha512-McnYWhcoYmDJvssVu6QGR0shqlkJuL1HHdi5lK7fNqvQqRYaQ4lSLjYmZxwc8tRNMdIe9/KUKfyPxU9M6yCtNQ==, + } + engines: { node: ">= 16" } + dependencies: + "@intlify/shared": 9.8.0 + source-map-js: 1.0.2 + dev: true + + /@intlify/shared@9.3.0-beta.27: + resolution: + { + integrity: sha512-hPMsmVCs+ZUVHHU5VORG6LopzXZT7zmyVNqc9OQG80YpA/N4lT/pkJ4B6DTNIsv2C7mwfGM7RdK+0qPki43YgA==, + } + engines: { node: ">= 16" } + dev: true + + /@intlify/shared@9.4.1: + resolution: + { + integrity: sha512-A51elBmZWf1FS80inf/32diO9DeXoqg9GR9aUDHFcfHoNDuT46Q+fpPOdj8jiJnSHSBh8E1E+6qWRhAZXdK3Ng==, + } + engines: { node: ">= 16" } + dev: true + + /@intlify/shared@9.8.0: + resolution: + { + integrity: sha512-TmgR0RCLjzrSo+W3wT0ALf9851iFMlVI9EYNGeWvZFUQTAJx0bvfsMlPdgVtV1tDNRiAfhkFsMKu6jtUY1ZLKQ==, + } + engines: { node: ">= 16" } + dev: true + + /@intlify/unplugin-vue-i18n@0.13.0(vue-i18n@9.3.0-beta.27): + resolution: + { + integrity: sha512-Mm9NhcvbsSZ5FXXnCpL/XFCk1hPp809hxErNmnwqGp21JjYOKGp3wpQSrpvGk33ZrHZbhPqAu70IEVEAxVZ5+A==, + } + engines: { node: ">= 14.16" } + peerDependencies: + petite-vue-i18n: "*" + vue-i18n: "*" + vue-i18n-bridge: "*" + peerDependenciesMeta: + petite-vue-i18n: + optional: true + vue-i18n: + optional: true + vue-i18n-bridge: + optional: true + dependencies: + "@intlify/bundle-utils": 7.5.0(vue-i18n@9.3.0-beta.27) + "@intlify/shared": 9.3.0-beta.27 + "@rollup/pluginutils": 5.0.4(rollup@3.28.1) + "@vue/compiler-sfc": 3.3.4 + debug: 4.3.4 + fast-glob: 3.3.1 + js-yaml: 4.1.0 + json5: 2.2.3 + pathe: 1.1.1 + picocolors: 1.0.0 + source-map-js: 1.0.2 + unplugin: 1.4.0 + vue-i18n: 9.3.0-beta.27(vue@3.3.4) + transitivePeerDependencies: + - rollup + - supports-color + dev: true + + /@intlify/vue-devtools@9.3.0-beta.27: + resolution: + { + integrity: sha512-XqES1UsntZjyo5sLgmVol42RK7YpAos3bvCh6NbzFMjPZVJf08PYs+KsUvYi2y0D3OSfmXbZSSh4A5s2O9MT0w==, + } + engines: { node: ">= 16" } + dependencies: + "@intlify/core-base": 9.3.0-beta.27 + "@intlify/shared": 9.3.0-beta.27 + dev: true + + /@intlify/vue-i18n-bridge@0.8.0(vue-i18n@9.3.0-beta.27): + resolution: + { + integrity: sha512-wQ18fSccm9QaWpUW2vq2QHvojgKIog7s+UMj9LeY3pUV3yD9bU4YZI+1PTNoX3tOA+BE71gQyqVGox/TVQKP6Q==, + } + engines: { node: ">= 12" } + hasBin: true + requiresBuild: true + peerDependencies: + "@vue/composition-api": ^1.0.0-rc.1 + vue-i18n: ^8.26.1 || ^9.2.0-beta.25 || ^9.3.0-beta.5 + vue-i18n-bridge: ^9.2.0-beta.25 || ^9.3.0-beta.5 + peerDependenciesMeta: + "@vue/composition-api": + optional: true + vue-i18n: + optional: true + vue-i18n-bridge: + optional: true + dependencies: + vue-i18n: 9.3.0-beta.27(vue@3.3.4) + dev: true + + /@intlify/vue-router-bridge@0.8.0(vue-router@4.2.4)(vue@3.3.4): + resolution: + { + integrity: sha512-CNxOgvyQcRhtGmRrksicL+HGjDijXtz+J/x04C/RslZ74CFdZkxjCe8MABkeD3xr+ry8G8tCm2nV2hLjZbynQw==, + } + engines: { node: ">= 12" } + hasBin: true + requiresBuild: true + peerDependencies: + "@vue/composition-api": ^1.0.0-rc.1 + vue-router: ^4.0.0-0 || ^3.0.0 + peerDependenciesMeta: + "@vue/composition-api": + optional: true + vue-router: + optional: true + dependencies: + vue-demi: 0.13.11(vue@3.3.4) + vue-router: 4.2.4(vue@3.3.4) + transitivePeerDependencies: + - vue + dev: true + + /@ioredis/commands@1.2.0: + resolution: + { + integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==, + } + + /@isaacs/cliui@8.0.2: + resolution: + { + integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==, + } + engines: { node: ">=12" } + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + + /@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: true + + /@jridgewell/gen-mapping@0.3.3: + resolution: + { + integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==, + } + engines: { node: ">=6.0.0" } + dependencies: + "@jridgewell/set-array": 1.1.2 + "@jridgewell/sourcemap-codec": 1.4.15 + "@jridgewell/trace-mapping": 0.3.19 + + /@jridgewell/resolve-uri@3.1.1: + resolution: + { + integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==, + } + 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.3 + "@jridgewell/trace-mapping": 0.3.19 + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: + { + integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, + } + + /@jridgewell/trace-mapping@0.3.19: + resolution: + { + integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==, + } + dependencies: + "@jridgewell/resolve-uri": 3.1.1 + "@jridgewell/sourcemap-codec": 1.4.15 + + /@koa/router@12.0.1: + resolution: + { + integrity: sha512-ribfPYfHb+Uw3b27Eiw6NPqjhIhTpVFzEWLwyc/1Xp+DCdwRRyIlAUODX+9bPARF6aQtUu1+/PHzdNvRzcs/+Q==, + } + engines: { node: ">= 12" } + dependencies: + debug: 4.3.4 + http-errors: 2.0.0 + koa-compose: 4.1.0 + methods: 1.1.2 + path-to-regexp: 6.2.1 + transitivePeerDependencies: + - supports-color + + /@kwsites/file-exists@1.1.1: + resolution: + { + integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==, + } + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@kwsites/promise-deferred@1.1.1: + resolution: + { + integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==, + } + dev: true + + /@mapbox/node-pre-gyp@1.0.11: + resolution: + { + integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==, + } + hasBin: true + dependencies: + detect-libc: 2.0.2 + https-proxy-agent: 5.0.1 + make-dir: 3.1.0 + node-fetch: 2.7.0 + nopt: 5.0.0 + npmlog: 5.0.1 + rimraf: 3.0.2 + semver: 7.5.4 + tar: 6.1.15 + transitivePeerDependencies: + - encoding + - supports-color + + /@mizchi/sucrase@4.1.0: + resolution: + { + integrity: sha512-AaN8HSGdXmNqEqIb0IQPIQL+MI/8Xr1QTOcVnA6k0u2afqfYhlre05hSxRybOFpq34oF8EqMTrYovYZxEV1FLw==, + } + engines: { node: ">=14" } + dependencies: + lines-and-columns: 1.2.4 + dev: true + + /@netlify/functions@2.0.2: + resolution: + { + integrity: sha512-goWRtaIPUK/q47qLYtfGGj7HgJIRaT0snw7zZ0yeoNTfQfCRwQwvRrMAsXkCsCtq2N2Oo81L26SpkMxEQMk9hg==, + } + engines: { node: ">=14.0.0" } + dependencies: + "@netlify/serverless-functions-api": 1.7.3 + is-promise: 4.0.0 + + /@netlify/node-cookies@0.1.0: + resolution: + { + integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==, + } + engines: { node: ^14.16.0 || >=16.0.0 } + + /@netlify/serverless-functions-api@1.7.3: + resolution: + { + integrity: sha512-n6/7cJlSWvvbBlUOEAbkGyEld80S6KbG/ldQI9OhLfe1lTatgKmrTNIgqVNpaWpUdTgP2OHWFjmFBzkxxBWs5w==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + dependencies: + "@netlify/node-cookies": 0.1.0 + urlpattern-polyfill: 8.0.2 + + /@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/agent@2.0.0: + resolution: + { + integrity: sha512-RpRbD6PnaQIUl+p8MoH7sl2CHyMofCO0abOV+0VulqKW84+0nRWnj0bYFQELTN5HpNvzWAV8pRN6Fjx9ZLOS0g==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + dependencies: + lru-cache: 10.0.1 + socks: 2.7.1 + dev: true + + /@npmcli/fs@3.1.0: + resolution: + { + integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dependencies: + semver: 7.5.4 + dev: true + + /@npmcli/git@5.0.1: + resolution: + { + integrity: sha512-9zUEqmRMZU5bmqWVu83wFVHH9kwLEQeMuDUDSYsBK/L4qbBl8Shdoc5EWfANzAdy5kFuPbBn7ToXTakbVdlCZg==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + dependencies: + "@npmcli/promise-spawn": 6.0.2 + lru-cache: 10.0.1 + npm-pick-manifest: 9.0.0 + proc-log: 3.0.0 + promise-inflight: 1.0.1 + promise-retry: 2.0.1 + semver: 7.5.4 + which: 3.0.1 + transitivePeerDependencies: + - bluebird + dev: true + + /@npmcli/installed-package-contents@2.0.2: + resolution: + { + integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + hasBin: true + dependencies: + npm-bundled: 3.0.0 + npm-normalize-package-bin: 3.0.1 + dev: true + + /@npmcli/node-gyp@3.0.0: + resolution: + { + integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dev: true + + /@npmcli/promise-spawn@6.0.2: + resolution: + { + integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dependencies: + which: 3.0.1 + dev: true + + /@npmcli/run-script@6.0.2: + resolution: + { + integrity: sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dependencies: + "@npmcli/node-gyp": 3.0.0 + "@npmcli/promise-spawn": 6.0.2 + node-gyp: 9.4.0 + read-package-json-fast: 3.0.2 + which: 3.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@nuxt/devalue@2.0.2: + resolution: + { + integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==, + } + + /@nuxt/devtools-kit@0.8.2(nuxt@3.7.0)(vite@4.4.9): + resolution: + { + integrity: sha512-GEqpBxa/ojfhAM9HN5L/OzCADpfH9nDbcC7INHFgao6KuAu6JclTpcuV6VZP6LthsETBsd2cKAt93WY+vEJnnQ==, + } + peerDependencies: + nuxt: ^3.6.5 + vite: "*" + dependencies: + "@nuxt/kit": 3.7.0 + "@nuxt/schema": 3.7.0 + execa: 7.2.0 + nuxt: 3.7.0(eslint@8.54.0)(sass@1.69.5)(typescript@5.3.3) + vite: 4.4.9(@types/node@20.5.7)(sass@1.69.5) + transitivePeerDependencies: + - rollup + - supports-color + dev: true + + /@nuxt/devtools-kit@1.0.6(nuxt@3.7.0)(vite@4.4.9): + resolution: + { + integrity: sha512-CUSE++NRTIwvBWbLsPzLZIDMpXr6oyllaWm8tOR3Wgr/04jW31uyWbXjU/fxRuDotQwZfcTe19uunRoCoBnk1Q==, + } + peerDependencies: + nuxt: ^3.8.2 + vite: "*" + dependencies: + "@nuxt/kit": 3.9.0 + "@nuxt/schema": 3.9.0 + execa: 7.2.0 + nuxt: 3.7.0(eslint@8.54.0)(sass@1.69.5)(typescript@5.3.3) + vite: 4.4.9(@types/node@20.5.7)(sass@1.69.5) + transitivePeerDependencies: + - rollup + - supports-color + dev: false + + /@nuxt/devtools-wizard@0.8.2: + resolution: + { + integrity: sha512-d6uT98di8T6Bn/aQpRwMZPjUtrdBmjNAdrDS8s3e2SDy13HVMAsEVbJWKtfYV8oN8vrSkB0Z6tGgdbKyOLyiuw==, + } + hasBin: true + dependencies: + consola: 3.2.3 + diff: 5.1.0 + execa: 7.2.0 + global-dirs: 3.0.1 + magicast: 0.2.10 + pathe: 1.1.1 + picocolors: 1.0.0 + pkg-types: 1.0.3 + prompts: 2.4.2 + rc9: 2.1.1 + semver: 7.5.4 + dev: true + + /@nuxt/devtools@0.8.2(nuxt@3.7.0)(vite@4.4.9): + resolution: + { + integrity: sha512-E3ycLEkqTlXpdz3P7lJRMdB4AnC4tzALM6N6eCUskSCtUQfF57mjk0k7z1duHIjU8xTIFm6gnsotJnR/n6/B0g==, + } + hasBin: true + peerDependencies: + nuxt: ^3.6.5 + vite: "*" + dependencies: + "@antfu/utils": 0.7.6 + "@nuxt/devtools-kit": 0.8.2(nuxt@3.7.0)(vite@4.4.9) + "@nuxt/devtools-wizard": 0.8.2 + "@nuxt/kit": 3.7.0 + birpc: 0.2.13 + boxen: 7.1.1 + consola: 3.2.3 + error-stack-parser-es: 0.1.1 + execa: 7.2.0 + fast-folder-size: 2.2.0 + fast-glob: 3.3.1 + flatted: 3.2.7 + get-port-please: 3.0.2 + global-dirs: 3.0.1 + h3: 1.8.1 + hookable: 5.5.3 + image-meta: 0.1.1 + is-installed-globally: 0.4.0 + launch-editor: 2.6.0 + local-pkg: 0.4.3 + magicast: 0.2.10 + nuxt: 3.7.0(eslint@8.54.0)(sass@1.69.5)(typescript@5.3.3) + nypm: 0.3.2 + ofetch: 1.3.3 + ohash: 1.1.3 + pacote: 17.0.3 + pathe: 1.1.1 + perfect-debounce: 1.0.0 + picocolors: 1.0.0 + pkg-types: 1.0.3 + rc9: 2.1.1 + semver: 7.5.4 + simple-git: 3.19.1 + sirv: 2.0.3 + unimport: 3.2.0(rollup@3.28.1) + vite: 4.4.9(@types/node@20.5.7)(sass@1.69.5) + vite-plugin-inspect: 0.7.38(@nuxt/kit@3.7.0)(vite@4.4.9) + vite-plugin-vue-inspector: 3.6.0(vite@4.4.9) + wait-on: 7.0.1 + which: 3.0.1 + ws: 8.13.0 + transitivePeerDependencies: + - bluebird + - bufferutil + - debug + - rollup + - supports-color + - utf-8-validate + dev: true + + /@nuxt/kit@3.7.0: + resolution: + { + integrity: sha512-bsPRb2NTLHRacjyybhhA3pZFIqo2pxB6bcP4FQDuzlGzVTI5PtJzbfNpkmQC7q+LZt8K0pNlxKVGisDvZctk6w==, + } + engines: { node: ^14.18.0 || >=16.10.0 } + dependencies: + "@nuxt/schema": 3.7.0 + c12: 1.4.2 + consola: 3.2.3 + defu: 6.1.2 + globby: 13.2.2 + hash-sum: 2.0.0 + ignore: 5.2.4 + jiti: 1.19.3 + knitwork: 1.0.0 + mlly: 1.4.1 + pathe: 1.1.1 + pkg-types: 1.0.3 + scule: 1.0.0 + semver: 7.5.4 + ufo: 1.3.0 + unctx: 2.3.1 + unimport: 3.2.0(rollup@3.28.1) + untyped: 1.4.0 + transitivePeerDependencies: + - rollup + - supports-color + + /@nuxt/kit@3.9.0: + resolution: + { + integrity: sha512-XVFQihMTXM5y7Xj7EXbcDbUbxNkC8+ArQKArAH5PK1ulCWZWyP+VR94Gg2boo9vI2eNLTs+LquxnOtOHRQrg0A==, + } + engines: { node: ^14.18.0 || >=16.10.0 } + dependencies: + "@nuxt/schema": 3.9.0 + c12: 1.5.1 + consola: 3.2.3 + defu: 6.1.3 + globby: 14.0.0 + hash-sum: 2.0.0 + ignore: 5.3.0 + jiti: 1.21.0 + knitwork: 1.0.0 + mlly: 1.4.2 + pathe: 1.1.1 + pkg-types: 1.0.3 + scule: 1.1.1 + semver: 7.5.4 + ufo: 1.3.2 + unctx: 2.3.1 + unimport: 3.7.1 + untyped: 1.4.0 + transitivePeerDependencies: + - rollup + - supports-color + + /@nuxt/schema@3.7.0: + resolution: + { + integrity: sha512-fNRAubny1x6rIibm/HcacnEGeAQri/FkJ5ei24aY4YjQ12+xDfi7bljfFr6C2+CrEGc1beYd4OQcUqXqEpz5+g==, + } + engines: { node: ^14.18.0 || >=16.10.0 } + dependencies: + "@nuxt/ui-templates": 1.3.1 + defu: 6.1.2 + hookable: 5.5.3 + pathe: 1.1.1 + pkg-types: 1.0.3 + postcss-import-resolver: 2.0.0 + std-env: 3.4.3 + ufo: 1.3.0 + unimport: 3.2.0(rollup@3.28.1) + untyped: 1.4.0 + transitivePeerDependencies: + - rollup + - supports-color + + /@nuxt/schema@3.9.0: + resolution: + { + integrity: sha512-NaRiq+g6XE4YOZLy7be2e6AmZCW0gfQWDM88TSfNr3Lypo+6PuY2VqzZLpSvOCNlW3CFj/kWtMdhool2BP0yIg==, + } + engines: { node: ^14.18.0 || >=16.10.0 } + dependencies: + "@nuxt/ui-templates": 1.3.1 + consola: 3.2.3 + defu: 6.1.3 + hookable: 5.5.3 + pathe: 1.1.1 + pkg-types: 1.0.3 + scule: 1.1.1 + std-env: 3.7.0 + ufo: 1.3.2 + unimport: 3.7.1 + untyped: 1.4.0 + transitivePeerDependencies: + - rollup + - supports-color + + /@nuxt/telemetry@2.4.1: + resolution: + { + integrity: sha512-Cj+4sXjO5pZNW2sX7Y+djYpf4pZwgYF3rV/YHLWIOq9nAjo2UcDXjh1z7qnhkoUkvJN3lHnvhnCNhfAioe6k/A==, + } + hasBin: true + dependencies: + "@nuxt/kit": 3.7.0 + chalk: 5.3.0 + ci-info: 3.8.0 + consola: 3.2.3 + create-require: 1.1.1 + defu: 6.1.2 + destr: 2.0.1 + dotenv: 16.3.1 + fs-extra: 11.1.1 + git-url-parse: 13.1.0 + is-docker: 3.0.0 + jiti: 1.19.3 + mri: 1.2.0 + nanoid: 4.0.2 + node-fetch: 3.3.2 + ofetch: 1.3.3 + parse-git-config: 3.0.0 + pathe: 1.1.1 + rc9: 2.1.1 + std-env: 3.4.3 + transitivePeerDependencies: + - rollup + - supports-color + + /@nuxt/test-utils@3.9.0(h3@1.8.1)(vite@4.4.9)(vitest@0.34.6)(vue-router@4.2.4)(vue@3.3.4): + resolution: + { + integrity: sha512-17qaU4vfFJWIaT4BJ/R6C2rIuvxaF5HaiRusXHhA/34SyiduNEhezIvIVqhWVkn33y5CNueduE0AykBEj1IgEA==, + } + engines: { node: ^14.18.0 || >=16.10.0 } + peerDependencies: + "@jest/globals": ^29.5.0 + "@testing-library/vue": ^7.0.0 || ^8.0.1 + "@vitest/ui": ^0.34.6 || ^1.0.0 + "@vue/test-utils": ^2.4.2 + h3: "*" + happy-dom: ^9.10.9 || ^10.0.0 || ^11.0.0 || ^12.0.0 + jsdom: ^22.0.0 || ^23.0.0 + playwright-core: ^1.34.3 + vite: "*" + vitest: ^0.34.6 || ^1.0.0 + vue: ^3.3.4 + vue-router: ^4.0.0 + peerDependenciesMeta: + "@jest/globals": + optional: true + "@testing-library/vue": + optional: true + "@vitest/ui": + optional: true + "@vue/test-utils": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + playwright-core: + optional: true + vitest: + optional: true + dependencies: + "@nuxt/kit": 3.9.0 + "@nuxt/schema": 3.9.0 + c12: 1.5.1 + consola: 3.2.3 + defu: 6.1.3 + destr: 2.0.2 + estree-walker: 3.0.3 + execa: 8.0.1 + fake-indexeddb: 5.0.1 + get-port-please: 3.1.1 + h3: 1.8.1 + local-pkg: 0.5.0 + magic-string: 0.30.5 + node-fetch-native: 1.6.1 + ofetch: 1.3.3 + pathe: 1.1.1 + perfect-debounce: 1.0.0 + radix3: 1.1.0 + scule: 1.1.1 + std-env: 3.7.0 + ufo: 1.3.2 + unenv: 1.8.0 + unplugin: 1.6.0 + vite: 4.4.9(@types/node@20.5.7)(sass@1.69.5) + vitest: 0.34.6(sass@1.69.5) + vitest-environment-nuxt: 1.0.0(h3@1.8.1)(vite@4.4.9)(vitest@0.34.6)(vue-router@4.2.4)(vue@3.3.4) + vue: 3.3.4 + vue-router: 4.2.4(vue@3.3.4) + transitivePeerDependencies: + - rollup + - supports-color + dev: true + + /@nuxt/ui-templates@1.3.1: + resolution: + { + integrity: sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==, + } + + /@nuxt/ui@2.11.1(nuxt@3.7.0)(vite@4.4.9)(vue@3.3.4): + resolution: + { + integrity: sha512-g+I2qnW1oYeo5xGhA0DsNu8zT5rTbCqt/APocDvYwdNdssrs1ra7mBERcEVkyDIyg2UR6EzTgV2mngLSLBID7g==, + } + engines: { node: ">=v16.20.2" } + dependencies: + "@egoist/tailwindcss-icons": 1.7.1(tailwindcss@3.4.0) + "@headlessui/tailwindcss": 0.2.0(tailwindcss@3.4.0) + "@headlessui/vue": 1.7.16(vue@3.3.4) + "@iconify-json/heroicons": 1.1.19 + "@nuxt/kit": 3.9.0 + "@nuxtjs/color-mode": 3.3.2 + "@nuxtjs/tailwindcss": 6.10.3 + "@popperjs/core": 2.11.8 + "@tailwindcss/aspect-ratio": 0.4.2(tailwindcss@3.4.0) + "@tailwindcss/container-queries": 0.1.1(tailwindcss@3.4.0) + "@tailwindcss/forms": 0.5.7(tailwindcss@3.4.0) + "@tailwindcss/typography": 0.5.10(tailwindcss@3.4.0) + "@vueuse/core": 10.7.1(vue@3.3.4) + "@vueuse/integrations": 10.7.1(fuse.js@6.6.2)(vue@3.3.4) + "@vueuse/math": 10.7.1(vue@3.3.4) + defu: 6.1.3 + fuse.js: 6.6.2 + nuxt-icon: 0.6.8(nuxt@3.7.0)(vite@4.4.9)(vue@3.3.4) + ohash: 1.1.3 + pathe: 1.1.1 + scule: 1.1.1 + tailwind-merge: 1.14.0 + tailwindcss: 3.4.0 + transitivePeerDependencies: + - "@vue/composition-api" + - async-validator + - axios + - change-case + - drauu + - focus-trap + - idb-keyval + - jwt-decode + - nprogress + - nuxt + - qrcode + - rollup + - sortablejs + - supports-color + - ts-node + - universal-cookie + - vite + - vue + dev: false + + /@nuxt/vite-builder@3.7.0(eslint@8.54.0)(sass@1.69.5)(typescript@5.3.3)(vue@3.3.4): + resolution: + { + integrity: sha512-bRJy3KarHrFm/xLGHoHeZyqI/h6c4UFRCF5ngRZ/R9uebJEHuL4UhAioxDLTFu7D0vEeK7XaDgx6+NPLhBg51g==, + } + engines: { node: ^14.18.0 || >=16.10.0 } + peerDependencies: + vue: ^3.3.4 + dependencies: + "@nuxt/kit": 3.7.0 + "@rollup/plugin-replace": 5.0.2(rollup@3.28.1) + "@vitejs/plugin-vue": 4.3.4(vite@4.4.9)(vue@3.3.4) + "@vitejs/plugin-vue-jsx": 3.0.2(vite@4.4.9)(vue@3.3.4) + autoprefixer: 10.4.15(postcss@8.4.29) + clear: 0.1.0 + consola: 3.2.3 + cssnano: 6.0.1(postcss@8.4.29) + defu: 6.1.2 + esbuild: 0.19.2 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + externality: 1.0.2 + fs-extra: 11.1.1 + get-port-please: 3.0.2 + h3: 1.8.1 + knitwork: 1.0.0 + magic-string: 0.30.3 + mlly: 1.4.1 + ohash: 1.1.3 + pathe: 1.1.1 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + postcss: 8.4.29 + postcss-import: 15.1.0(postcss@8.4.29) + postcss-url: 10.1.3(postcss@8.4.29) + rollup-plugin-visualizer: 5.9.2(rollup@3.28.1) + std-env: 3.4.3 + strip-literal: 1.3.0 + ufo: 1.3.0 + unplugin: 1.4.0 + vite: 4.4.9(@types/node@20.5.7)(sass@1.69.5) + vite-node: 0.33.0(sass@1.69.5) + vite-plugin-checker: 0.6.2(eslint@8.54.0)(typescript@5.3.3)(vite@4.4.9) + vue: 3.3.4 + vue-bundle-renderer: 2.0.0 + transitivePeerDependencies: + - "@types/node" + - eslint + - less + - lightningcss + - meow + - optionator + - rollup + - sass + - stylelint + - stylus + - sugarss + - supports-color + - terser + - typescript + - vls + - vti + - vue-tsc + + /@nuxtjs/color-mode@3.3.2: + resolution: + { + integrity: sha512-BLpBfrYZngV2QWFQ4HNEFwAXa3Pno43Ge+2XHcZJTTa1Z4KzRLvOwku8yiyV3ovIaaXKGwduBdv3Z5Ocdp0/+g==, + } + dependencies: + "@nuxt/kit": 3.9.0 + lodash.template: 4.5.0 + pathe: 1.1.1 + transitivePeerDependencies: + - rollup + - supports-color + dev: false + + /@nuxtjs/i18n@8.0.0-rc.4(vue-router@4.2.4)(vue@3.3.4): + resolution: + { + integrity: sha512-cxeptuvpUi4nA3PvaR8HTqRqnywx0djr/6Pc+47Eh2ut06hiO2ufHOUl4nUFElBd+gOTenKxGnzga3XQkojj0A==, + } + engines: { node: ^14.16.0 || >=16.11.0 } + dependencies: + "@intlify/shared": 9.3.0-beta.27 + "@intlify/unplugin-vue-i18n": 0.13.0(vue-i18n@9.3.0-beta.27) + "@mizchi/sucrase": 4.1.0 + "@nuxt/kit": 3.7.0 + "@vue/compiler-sfc": 3.3.4 + cookie-es: 1.0.0 + debug: 4.3.4 + defu: 6.1.2 + estree-walker: 3.0.3 + is-https: 4.0.0 + js-cookie: 3.0.5 + knitwork: 1.0.0 + magic-string: 0.27.0 + mlly: 1.4.1 + pathe: 1.1.1 + pkg-types: 1.0.3 + ufo: 1.3.0 + unplugin: 1.4.0 + unstorage: 1.9.0 + vue-i18n: 9.3.0-beta.27(vue@3.3.4) + vue-i18n-routing: 0.13.4(vue-i18n@9.3.0-beta.27)(vue-router@4.2.4)(vue@3.3.4) + transitivePeerDependencies: + - "@azure/app-configuration" + - "@azure/cosmos" + - "@azure/data-tables" + - "@azure/identity" + - "@azure/keyvault-secrets" + - "@azure/storage-blob" + - "@capacitor/preferences" + - "@planetscale/database" + - "@upstash/redis" + - "@vercel/kv" + - "@vue/composition-api" + - idb-keyval + - petite-vue-i18n + - rollup + - supports-color + - vue + - vue-i18n-bridge + - vue-router + dev: true + + /@nuxtjs/tailwindcss@6.10.3: + resolution: + { + integrity: sha512-AXkfAW0RLbJfPtdw0QY6+1q+N0e9790zhu6t9DezEvHqfG0ajBSwDTvuu3P48hOcxZpY3PZ+j8N0LDTqCW9X8w==, + } + dependencies: + "@nuxt/kit": 3.9.0 + autoprefixer: 10.4.16(postcss@8.4.32) + chokidar: 3.5.3 + clear-module: 4.1.2 + colorette: 2.0.20 + consola: 3.2.3 + defu: 6.1.3 + h3: 1.9.0 + micromatch: 4.0.5 + pathe: 1.1.1 + postcss: 8.4.32 + postcss-custom-properties: 13.3.3(postcss@8.4.32) + postcss-nesting: 12.0.2(postcss@8.4.32) + tailwind-config-viewer: 1.7.3(tailwindcss@3.4.0) + tailwindcss: 3.4.0 + ufo: 1.3.2 + transitivePeerDependencies: + - rollup + - supports-color + - ts-node + + /@parcel/watcher-android-arm64@2.3.0: + resolution: + { + integrity: sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA==, + } + engines: { node: ">= 10.0.0" } + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@parcel/watcher-darwin-arm64@2.3.0: + resolution: + { + integrity: sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw==, + } + engines: { node: ">= 10.0.0" } + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@parcel/watcher-darwin-x64@2.3.0: + resolution: + { + integrity: sha512-20oBj8LcEOnLE3mgpy6zuOq8AplPu9NcSSSfyVKgfOhNAc4eF4ob3ldj0xWjGGbOF7Dcy1Tvm6ytvgdjlfUeow==, + } + engines: { node: ">= 10.0.0" } + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@parcel/watcher-freebsd-x64@2.3.0: + resolution: + { + integrity: sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw==, + } + engines: { node: ">= 10.0.0" } + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@parcel/watcher-linux-arm-glibc@2.3.0: + resolution: + { + integrity: sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ==, + } + engines: { node: ">= 10.0.0" } + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@parcel/watcher-linux-arm64-glibc@2.3.0: + resolution: + { + integrity: sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA==, + } + engines: { node: ">= 10.0.0" } + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@parcel/watcher-linux-arm64-musl@2.3.0: + resolution: + { + integrity: sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw==, + } + engines: { node: ">= 10.0.0" } + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@parcel/watcher-linux-x64-glibc@2.3.0: + resolution: + { + integrity: sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow==, + } + engines: { node: ">= 10.0.0" } + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@parcel/watcher-linux-x64-musl@2.3.0: + resolution: + { + integrity: sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g==, + } + engines: { node: ">= 10.0.0" } + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@parcel/watcher-wasm@2.3.0: + resolution: + { + integrity: sha512-ejBAX8H0ZGsD8lSICDNyMbSEtPMWgDL0WFCt/0z7hyf5v8Imz4rAM8xY379mBsECkq/Wdqa5WEDLqtjZ+6NxfA==, + } + engines: { node: ">= 10.0.0" } + dependencies: + is-glob: 4.0.3 + micromatch: 4.0.5 + bundledDependencies: + - napi-wasm + + /@parcel/watcher-win32-arm64@2.3.0: + resolution: + { + integrity: sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw==, + } + engines: { node: ">= 10.0.0" } + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + + /@parcel/watcher-win32-ia32@2.3.0: + resolution: + { + integrity: sha512-FJS/IBQHhRpZ6PiCjFt1UAcPr0YmCLHRbTc00IBTrelEjlmmgIVLeOx4MSXzx2HFEy5Jo5YdhGpxCuqCyDJ5ow==, + } + engines: { node: ">= 10.0.0" } + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /@parcel/watcher-win32-x64@2.3.0: + resolution: + { + integrity: sha512-dLx+0XRdMnVI62kU3wbXvbIRhLck4aE28bIGKbRGS7BJNt54IIj9+c/Dkqb+7DJEbHUZAX1bwaoM8PqVlHJmCA==, + } + engines: { node: ">= 10.0.0" } + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + + /@parcel/watcher@2.3.0: + resolution: + { + integrity: sha512-pW7QaFiL11O0BphO+bq3MgqeX/INAk9jgBldVDYjlQPO4VddoZnF22TcF9onMhnLVHuNqBJeRf+Fj7eezi/+rQ==, + } + engines: { node: ">= 10.0.0" } + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.5 + node-addon-api: 7.0.0 + optionalDependencies: + "@parcel/watcher-android-arm64": 2.3.0 + "@parcel/watcher-darwin-arm64": 2.3.0 + "@parcel/watcher-darwin-x64": 2.3.0 + "@parcel/watcher-freebsd-x64": 2.3.0 + "@parcel/watcher-linux-arm-glibc": 2.3.0 + "@parcel/watcher-linux-arm64-glibc": 2.3.0 + "@parcel/watcher-linux-arm64-musl": 2.3.0 + "@parcel/watcher-linux-x64-glibc": 2.3.0 + "@parcel/watcher-linux-x64-musl": 2.3.0 + "@parcel/watcher-win32-arm64": 2.3.0 + "@parcel/watcher-win32-ia32": 2.3.0 + "@parcel/watcher-win32-x64": 2.3.0 + + /@pkgjs/parseargs@0.11.0: + resolution: + { + integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==, + } + engines: { node: ">=14" } + requiresBuild: true + optional: true + + /@polka/url@1.0.0-next.21: + resolution: + { + integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==, + } + dev: true + + /@popperjs/core@2.11.8: + resolution: + { + integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==, + } + dev: false + + /@rollup/plugin-alias@5.0.0(rollup@3.28.1): + resolution: + { + integrity: sha512-l9hY5chSCjuFRPsnRm16twWBiSApl2uYFLsepQYwtBuAxNMQ/1dJqADld40P0Jkqm65GRTLy/AC6hnpVebtLsA==, + } + engines: { node: ">=14.0.0" } + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + rollup: 3.28.1 + slash: 4.0.0 + + /@rollup/plugin-commonjs@25.0.4(rollup@3.28.1): + resolution: + { + integrity: sha512-L92Vz9WUZXDnlQQl3EwbypJR4+DM2EbsO+/KOcEkP4Mc6Ct453EeDB2uH9lgRwj4w5yflgNpq9pHOiY8aoUXBQ==, + } + engines: { node: ">=14.0.0" } + peerDependencies: + rollup: ^2.68.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + "@rollup/pluginutils": 5.0.4(rollup@3.28.1) + commondir: 1.0.1 + estree-walker: 2.0.2 + glob: 8.1.0 + is-reference: 1.2.1 + magic-string: 0.27.0 + rollup: 3.28.1 + + /@rollup/plugin-inject@5.0.3(rollup@3.28.1): + resolution: + { + integrity: sha512-411QlbL+z2yXpRWFXSmw/teQRMkXcAAC8aYTemc15gwJRpvEVDQwoe+N/HTFD8RFG8+88Bme9DK2V9CVm7hJdA==, + } + engines: { node: ">=14.0.0" } + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + "@rollup/pluginutils": 5.0.4(rollup@3.28.1) + estree-walker: 2.0.2 + magic-string: 0.27.0 + rollup: 3.28.1 + + /@rollup/plugin-json@6.0.0(rollup@3.28.1): + resolution: + { + integrity: sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==, + } + engines: { node: ">=14.0.0" } + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + "@rollup/pluginutils": 5.0.4(rollup@3.28.1) + rollup: 3.28.1 + + /@rollup/plugin-node-resolve@15.2.1(rollup@3.28.1): + resolution: + { + integrity: sha512-nsbUg588+GDSu8/NS8T4UAshO6xeaOfINNuXeVHcKV02LJtoRaM1SiOacClw4kws1SFiNhdLGxlbMY9ga/zs/w==, + } + engines: { node: ">=14.0.0" } + peerDependencies: + rollup: ^2.78.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + "@rollup/pluginutils": 5.0.4(rollup@3.28.1) + "@types/resolve": 1.20.2 + deepmerge: 4.3.1 + is-builtin-module: 3.2.1 + is-module: 1.0.0 + resolve: 1.22.4 + rollup: 3.28.1 + + /@rollup/plugin-replace@5.0.2(rollup@3.28.1): + resolution: + { + integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==, + } + engines: { node: ">=14.0.0" } + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + "@rollup/pluginutils": 5.0.4(rollup@3.28.1) + magic-string: 0.27.0 + rollup: 3.28.1 + + /@rollup/plugin-terser@0.4.3(rollup@3.28.1): + resolution: + { + integrity: sha512-EF0oejTMtkyhrkwCdg0HJ0IpkcaVg1MMSf2olHb2Jp+1mnLM04OhjpJWGma4HobiDTF0WCyViWuvadyE9ch2XA==, + } + engines: { node: ">=14.0.0" } + peerDependencies: + rollup: ^2.x || ^3.x + peerDependenciesMeta: + rollup: + optional: true + dependencies: + rollup: 3.28.1 + serialize-javascript: 6.0.1 + smob: 1.4.0 + terser: 5.19.3 + + /@rollup/plugin-wasm@6.1.3(rollup@3.28.1): + resolution: + { + integrity: sha512-7ItTTeyauE6lwdDtQWceEHZ9+txbi4RRy0mYPFn9BW7rD7YdgBDu7HTHsLtHrRzJc313RM/1m6GKgV3np/aEaw==, + } + engines: { node: ">=14.0.0" } + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + rollup: 3.28.1 + + /@rollup/pluginutils@4.2.1: + resolution: + { + integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==, + } + engines: { node: ">= 8.0.0" } + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.1 + + /@rollup/pluginutils@5.0.4(rollup@3.28.1): + resolution: + { + integrity: sha512-0KJnIoRI8A+a1dqOYLxH8vBf8bphDmty5QvIm2hqm7oFCFYKCAZWWd2hXgMibaPsNDhI0AtpYfQZJG47pt/k4g==, + } + engines: { node: ">=14.0.0" } + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + "@types/estree": 1.0.1 + estree-walker: 2.0.2 + picomatch: 2.3.1 + rollup: 3.28.1 + + /@rollup/pluginutils@5.1.0: + resolution: + { + integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==, + } + engines: { node: ">=14.0.0" } + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + "@types/estree": 1.0.1 + estree-walker: 2.0.2 + picomatch: 2.3.1 + + /@sideway/address@4.1.4: + resolution: + { + integrity: sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==, + } + dependencies: + "@hapi/hoek": 9.3.0 + dev: true + + /@sideway/formula@3.0.1: + resolution: + { + integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==, + } + dev: true + + /@sideway/pinpoint@2.0.0: + resolution: + { + integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==, + } + dev: true + + /@sigstore/bundle@2.1.0: + resolution: + { + integrity: sha512-89uOo6yh/oxaU8AeOUnVrTdVMcGk9Q1hJa7Hkvalc6G3Z3CupWk4Xe9djSgJm9fMkH69s0P0cVHUoKSOemLdng==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + dependencies: + "@sigstore/protobuf-specs": 0.2.1 + dev: true + + /@sigstore/protobuf-specs@0.2.1: + resolution: + { + integrity: sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dev: true + + /@sigstore/sign@2.1.0: + resolution: + { + integrity: sha512-4VRpfJxs+8eLqzLVrZngVNExVA/zAhVbi4UT4zmtLi4xRd7vz5qie834OgkrGsLlLB1B2nz/3wUxT1XAUBe8gw==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + dependencies: + "@sigstore/bundle": 2.1.0 + "@sigstore/protobuf-specs": 0.2.1 + make-fetch-happen: 13.0.0 + dev: true + + /@sigstore/tuf@2.1.0: + resolution: + { + integrity: sha512-BUoVCx+7Wj+8moEGvUU2MyBI+f93lmg1CLmoG6KrhQMeDyAG8HAZNk+YRCNuvwvSDCfPhwsj37Bg63/Q+bnGsw==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + dependencies: + "@sigstore/protobuf-specs": 0.2.1 + tuf-js: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@sinclair/typebox@0.27.8: + resolution: + { + integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, + } + dev: true + + /@sindresorhus/merge-streams@1.0.0: + resolution: + { + integrity: sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw==, + } + engines: { node: ">=18" } + + /@tailwindcss/aspect-ratio@0.4.2(tailwindcss@3.4.0): + resolution: + { + integrity: sha512-8QPrypskfBa7QIMuKHg2TA7BqES6vhBrDLOv8Unb6FcFyd3TjKbc6lcmb9UPQHxfl24sXoJ41ux/H7qQQvfaSQ==, + } + peerDependencies: + tailwindcss: ">=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1" + dependencies: + tailwindcss: 3.4.0 + dev: false + + /@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.0): + resolution: + { + integrity: sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==, + } + peerDependencies: + tailwindcss: ">=3.2.0" + dependencies: + tailwindcss: 3.4.0 + dev: false + + /@tailwindcss/forms@0.5.7(tailwindcss@3.4.0): + resolution: + { + integrity: sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==, + } + peerDependencies: + tailwindcss: ">=3.0.0 || >= 3.0.0-alpha.1" + dependencies: + mini-svg-data-uri: 1.4.4 + tailwindcss: 3.4.0 + dev: false + + /@tailwindcss/typography@0.5.10(tailwindcss@3.4.0): + resolution: + { + integrity: sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==, + } + peerDependencies: + tailwindcss: ">=3.0.0 || insiders" + dependencies: + lodash.castarray: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + postcss-selector-parser: 6.0.10 + tailwindcss: 3.4.0 + dev: false + + /@tootallnate/once@2.0.0: + resolution: + { + integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==, + } + engines: { node: ">= 10" } + dev: true + + /@trysound/sax@0.2.0: + resolution: + { + integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==, + } + engines: { node: ">=10.13.0" } + + /@tufjs/canonical-json@2.0.0: + resolution: + { + integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + dev: true + + /@tufjs/models@2.0.0: + resolution: + { + integrity: sha512-c8nj8BaOExmZKO2DXhDfegyhSGcG9E/mPN3U13L+/PsoWm1uaGiHHjxqSHQiasDBQwDA3aHuw9+9spYAP1qvvg==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + dependencies: + "@tufjs/canonical-json": 2.0.0 + minimatch: 9.0.3 + dev: true + + /@types/chai-subset@1.3.5: + resolution: + { + integrity: sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==, + } + dependencies: + "@types/chai": 4.3.11 + dev: true + + /@types/chai@4.3.11: + resolution: + { + integrity: sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==, + } + dev: true + + /@types/estree@1.0.1: + resolution: + { + integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==, + } + + /@types/http-proxy@1.17.11: + resolution: + { + integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==, + } + dependencies: + "@types/node": 20.5.7 + + /@types/json-schema@7.0.15: + resolution: + { + integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==, + } + dev: true + + /@types/node@20.5.7: + resolution: + { + integrity: sha512-dP7f3LdZIysZnmvP3ANJYTSwg+wLLl8p7RqniVlV7j+oXSXAbt9h0WIBFmJy5inWZoX9wZN6eXx+YXd9Rh3RBA==, + } + + /@types/resolve@1.20.2: + resolution: + { + integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==, + } + + /@types/semver@7.5.6: + resolution: + { + integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==, + } + dev: true + + /@types/triple-beam@1.3.5: + resolution: + { + integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==, + } + dev: false + + /@types/web-bluetooth@0.0.20: + resolution: + { + integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==, + } + dev: false + + /@typescript-eslint/eslint-plugin@6.11.0(@typescript-eslint/parser@6.11.0)(eslint@8.54.0)(typescript@5.3.3): + resolution: + { + integrity: sha512-uXnpZDc4VRjY4iuypDBKzW1rz9T5YBBK0snMn8MaTSNd2kMlj50LnLBABELjJiOL5YHk7ZD8hbSpI9ubzqYI0w==, + } + engines: { node: ^16.0.0 || >=18.0.0 } + peerDependencies: + "@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + dependencies: + "@eslint-community/regexpp": 4.10.0 + "@typescript-eslint/parser": 6.11.0(eslint@8.54.0)(typescript@5.3.3) + "@typescript-eslint/scope-manager": 6.11.0 + "@typescript-eslint/type-utils": 6.11.0(eslint@8.54.0)(typescript@5.3.3) + "@typescript-eslint/utils": 6.11.0(eslint@8.54.0)(typescript@5.3.3) + "@typescript-eslint/visitor-keys": 6.11.0 + debug: 4.3.4 + eslint: 8.54.0 + graphemer: 1.4.0 + ignore: 5.2.4 + natural-compare: 1.4.0 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@6.11.0(eslint@8.54.0)(typescript@5.3.3): + resolution: + { + integrity: sha512-+whEdjk+d5do5nxfxx73oanLL9ghKO3EwM9kBCkUtWMRwWuPaFv9ScuqlYfQ6pAD6ZiJhky7TZ2ZYhrMsfMxVQ==, + } + engines: { node: ^16.0.0 || >=18.0.0 } + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + dependencies: + "@typescript-eslint/scope-manager": 6.11.0 + "@typescript-eslint/types": 6.11.0 + "@typescript-eslint/typescript-estree": 6.11.0(typescript@5.3.3) + "@typescript-eslint/visitor-keys": 6.11.0 + debug: 4.3.4 + eslint: 8.54.0 + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@6.11.0: + resolution: + { + integrity: sha512-0A8KoVvIURG4uhxAdjSaxy8RdRE//HztaZdG8KiHLP8WOXSk0vlF7Pvogv+vlJA5Rnjj/wDcFENvDaHb+gKd1A==, + } + engines: { node: ^16.0.0 || >=18.0.0 } + dependencies: + "@typescript-eslint/types": 6.11.0 + "@typescript-eslint/visitor-keys": 6.11.0 + dev: true + + /@typescript-eslint/type-utils@6.11.0(eslint@8.54.0)(typescript@5.3.3): + resolution: + { + integrity: sha512-nA4IOXwZtqBjIoYrJcYxLRO+F9ri+leVGoJcMW1uqr4r1Hq7vW5cyWrA43lFbpRvQ9XgNrnfLpIkO3i1emDBIA==, + } + engines: { node: ^16.0.0 || >=18.0.0 } + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + dependencies: + "@typescript-eslint/typescript-estree": 6.11.0(typescript@5.3.3) + "@typescript-eslint/utils": 6.11.0(eslint@8.54.0)(typescript@5.3.3) + debug: 4.3.4 + eslint: 8.54.0 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@6.11.0: + resolution: + { + integrity: sha512-ZbEzuD4DwEJxwPqhv3QULlRj8KYTAnNsXxmfuUXFCxZmO6CF2gM/y+ugBSAQhrqaJL3M+oe4owdWunaHM6beqA==, + } + engines: { node: ^16.0.0 || >=18.0.0 } + dev: true + + /@typescript-eslint/typescript-estree@6.11.0(typescript@5.3.3): + resolution: + { + integrity: sha512-Aezzv1o2tWJwvZhedzvD5Yv7+Lpu1by/U1LZ5gLc4tCx8jUmuSCMioPFRjliN/6SJIvY6HpTtJIWubKuYYYesQ==, + } + engines: { node: ^16.0.0 || >=18.0.0 } + peerDependencies: + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + dependencies: + "@typescript-eslint/types": 6.11.0 + "@typescript-eslint/visitor-keys": 6.11.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@6.11.0(eslint@8.54.0)(typescript@5.3.3): + resolution: + { + integrity: sha512-p23ibf68fxoZy605dc0dQAEoUsoiNoP3MD9WQGiHLDuTSOuqoTsa4oAy+h3KDkTcxbbfOtUjb9h3Ta0gT4ug2g==, + } + engines: { node: ^16.0.0 || >=18.0.0 } + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + "@eslint-community/eslint-utils": 4.4.0(eslint@8.54.0) + "@types/json-schema": 7.0.15 + "@types/semver": 7.5.6 + "@typescript-eslint/scope-manager": 6.11.0 + "@typescript-eslint/types": 6.11.0 + "@typescript-eslint/typescript-estree": 6.11.0(typescript@5.3.3) + eslint: 8.54.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@6.11.0: + resolution: + { + integrity: sha512-+SUN/W7WjBr05uRxPggJPSzyB8zUpaYo2hByKasWbqr3PM8AXfZt8UHdNpBS1v9SA62qnSSMF3380SwDqqprgQ==, + } + engines: { node: ^16.0.0 || >=18.0.0 } + dependencies: + "@typescript-eslint/types": 6.11.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@ungap/structured-clone@1.2.0: + resolution: + { + integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, + } + + /@unhead/dom@1.3.9: + resolution: + { + integrity: sha512-bTbPFjXjmk8MC0cBC+7Bgf0Mcw62gsE2XqOhMH/qQo6NP4vR2XGxqy054Y7MGurznR1JVAqxUiU3cR/oxWFk3g==, + } + dependencies: + "@unhead/schema": 1.3.9 + "@unhead/shared": 1.3.9 + + /@unhead/schema@1.3.9: + resolution: + { + integrity: sha512-iIa0dczd2qTOxwYZbVR+iAKdlELnLTlKSFsN/YuJ/33sRi5VFa9D8TDBEPLec9gpcjB/bH0FhERfR4bb4UbRuA==, + } + dependencies: + hookable: 5.5.3 + zhead: 2.0.10 + + /@unhead/shared@1.3.9: + resolution: + { + integrity: sha512-lBXK1gzsg3XOnsOgYUVTT2RKOvM+AB0myDXkwQb0jsJB3Tc1qVOSz9JAOR+ZGrosSr7+Iv91+Fu/0E+knxaj2Q==, + } + dependencies: + "@unhead/schema": 1.3.9 + + /@unhead/ssr@1.3.9: + resolution: + { + integrity: sha512-FTt4IQOAxHiSfRM7IoJJiFnUEBH8CG5zkJOQ/LydG19QpYa9/AGOi4xvngeCr++1as51p2hWoRO6gPxSRhV8cA==, + } + dependencies: + "@unhead/schema": 1.3.9 + "@unhead/shared": 1.3.9 + + /@unhead/vue@1.3.9(vue@3.3.4): + resolution: + { + integrity: sha512-rVAsRLBc+3Y//NRmr7vmRs5yhIf65jYSvcj0V5DtDfDwql7BbGgc3VIIEvY0+EjLQuNsS5kxwm78LSPCIl/3Xw==, + } + peerDependencies: + vue: ">=2.7 || >=3" + dependencies: + "@unhead/schema": 1.3.9 + "@unhead/shared": 1.3.9 + hookable: 5.5.3 + unhead: 1.3.9 + vue: 3.3.4 + + /@vercel/nft@0.23.1: + resolution: + { + integrity: sha512-NE0xSmGWVhgHF1OIoir71XAd0W0C1UE3nzFyhpFiMr3rVhetww7NvM1kc41trBsPG37Bh+dE5FYCTMzM/gBu0w==, + } + engines: { node: ">=14" } + hasBin: true + dependencies: + "@mapbox/node-pre-gyp": 1.0.11 + "@rollup/pluginutils": 4.2.1 + acorn: 8.10.0 + async-sema: 3.1.1 + bindings: 1.5.0 + estree-walker: 2.0.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + node-gyp-build: 4.6.1 + resolve-from: 5.0.0 + transitivePeerDependencies: + - encoding + - supports-color + + /@vitejs/plugin-vue-jsx@3.0.2(vite@4.4.9)(vue@3.3.4): + resolution: + { + integrity: sha512-obF26P2Z4Ogy3cPp07B4VaW6rpiu0ue4OT2Y15UxT5BZZ76haUY9guOsZV3uWh/I6xc+VeiW+ZVabRE82FyzWw==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + peerDependencies: + vite: ^4.0.0 + vue: ^3.0.0 + dependencies: + "@babel/core": 7.22.11 + "@babel/plugin-transform-typescript": 7.22.11(@babel/core@7.22.11) + "@vue/babel-plugin-jsx": 1.1.5(@babel/core@7.22.11) + vite: 4.4.9(@types/node@20.5.7)(sass@1.69.5) + vue: 3.3.4 + transitivePeerDependencies: + - supports-color + + /@vitejs/plugin-vue@4.3.4(vite@4.4.9)(vue@3.3.4): + resolution: + { + integrity: sha512-ciXNIHKPriERBisHFBvnTbfKa6r9SAesOYXeGDzgegcvy9Q4xdScSHAmKbNT0M3O0S9LKhIf5/G+UYG4NnnzYw==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + peerDependencies: + vite: ^4.0.0 + vue: ^3.2.25 + dependencies: + vite: 4.4.9(@types/node@20.5.7)(sass@1.69.5) + vue: 3.3.4 + + /@vitest/expect@0.34.6: + resolution: + { + integrity: sha512-QUzKpUQRc1qC7qdGo7rMK3AkETI7w18gTCUrsNnyjjJKYiuUB9+TQK3QnR1unhCnWRC0AbKv2omLGQDF/mIjOw==, + } + dependencies: + "@vitest/spy": 0.34.6 + "@vitest/utils": 0.34.6 + chai: 4.3.10 + dev: true + + /@vitest/runner@0.34.6: + resolution: + { + integrity: sha512-1CUQgtJSLF47NnhN+F9X2ycxUP0kLHQ/JWvNHbeBfwW8CzEGgeskzNnHDyv1ieKTltuR6sdIHV+nmR6kPxQqzQ==, + } + dependencies: + "@vitest/utils": 0.34.6 + p-limit: 4.0.0 + pathe: 1.1.1 + dev: true + + /@vitest/snapshot@0.34.6: + resolution: + { + integrity: sha512-B3OZqYn6k4VaN011D+ve+AA4whM4QkcwcrwaKwAbyyvS/NB1hCWjFIBQxAQQSQir9/RtyAAGuq+4RJmbn2dH4w==, + } + dependencies: + magic-string: 0.30.3 + pathe: 1.1.1 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@0.34.6: + resolution: + { + integrity: sha512-xaCvneSaeBw/cz8ySmF7ZwGvL0lBjfvqc1LpQ/vcdHEvpLn3Ff1vAvjw+CoGn0802l++5L/pxb7whwcWAw+DUQ==, + } + dependencies: + tinyspy: 2.2.0 + dev: true + + /@vitest/utils@0.34.6: + resolution: + { + integrity: sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==, + } + dependencies: + diff-sequences: 29.6.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + + /@vue-macros/common@1.7.2(vue@3.3.4): + resolution: + { + integrity: sha512-0/2A4kWLTCNEx+DDQKLvs7zXpfjgAbGBZ58SIvDN1DjGXhG4WaIUZtgMqzA6bvc5dNN7RaOatZYubkVumwmjWA==, + } + engines: { node: ">=16.14.0" } + peerDependencies: + vue: ^2.7.0 || ^3.2.25 + peerDependenciesMeta: + vue: + optional: true + dependencies: + "@babel/types": 7.22.11 + "@rollup/pluginutils": 5.0.4(rollup@3.28.1) + "@vue/compiler-sfc": 3.3.4 + ast-kit: 0.10.0 + local-pkg: 0.4.3 + magic-string-ast: 0.3.0 + vue: 3.3.4 + transitivePeerDependencies: + - rollup + + /@vue/babel-helper-vue-transform-on@1.1.5: + resolution: + { + integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==, + } + + /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.22.11): + resolution: + { + integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==, + } + peerDependencies: + "@babel/core": ^7.0.0-0 + dependencies: + "@babel/core": 7.22.11 + "@babel/helper-module-imports": 7.22.5 + "@babel/plugin-syntax-jsx": 7.22.5(@babel/core@7.22.11) + "@babel/template": 7.22.5 + "@babel/traverse": 7.22.11 + "@babel/types": 7.22.11 + "@vue/babel-helper-vue-transform-on": 1.1.5 + camelcase: 6.3.0 + html-tags: 3.3.1 + svg-tags: 1.0.0 + transitivePeerDependencies: + - supports-color + + /@vue/compiler-core@3.3.4: + resolution: + { + integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==, + } + dependencies: + "@babel/parser": 7.22.13 + "@vue/shared": 3.3.4 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + + /@vue/compiler-dom@3.3.4: + resolution: + { + integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==, + } + dependencies: + "@vue/compiler-core": 3.3.4 + "@vue/shared": 3.3.4 + + /@vue/compiler-sfc@3.3.4: + resolution: + { + integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==, + } + dependencies: + "@babel/parser": 7.22.13 + "@vue/compiler-core": 3.3.4 + "@vue/compiler-dom": 3.3.4 + "@vue/compiler-ssr": 3.3.4 + "@vue/reactivity-transform": 3.3.4 + "@vue/shared": 3.3.4 + estree-walker: 2.0.2 + magic-string: 0.30.3 + postcss: 8.4.29 + source-map-js: 1.0.2 + + /@vue/compiler-ssr@3.3.4: + resolution: + { + integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==, + } + dependencies: + "@vue/compiler-dom": 3.3.4 + "@vue/shared": 3.3.4 + + /@vue/devtools-api@6.5.0: + resolution: + { + integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==, + } + + /@vue/reactivity-transform@3.3.4: + resolution: + { + integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==, + } + dependencies: + "@babel/parser": 7.22.13 + "@vue/compiler-core": 3.3.4 + "@vue/shared": 3.3.4 + estree-walker: 2.0.2 + magic-string: 0.30.3 + + /@vue/reactivity@3.3.4: + resolution: + { + integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==, + } + dependencies: + "@vue/shared": 3.3.4 + + /@vue/runtime-core@3.3.4: + resolution: + { + integrity: sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==, + } + dependencies: + "@vue/reactivity": 3.3.4 + "@vue/shared": 3.3.4 + + /@vue/runtime-dom@3.3.4: + resolution: + { + integrity: sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==, + } + dependencies: + "@vue/runtime-core": 3.3.4 + "@vue/shared": 3.3.4 + csstype: 3.1.2 + + /@vue/server-renderer@3.3.4(vue@3.3.4): + resolution: + { + integrity: sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==, + } + peerDependencies: + vue: 3.3.4 + dependencies: + "@vue/compiler-ssr": 3.3.4 + "@vue/shared": 3.3.4 + vue: 3.3.4 + + /@vue/shared@3.3.4: + resolution: + { + integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==, + } + + /@vuepic/vue-datepicker@7.4.0(vue@3.3.4): + resolution: + { + integrity: sha512-dXYzbcnRet9b+Dkh+f8rhMnjj5QXgejJTQp+ZRALgwP2oeli2c8e4VvJ0NVxoc7QTU8D5x5Et8NP51C450Pkvg==, + } + engines: { node: ">=18.12.0" } + peerDependencies: + vue: ">=3.2.0" + dependencies: + date-fns: 2.30.0 + date-fns-tz: 1.3.8(date-fns@2.30.0) + vue: 3.3.4 + dev: false + + /@vueuse/core@10.7.1(vue@3.3.4): + resolution: + { + integrity: sha512-74mWHlaesJSWGp1ihg76vAnfVq9NTv1YT0SYhAQ6zwFNdBkkP+CKKJmVOEHcdSnLXCXYiL5e7MaewblfiYLP7g==, + } + dependencies: + "@types/web-bluetooth": 0.0.20 + "@vueuse/metadata": 10.7.1 + "@vueuse/shared": 10.7.1(vue@3.3.4) + vue-demi: 0.14.6(vue@3.3.4) + transitivePeerDependencies: + - "@vue/composition-api" + - vue + dev: false + + /@vueuse/integrations@10.7.1(fuse.js@6.6.2)(vue@3.3.4): + resolution: + { + integrity: sha512-cKo5LEeKVHdBRBtMTOrDPdR0YNtrmN9IBfdcnY2P3m5LHVrsD0xiHUtAH1WKjHQRIErZG6rJUa6GA4tWZt89Og==, + } + peerDependencies: + async-validator: "*" + axios: "*" + change-case: "*" + drauu: "*" + focus-trap: "*" + fuse.js: "*" + idb-keyval: "*" + jwt-decode: "*" + nprogress: "*" + qrcode: "*" + sortablejs: "*" + universal-cookie: "*" + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true + dependencies: + "@vueuse/core": 10.7.1(vue@3.3.4) + "@vueuse/shared": 10.7.1(vue@3.3.4) + fuse.js: 6.6.2 + vue-demi: 0.14.6(vue@3.3.4) + transitivePeerDependencies: + - "@vue/composition-api" + - vue + dev: false + + /@vueuse/math@10.7.1(vue@3.3.4): + resolution: + { + integrity: sha512-Oz9OHRK+NOVhkH4FfMkQu7cHkvPhSrb3gIE0tHN0OGYplRRFeiLQit/JOLJz85Xhaae+IezCmCt2MeoLaZdgVw==, + } + dependencies: + "@vueuse/shared": 10.7.1(vue@3.3.4) + vue-demi: 0.14.6(vue@3.3.4) + transitivePeerDependencies: + - "@vue/composition-api" + - vue + dev: false + + /@vueuse/metadata@10.7.1: + resolution: + { + integrity: sha512-jX8MbX5UX067DYVsbtrmKn6eG6KMcXxLRLlurGkZku5ZYT3vxgBjui2zajvUZ18QLIjrgBkFRsu7CqTAg18QFw==, + } + dev: false + + /@vueuse/shared@10.7.1(vue@3.3.4): + resolution: + { + integrity: sha512-v0jbRR31LSgRY/C5i5X279A/WQjD6/JsMzGa+eqt658oJ75IvQXAeONmwvEMrvJQKnRElq/frzBR7fhmWY5uLw==, + } + dependencies: + vue-demi: 0.14.6(vue@3.3.4) + transitivePeerDependencies: + - "@vue/composition-api" + - vue + dev: false + + /abbrev@1.1.1: + resolution: + { + integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==, + } + + /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 + + /acorn-jsx@5.3.2(acorn@8.10.0): + resolution: + { + integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, + } + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.10.0 + + /acorn-walk@8.3.1: + resolution: + { + integrity: sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==, + } + engines: { node: ">=0.4.0" } + dev: true + + /acorn@8.10.0: + resolution: + { + integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==, + } + engines: { node: ">=0.4.0" } + hasBin: true + + /acorn@8.11.2: + resolution: + { + integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==, + } + 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 + + /agent-base@7.1.0: + resolution: + { + integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==, + } + engines: { node: ">= 14" } + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /agentkeepalive@4.5.0: + resolution: + { + integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==, + } + engines: { node: ">= 8.0.0" } + dependencies: + humanize-ms: 1.2.1 + dev: true + + /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: true + + /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 + + /ansi-align@3.0.1: + resolution: + { + integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==, + } + dependencies: + string-width: 4.2.3 + dev: true + + /ansi-colors@4.1.3: + resolution: + { + integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==, + } + engines: { node: ">=6" } + + /ansi-escapes@4.3.2: + resolution: + { + integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==, + } + engines: { node: ">=8" } + dependencies: + type-fest: 0.21.3 + + /ansi-regex@5.0.1: + resolution: + { + integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, + } + engines: { node: ">=8" } + + /ansi-regex@6.0.1: + resolution: + { + integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==, + } + engines: { node: ">=12" } + + /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: true + + /ansi-styles@6.2.1: + resolution: + { + integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==, + } + engines: { node: ">=12" } + + /any-promise@1.3.0: + resolution: + { + integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==, + } + + /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 + + /aproba@2.0.0: + resolution: + { + integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==, + } + + /arch@2.2.0: + resolution: + { + integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==, + } + + /archiver-utils@2.1.0: + resolution: + { + integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==, + } + engines: { node: ">= 6" } + dependencies: + glob: 7.2.3 + graceful-fs: 4.2.11 + lazystream: 1.0.1 + lodash.defaults: 4.2.0 + lodash.difference: 4.5.0 + lodash.flatten: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.union: 4.6.0 + normalize-path: 3.0.0 + readable-stream: 2.3.8 + + /archiver-utils@3.0.3: + resolution: + { + integrity: sha512-fXzpEZTKgBJMWy0eUT0/332CAQnJ27OJd7sGcvNZzxS2Yzg7iITivMhXOm+zUTO4vT8ZqlPCqiaLPmB8qWhWRA==, + } + engines: { node: ">= 10" } + dependencies: + glob: 7.2.3 + graceful-fs: 4.2.11 + lazystream: 1.0.1 + lodash.defaults: 4.2.0 + lodash.difference: 4.5.0 + lodash.flatten: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.union: 4.6.0 + normalize-path: 3.0.0 + readable-stream: 3.6.2 + + /archiver@6.0.0: + resolution: + { + integrity: sha512-EPGa+bYaxaMiCT8DCbEDqFz8IjeBSExrJzyUOJx2FBkFJ/OZzJuso3lMSk901M50gMqXxTQcumlGajOFlXhVhw==, + } + engines: { node: ">= 12.0.0" } + dependencies: + archiver-utils: 3.0.3 + async: 3.2.4 + buffer-crc32: 0.2.13 + readable-stream: 3.6.2 + readdir-glob: 1.1.3 + tar-stream: 2.2.0 + zip-stream: 4.1.0 + + /are-we-there-yet@2.0.0: + resolution: + { + integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==, + } + engines: { node: ">=10" } + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + + /are-we-there-yet@3.0.1: + resolution: + { + integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==, + } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + dev: true + + /arg@5.0.2: + resolution: + { + integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==, + } + + /argparse@2.0.1: + resolution: + { + integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, + } + + /array-union@2.1.0: + resolution: + { + integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==, + } + engines: { node: ">=8" } + dev: true + + /assert@2.0.0: + resolution: + { + integrity: sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==, + } + dependencies: + es6-object-assign: 1.1.0 + is-nan: 1.3.2 + object-is: 1.1.5 + util: 0.12.5 + dev: true + + /assertion-error@1.1.0: + resolution: + { + integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, + } + dev: true + + /ast-kit@0.10.0: + resolution: + { + integrity: sha512-8y01XClpURgvxTJmM4AY2oHa1B/6iysALB9yJM1j4ak3Z2ZsnU0ewjDZzqOHdbNdit6hC0DGZNrBqNuCrv51fQ==, + } + engines: { node: ">=16.14.0" } + dependencies: + "@babel/parser": 7.22.13 + "@rollup/pluginutils": 5.0.4(rollup@3.28.1) + pathe: 1.1.1 + transitivePeerDependencies: + - rollup + + /ast-types@0.16.1: + resolution: + { + integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==, + } + engines: { node: ">=4" } + dependencies: + tslib: 2.6.2 + dev: true + + /ast-walker-scope@0.4.2: + resolution: + { + integrity: sha512-vdCU9JvpsrxWxvJiRHAr8If8cu07LWJXDPhkqLiP4ErbN1fu/mK623QGmU4Qbn2Nq4Mx0vR/Q017B6+HcHg1aQ==, + } + engines: { node: ">=16.14.0" } + dependencies: + "@babel/parser": 7.22.13 + "@babel/types": 7.22.11 + + /async-sema@3.1.1: + resolution: + { + integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==, + } + + /async@2.6.4: + resolution: + { + integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==, + } + dependencies: + lodash: 4.17.21 + + /async@3.2.4: + resolution: + { + integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==, + } + + /asynckit@0.4.0: + resolution: + { + integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, + } + dev: true + + /at-least-node@1.0.0: + resolution: + { + integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==, + } + engines: { node: ">= 4.0.0" } + + /autoprefixer@10.4.15(postcss@8.4.29): + resolution: + { + integrity: sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==, + } + engines: { node: ^10 || ^12 || >=14 } + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.21.10 + caniuse-lite: 1.0.30001524 + fraction.js: 4.3.1 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.29 + postcss-value-parser: 4.2.0 + + /autoprefixer@10.4.16(postcss@8.4.32): + resolution: + { + integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==, + } + engines: { node: ^10 || ^12 || >=14 } + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.21.10 + caniuse-lite: 1.0.30001572 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + /available-typed-arrays@1.0.5: + resolution: + { + integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==, + } + engines: { node: ">= 0.4" } + dev: true + + /axios@0.27.2: + resolution: + { + integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==, + } + dependencies: + follow-redirects: 1.15.2 + form-data: 4.0.0 + transitivePeerDependencies: + - debug + dev: true + + /balanced-match@1.0.2: + resolution: + { + integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, + } + + /base64-js@1.5.1: + resolution: + { + integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, + } + + /big-integer@1.6.51: + resolution: + { + integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==, + } + engines: { node: ">=0.6" } + dev: true + + /binary-extensions@2.2.0: + resolution: + { + integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==, + } + engines: { node: ">=8" } + + /bindings@1.5.0: + resolution: + { + integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==, + } + dependencies: + file-uri-to-path: 1.0.0 + + /birpc@0.2.13: + resolution: + { + integrity: sha512-30rz9OBSJoGfiWox7dpyqoSVo6664PBEYSTfmmG1GBridUxnMysyovNpnwhaPMvjtKn3Y1UfII+HMTU0kqJFjA==, + } + dev: true + + /bl@1.2.3: + resolution: + { + integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==, + } + dependencies: + readable-stream: 2.3.8 + safe-buffer: 5.2.1 + dev: true + + /bl@4.1.0: + resolution: + { + integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==, + } + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + /boolbase@1.0.0: + resolution: + { + integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==, + } + + /boxen@7.1.1: + resolution: + { + integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==, + } + engines: { node: ">=14.16" } + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.3.0 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + dev: true + + /bplist-parser@0.2.0: + resolution: + { + integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==, + } + engines: { node: ">= 5.10.0" } + dependencies: + big-integer: 1.6.51 + dev: true + + /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 + + /browserslist@4.21.10: + resolution: + { + integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==, + } + engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + hasBin: true + dependencies: + caniuse-lite: 1.0.30001572 + electron-to-chromium: 1.4.505 + node-releases: 2.0.13 + update-browserslist-db: 1.0.11(browserslist@4.21.10) + + /buffer-alloc-unsafe@1.1.0: + resolution: + { + integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==, + } + dev: true + + /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: true + + /buffer-crc32@0.2.13: + resolution: + { + integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==, + } + + /buffer-fill@1.0.0: + resolution: + { + integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==, + } + dev: true + + /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 + + /builtin-modules@3.3.0: + resolution: + { + integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==, + } + engines: { node: ">=6" } + + /builtins@5.0.1: + resolution: + { + integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==, + } + dependencies: + semver: 7.5.4 + dev: true + + /bundle-name@3.0.0: + resolution: + { + integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==, + } + engines: { node: ">=12" } + dependencies: + run-applescript: 5.0.0 + dev: true + + /busboy@1.6.0: + resolution: + { + integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==, + } + engines: { node: ">=10.16.0" } + dependencies: + streamsearch: 1.1.0 + + /c12@1.4.2: + resolution: + { + integrity: sha512-3IP/MuamSVRVw8W8+CHWAz9gKN4gd+voF2zm/Ln6D25C2RhytEZ1ABbC8MjKr4BR9rhoV1JQ7jJA158LDiTkLg==, + } + dependencies: + chokidar: 3.5.3 + defu: 6.1.2 + dotenv: 16.3.1 + giget: 1.1.2 + jiti: 1.19.3 + mlly: 1.4.1 + ohash: 1.1.3 + pathe: 1.1.1 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + rc9: 2.1.1 + transitivePeerDependencies: + - supports-color + + /c12@1.5.1: + resolution: + { + integrity: sha512-BWZRJgDEveT8uI+cliCwvYSSSSvb4xKoiiu5S0jaDbKBopQLQF7E+bq9xKk1pTcG+mUa3yXuFO7bD9d8Lr9Xxg==, + } + dependencies: + chokidar: 3.5.3 + defu: 6.1.3 + dotenv: 16.3.1 + giget: 1.2.1 + jiti: 1.21.0 + mlly: 1.4.2 + ohash: 1.1.3 + pathe: 1.1.1 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + rc9: 2.1.1 + + /cac@6.7.14: + resolution: + { + integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, + } + engines: { node: ">=8" } + + /cacache@17.1.4: + resolution: + { + integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dependencies: + "@npmcli/fs": 3.1.0 + fs-minipass: 3.0.3 + glob: 10.3.3 + lru-cache: 7.18.3 + minipass: 7.0.3 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + p-map: 4.0.0 + ssri: 10.0.5 + tar: 6.1.15 + unique-filename: 3.0.0 + dev: true + + /cacache@18.0.0: + resolution: + { + integrity: sha512-I7mVOPl3PUCeRub1U8YoGz2Lqv9WOBpobZ8RyWFXmReuILz+3OAyTa5oH3QPdtKZD7N0Yk00aLfzn0qvp8dZ1w==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + dependencies: + "@npmcli/fs": 3.1.0 + fs-minipass: 3.0.3 + glob: 10.3.3 + lru-cache: 10.0.1 + minipass: 7.0.3 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + p-map: 4.0.0 + ssri: 10.0.5 + tar: 6.1.15 + unique-filename: 3.0.0 + dev: true + + /cache-content-type@1.0.1: + resolution: + { + integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==, + } + engines: { node: ">= 6.0.0" } + dependencies: + mime-types: 2.1.35 + ylru: 1.3.2 + + /call-bind@1.0.2: + resolution: + { + integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==, + } + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.2.1 + dev: true + + /callsites@3.1.0: + resolution: + { + integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, + } + engines: { node: ">=6" } + + /camelcase-css@2.0.1: + resolution: + { + integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==, + } + engines: { node: ">= 6" } + + /camelcase@6.3.0: + resolution: + { + integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==, + } + engines: { node: ">=10" } + + /camelcase@7.0.1: + resolution: + { + integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==, + } + engines: { node: ">=14.16" } + dev: true + + /caniuse-api@3.0.0: + resolution: + { + integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==, + } + dependencies: + browserslist: 4.21.10 + caniuse-lite: 1.0.30001524 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + + /caniuse-lite@1.0.30001524: + resolution: + { + integrity: sha512-Jj917pJtYg9HSJBF95HVX3Cdr89JUyLT4IZ8SvM5aDRni95swKgYi3TgYLH5hnGfPE/U1dg6IfZ50UsIlLkwSA==, + } + + /caniuse-lite@1.0.30001572: + resolution: + { + integrity: sha512-1Pbh5FLmn5y4+QhNyJE9j3/7dK44dGB83/ZMjv/qJk86TvDbjk0LosiZo0i0WB0Vx607qMX9jYrn1VLHCkN4rw==, + } + + /chai@4.3.10: + resolution: + { + integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==, + } + engines: { node: ">=4" } + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /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 } + + /check-error@1.0.3: + resolution: + { + integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==, + } + dependencies: + get-func-name: 2.0.2 + dev: true + + /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.3 + + /chownr@2.0.0: + resolution: + { + integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==, + } + engines: { node: ">=10" } + + /ci-info@3.8.0: + resolution: + { + integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==, + } + engines: { node: ">=8" } + + /citty@0.1.3: + resolution: + { + integrity: sha512-tb6zTEb2BDSrzFedqFYFUKUuKNaxVJWCm7o02K4kADGkBDyyiz7D40rDMpguczdZyAN3aetd5fhpB01HkreNyg==, + } + dependencies: + consola: 3.2.3 + + /citty@0.1.5: + resolution: + { + integrity: sha512-AS7n5NSc0OQVMV9v6wt3ByujNIrne0/cTjiC2MYqhvao57VNfiuVksTSr2p17nVOhEr2KtqiAkGwHcgMC/qUuQ==, + } + dependencies: + consola: 3.2.3 + + /clean-stack@2.2.0: + resolution: + { + integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==, + } + engines: { node: ">=6" } + dev: true + + /clear-module@4.1.2: + resolution: + { + integrity: sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==, + } + engines: { node: ">=8" } + dependencies: + parent-module: 2.0.0 + resolve-from: 5.0.0 + + /clear@0.1.0: + resolution: + { + integrity: sha512-qMjRnoL+JDPJHeLePZJuao6+8orzHMGP04A8CdwCNsKhRbOnKRjefxONR7bwILT3MHecxKBjHkKL/tkZ8r4Uzw==, + } + + /cli-boxes@3.0.0: + resolution: + { + integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==, + } + engines: { node: ">=10" } + dev: true + + /clipboardy@3.0.0: + resolution: + { + integrity: sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + arch: 2.2.0 + execa: 5.1.1 + is-wsl: 2.2.0 + + /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 + + /cluster-key-slot@1.1.2: + resolution: + { + integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==, + } + engines: { node: ">=0.10.0" } + + /co@4.6.0: + resolution: + { + integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==, + } + engines: { iojs: ">= 1.0.0", node: ">= 0.12.0" } + + /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-support@1.1.3: + resolution: + { + integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==, + } + hasBin: true + + /color@3.2.1: + resolution: + { + integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==, + } + dependencies: + color-convert: 1.9.3 + color-string: 1.9.1 + dev: false + + /colord@2.9.3: + resolution: + { + integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==, + } + + /colorette@2.0.20: + resolution: + { + integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, + } + + /colorspace@1.1.4: + resolution: + { + integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==, + } + dependencies: + color: 3.2.1 + text-hex: 1.0.0 + dev: false + + /combined-stream@1.0.8: + resolution: + { + integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, + } + engines: { node: ">= 0.8" } + dependencies: + delayed-stream: 1.0.0 + dev: true + + /commander@2.20.3: + resolution: + { + integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==, + } + + /commander@4.1.1: + resolution: + { + integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==, + } + engines: { node: ">= 6" } + + /commander@6.2.1: + resolution: + { + integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==, + } + engines: { node: ">= 6" } + + /commander@7.2.0: + resolution: + { + integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==, + } + engines: { node: ">= 10" } + + /commander@8.3.0: + resolution: + { + integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==, + } + engines: { node: ">= 12" } + + /commondir@1.0.1: + resolution: + { + integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==, + } + + /compare-versions@6.1.0: + resolution: + { + integrity: sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==, + } + dev: false + + /compress-commons@4.1.1: + resolution: + { + integrity: sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==, + } + engines: { node: ">= 10" } + dependencies: + buffer-crc32: 0.2.13 + crc32-stream: 4.0.2 + normalize-path: 3.0.0 + readable-stream: 3.6.2 + + /concat-map@0.0.1: + resolution: + { + integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, + } + + /consola@3.2.3: + resolution: + { + integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==, + } + engines: { node: ^14.18.0 || >=16.10.0 } + + /console-control-strings@1.1.0: + resolution: + { + integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==, + } + + /content-disposition@0.5.4: + resolution: + { + integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==, + } + engines: { node: ">= 0.6" } + dependencies: + safe-buffer: 5.2.1 + + /content-type@1.0.5: + resolution: + { + integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==, + } + engines: { node: ">= 0.6" } + + /convert-source-map@1.9.0: + resolution: + { + integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==, + } + + /cookie-es@1.0.0: + resolution: + { + integrity: sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==, + } + + /cookies@0.8.0: + resolution: + { + integrity: sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==, + } + engines: { node: ">= 0.8" } + dependencies: + depd: 2.0.0 + keygrip: 1.1.0 + + /core-util-is@1.0.3: + resolution: + { + integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==, + } + + /crc-32@1.2.2: + resolution: + { + integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==, + } + engines: { node: ">=0.8" } + hasBin: true + + /crc32-stream@4.0.2: + resolution: + { + integrity: sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==, + } + engines: { node: ">= 10" } + dependencies: + crc-32: 1.2.2 + readable-stream: 3.6.2 + + /create-require@1.1.1: + resolution: + { + integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==, + } + + /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 + + /css-declaration-sorter@6.4.1(postcss@8.4.29): + resolution: + { + integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==, + } + engines: { node: ^10 || ^12 || >=14 } + peerDependencies: + postcss: ^8.0.9 + dependencies: + postcss: 8.4.29 + + /css-select@5.1.0: + resolution: + { + integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==, + } + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + + /css-tree@2.2.1: + resolution: + { + integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==, + } + engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: ">=7.0.0" } + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.0.2 + + /css-tree@2.3.1: + resolution: + { + integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==, + } + engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0 } + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.0.2 + + /css-what@6.1.0: + resolution: + { + integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==, + } + engines: { node: ">= 6" } + + /cssesc@3.0.0: + resolution: + { + integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==, + } + engines: { node: ">=4" } + hasBin: true + + /cssnano-preset-default@6.0.1(postcss@8.4.29): + resolution: + { + integrity: sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + css-declaration-sorter: 6.4.1(postcss@8.4.29) + cssnano-utils: 4.0.0(postcss@8.4.29) + postcss: 8.4.29 + postcss-calc: 9.0.1(postcss@8.4.29) + postcss-colormin: 6.0.0(postcss@8.4.29) + postcss-convert-values: 6.0.0(postcss@8.4.29) + postcss-discard-comments: 6.0.0(postcss@8.4.29) + postcss-discard-duplicates: 6.0.0(postcss@8.4.29) + postcss-discard-empty: 6.0.0(postcss@8.4.29) + postcss-discard-overridden: 6.0.0(postcss@8.4.29) + postcss-merge-longhand: 6.0.0(postcss@8.4.29) + postcss-merge-rules: 6.0.1(postcss@8.4.29) + postcss-minify-font-values: 6.0.0(postcss@8.4.29) + postcss-minify-gradients: 6.0.0(postcss@8.4.29) + postcss-minify-params: 6.0.0(postcss@8.4.29) + postcss-minify-selectors: 6.0.0(postcss@8.4.29) + postcss-normalize-charset: 6.0.0(postcss@8.4.29) + postcss-normalize-display-values: 6.0.0(postcss@8.4.29) + postcss-normalize-positions: 6.0.0(postcss@8.4.29) + postcss-normalize-repeat-style: 6.0.0(postcss@8.4.29) + postcss-normalize-string: 6.0.0(postcss@8.4.29) + postcss-normalize-timing-functions: 6.0.0(postcss@8.4.29) + postcss-normalize-unicode: 6.0.0(postcss@8.4.29) + postcss-normalize-url: 6.0.0(postcss@8.4.29) + postcss-normalize-whitespace: 6.0.0(postcss@8.4.29) + postcss-ordered-values: 6.0.0(postcss@8.4.29) + postcss-reduce-initial: 6.0.0(postcss@8.4.29) + postcss-reduce-transforms: 6.0.0(postcss@8.4.29) + postcss-svgo: 6.0.0(postcss@8.4.29) + postcss-unique-selectors: 6.0.0(postcss@8.4.29) + + /cssnano-utils@4.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.29 + + /cssnano@6.0.1(postcss@8.4.29): + resolution: + { + integrity: sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-preset-default: 6.0.1(postcss@8.4.29) + lilconfig: 2.1.0 + postcss: 8.4.29 + + /csso@5.0.5: + resolution: + { + integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==, + } + engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: ">=7.0.0" } + dependencies: + css-tree: 2.2.1 + + /csstype@3.1.2: + resolution: + { + integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==, + } + + /cuint@0.2.2: + resolution: + { + integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==, + } + + /data-uri-to-buffer@4.0.1: + resolution: + { + integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==, + } + engines: { node: ">= 12" } + + /date-fns-tz@1.3.8(date-fns@2.30.0): + resolution: + { + integrity: sha512-qwNXUFtMHTTU6CFSFjoJ80W8Fzzp24LntbjFFBgL/faqds4e5mo9mftoRLgr3Vi1trISsg4awSpYVsOQCRnapQ==, + } + peerDependencies: + date-fns: ">=2.0.0" + dependencies: + date-fns: 2.30.0 + dev: false + + /date-fns@2.30.0: + resolution: + { + integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==, + } + engines: { node: ">=0.11" } + dependencies: + "@babel/runtime": 7.23.6 + 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 + + /decompress-tar@4.1.1: + resolution: + { + integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==, + } + engines: { node: ">=4" } + dependencies: + file-type: 5.2.0 + is-stream: 1.1.0 + tar-stream: 1.6.2 + dev: true + + /decompress-tarbz2@4.1.1: + resolution: + { + integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==, + } + engines: { node: ">=4" } + dependencies: + decompress-tar: 4.1.1 + file-type: 6.2.0 + is-stream: 1.1.0 + seek-bzip: 1.0.6 + unbzip2-stream: 1.4.3 + dev: true + + /decompress-targz@4.1.1: + resolution: + { + integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==, + } + engines: { node: ">=4" } + dependencies: + decompress-tar: 4.1.1 + file-type: 5.2.0 + is-stream: 1.1.0 + dev: true + + /decompress-unzip@4.0.1: + resolution: + { + integrity: sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==, + } + engines: { node: ">=4" } + dependencies: + file-type: 3.9.0 + get-stream: 2.3.1 + pify: 2.3.0 + yauzl: 2.10.0 + dev: true + + /decompress@4.2.1: + resolution: + { + integrity: sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==, + } + engines: { node: ">=4" } + dependencies: + decompress-tar: 4.1.1 + decompress-tarbz2: 4.1.1 + decompress-targz: 4.1.1 + decompress-unzip: 4.0.1 + graceful-fs: 4.2.11 + make-dir: 1.3.0 + pify: 2.3.0 + strip-dirs: 2.1.0 + dev: true + + /deep-eql@4.1.3: + resolution: + { + integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==, + } + engines: { node: ">=6" } + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-equal@1.0.1: + resolution: + { + integrity: sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==, + } + + /deep-is@0.1.4: + resolution: + { + integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, + } + + /deepmerge@4.3.1: + resolution: + { + integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==, + } + engines: { node: ">=0.10.0" } + + /default-browser-id@3.0.0: + resolution: + { + integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==, + } + engines: { node: ">=12" } + dependencies: + bplist-parser: 0.2.0 + untildify: 4.0.0 + dev: true + + /default-browser@4.0.0: + resolution: + { + integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==, + } + engines: { node: ">=14.16" } + dependencies: + bundle-name: 3.0.0 + default-browser-id: 3.0.0 + execa: 7.2.0 + titleize: 3.0.0 + dev: true + + /define-lazy-prop@2.0.0: + resolution: + { + integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==, + } + engines: { node: ">=8" } + + /define-lazy-prop@3.0.0: + resolution: + { + integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==, + } + engines: { node: ">=12" } + dev: true + + /define-properties@1.2.0: + resolution: + { + integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==, + } + engines: { node: ">= 0.4" } + dependencies: + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 + dev: true + + /defu@6.1.2: + resolution: + { + integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==, + } + + /defu@6.1.3: + resolution: + { + integrity: sha512-Vy2wmG3NTkmHNg/kzpuvHhkqeIx3ODWqasgCRbKtbXEN0G+HpEEv9BtJLp7ZG1CZloFaC41Ah3ZFbq7aqCqMeQ==, + } + + /delayed-stream@1.0.0: + resolution: + { + integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, + } + engines: { node: ">=0.4.0" } + dev: true + + /delegates@1.0.0: + resolution: + { + integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==, + } + + /denque@2.1.0: + resolution: + { + integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==, + } + engines: { node: ">=0.10" } + + /depd@1.1.2: + resolution: + { + integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==, + } + engines: { node: ">= 0.6" } + + /depd@2.0.0: + resolution: + { + integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, + } + engines: { node: ">= 0.8" } + + /destr@2.0.1: + resolution: + { + integrity: sha512-M1Ob1zPSIvlARiJUkKqvAZ3VAqQY6Jcuth/pBKQ2b1dX/Qx0OnJ8Vux6J2H5PTMQeRzWrrbTu70VxBfv/OPDJA==, + } + + /destr@2.0.2: + resolution: + { + integrity: sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg==, + } + + /destroy@1.2.0: + resolution: + { + integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==, + } + engines: { node: ">= 0.8", npm: 1.2.8000 || >= 1.4.16 } + + /detect-libc@1.0.3: + resolution: + { + integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==, + } + engines: { node: ">=0.10" } + hasBin: true + + /detect-libc@2.0.2: + resolution: + { + integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==, + } + engines: { node: ">=8" } + + /devalue@4.3.2: + resolution: + { + integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==, + } + + /didyoumean@1.2.2: + resolution: + { + integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==, + } + + /diff-sequences@29.6.3: + resolution: + { + integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dev: true + + /diff@5.1.0: + resolution: + { + integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==, + } + engines: { node: ">=0.3.1" } + 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==, + } + + /doctrine@3.0.0: + resolution: + { + integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, + } + engines: { node: ">=6.0.0" } + dependencies: + esutils: 2.0.3 + + /dom-serializer@2.0.0: + resolution: + { + integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==, + } + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + /domelementtype@2.3.0: + resolution: + { + integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==, + } + + /domhandler@5.0.3: + resolution: + { + integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==, + } + engines: { node: ">= 4" } + dependencies: + domelementtype: 2.3.0 + + /domutils@3.1.0: + resolution: + { + integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==, + } + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + + /dot-prop@8.0.2: + resolution: + { + integrity: sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ==, + } + engines: { node: ">=16" } + dependencies: + type-fest: 3.13.1 + + /dotenv@16.3.1: + resolution: + { + integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==, + } + engines: { node: ">=12" } + + /duplexer@0.1.2: + resolution: + { + integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==, + } + + /eastasianwidth@0.2.0: + resolution: + { + integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==, + } + + /ee-first@1.1.1: + resolution: + { + integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==, + } + + /electron-to-chromium@1.4.505: + resolution: + { + integrity: sha512-0A50eL5BCCKdxig2SsCXhpuztnB9PfUgRMojj5tMvt8O54lbwz3t6wNgnpiTRosw5QjlJB7ixhVyeg8daLQwSQ==, + } + + /emoji-regex@8.0.0: + resolution: + { + integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, + } + + /emoji-regex@9.2.2: + resolution: + { + integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==, + } + + /enabled@2.0.0: + resolution: + { + integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==, + } + dev: false + + /encodeurl@1.0.2: + resolution: + { + integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==, + } + engines: { node: ">= 0.8" } + + /encoding@0.1.13: + resolution: + { + integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==, + } + requiresBuild: true + dependencies: + iconv-lite: 0.6.3 + dev: true + optional: true + + /end-of-stream@1.4.4: + resolution: + { + integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, + } + dependencies: + once: 1.4.0 + + /enhanced-resolve@4.5.0: + resolution: + { + integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==, + } + engines: { node: ">=6.9.0" } + dependencies: + graceful-fs: 4.2.11 + memory-fs: 0.5.0 + tapable: 1.1.3 + + /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 + + /entities@4.5.0: + resolution: + { + integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==, + } + engines: { node: ">=0.12" } + + /env-paths@2.2.1: + resolution: + { + integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==, + } + engines: { node: ">=6" } + dev: true + + /err-code@2.0.3: + resolution: + { + integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==, + } + dev: true + + /errno@0.1.8: + resolution: + { + integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==, + } + hasBin: true + dependencies: + prr: 1.0.1 + + /error-stack-parser-es@0.1.1: + resolution: + { + integrity: sha512-g/9rfnvnagiNf+DRMHEVGuGuIBlCIMDFoTA616HaP2l9PlCjGjVhD98PNbVSJvmK4TttqT5mV5tInMhoFgi+aA==, + } + dev: true + + /es6-object-assign@1.1.0: + resolution: + { + integrity: sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==, + } + 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 + + /esbuild@0.19.2: + resolution: + { + integrity: sha512-G6hPax8UbFakEj3hWO0Vs52LQ8k3lnBhxZWomUJDxfz3rZTLqF5k/FCzuNdLx2RbpBiQQF9H9onlDDH1lZsnjg==, + } + engines: { node: ">=12" } + hasBin: true + requiresBuild: true + optionalDependencies: + "@esbuild/android-arm": 0.19.2 + "@esbuild/android-arm64": 0.19.2 + "@esbuild/android-x64": 0.19.2 + "@esbuild/darwin-arm64": 0.19.2 + "@esbuild/darwin-x64": 0.19.2 + "@esbuild/freebsd-arm64": 0.19.2 + "@esbuild/freebsd-x64": 0.19.2 + "@esbuild/linux-arm": 0.19.2 + "@esbuild/linux-arm64": 0.19.2 + "@esbuild/linux-ia32": 0.19.2 + "@esbuild/linux-loong64": 0.19.2 + "@esbuild/linux-mips64el": 0.19.2 + "@esbuild/linux-ppc64": 0.19.2 + "@esbuild/linux-riscv64": 0.19.2 + "@esbuild/linux-s390x": 0.19.2 + "@esbuild/linux-x64": 0.19.2 + "@esbuild/netbsd-x64": 0.19.2 + "@esbuild/openbsd-x64": 0.19.2 + "@esbuild/sunos-x64": 0.19.2 + "@esbuild/win32-arm64": 0.19.2 + "@esbuild/win32-ia32": 0.19.2 + "@esbuild/win32-x64": 0.19.2 + + /escalade@3.1.1: + resolution: + { + integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==, + } + engines: { node: ">=6" } + + /escape-html@1.0.3: + resolution: + { + integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==, + } + + /escape-string-regexp@1.0.5: + resolution: + { + integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, + } + engines: { node: ">=0.8.0" } + + /escape-string-regexp@4.0.0: + resolution: + { + integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, + } + engines: { node: ">=10" } + + /escape-string-regexp@5.0.0: + resolution: + { + integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==, + } + engines: { node: ">=12" } + + /escodegen@2.1.0: + resolution: + { + integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==, + } + engines: { node: ">=6.0" } + hasBin: true + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + dev: true + + /eslint-config-prettier@9.0.0(eslint@8.54.0): + resolution: + { + integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==, + } + hasBin: true + peerDependencies: + eslint: ">=7.0.0" + dependencies: + eslint: 8.54.0 + dev: true + + /eslint-plugin-vue@9.18.1(eslint@8.54.0): + resolution: + { + integrity: sha512-7hZFlrEgg9NIzuVik2I9xSnJA5RsmOfueYgsUGUokEDLJ1LHtxO0Pl4duje1BriZ/jDWb+44tcIlC3yi0tdlZg==, + } + engines: { node: ^14.17.0 || >=16.0.0 } + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + dependencies: + "@eslint-community/eslint-utils": 4.4.0(eslint@8.54.0) + eslint: 8.54.0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.0.13 + semver: 7.5.4 + vue-eslint-parser: 9.3.2(eslint@8.54.0) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-scope@7.2.2: + resolution: + { + integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + /eslint-visitor-keys@3.4.3: + resolution: + { + integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + + /eslint@8.54.0: + resolution: + { + integrity: sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + hasBin: true + dependencies: + "@eslint-community/eslint-utils": 4.4.0(eslint@8.54.0) + "@eslint-community/regexpp": 4.10.0 + "@eslint/eslintrc": 2.1.4 + "@eslint/js": 8.54.0 + "@humanwhocodes/config-array": 0.11.13 + "@humanwhocodes/module-importer": 1.0.1 + "@nodelib/fs.walk": 1.2.8 + "@ungap/structured-clone": 1.2.0 + 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.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.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.24.0 + graphemer: 1.4.0 + ignore: 5.2.4 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + + /esno@0.16.3: + resolution: + { + integrity: sha512-6slSBEV1lMKcX13DBifvnDFpNno5WXhw4j/ff7RI0y51BZiDqEe5dNhhjhIQ3iCOQuzsm2MbVzmwqbN78BBhPg==, + } + hasBin: true + dependencies: + tsx: 3.12.7 + dev: true + + /espree@9.6.1: + resolution: + { + integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + acorn: 8.10.0 + acorn-jsx: 5.3.2(acorn@8.10.0) + eslint-visitor-keys: 3.4.3 + + /esprima@4.0.1: + resolution: + { + integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, + } + engines: { node: ">=4" } + hasBin: true + dev: true + + /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@5.3.0: + resolution: + { + integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, + } + engines: { node: ">=4.0" } + + /estree-walker@2.0.2: + resolution: + { + integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==, + } + + /estree-walker@3.0.3: + resolution: + { + integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, + } + dependencies: + "@types/estree": 1.0.1 + + /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" } + + /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 + + /execa@7.2.0: + resolution: + { + integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==, + } + engines: { node: ^14.18.0 || ^16.14.0 || >=18.0.0 } + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + + /execa@8.0.1: + resolution: + { + integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==, + } + engines: { node: ">=16.17" } + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + + /exponential-backoff@3.1.1: + resolution: + { + integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==, + } + dev: true + + /externality@1.0.2: + resolution: + { + integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==, + } + dependencies: + enhanced-resolve: 5.15.0 + mlly: 1.4.1 + pathe: 1.1.1 + ufo: 1.3.0 + + /fake-indexeddb@5.0.1: + resolution: + { + integrity: sha512-vxybH29Owtc6khV/Usy47B1g+eKwyhFiX8nwpCC4td320jvwrKQDH6vNtcJZgUzVxmfsSIlHzLKQzT76JMCO7A==, + } + engines: { node: ">=18" } + dev: true + + /fast-deep-equal@3.1.3: + resolution: + { + integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, + } + + /fast-folder-size@2.2.0: + resolution: + { + integrity: sha512-7VsTlT/ELl5OQ4fnckM3idvaUkdJxf6VaYn0sC43GWoRmKqvbGfpoyC4BC/imTd9CEZtlfNsEf8/ZqdfoU4Nwg==, + } + hasBin: true + requiresBuild: true + dependencies: + decompress: 4.2.1 + https-proxy-agent: 7.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /fast-glob@3.3.1: + resolution: + { + integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==, + } + 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-glob@3.3.2: + resolution: + { + integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==, + } + 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==, + } + + /fastq@1.15.0: + resolution: + { + integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==, + } + dependencies: + reusify: 1.0.4 + + /fd-slicer@1.1.0: + resolution: + { + integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==, + } + dependencies: + pend: 1.2.0 + dev: true + + /fecha@4.2.3: + resolution: + { + integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==, + } + dev: false + + /fetch-blob@3.2.0: + resolution: + { + integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==, + } + engines: { node: ^12.20 || >= 14.13 } + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.2.1 + + /file-entry-cache@6.0.1: + resolution: + { + integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, + } + engines: { node: ^10.12.0 || >=12.0.0 } + dependencies: + flat-cache: 3.2.0 + + /file-type@3.9.0: + resolution: + { + integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==, + } + engines: { node: ">=0.10.0" } + dev: true + + /file-type@5.2.0: + resolution: + { + integrity: sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==, + } + engines: { node: ">=4" } + dev: true + + /file-type@6.2.0: + resolution: + { + integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==, + } + engines: { node: ">=4" } + dev: true + + /file-uri-to-path@1.0.0: + resolution: + { + integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==, + } + + /fill-range@7.0.1: + resolution: + { + integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, + } + engines: { node: ">=8" } + dependencies: + to-regex-range: 5.0.1 + + /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 + + /flat-cache@3.2.0: + resolution: + { + integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, + } + engines: { node: ^10.12.0 || >=12.0.0 } + dependencies: + flatted: 3.2.9 + keyv: 4.5.4 + rimraf: 3.0.2 + + /flat@5.0.2: + resolution: + { + integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==, + } + hasBin: true + + /flatted@3.2.7: + resolution: + { + integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==, + } + dev: true + + /flatted@3.2.9: + resolution: + { + integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==, + } + + /fn.name@1.1.0: + resolution: + { + integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==, + } + dev: false + + /follow-redirects@1.15.2: + resolution: + { + integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==, + } + engines: { node: ">=4.0" } + peerDependencies: + debug: "*" + peerDependenciesMeta: + debug: + optional: true + dev: true + + /for-each@0.3.3: + resolution: + { + integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==, + } + dependencies: + is-callable: 1.2.7 + dev: true + + /foreground-child@3.1.1: + resolution: + { + integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==, + } + engines: { node: ">=14" } + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + + /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: true + + /formdata-polyfill@4.0.10: + resolution: + { + integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==, + } + engines: { node: ">=12.20.0" } + dependencies: + fetch-blob: 3.2.0 + + /fraction.js@4.3.1: + resolution: + { + integrity: sha512-nx0cki48JBA6ThPeUpeKCNpdhEl/9bRS+dAEYnRUod+Z1jhFfC3K/mBLorZZntqHM+GTH3/dkkpfoT3QITYe7g==, + } + + /fraction.js@4.3.7: + resolution: + { + integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==, + } + + /fresh@0.5.2: + resolution: + { + integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==, + } + engines: { node: ">= 0.6" } + + /fs-constants@1.0.0: + resolution: + { + integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==, + } + + /fs-extra@11.1.1: + resolution: + { + integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==, + } + engines: { node: ">=14.14" } + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + + /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 + + /fs-minipass@2.1.0: + resolution: + { + integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==, + } + engines: { node: ">= 8" } + dependencies: + minipass: 3.3.6 + + /fs-minipass@3.0.3: + resolution: + { + integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dependencies: + minipass: 7.0.3 + dev: true + + /fs.realpath@1.0.0: + resolution: + { + integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, + } + + /fsevents@2.3.3: + resolution: + { + integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, + } + 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==, + } + + /fuse.js@6.6.2: + resolution: + { + integrity: sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==, + } + engines: { node: ">=10" } + dev: false + + /gauge@3.0.2: + resolution: + { + integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==, + } + engines: { node: ">=10" } + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + object-assign: 4.1.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + + /gauge@4.0.4: + resolution: + { + integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==, + } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + 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.* } + + /get-func-name@2.0.2: + resolution: + { + integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==, + } + dev: true + + /get-intrinsic@1.2.1: + resolution: + { + integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==, + } + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-proto: 1.0.1 + has-symbols: 1.0.3 + dev: true + + /get-port-please@3.0.2: + resolution: + { + integrity: sha512-c14cAITf0E+uqdxGALvyYHwOL7UsnWcv3oDtgDAZksiVSGN87xlWVUWGZcmWQU3cICdaOxT+6LdQzUfK2ei1SA==, + } + + /get-port-please@3.1.1: + resolution: + { + integrity: sha512-3UBAyM3u4ZBVYDsxOQfJDxEa6XTbpBDrOjp4mf7ExFRt5BKs/QywQQiJsh2B+hxcZLSapWqCRvElUe8DnKcFHA==, + } + dev: true + + /get-stream@2.3.1: + resolution: + { + integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==, + } + engines: { node: ">=0.10.0" } + dependencies: + object-assign: 4.1.1 + pinkie-promise: 2.0.1 + dev: true + + /get-stream@6.0.1: + resolution: + { + integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==, + } + engines: { node: ">=10" } + + /get-stream@8.0.1: + resolution: + { + integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==, + } + engines: { node: ">=16" } + + /get-tsconfig@4.7.0: + resolution: + { + integrity: sha512-pmjiZ7xtB8URYm74PlGJozDNyhvsVLUcpBa8DZBG3bWHwaHa9bPiRpiSfovw+fjhwONSCWKRyk+JQHEGZmMrzw==, + } + dependencies: + resolve-pkg-maps: 1.0.0 + dev: true + + /giget@1.1.2: + resolution: + { + integrity: sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==, + } + hasBin: true + dependencies: + colorette: 2.0.20 + defu: 6.1.2 + https-proxy-agent: 5.0.1 + mri: 1.2.0 + node-fetch-native: 1.4.0 + pathe: 1.1.1 + tar: 6.1.15 + transitivePeerDependencies: + - supports-color + + /giget@1.2.1: + resolution: + { + integrity: sha512-4VG22mopWtIeHwogGSy1FViXVo0YT+m6BrqZfz0JJFwbSsePsCdOzdLIIli5BtMp7Xe8f/o2OmBpQX2NBOC24g==, + } + hasBin: true + dependencies: + citty: 0.1.5 + consola: 3.2.3 + defu: 6.1.3 + node-fetch-native: 1.6.1 + nypm: 0.3.3 + ohash: 1.1.3 + pathe: 1.1.1 + tar: 6.2.0 + + /git-config-path@2.0.0: + resolution: + { + integrity: sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==, + } + engines: { node: ">=4" } + + /git-up@7.0.0: + resolution: + { + integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==, + } + dependencies: + is-ssh: 1.4.0 + parse-url: 8.1.0 + + /git-url-parse@13.1.0: + resolution: + { + integrity: sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==, + } + dependencies: + git-up: 7.0.0 + + /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@10.3.10: + resolution: + { + integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==, + } + engines: { node: ">=16 || 14 >=14.17" } + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.3 + minipass: 7.0.3 + path-scurry: 1.10.1 + + /glob@10.3.3: + resolution: + { + integrity: sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==, + } + engines: { node: ">=16 || 14 >=14.17" } + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.1 + minimatch: 9.0.3 + minipass: 7.0.3 + path-scurry: 1.10.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 + + /global-dirs@3.0.1: + resolution: + { + integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==, + } + engines: { node: ">=10" } + dependencies: + ini: 2.0.0 + dev: true + + /globals@11.12.0: + resolution: + { + integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==, + } + engines: { node: ">=4" } + + /globals@13.24.0: + resolution: + { + integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, + } + engines: { node: ">=8" } + dependencies: + type-fest: 0.20.2 + + /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.3.1 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /globby@13.2.2: + resolution: + { + integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.1 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 4.0.0 + + /globby@14.0.0: + resolution: + { + integrity: sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ==, + } + engines: { node: ">=18" } + dependencies: + "@sindresorhus/merge-streams": 1.0.0 + fast-glob: 3.3.2 + ignore: 5.3.0 + path-type: 5.0.0 + slash: 5.1.0 + unicorn-magic: 0.1.0 + + /gopd@1.0.1: + resolution: + { + integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==, + } + dependencies: + get-intrinsic: 1.2.1 + dev: true + + /graceful-fs@4.2.11: + resolution: + { + integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, + } + + /graphemer@1.4.0: + resolution: + { + integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, + } + + /gzip-size@7.0.0: + resolution: + { + integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + duplexer: 0.1.2 + + /h3@1.8.1: + resolution: + { + integrity: sha512-m5rFuu+5bpwBBHqqS0zexjK+Q8dhtFRvO9JXQG0RvSPL6QrIT6vv42vuBM22SLOgGMoZYsHk0y7VPidt9s+nkw==, + } + dependencies: + cookie-es: 1.0.0 + defu: 6.1.2 + destr: 2.0.1 + iron-webcrypto: 0.8.2 + radix3: 1.1.0 + ufo: 1.3.0 + uncrypto: 0.1.3 + unenv: 1.7.4 + + /h3@1.9.0: + resolution: + { + integrity: sha512-+F3ZqrNV/CFXXfZ2lXBINHi+rM4Xw3CDC5z2CDK3NMPocjonKipGLLDSkrqY9DOrioZNPTIdDMWfQKm//3X2DA==, + } + dependencies: + cookie-es: 1.0.0 + defu: 6.1.3 + destr: 2.0.2 + iron-webcrypto: 1.0.0 + radix3: 1.1.0 + ufo: 1.3.2 + uncrypto: 0.1.3 + unenv: 1.7.4 + + /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.2.1 + dev: true + + /has-proto@1.0.1: + resolution: + { + integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==, + } + engines: { node: ">= 0.4" } + 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 + + /has-unicode@2.0.1: + resolution: + { + integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==, + } + + /has@1.0.3: + resolution: + { + integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==, + } + engines: { node: ">= 0.4.0" } + dependencies: + function-bind: 1.1.1 + + /hash-sum@2.0.0: + resolution: + { + integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==, + } + + /hookable@5.5.3: + resolution: + { + integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==, + } + + /hosted-git-info@7.0.0: + resolution: + { + integrity: sha512-ICclEpTLhHj+zCuSb2/usoNXSVkxUSIopre+b1w8NDY9Dntp9LO4vLdHYI336TH8sAqwrRgnSfdkBG2/YpisHA==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + dependencies: + lru-cache: 10.0.1 + dev: true + + /html-tags@3.3.1: + resolution: + { + integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==, + } + engines: { node: ">=8" } + + /http-assert@1.5.0: + resolution: + { + integrity: sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==, + } + engines: { node: ">= 0.8" } + dependencies: + deep-equal: 1.0.1 + http-errors: 1.8.1 + + /http-cache-semantics@4.1.1: + resolution: + { + integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==, + } + dev: true + + /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 + + /http-errors@1.8.1: + resolution: + { + integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==, + } + engines: { node: ">= 0.6" } + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 1.5.0 + toidentifier: 1.0.1 + + /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 + + /http-proxy-agent@5.0.0: + resolution: + { + integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==, + } + engines: { node: ">= 6" } + dependencies: + "@tootallnate/once": 2.0.0 + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /http-shutdown@1.2.2: + resolution: + { + integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==, + } + engines: { iojs: ">= 1.0.0", node: ">= 0.12.0" } + + /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 + + /https-proxy-agent@7.0.1: + resolution: + { + integrity: sha512-Eun8zV0kcYS1g19r78osiQLEFIRspRUDd9tIfBCTBPBeMieF/EsJNL8VI3xOIdYRDEkjQnqOYPsZ2DsWsVsFwQ==, + } + engines: { node: ">= 14" } + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /httpxy@0.1.4: + resolution: + { + integrity: sha512-ArXKNWhU5taozl6fFnu01M9HiInAqSOw4mUp+7DY/zbTHPmS8JBqH0IC3VLovRBd9b8ZE03ztemcxzeWT6pCoA==, + } + + /human-signals@2.1.0: + resolution: + { + integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==, + } + engines: { node: ">=10.17.0" } + + /human-signals@4.3.1: + resolution: + { + integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==, + } + engines: { node: ">=14.18.0" } + + /human-signals@5.0.0: + resolution: + { + integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==, + } + engines: { node: ">=16.17.0" } + + /humanize-ms@1.2.1: + resolution: + { + integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==, + } + dependencies: + ms: 2.1.3 + dev: true + + /iconv-lite@0.6.3: + resolution: + { + integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==, + } + engines: { node: ">=0.10.0" } + requiresBuild: true + dependencies: + safer-buffer: 2.1.2 + dev: true + optional: true + + /ieee754@1.2.1: + resolution: + { + integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, + } + + /ignore-walk@6.0.3: + resolution: + { + integrity: sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dependencies: + minimatch: 9.0.3 + dev: true + + /ignore@5.2.4: + resolution: + { + integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==, + } + engines: { node: ">= 4" } + + /ignore@5.3.0: + resolution: + { + integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==, + } + engines: { node: ">= 4" } + + /image-meta@0.1.1: + resolution: + { + integrity: sha512-+oXiHwOEPr1IE5zY0tcBLED/CYcre15J4nwL50x3o0jxWqEkyjrusiKP3YSU+tr9fvJp33ZcP5Gpj2295g3aEw==, + } + engines: { node: ">=10.18.0" } + dev: true + + /immutable@4.3.4: + resolution: + { + integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==, + } + + /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: true + + /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==, + } + + /inherits@2.0.4: + resolution: + { + integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, + } + + /ini@1.3.8: + resolution: + { + integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==, + } + + /ini@2.0.0: + resolution: + { + integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==, + } + engines: { node: ">=10" } + dev: true + + /ioredis@5.3.2: + resolution: + { + integrity: sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==, + } + engines: { node: ">=12.22.0" } + dependencies: + "@ioredis/commands": 1.2.0 + cluster-key-slot: 1.1.2 + debug: 4.3.4 + denque: 2.1.0 + lodash.defaults: 4.2.0 + lodash.isarguments: 3.1.0 + redis-errors: 1.2.0 + redis-parser: 3.0.0 + standard-as-callback: 2.1.0 + transitivePeerDependencies: + - supports-color + + /ip@2.0.0: + resolution: + { + integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==, + } + dev: true + + /iron-webcrypto@0.8.2: + resolution: + { + integrity: sha512-jGiwmpgTuF19Vt4hn3+AzaVFGpVZt7A1ysd5ivFel2r4aNVFwqaYa6aU6qsF1PM7b+WFivZHz3nipwUOXaOnHg==, + } + + /iron-webcrypto@1.0.0: + resolution: + { + integrity: sha512-anOK1Mktt8U1Xi7fCM3RELTuYbnFikQY5VtrDj7kPgpejV7d43tWKhzgioO0zpkazLEL/j/iayRqnJhrGfqUsg==, + } + + /is-arguments@1.1.1: + resolution: + { + integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true + + /is-arrayish@0.3.2: + resolution: + { + integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==, + } + dev: false + + /is-binary-path@2.1.0: + resolution: + { + integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, + } + engines: { node: ">=8" } + dependencies: + binary-extensions: 2.2.0 + + /is-builtin-module@3.2.1: + resolution: + { + integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==, + } + engines: { node: ">=6" } + dependencies: + builtin-modules: 3.3.0 + + /is-callable@1.2.7: + resolution: + { + integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==, + } + engines: { node: ">= 0.4" } + dev: true + + /is-core-module@2.13.0: + resolution: + { + integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==, + } + dependencies: + has: 1.0.3 + + /is-docker@2.2.1: + resolution: + { + integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==, + } + engines: { node: ">=8" } + hasBin: true + + /is-docker@3.0.0: + resolution: + { + integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + hasBin: true + + /is-extglob@2.1.1: + resolution: + { + integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, + } + engines: { node: ">=0.10.0" } + + /is-fullwidth-code-point@3.0.0: + resolution: + { + integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, + } + engines: { node: ">=8" } + + /is-generator-function@1.0.10: + resolution: + { + integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==, + } + engines: { node: ">= 0.4" } + dependencies: + has-tostringtag: 1.0.0 + + /is-glob@4.0.3: + resolution: + { + integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, + } + engines: { node: ">=0.10.0" } + dependencies: + is-extglob: 2.1.1 + + /is-https@4.0.0: + resolution: + { + integrity: sha512-FeMLiqf8E5g6SdiVJsPcNZX8k4h2fBs1wp5Bb6uaNxn58ufK1axBqQZdmAQsqh0t9BuwFObybrdVJh6MKyPlyg==, + } + dev: true + + /is-inside-container@1.0.0: + resolution: + { + integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==, + } + engines: { node: ">=14.16" } + hasBin: true + dependencies: + is-docker: 3.0.0 + dev: true + + /is-installed-globally@0.4.0: + resolution: + { + integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==, + } + engines: { node: ">=10" } + dependencies: + global-dirs: 3.0.1 + is-path-inside: 3.0.3 + dev: true + + /is-lambda@1.0.1: + resolution: + { + integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==, + } + dev: true + + /is-module@1.0.0: + resolution: + { + integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==, + } + + /is-nan@1.3.2: + resolution: + { + integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + dev: true + + /is-natural-number@4.0.1: + resolution: + { + integrity: sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==, + } + dev: true + + /is-number@7.0.0: + resolution: + { + integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, + } + engines: { node: ">=0.12.0" } + + /is-path-inside@3.0.3: + resolution: + { + integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, + } + engines: { node: ">=8" } + + /is-primitive@3.0.1: + resolution: + { + integrity: sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==, + } + engines: { node: ">=0.10.0" } + + /is-promise@4.0.0: + resolution: + { + integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==, + } + + /is-reference@1.2.1: + resolution: + { + integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==, + } + dependencies: + "@types/estree": 1.0.1 + + /is-ssh@1.4.0: + resolution: + { + integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==, + } + dependencies: + protocols: 2.0.1 + + /is-stream@1.1.0: + resolution: + { + integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==, + } + engines: { node: ">=0.10.0" } + dev: true + + /is-stream@2.0.1: + resolution: + { + integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==, + } + engines: { node: ">=8" } + + /is-stream@3.0.0: + resolution: + { + integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + + /is-typed-array@1.1.12: + resolution: + { + integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==, + } + engines: { node: ">= 0.4" } + dependencies: + which-typed-array: 1.1.11 + dev: true + + /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==, + } + + /isexe@2.0.0: + resolution: + { + integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, + } + + /jackspeak@2.3.1: + resolution: + { + integrity: sha512-4iSY3Bh1Htv+kLhiiZunUhQ+OYXIn0ze3ulq8JeWrFKmhPAJSySV2+kdtRh2pGcCeF0s6oR8Oc+pYZynJj4t8A==, + } + engines: { node: ">=14" } + dependencies: + "@isaacs/cliui": 8.0.2 + optionalDependencies: + "@pkgjs/parseargs": 0.11.0 + dev: true + + /jackspeak@2.3.6: + resolution: + { + integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==, + } + engines: { node: ">=14" } + dependencies: + "@isaacs/cliui": 8.0.2 + optionalDependencies: + "@pkgjs/parseargs": 0.11.0 + + /jiti@1.19.3: + resolution: + { + integrity: sha512-5eEbBDQT/jF1xg6l36P+mWGGoH9Spuy0PCdSr2dtWRDGC6ph/w9ZCL4lmESW8f8F7MwT3XKescfP0wnZWAKL9w==, + } + hasBin: true + + /jiti@1.21.0: + resolution: + { + integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==, + } + hasBin: true + + /joi@17.10.0: + resolution: + { + integrity: sha512-hrazgRSlhzacZ69LdcKfhi3Vu13z2yFfoAzmEov3yFIJlatTdVGUW6vle1zjH8qkzdCn/qGw8rapjqsObbYXAg==, + } + dependencies: + "@hapi/hoek": 9.3.0 + "@hapi/topo": 5.1.0 + "@sideway/address": 4.1.4 + "@sideway/formula": 3.0.1 + "@sideway/pinpoint": 2.0.0 + dev: true + + /js-cookie@3.0.5: + resolution: + { + integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==, + } + engines: { node: ">=14" } + dev: true + + /js-tokens@4.0.0: + resolution: + { + integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, + } + + /js-yaml@4.1.0: + resolution: + { + integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, + } + hasBin: true + dependencies: + argparse: 2.0.1 + + /jsesc@2.5.2: + resolution: + { + integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, + } + engines: { node: ">=4" } + hasBin: true + + /json-buffer@3.0.1: + resolution: + { + integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, + } + + /json-parse-even-better-errors@3.0.0: + resolution: + { + integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dev: true + + /json-schema-traverse@0.4.1: + resolution: + { + integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, + } + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: + { + integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, + } + + /json5@2.2.3: + resolution: + { + integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, + } + engines: { node: ">=6" } + hasBin: true + + /jsonc-eslint-parser@2.4.0: + resolution: + { + integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + acorn: 8.10.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + semver: 7.5.4 + dev: true + + /jsonc-parser@3.2.0: + resolution: + { + integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==, + } + + /jsonfile@6.1.0: + resolution: + { + integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, + } + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: 4.2.11 + + /jsonparse@1.3.1: + resolution: + { + integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==, + } + engines: { "0": node >= 0.2.0 } + dev: true + + /keygrip@1.1.0: + resolution: + { + integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==, + } + engines: { node: ">= 0.6" } + dependencies: + tsscmp: 1.0.6 + + /keyv@4.5.4: + resolution: + { + integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, + } + dependencies: + json-buffer: 3.0.1 + + /kleur@3.0.3: + resolution: + { + integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==, + } + engines: { node: ">=6" } + + /klona@2.0.6: + resolution: + { + integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==, + } + engines: { node: ">= 8" } + + /knitwork@1.0.0: + resolution: + { + integrity: sha512-dWl0Dbjm6Xm+kDxhPQJsCBTxrJzuGl0aP9rhr+TG8D3l+GL90N8O8lYUi7dTSAN2uuDqCtNgb6aEuQH5wsiV8Q==, + } + + /koa-compose@4.1.0: + resolution: + { + integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==, + } + + /koa-convert@2.0.0: + resolution: + { + integrity: sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==, + } + engines: { node: ">= 10" } + dependencies: + co: 4.6.0 + koa-compose: 4.1.0 + + /koa-send@5.0.1: + resolution: + { + integrity: sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ==, + } + engines: { node: ">= 8" } + dependencies: + debug: 4.3.4 + http-errors: 1.8.1 + resolve-path: 1.4.0 + transitivePeerDependencies: + - supports-color + + /koa-static@5.0.0: + resolution: + { + integrity: sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==, + } + engines: { node: ">= 7.6.0" } + dependencies: + debug: 3.2.7 + koa-send: 5.0.1 + transitivePeerDependencies: + - supports-color + + /koa@2.14.2: + resolution: + { + integrity: sha512-VFI2bpJaodz6P7x2uyLiX6RLYpZmOJqNmoCst/Yyd7hQlszyPwG/I9CQJ63nOtKSxpt5M7NH67V6nJL2BwCl7g==, + } + engines: { node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4 } + dependencies: + accepts: 1.3.8 + cache-content-type: 1.0.1 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookies: 0.8.0 + debug: 4.3.4 + delegates: 1.0.0 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + fresh: 0.5.2 + http-assert: 1.5.0 + http-errors: 1.8.1 + is-generator-function: 1.0.10 + koa-compose: 4.1.0 + koa-convert: 2.0.0 + on-finished: 2.4.1 + only: 0.0.2 + parseurl: 1.3.3 + statuses: 1.5.0 + type-is: 1.6.18 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + /kolorist@1.8.0: + resolution: + { + integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==, + } + + /kuler@2.0.0: + resolution: + { + integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==, + } + dev: false + + /launch-editor@2.6.0: + resolution: + { + integrity: sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==, + } + dependencies: + picocolors: 1.0.0 + shell-quote: 1.8.1 + dev: true + + /lazystream@1.0.1: + resolution: + { + integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==, + } + engines: { node: ">= 0.6.3" } + dependencies: + readable-stream: 2.3.8 + + /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 + + /lilconfig@2.1.0: + resolution: + { + integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==, + } + engines: { node: ">=10" } + + /lilconfig@3.0.0: + resolution: + { + integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==, + } + engines: { node: ">=14" } + + /lines-and-columns@1.2.4: + resolution: + { + integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, + } + + /listhen@1.4.4: + resolution: + { + integrity: sha512-xoZWbfziou7xPWj9nlFXeroFTJZVIyJ6wKrLea2jxvWgMkcz/vLMoZACYHLRmcLGi5hZkcDF48tmkmv1Y6Y42Q==, + } + hasBin: true + dependencies: + "@parcel/watcher": 2.3.0 + "@parcel/watcher-wasm": 2.3.0 + citty: 0.1.3 + clipboardy: 3.0.0 + consola: 3.2.3 + defu: 6.1.2 + get-port-please: 3.0.2 + h3: 1.8.1 + http-shutdown: 1.2.2 + jiti: 1.19.3 + mlly: 1.4.1 + node-forge: 1.3.1 + pathe: 1.1.1 + ufo: 1.3.0 + untun: 0.1.2 + uqr: 0.1.2 + + /local-pkg@0.4.3: + resolution: + { + integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==, + } + engines: { node: ">=14" } + + /local-pkg@0.5.0: + resolution: + { + integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==, + } + engines: { node: ">=14" } + dependencies: + mlly: 1.4.2 + pkg-types: 1.0.3 + + /locate-path@6.0.0: + resolution: + { + integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, + } + engines: { node: ">=10" } + dependencies: + p-locate: 5.0.0 + + /lodash._reinterpolate@3.0.0: + resolution: + { + integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==, + } + dev: false + + /lodash.castarray@4.4.0: + resolution: + { + integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==, + } + dev: false + + /lodash.debounce@4.0.8: + resolution: + { + integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==, + } + + /lodash.defaults@4.2.0: + resolution: + { + integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==, + } + + /lodash.difference@4.5.0: + resolution: + { + integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==, + } + + /lodash.flatten@4.4.0: + resolution: + { + integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==, + } + + /lodash.isarguments@3.1.0: + resolution: + { + integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==, + } + + /lodash.isplainobject@4.0.6: + resolution: + { + integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==, + } + + /lodash.memoize@4.1.2: + resolution: + { + integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==, + } + + /lodash.merge@4.6.2: + resolution: + { + integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, + } + + /lodash.pick@4.4.0: + resolution: + { + integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==, + } + + /lodash.template@4.5.0: + resolution: + { + integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==, + } + dependencies: + lodash._reinterpolate: 3.0.0 + lodash.templatesettings: 4.2.0 + dev: false + + /lodash.templatesettings@4.2.0: + resolution: + { + integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==, + } + dependencies: + lodash._reinterpolate: 3.0.0 + dev: false + + /lodash.union@4.6.0: + resolution: + { + integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==, + } + + /lodash.uniq@4.5.0: + resolution: + { + integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==, + } + + /lodash@4.17.21: + resolution: + { + integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, + } + + /logform@2.6.0: + resolution: + { + integrity: sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==, + } + engines: { node: ">= 12.0.0" } + dependencies: + "@colors/colors": 1.6.0 + "@types/triple-beam": 1.3.5 + fecha: 4.2.3 + ms: 2.1.3 + safe-stable-stringify: 2.4.3 + triple-beam: 1.4.1 + dev: false + + /loupe@2.3.7: + resolution: + { + integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==, + } + dependencies: + get-func-name: 2.0.2 + dev: true + + /lru-cache@10.0.1: + resolution: + { + integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==, + } + engines: { node: 14 || >=16.14 } + + /lru-cache@5.1.1: + resolution: + { + integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, + } + dependencies: + yallist: 3.1.1 + + /lru-cache@6.0.0: + resolution: + { + integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, + } + engines: { node: ">=10" } + dependencies: + yallist: 4.0.0 + + /lru-cache@7.18.3: + resolution: + { + integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==, + } + engines: { node: ">=12" } + dev: true + + /magic-string-ast@0.3.0: + resolution: + { + integrity: sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==, + } + engines: { node: ">=16.14.0" } + dependencies: + magic-string: 0.30.3 + + /magic-string@0.27.0: + resolution: + { + integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==, + } + engines: { node: ">=12" } + dependencies: + "@jridgewell/sourcemap-codec": 1.4.15 + + /magic-string@0.30.3: + resolution: + { + integrity: sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==, + } + engines: { node: ">=12" } + dependencies: + "@jridgewell/sourcemap-codec": 1.4.15 + + /magic-string@0.30.5: + resolution: + { + integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==, + } + engines: { node: ">=12" } + dependencies: + "@jridgewell/sourcemap-codec": 1.4.15 + + /magicast@0.2.10: + resolution: + { + integrity: sha512-Ah2qatigknxwmoYCd9hx/mmVyrRNhDKiaWZIuW4gL6dWrAGMoOpCVkQ3VpGWARtkaJVFhe8uIphcsxDzLPQUyg==, + } + dependencies: + "@babel/parser": 7.22.13 + "@babel/types": 7.22.11 + recast: 0.23.4 + dev: true + + /make-dir@1.3.0: + resolution: + { + integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==, + } + engines: { node: ">=4" } + dependencies: + pify: 3.0.0 + dev: true + + /make-dir@3.1.0: + resolution: + { + integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==, + } + engines: { node: ">=8" } + dependencies: + semver: 6.3.1 + + /make-fetch-happen@11.1.1: + resolution: + { + integrity: sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dependencies: + agentkeepalive: 4.5.0 + cacache: 17.1.4 + http-cache-semantics: 4.1.1 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-lambda: 1.0.1 + lru-cache: 7.18.3 + minipass: 5.0.0 + minipass-fetch: 3.0.4 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + negotiator: 0.6.3 + promise-retry: 2.0.1 + socks-proxy-agent: 7.0.0 + ssri: 10.0.5 + transitivePeerDependencies: + - supports-color + dev: true + + /make-fetch-happen@13.0.0: + resolution: + { + integrity: sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + dependencies: + "@npmcli/agent": 2.0.0 + cacache: 18.0.0 + http-cache-semantics: 4.1.1 + is-lambda: 1.0.1 + minipass: 7.0.3 + minipass-fetch: 3.0.4 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + negotiator: 0.6.3 + promise-retry: 2.0.1 + ssri: 10.0.5 + dev: true + + /marked@9.1.6: + resolution: + { + integrity: sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==, + } + engines: { node: ">= 16" } + hasBin: true + dev: false + + /mdn-data@2.0.28: + resolution: + { + integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==, + } + + /mdn-data@2.0.30: + resolution: + { + integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==, + } + + /media-typer@0.3.0: + resolution: + { + integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, + } + engines: { node: ">= 0.6" } + + /memory-fs@0.5.0: + resolution: + { + integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==, + } + engines: { node: ">=4.3.0 <5.0.0 || >=5.10" } + dependencies: + errno: 0.1.8 + readable-stream: 2.3.8 + + /merge-stream@2.0.0: + resolution: + { + integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, + } + + /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" } + + /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" } + + /mime-types@2.1.35: + resolution: + { + integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, + } + engines: { node: ">= 0.6" } + dependencies: + mime-db: 1.52.0 + + /mime@1.6.0: + resolution: + { + integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==, + } + engines: { node: ">=4" } + hasBin: true + + /mime@2.5.2: + resolution: + { + integrity: sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==, + } + engines: { node: ">=4.0.0" } + hasBin: true + + /mime@3.0.0: + resolution: + { + integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==, + } + engines: { node: ">=10.0.0" } + hasBin: true + + /mimic-fn@2.1.0: + resolution: + { + integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, + } + engines: { node: ">=6" } + + /mimic-fn@4.0.0: + resolution: + { + integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, + } + engines: { node: ">=12" } + + /mini-svg-data-uri@1.4.4: + resolution: + { + integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==, + } + hasBin: true + dev: false + + /minimatch@3.0.8: + resolution: + { + integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==, + } + dependencies: + brace-expansion: 1.1.11 + + /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@9.0.3: + resolution: + { + integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==, + } + engines: { node: ">=16 || 14 >=14.17" } + dependencies: + brace-expansion: 2.0.1 + + /minimist@1.2.8: + resolution: + { + integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, + } + + /minipass-collect@1.0.2: + resolution: + { + integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==, + } + engines: { node: ">= 8" } + dependencies: + minipass: 3.3.6 + dev: true + + /minipass-fetch@3.0.4: + resolution: + { + integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dependencies: + minipass: 7.0.3 + minipass-sized: 1.0.3 + minizlib: 2.1.2 + optionalDependencies: + encoding: 0.1.13 + dev: true + + /minipass-flush@1.0.5: + resolution: + { + integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==, + } + engines: { node: ">= 8" } + dependencies: + minipass: 3.3.6 + dev: true + + /minipass-json-stream@1.0.1: + resolution: + { + integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==, + } + dependencies: + jsonparse: 1.3.1 + minipass: 3.3.6 + dev: true + + /minipass-pipeline@1.2.4: + resolution: + { + integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==, + } + engines: { node: ">=8" } + dependencies: + minipass: 3.3.6 + dev: true + + /minipass-sized@1.0.3: + resolution: + { + integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==, + } + engines: { node: ">=8" } + dependencies: + minipass: 3.3.6 + dev: true + + /minipass@3.3.6: + resolution: + { + integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==, + } + engines: { node: ">=8" } + dependencies: + yallist: 4.0.0 + + /minipass@5.0.0: + resolution: + { + integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==, + } + engines: { node: ">=8" } + + /minipass@7.0.3: + resolution: + { + integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==, + } + engines: { node: ">=16 || 14 >=14.17" } + + /minizlib@2.1.2: + resolution: + { + integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==, + } + engines: { node: ">= 8" } + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + + /mkdirp@0.5.6: + resolution: + { + integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==, + } + hasBin: true + dependencies: + minimist: 1.2.8 + + /mkdirp@1.0.4: + resolution: + { + integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==, + } + engines: { node: ">=10" } + hasBin: true + + /mlly@1.4.1: + resolution: + { + integrity: sha512-SCDs78Q2o09jiZiE2WziwVBEqXQ02XkGdUy45cbJf+BpYRIjArXRJ1Wbowxkb+NaM9DWvS3UC9GiO/6eqvQ/pg==, + } + dependencies: + acorn: 8.10.0 + pathe: 1.1.1 + pkg-types: 1.0.3 + ufo: 1.3.0 + + /mlly@1.4.2: + resolution: + { + integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==, + } + dependencies: + acorn: 8.10.0 + pathe: 1.1.1 + pkg-types: 1.0.3 + ufo: 1.3.2 + + /mri@1.2.0: + resolution: + { + integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==, + } + engines: { node: ">=4" } + + /mrmime@1.0.1: + resolution: + { + integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==, + } + engines: { node: ">=10" } + dev: true + + /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==, + } + + /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 + + /nanoid@3.3.6: + resolution: + { + integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==, + } + 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 + + /nanoid@4.0.2: + resolution: + { + integrity: sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==, + } + engines: { node: ^14 || ^16 || >=18 } + hasBin: true + + /natural-compare@1.4.0: + resolution: + { + integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, + } + + /negotiator@0.6.3: + resolution: + { + integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==, + } + engines: { node: ">= 0.6" } + + /nitropack@2.6.2: + resolution: + { + integrity: sha512-gzbxLIhCoQrK+NrgW5Szuo6zzFEU/bqoohimyJ8IkETI3MXlYtLphlW/UVE8pv8UQ0IJ2HzxFpZ7Ldd0+bQ35A==, + } + engines: { node: ^16.11.0 || >=17.0.0 } + hasBin: true + dependencies: + "@cloudflare/kv-asset-handler": 0.3.0 + "@netlify/functions": 2.0.2 + "@rollup/plugin-alias": 5.0.0(rollup@3.28.1) + "@rollup/plugin-commonjs": 25.0.4(rollup@3.28.1) + "@rollup/plugin-inject": 5.0.3(rollup@3.28.1) + "@rollup/plugin-json": 6.0.0(rollup@3.28.1) + "@rollup/plugin-node-resolve": 15.2.1(rollup@3.28.1) + "@rollup/plugin-replace": 5.0.2(rollup@3.28.1) + "@rollup/plugin-terser": 0.4.3(rollup@3.28.1) + "@rollup/plugin-wasm": 6.1.3(rollup@3.28.1) + "@rollup/pluginutils": 5.0.4(rollup@3.28.1) + "@types/http-proxy": 1.17.11 + "@vercel/nft": 0.23.1 + archiver: 6.0.0 + c12: 1.4.2 + chalk: 5.3.0 + chokidar: 3.5.3 + citty: 0.1.3 + consola: 3.2.3 + cookie-es: 1.0.0 + defu: 6.1.2 + destr: 2.0.1 + dot-prop: 8.0.2 + esbuild: 0.19.2 + escape-string-regexp: 5.0.0 + etag: 1.8.1 + fs-extra: 11.1.1 + globby: 13.2.2 + gzip-size: 7.0.0 + h3: 1.8.1 + hookable: 5.5.3 + httpxy: 0.1.4 + is-primitive: 3.0.1 + jiti: 1.19.3 + klona: 2.0.6 + knitwork: 1.0.0 + listhen: 1.4.4 + magic-string: 0.30.3 + mime: 3.0.0 + mlly: 1.4.1 + mri: 1.2.0 + node-fetch-native: 1.4.0 + ofetch: 1.3.3 + ohash: 1.1.3 + openapi-typescript: 6.5.3 + pathe: 1.1.1 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + pretty-bytes: 6.1.1 + radix3: 1.1.0 + rollup: 3.28.1 + rollup-plugin-visualizer: 5.9.2(rollup@3.28.1) + scule: 1.0.0 + semver: 7.5.4 + serve-placeholder: 2.0.1 + serve-static: 1.15.0 + std-env: 3.4.3 + ufo: 1.3.0 + uncrypto: 0.1.3 + unctx: 2.3.1 + unenv: 1.7.4 + unimport: 3.2.0(rollup@3.28.1) + unstorage: 1.9.0 + transitivePeerDependencies: + - "@azure/app-configuration" + - "@azure/cosmos" + - "@azure/data-tables" + - "@azure/identity" + - "@azure/keyvault-secrets" + - "@azure/storage-blob" + - "@capacitor/preferences" + - "@planetscale/database" + - "@upstash/redis" + - "@vercel/kv" + - encoding + - idb-keyval + - supports-color + + /node-addon-api@7.0.0: + resolution: + { + integrity: sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==, + } + + /node-domexception@1.0.0: + resolution: + { + integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==, + } + engines: { node: ">=10.5.0" } + + /node-fetch-native@1.4.0: + resolution: + { + integrity: sha512-F5kfEj95kX8tkDhUCYdV8dg3/8Olx/94zB8+ZNthFs6Bz31UpUi8Xh40TN3thLwXgrwXry1pEg9lJ++tLWTcqA==, + } + + /node-fetch-native@1.6.1: + resolution: + { + integrity: sha512-bW9T/uJDPAJB2YNYEpWzE54U5O3MQidXsOyTfnbKYtTtFexRvGzb1waphBN4ZwP6EcIvYYEOwW0b72BpAqydTw==, + } + + /node-fetch@2.7.0: + resolution: + { + integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==, + } + engines: { node: 4.x || >=6.0.0 } + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + + /node-fetch@3.3.2: + resolution: + { + integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + + /node-forge@1.3.1: + resolution: + { + integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==, + } + engines: { node: ">= 6.13.0" } + + /node-gyp-build@4.6.1: + resolution: + { + integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==, + } + hasBin: true + + /node-gyp@9.4.0: + resolution: + { + integrity: sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==, + } + engines: { node: ^12.13 || ^14.13 || >=16 } + hasBin: true + dependencies: + env-paths: 2.2.1 + exponential-backoff: 3.1.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + make-fetch-happen: 11.1.1 + nopt: 6.0.0 + npmlog: 6.0.2 + rimraf: 3.0.2 + semver: 7.5.4 + tar: 6.1.15 + which: 2.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /node-releases@2.0.13: + resolution: + { + integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==, + } + + /nopt@5.0.0: + resolution: + { + integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==, + } + engines: { node: ">=6" } + hasBin: true + dependencies: + abbrev: 1.1.1 + + /nopt@6.0.0: + resolution: + { + integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==, + } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + hasBin: true + dependencies: + abbrev: 1.1.1 + dev: true + + /normalize-package-data@6.0.0: + resolution: + { + integrity: sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + dependencies: + hosted-git-info: 7.0.0 + is-core-module: 2.13.0 + semver: 7.5.4 + validate-npm-package-license: 3.0.4 + dev: true + + /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" } + + /npm-bundled@3.0.0: + resolution: + { + integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dependencies: + npm-normalize-package-bin: 3.0.1 + dev: true + + /npm-install-checks@6.2.0: + resolution: + { + integrity: sha512-744wat5wAAHsxa4590mWO0tJ8PKxR8ORZsH9wGpQc3nWTzozMAgBN/XyqYw7mg3yqLM8dLwEnwSfKMmXAjF69g==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dependencies: + semver: 7.5.4 + dev: true + + /npm-normalize-package-bin@3.0.1: + resolution: + { + integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dev: true + + /npm-package-arg@11.0.0: + resolution: + { + integrity: sha512-D8sItaQ8n6VlBUFed3DLz2sCpkabRAjaiLkTamDppvh8lmmAPirzNfBuhJd/2rlmoxZ2S9mOHmIEvzV2z2jOeA==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + dependencies: + hosted-git-info: 7.0.0 + proc-log: 3.0.0 + semver: 7.5.4 + validate-npm-package-name: 5.0.0 + dev: true + + /npm-packlist@8.0.0: + resolution: + { + integrity: sha512-ErAGFB5kJUciPy1mmx/C2YFbvxoJ0QJ9uwkCZOeR6CqLLISPZBOiFModAbSXnjjlwW5lOhuhXva+fURsSGJqyw==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dependencies: + ignore-walk: 6.0.3 + dev: true + + /npm-pick-manifest@9.0.0: + resolution: + { + integrity: sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + dependencies: + npm-install-checks: 6.2.0 + npm-normalize-package-bin: 3.0.1 + npm-package-arg: 11.0.0 + semver: 7.5.4 + dev: true + + /npm-registry-fetch@16.0.0: + resolution: + { + integrity: sha512-JFCpAPUpvpwfSydv99u85yhP68rNIxSFmDpNbNnRWKSe3gpjHnWL8v320gATwRzjtgmZ9Jfe37+ZPOLZPwz6BQ==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + dependencies: + make-fetch-happen: 13.0.0 + minipass: 7.0.3 + minipass-fetch: 3.0.4 + minipass-json-stream: 1.0.1 + minizlib: 2.1.2 + npm-package-arg: 11.0.0 + proc-log: 3.0.0 + dev: true + + /npm-run-path@4.0.1: + resolution: + { + integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, + } + engines: { node: ">=8" } + dependencies: + path-key: 3.1.1 + + /npm-run-path@5.1.0: + resolution: + { + integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + path-key: 4.0.0 + + /npmlog@5.0.1: + resolution: + { + integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==, + } + dependencies: + are-we-there-yet: 2.0.0 + console-control-strings: 1.1.0 + gauge: 3.0.2 + set-blocking: 2.0.0 + + /npmlog@6.0.2: + resolution: + { + integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==, + } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + dependencies: + are-we-there-yet: 3.0.1 + console-control-strings: 1.1.0 + gauge: 4.0.4 + set-blocking: 2.0.0 + dev: true + + /nth-check@2.1.1: + resolution: + { + integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==, + } + dependencies: + boolbase: 1.0.0 + + /nuxi@3.7.2: + resolution: + { + integrity: sha512-WNczi4X5ms8v63BTlCH+ZZDPzoFI0/V5KW8an4Zv6qOngtONHALw1u6qvtcAqG2tuMDu8gdJuzxMZL2845Dbig==, + } + engines: { node: ^14.18.0 || >=16.10.0 } + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + + /nuxt-icon@0.6.8(nuxt@3.7.0)(vite@4.4.9)(vue@3.3.4): + resolution: + { + integrity: sha512-6eWlNOb6Uvp63uXFdhcmsB1JlubDv76Pot/VwmIu0yJxDYhwytbnv3WAjw2khl2l7W/65V4eMGIEeX9C5Ahxng==, + } + dependencies: + "@iconify/collections": 1.0.374 + "@iconify/vue": 4.1.1(vue@3.3.4) + "@nuxt/devtools-kit": 1.0.6(nuxt@3.7.0)(vite@4.4.9) + "@nuxt/kit": 3.9.0 + transitivePeerDependencies: + - nuxt + - rollup + - supports-color + - vite + - vue + dev: false + + /nuxt@3.7.0(eslint@8.54.0)(sass@1.69.5)(typescript@5.3.3): + resolution: + { + integrity: sha512-y0/xHYqwuJt20r26xezjpr74FLWR144dMpwSxZ/O2XXUrQUnyO7vHm3fEY4vi+miKbf343YMH5B78GXAELO/Vw==, + } + engines: { node: ^14.18.0 || >=16.10.0 } + hasBin: true + peerDependencies: + "@parcel/watcher": ^2.1.0 + "@types/node": ^14.18.0 || >=16.10.0 + peerDependenciesMeta: + "@parcel/watcher": + optional: true + "@types/node": + optional: true + dependencies: + "@nuxt/devalue": 2.0.2 + "@nuxt/kit": 3.7.0 + "@nuxt/schema": 3.7.0 + "@nuxt/telemetry": 2.4.1 + "@nuxt/ui-templates": 1.3.1 + "@nuxt/vite-builder": 3.7.0(eslint@8.54.0)(sass@1.69.5)(typescript@5.3.3)(vue@3.3.4) + "@unhead/dom": 1.3.9 + "@unhead/ssr": 1.3.9 + "@unhead/vue": 1.3.9(vue@3.3.4) + "@vue/shared": 3.3.4 + acorn: 8.10.0 + c12: 1.4.2 + chokidar: 3.5.3 + cookie-es: 1.0.0 + defu: 6.1.2 + destr: 2.0.1 + devalue: 4.3.2 + esbuild: 0.19.2 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + fs-extra: 11.1.1 + globby: 13.2.2 + h3: 1.8.1 + hookable: 5.5.3 + jiti: 1.19.3 + klona: 2.0.6 + knitwork: 1.0.0 + magic-string: 0.30.3 + mlly: 1.4.1 + nitropack: 2.6.2 + nuxi: 3.7.2 + nypm: 0.3.2 + ofetch: 1.3.3 + ohash: 1.1.3 + pathe: 1.1.1 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + prompts: 2.4.2 + scule: 1.0.0 + std-env: 3.4.3 + strip-literal: 1.3.0 + ufo: 1.3.0 + ultrahtml: 1.4.0 + uncrypto: 0.1.3 + unctx: 2.3.1 + unenv: 1.7.4 + unimport: 3.2.0(rollup@3.28.1) + unplugin: 1.4.0 + unplugin-vue-router: 0.6.4(vue-router@4.2.4)(vue@3.3.4) + untyped: 1.4.0 + vue: 3.3.4 + vue-bundle-renderer: 2.0.0 + vue-devtools-stub: 0.1.0 + vue-router: 4.2.4(vue@3.3.4) + transitivePeerDependencies: + - "@azure/app-configuration" + - "@azure/cosmos" + - "@azure/data-tables" + - "@azure/identity" + - "@azure/keyvault-secrets" + - "@azure/storage-blob" + - "@capacitor/preferences" + - "@planetscale/database" + - "@upstash/redis" + - "@vercel/kv" + - encoding + - eslint + - idb-keyval + - less + - lightningcss + - meow + - optionator + - rollup + - sass + - stylelint + - stylus + - sugarss + - supports-color + - terser + - typescript + - vls + - vti + - vue-tsc + + /nypm@0.3.2: + resolution: + { + integrity: sha512-a49F06faGtgflUVvqIkBmrYkijbbhjEoR40gzgw7I43J1p3DkHQegNcRhaGaHddIYQ0KwrmvD1W/h16jn/2puA==, + } + engines: { node: ^14.16.0 || >=16.10.0 } + dependencies: + execa: 8.0.1 + ufo: 1.3.0 + + /nypm@0.3.3: + resolution: + { + integrity: sha512-FHoxtTscAE723e80d2M9cJRb4YVjL82Ra+ZV+YqC6rfNZUWahi+ZhPF+krnR+bdMvibsfHCtgKXnZf5R6kmEPA==, + } + engines: { node: ^14.16.0 || >=16.10.0 } + hasBin: true + dependencies: + citty: 0.1.5 + execa: 8.0.1 + pathe: 1.1.1 + ufo: 1.3.2 + + /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-is@1.1.5: + resolution: + { + integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + dev: true + + /object-keys@1.1.1: + resolution: + { + integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==, + } + engines: { node: ">= 0.4" } + dev: true + + /ofetch@1.3.3: + resolution: + { + integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==, + } + dependencies: + destr: 2.0.1 + node-fetch-native: 1.4.0 + ufo: 1.3.0 + + /ohash@1.1.3: + resolution: + { + integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==, + } + + /on-finished@2.4.1: + resolution: + { + integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==, + } + engines: { node: ">= 0.8" } + dependencies: + ee-first: 1.1.1 + + /once@1.4.0: + resolution: + { + integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, + } + dependencies: + wrappy: 1.0.2 + + /one-time@1.0.0: + resolution: + { + integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==, + } + dependencies: + fn.name: 1.1.0 + dev: false + + /onetime@5.1.2: + resolution: + { + integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, + } + engines: { node: ">=6" } + dependencies: + mimic-fn: 2.1.0 + + /onetime@6.0.0: + resolution: + { + integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, + } + engines: { node: ">=12" } + dependencies: + mimic-fn: 4.0.0 + + /only@0.0.2: + resolution: + { + integrity: sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==, + } + + /open@7.4.2: + resolution: + { + integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==, + } + engines: { node: ">=8" } + dependencies: + is-docker: 2.2.1 + is-wsl: 2.2.0 + + /open@8.4.2: + resolution: + { + integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==, + } + engines: { node: ">=12" } + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + + /open@9.1.0: + resolution: + { + integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==, + } + engines: { node: ">=14.16" } + dependencies: + default-browser: 4.0.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 2.2.0 + dev: true + + /openapi-typescript@6.5.3: + resolution: + { + integrity: sha512-iVOgf1wf/6R73Cg9wcxMAD/P3+/TJ8HQruLyv3WRDu29Pwnmp7ZUJ897Kb401jW7Ao/L4JjisropHQJW62BXtA==, + } + hasBin: true + dependencies: + ansi-colors: 4.1.3 + fast-glob: 3.3.1 + js-yaml: 4.1.0 + supports-color: 9.4.0 + undici: 5.23.0 + yargs-parser: 21.1.1 + + /optionator@0.9.3: + resolution: + { + integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, + } + engines: { node: ">= 0.8.0" } + dependencies: + "@aashutoshrathi/word-wrap": 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + + /p-limit@3.1.0: + resolution: + { + integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, + } + engines: { node: ">=10" } + dependencies: + yocto-queue: 0.1.0 + + /p-limit@4.0.0: + resolution: + { + integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + yocto-queue: 1.0.0 + dev: true + + /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@4.0.0: + resolution: + { + integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==, + } + engines: { node: ">=10" } + dependencies: + aggregate-error: 3.1.0 + dev: true + + /pacote@17.0.3: + resolution: + { + integrity: sha512-nT66y5NK2u/d7qV9lP6ye+powAufDl6OHT+aOZ4Cmtq89GSqgB05Ar6aQ7DM+0+bIE5NCdYUcqFlkK4m/0LVHA==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + hasBin: true + dependencies: + "@npmcli/git": 5.0.1 + "@npmcli/installed-package-contents": 2.0.2 + "@npmcli/promise-spawn": 6.0.2 + "@npmcli/run-script": 6.0.2 + cacache: 18.0.0 + fs-minipass: 3.0.3 + minipass: 7.0.3 + npm-package-arg: 11.0.0 + npm-packlist: 8.0.0 + npm-pick-manifest: 9.0.0 + npm-registry-fetch: 16.0.0 + proc-log: 3.0.0 + promise-retry: 2.0.1 + read-package-json: 7.0.0 + read-package-json-fast: 3.0.2 + sigstore: 2.1.0 + ssri: 10.0.5 + tar: 6.1.15 + transitivePeerDependencies: + - bluebird + - supports-color + dev: true + + /parent-module@1.0.1: + resolution: + { + integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, + } + engines: { node: ">=6" } + dependencies: + callsites: 3.1.0 + + /parent-module@2.0.0: + resolution: + { + integrity: sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==, + } + engines: { node: ">=8" } + dependencies: + callsites: 3.1.0 + + /parse-git-config@3.0.0: + resolution: + { + integrity: sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==, + } + engines: { node: ">=8" } + dependencies: + git-config-path: 2.0.0 + ini: 1.3.8 + + /parse-path@7.0.0: + resolution: + { + integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==, + } + dependencies: + protocols: 2.0.1 + + /parse-url@8.1.0: + resolution: + { + integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==, + } + dependencies: + parse-path: 7.0.0 + + /parseurl@1.3.3: + resolution: + { + integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==, + } + engines: { node: ">= 0.8" } + + /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-key@3.1.1: + resolution: + { + integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, + } + engines: { node: ">=8" } + + /path-key@4.0.0: + resolution: + { + integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, + } + engines: { node: ">=12" } + + /path-parse@1.0.7: + resolution: + { + integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, + } + + /path-scurry@1.10.1: + resolution: + { + integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==, + } + engines: { node: ">=16 || 14 >=14.17" } + dependencies: + lru-cache: 10.0.1 + minipass: 7.0.3 + + /path-to-regexp@6.2.1: + resolution: + { + integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==, + } + + /path-type@4.0.0: + resolution: + { + integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, + } + engines: { node: ">=8" } + + /path-type@5.0.0: + resolution: + { + integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==, + } + engines: { node: ">=12" } + + /pathe@1.1.1: + resolution: + { + integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==, + } + + /pathval@1.1.1: + resolution: + { + integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, + } + dev: true + + /pend@1.2.0: + resolution: + { + integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==, + } + dev: true + + /perfect-debounce@1.0.0: + resolution: + { + integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==, + } + + /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@3.0.0: + resolution: + { + integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==, + } + engines: { node: ">=4" } + dev: true + + /pinkie-promise@2.0.1: + resolution: + { + integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==, + } + engines: { node: ">=0.10.0" } + dependencies: + pinkie: 2.0.4 + dev: true + + /pinkie@2.0.4: + resolution: + { + integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==, + } + engines: { node: ">=0.10.0" } + dev: true + + /pirates@4.0.6: + resolution: + { + integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==, + } + engines: { node: ">= 6" } + + /pkg-types@1.0.3: + resolution: + { + integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==, + } + dependencies: + jsonc-parser: 3.2.0 + mlly: 1.4.1 + pathe: 1.1.1 + + /portfinder@1.0.32: + resolution: + { + integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==, + } + engines: { node: ">= 0.12.0" } + dependencies: + async: 2.6.4 + debug: 3.2.7 + mkdirp: 0.5.6 + transitivePeerDependencies: + - supports-color + + /postcss-calc@9.0.1(postcss@8.4.29): + resolution: + { + integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.2 + dependencies: + postcss: 8.4.29 + postcss-selector-parser: 6.0.13 + postcss-value-parser: 4.2.0 + + /postcss-colormin@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.10 + caniuse-api: 3.0.0 + colord: 2.9.3 + postcss: 8.4.29 + postcss-value-parser: 4.2.0 + + /postcss-convert-values@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.10 + postcss: 8.4.29 + postcss-value-parser: 4.2.0 + + /postcss-custom-properties@13.3.3(postcss@8.4.32): + resolution: + { + integrity: sha512-xLmILb2R83aG4X++iVFg8TWadOlc45xiyFHRZD6Yhhu2igrTHXL6C75AEWqx6k9lxrr9sK5rcfUI9JvTCxBTvA==, + } + engines: { node: ^14 || ^16 || >=18 } + peerDependencies: + postcss: ^8.4 + dependencies: + "@csstools/cascade-layer-name-parser": 1.0.6(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.2) + "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.2) + "@csstools/css-tokenizer": 2.2.2 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + + /postcss-discard-comments@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.29 + + /postcss-discard-duplicates@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.29 + + /postcss-discard-empty@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.29 + + /postcss-discard-overridden@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.29 + + /postcss-import-resolver@2.0.0: + resolution: + { + integrity: sha512-y001XYgGvVwgxyxw9J1a5kqM/vtmIQGzx34g0A0Oy44MFcy/ZboZw1hu/iN3VYFjSTRzbvd7zZJJz0Kh0AGkTw==, + } + dependencies: + enhanced-resolve: 4.5.0 + + /postcss-import@15.1.0(postcss@8.4.29): + resolution: + { + integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==, + } + engines: { node: ">=14.0.0" } + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.29 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.4 + + /postcss-import@15.1.0(postcss@8.4.32): + resolution: + { + integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==, + } + engines: { node: ">=14.0.0" } + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.4 + + /postcss-js@4.0.1(postcss@8.4.32): + resolution: + { + integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==, + } + engines: { node: ^12 || ^14 || >= 16 } + peerDependencies: + postcss: ^8.4.21 + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.32 + + /postcss-load-config@4.0.2(postcss@8.4.32): + resolution: + { + integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==, + } + engines: { node: ">= 14" } + peerDependencies: + postcss: ">=8.0.9" + ts-node: ">=9.0.0" + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 3.0.0 + postcss: 8.4.32 + yaml: 2.3.4 + + /postcss-merge-longhand@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.29 + postcss-value-parser: 4.2.0 + stylehacks: 6.0.0(postcss@8.4.29) + + /postcss-merge-rules@6.0.1(postcss@8.4.29): + resolution: + { + integrity: sha512-a4tlmJIQo9SCjcfiCcCMg/ZCEe0XTkl/xK0XHBs955GWg9xDX3NwP9pwZ78QUOWB8/0XCjZeJn98Dae0zg6AAw==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.10 + caniuse-api: 3.0.0 + cssnano-utils: 4.0.0(postcss@8.4.29) + postcss: 8.4.29 + postcss-selector-parser: 6.0.13 + + /postcss-minify-font-values@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.29 + postcss-value-parser: 4.2.0 + + /postcss-minify-gradients@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + colord: 2.9.3 + cssnano-utils: 4.0.0(postcss@8.4.29) + postcss: 8.4.29 + postcss-value-parser: 4.2.0 + + /postcss-minify-params@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.10 + cssnano-utils: 4.0.0(postcss@8.4.29) + postcss: 8.4.29 + postcss-value-parser: 4.2.0 + + /postcss-minify-selectors@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.29 + postcss-selector-parser: 6.0.13 + + /postcss-nested@6.0.1(postcss@8.4.32): + resolution: + { + integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==, + } + engines: { node: ">=12.0" } + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + + /postcss-nesting@12.0.2(postcss@8.4.32): + resolution: + { + integrity: sha512-63PpJHSeNs93S3ZUIyi+7kKx4JqOIEJ6QYtG3x+0qA4J03+4n0iwsyA1GAHyWxsHYljQS4/4ZK1o2sMi70b5wQ==, + } + engines: { node: ^14 || ^16 || >=18 } + peerDependencies: + postcss: ^8.4 + dependencies: + "@csstools/selector-specificity": 3.0.1(postcss-selector-parser@6.0.13) + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + + /postcss-normalize-charset@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.29 + + /postcss-normalize-display-values@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.29 + postcss-value-parser: 4.2.0 + + /postcss-normalize-positions@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.29 + postcss-value-parser: 4.2.0 + + /postcss-normalize-repeat-style@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.29 + postcss-value-parser: 4.2.0 + + /postcss-normalize-string@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.29 + postcss-value-parser: 4.2.0 + + /postcss-normalize-timing-functions@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.29 + postcss-value-parser: 4.2.0 + + /postcss-normalize-unicode@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.10 + postcss: 8.4.29 + postcss-value-parser: 4.2.0 + + /postcss-normalize-url@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.29 + postcss-value-parser: 4.2.0 + + /postcss-normalize-whitespace@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.29 + postcss-value-parser: 4.2.0 + + /postcss-ordered-values@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-utils: 4.0.0(postcss@8.4.29) + postcss: 8.4.29 + postcss-value-parser: 4.2.0 + + /postcss-reduce-initial@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.10 + caniuse-api: 3.0.0 + postcss: 8.4.29 + + /postcss-reduce-transforms@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.29 + postcss-value-parser: 4.2.0 + + /postcss-selector-parser@6.0.10: + resolution: + { + integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==, + } + engines: { node: ">=4" } + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: false + + /postcss-selector-parser@6.0.13: + resolution: + { + integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==, + } + engines: { node: ">=4" } + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + /postcss-svgo@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw==, + } + engines: { node: ^14 || ^16 || >= 18 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.29 + postcss-value-parser: 4.2.0 + svgo: 3.0.2 + + /postcss-unique-selectors@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.29 + postcss-selector-parser: 6.0.13 + + /postcss-url@10.1.3(postcss@8.4.29): + resolution: + { + integrity: sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==, + } + engines: { node: ">=10" } + peerDependencies: + postcss: ^8.0.0 + dependencies: + make-dir: 3.1.0 + mime: 2.5.2 + minimatch: 3.0.8 + postcss: 8.4.29 + xxhashjs: 0.2.2 + + /postcss-value-parser@4.2.0: + resolution: + { + integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==, + } + + /postcss@8.4.29: + resolution: + { + integrity: sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==, + } + engines: { node: ^10 || ^12 || >=14 } + dependencies: + nanoid: 3.3.6 + 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 + + /preact@10.12.1: + resolution: + { + integrity: sha512-l8386ixSsBdbreOAkqtrwqHwdvR35ID8c3rKPa8lCWuO86dBi32QWHV4vfsZK1utLLFMvw+Z5Ad4XLkZzchscg==, + } + dev: false + + /prelude-ls@1.2.1: + resolution: + { + integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, + } + engines: { node: ">= 0.8.0" } + + /prettier@3.1.0: + resolution: + { + integrity: sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==, + } + engines: { node: ">=14" } + hasBin: true + dev: true + + /pretty-bytes@6.1.1: + resolution: + { + integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==, + } + engines: { node: ^14.13.1 || >=16.0.0 } + + /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: true + + /proc-log@3.0.0: + resolution: + { + integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dev: true + + /process-nextick-args@2.0.1: + resolution: + { + integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==, + } + + /promise-inflight@1.0.1: + resolution: + { + integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==, + } + peerDependencies: + bluebird: "*" + peerDependenciesMeta: + bluebird: + optional: true + dev: true + + /promise-retry@2.0.1: + resolution: + { + integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==, + } + engines: { node: ">=10" } + dependencies: + err-code: 2.0.3 + retry: 0.12.0 + dev: true + + /prompts@2.4.2: + resolution: + { + integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==, + } + engines: { node: ">= 6" } + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + /protocols@2.0.1: + resolution: + { + integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==, + } + + /prr@1.0.1: + resolution: + { + integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==, + } + + /punycode@2.3.1: + resolution: + { + integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, + } + engines: { node: ">=6" } + + /queue-microtask@1.2.3: + resolution: + { + integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, + } + + /radix3@1.1.0: + resolution: + { + integrity: sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==, + } + + /randombytes@2.1.0: + resolution: + { + integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==, + } + dependencies: + safe-buffer: 5.2.1 + + /range-parser@1.2.1: + resolution: + { + integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==, + } + engines: { node: ">= 0.6" } + + /rc9@2.1.1: + resolution: + { + integrity: sha512-lNeOl38Ws0eNxpO3+wD1I9rkHGQyj1NU1jlzv4go2CtEnEQEUfqnIvZG7W+bC/aXdJ27n5x/yUjb6RoT9tko+Q==, + } + dependencies: + defu: 6.1.2 + destr: 2.0.1 + flat: 5.0.2 + + /react-is@18.2.0: + resolution: + { + integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, + } + dev: true + + /read-cache@1.0.0: + resolution: + { + integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==, + } + dependencies: + pify: 2.3.0 + + /read-package-json-fast@3.0.2: + resolution: + { + integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dependencies: + json-parse-even-better-errors: 3.0.0 + npm-normalize-package-bin: 3.0.1 + dev: true + + /read-package-json@7.0.0: + resolution: + { + integrity: sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + dependencies: + glob: 10.3.3 + json-parse-even-better-errors: 3.0.0 + normalize-package-data: 6.0.0 + npm-normalize-package-bin: 3.0.1 + dev: true + + /readable-stream@2.3.8: + resolution: + { + integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==, + } + 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 + + /readable-stream@3.6.2: + resolution: + { + integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==, + } + engines: { node: ">= 6" } + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + /readdir-glob@1.1.3: + resolution: + { + integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==, + } + dependencies: + minimatch: 5.1.6 + + /readdirp@3.6.0: + resolution: + { + integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, + } + engines: { node: ">=8.10.0" } + dependencies: + picomatch: 2.3.1 + + /recast@0.23.4: + resolution: + { + integrity: sha512-qtEDqIZGVcSZCHniWwZWbRy79Dc6Wp3kT/UmDA2RJKBPg7+7k51aQBZirHmUGn5uvHf2rg8DkjizrN26k61ATw==, + } + engines: { node: ">= 4" } + dependencies: + assert: 2.0.0 + ast-types: 0.16.1 + esprima: 4.0.1 + source-map: 0.6.1 + tslib: 2.6.2 + dev: true + + /redis-errors@1.2.0: + resolution: + { + integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==, + } + engines: { node: ">=4" } + + /redis-parser@3.0.0: + resolution: + { + integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==, + } + engines: { node: ">=4" } + dependencies: + redis-errors: 1.2.0 + + /regenerator-runtime@0.14.1: + resolution: + { + integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==, + } + dev: false + + /replace-in-file@6.3.5: + resolution: + { + integrity: sha512-arB9d3ENdKva2fxRnSjwBEXfK1npgyci7ZZuwysgAp7ORjHSyxz6oqIjTEv8R0Ydl4Ll7uOAZXL4vbkhGIizCg==, + } + engines: { node: ">=10" } + hasBin: true + dependencies: + chalk: 4.1.2 + glob: 7.2.3 + yargs: 17.7.2 + + /require-directory@2.1.1: + resolution: + { + integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, + } + engines: { node: ">=0.10.0" } + + /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" } + + /resolve-path@1.4.0: + resolution: + { + integrity: sha512-i1xevIst/Qa+nA9olDxLWnLk8YZbi8R/7JPbCMcgyWaFR6bKWaexgJgEB5oc2PKMjYdrHynyz0NY+if+H98t1w==, + } + engines: { node: ">= 0.8" } + dependencies: + http-errors: 1.6.3 + path-is-absolute: 1.0.1 + + /resolve-pkg-maps@1.0.0: + resolution: + { + integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, + } + dev: true + + /resolve@1.22.4: + resolution: + { + integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==, + } + hasBin: true + dependencies: + is-core-module: 2.13.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + /retry@0.12.0: + resolution: + { + integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==, + } + engines: { node: ">= 4" } + dev: true + + /reusify@1.0.4: + resolution: + { + integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, + } + engines: { iojs: ">=1.0.0", node: ">=0.10.0" } + + /rimraf@3.0.2: + resolution: + { + integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, + } + hasBin: true + dependencies: + glob: 7.2.3 + + /rollup-plugin-visualizer@5.9.2(rollup@3.28.1): + resolution: + { + integrity: sha512-waHktD5mlWrYFrhOLbti4YgQCn1uR24nYsNuXxg7LkPH8KdTXVWR9DNY1WU0QqokyMixVXJS4J04HNrVTMP01A==, + } + engines: { node: ">=14" } + hasBin: true + peerDependencies: + rollup: 2.x || 3.x + peerDependenciesMeta: + rollup: + optional: true + dependencies: + open: 8.4.2 + picomatch: 2.3.1 + rollup: 3.28.1 + source-map: 0.7.4 + yargs: 17.7.2 + + /rollup@3.28.1: + resolution: + { + integrity: sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==, + } + engines: { node: ">=14.18.0", npm: ">=8.0.0" } + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + + /run-applescript@5.0.0: + resolution: + { + integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==, + } + engines: { node: ">=12" } + dependencies: + execa: 5.1.1 + dev: true + + /run-parallel@1.2.0: + resolution: + { + integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, + } + dependencies: + queue-microtask: 1.2.3 + + /rxjs@7.8.1: + resolution: + { + integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==, + } + dependencies: + tslib: 2.6.2 + dev: true + + /safe-buffer@5.1.2: + resolution: + { + integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==, + } + + /safe-buffer@5.2.1: + resolution: + { + integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, + } + + /safe-stable-stringify@2.4.3: + resolution: + { + integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==, + } + engines: { node: ">=10" } + dev: false + + /safer-buffer@2.1.2: + resolution: + { + integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, + } + requiresBuild: true + dev: true + optional: true + + /sass@1.69.5: + resolution: + { + integrity: sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==, + } + engines: { node: ">=14.0.0" } + hasBin: true + dependencies: + chokidar: 3.5.3 + immutable: 4.3.4 + source-map-js: 1.0.2 + + /scule@1.0.0: + resolution: + { + integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==, + } + + /scule@1.1.1: + resolution: + { + integrity: sha512-sHtm/SsIK9BUBI3EFT/Gnp9VoKfY6QLvlkvAE6YK7454IF8FSgJEAnJpVdSC7K5/pjI5NfxhzBLW2JAfYA/shQ==, + } + + /seek-bzip@1.0.6: + resolution: + { + integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==, + } + hasBin: true + dependencies: + commander: 2.20.3 + dev: true + + /semver@6.3.1: + resolution: + { + integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, + } + hasBin: true + + /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 + + /serialize-javascript@6.0.1: + resolution: + { + integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==, + } + dependencies: + randombytes: 2.1.0 + + /serve-placeholder@2.0.1: + resolution: + { + integrity: sha512-rUzLlXk4uPFnbEaIz3SW8VISTxMuONas88nYWjAWaM2W9VDbt9tyFOr3lq8RhVOFrT3XISoBw8vni5una8qMnQ==, + } + dependencies: + defu: 6.1.2 + + /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 + + /set-blocking@2.0.0: + resolution: + { + integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==, + } + + /setprototypeof@1.1.0: + resolution: + { + integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==, + } + + /setprototypeof@1.2.0: + resolution: + { + integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, + } + + /shebang-command@2.0.0: + resolution: + { + integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, + } + engines: { node: ">=8" } + dependencies: + shebang-regex: 3.0.0 + + /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: true + + /siginfo@2.0.0: + resolution: + { + integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, + } + dev: true + + /signal-exit@3.0.7: + resolution: + { + integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, + } + + /signal-exit@4.1.0: + resolution: + { + integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, + } + engines: { node: ">=14" } + + /sigstore@2.1.0: + resolution: + { + integrity: sha512-kPIj+ZLkyI3QaM0qX8V/nSsweYND3W448pwkDgS6CQ74MfhEkIR8ToK5Iyx46KJYRjseVcD3Rp9zAmUAj6ZjPw==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + dependencies: + "@sigstore/bundle": 2.1.0 + "@sigstore/protobuf-specs": 0.2.1 + "@sigstore/sign": 2.1.0 + "@sigstore/tuf": 2.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /simple-git@3.19.1: + resolution: + { + integrity: sha512-Ck+rcjVaE1HotraRAS8u/+xgTvToTuoMkT9/l9lvuP5jftwnYUp6DwuJzsKErHgfyRk8IB8pqGHWEbM3tLgV1w==, + } + dependencies: + "@kwsites/file-exists": 1.1.1 + "@kwsites/promise-deferred": 1.1.1 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /simple-swizzle@0.2.2: + resolution: + { + integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==, + } + dependencies: + is-arrayish: 0.3.2 + dev: false + + /sirv@2.0.3: + resolution: + { + integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==, + } + engines: { node: ">= 10" } + dependencies: + "@polka/url": 1.0.0-next.21 + mrmime: 1.0.1 + totalist: 3.0.1 + dev: true + + /sisteransi@1.0.5: + resolution: + { + integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==, + } + + /slash@3.0.0: + resolution: + { + integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, + } + engines: { node: ">=8" } + dev: true + + /slash@4.0.0: + resolution: + { + integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==, + } + engines: { node: ">=12" } + + /slash@5.1.0: + resolution: + { + integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==, + } + engines: { node: ">=14.16" } + + /smart-buffer@4.2.0: + resolution: + { + integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==, + } + engines: { node: ">= 6.0.0", npm: ">= 3.0.0" } + dev: true + + /smob@1.4.0: + resolution: + { + integrity: sha512-MqR3fVulhjWuRNSMydnTlweu38UhQ0HXM4buStD/S3mc/BzX3CuM9OmhyQpmtYCvoYdl5ris6TI0ZqH355Ymqg==, + } + + /socks-proxy-agent@7.0.0: + resolution: + { + integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==, + } + engines: { node: ">= 10" } + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + socks: 2.7.1 + transitivePeerDependencies: + - supports-color + dev: true + + /socks@2.7.1: + resolution: + { + integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==, + } + engines: { node: ">= 10.13.0", npm: ">= 3.0.0" } + dependencies: + ip: 2.0.0 + smart-buffer: 4.2.0 + dev: true + + /source-map-js@1.0.2: + resolution: + { + integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, + } + engines: { node: ">=0.10.0" } + + /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.6.1: + resolution: + { + integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, + } + engines: { node: ">=0.10.0" } + + /source-map@0.7.4: + resolution: + { + integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==, + } + engines: { node: ">= 8" } + + /spdx-correct@3.2.0: + resolution: + { + integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==, + } + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.13 + dev: true + + /spdx-exceptions@2.3.0: + resolution: + { + integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==, + } + dev: true + + /spdx-expression-parse@3.0.1: + resolution: + { + integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==, + } + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.13 + dev: true + + /spdx-license-ids@3.0.13: + resolution: + { + integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==, + } + dev: true + + /ssri@10.0.5: + resolution: + { + integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dependencies: + minipass: 7.0.3 + dev: true + + /stack-trace@0.0.10: + resolution: + { + integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==, + } + dev: false + + /stackback@0.0.2: + resolution: + { + integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, + } + dev: true + + /standard-as-callback@2.1.0: + resolution: + { + integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==, + } + + /statuses@1.5.0: + resolution: + { + integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==, + } + engines: { node: ">= 0.6" } + + /statuses@2.0.1: + resolution: + { + integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, + } + engines: { node: ">= 0.8" } + + /std-env@3.4.3: + resolution: + { + integrity: sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==, + } + + /std-env@3.7.0: + resolution: + { + integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==, + } + + /streamsearch@1.1.0: + resolution: + { + integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==, + } + engines: { node: ">=10.0.0" } + + /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 + + /string-width@5.1.2: + resolution: + { + integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==, + } + engines: { node: ">=12" } + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + /string_decoder@1.1.1: + resolution: + { + integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==, + } + dependencies: + safe-buffer: 5.1.2 + + /string_decoder@1.3.0: + resolution: + { + integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, + } + dependencies: + safe-buffer: 5.2.1 + + /strip-ansi@6.0.1: + resolution: + { + integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, + } + engines: { node: ">=8" } + dependencies: + ansi-regex: 5.0.1 + + /strip-ansi@7.1.0: + resolution: + { + integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==, + } + engines: { node: ">=12" } + dependencies: + ansi-regex: 6.0.1 + + /strip-dirs@2.1.0: + resolution: + { + integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==, + } + dependencies: + is-natural-number: 4.0.1 + dev: true + + /strip-final-newline@2.0.0: + resolution: + { + integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, + } + engines: { node: ">=6" } + + /strip-final-newline@3.0.0: + resolution: + { + integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, + } + engines: { node: ">=12" } + + /strip-json-comments@3.1.1: + resolution: + { + integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, + } + engines: { node: ">=8" } + + /strip-literal@1.3.0: + resolution: + { + integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==, + } + dependencies: + acorn: 8.10.0 + + /stylehacks@6.0.0(postcss@8.4.29): + resolution: + { + integrity: sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==, + } + engines: { node: ^14 || ^16 || >=18.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.10 + postcss: 8.4.29 + postcss-selector-parser: 6.0.13 + + /sucrase@3.35.0: + resolution: + { + integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==, + } + engines: { node: ">=16 || 14 >=14.17" } + hasBin: true + dependencies: + "@jridgewell/gen-mapping": 0.3.3 + commander: 4.1.1 + glob: 10.3.10 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + + /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@9.4.0: + resolution: + { + integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==, + } + engines: { node: ">=12" } + + /supports-preserve-symlinks-flag@1.0.0: + resolution: + { + integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, + } + engines: { node: ">= 0.4" } + + /svg-tags@1.0.0: + resolution: + { + integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==, + } + + /svgo@3.0.2: + resolution: + { + integrity: sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==, + } + engines: { node: ">=14.0.0" } + hasBin: true + dependencies: + "@trysound/sax": 0.2.0 + commander: 7.2.0 + css-select: 5.1.0 + css-tree: 2.3.1 + csso: 5.0.5 + picocolors: 1.0.0 + + /tailwind-config-viewer@1.7.3(tailwindcss@3.4.0): + resolution: + { + integrity: sha512-rgeFXe9vL4njtaSI1y2uUAD1aRx05RYHbReN72ARAVEVSlNmS0Zf46pj3/ORc3xQwLK/AzbaIs6UFcK7hJSIlA==, + } + engines: { node: ">=8" } + hasBin: true + peerDependencies: + tailwindcss: 1 || 2 || 2.0.1-compat || 3 + dependencies: + "@koa/router": 12.0.1 + commander: 6.2.1 + fs-extra: 9.1.0 + koa: 2.14.2 + koa-static: 5.0.0 + open: 7.4.2 + portfinder: 1.0.32 + replace-in-file: 6.3.5 + tailwindcss: 3.4.0 + transitivePeerDependencies: + - supports-color + + /tailwind-merge@1.14.0: + resolution: + { + integrity: sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==, + } + dev: false + + /tailwindcss@3.4.0: + resolution: + { + integrity: sha512-VigzymniH77knD1dryXbyxR+ePHihHociZbXnLZHUyzf2MMs2ZVqlUrZ3FvpXP8pno9JzmILt1sZPD19M3IxtA==, + } + engines: { node: ">=14.0.0" } + hasBin: 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.3.1 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.19.3 + 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.32 + postcss-import: 15.1.0(postcss@8.4.32) + postcss-js: 4.0.1(postcss@8.4.32) + postcss-load-config: 4.0.2(postcss@8.4.32) + postcss-nested: 6.0.1(postcss@8.4.32) + postcss-selector-parser: 6.0.13 + resolve: 1.22.4 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + + /tapable@1.1.3: + resolution: + { + integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==, + } + engines: { node: ">=6" } + + /tapable@2.2.1: + resolution: + { + integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==, + } + engines: { node: ">=6" } + + /tar-stream@1.6.2: + resolution: + { + integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==, + } + engines: { node: ">= 0.8.0" } + dependencies: + bl: 1.2.3 + buffer-alloc: 1.2.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + readable-stream: 2.3.8 + to-buffer: 1.1.1 + xtend: 4.0.2 + dev: true + + /tar-stream@2.2.0: + resolution: + { + integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==, + } + engines: { node: ">=6" } + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + + /tar@6.1.15: + resolution: + { + integrity: sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==, + } + engines: { node: ">=10" } + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + + /tar@6.2.0: + resolution: + { + integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==, + } + engines: { node: ">=10" } + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + + /terser@5.19.3: + resolution: + { + integrity: sha512-pQzJ9UJzM0IgmT4FAtYI6+VqFf0lj/to58AV0Xfgg0Up37RyPG7Al+1cepC6/BVuAxR9oNb41/DL4DEoHJvTdg==, + } + engines: { node: ">=10" } + hasBin: true + dependencies: + "@jridgewell/source-map": 0.3.5 + acorn: 8.10.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + /text-hex@1.0.0: + resolution: + { + integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==, + } + 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 + + /thenify@3.3.1: + resolution: + { + integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==, + } + dependencies: + any-promise: 1.3.0 + + /through@2.3.8: + resolution: + { + integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, + } + dev: true + + /tiny-invariant@1.3.1: + resolution: + { + integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==, + } + + /tinybench@2.5.1: + resolution: + { + integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==, + } + dev: true + + /tinypool@0.7.0: + resolution: + { + integrity: sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==, + } + engines: { node: ">=14.0.0" } + dev: true + + /tinyspy@2.2.0: + resolution: + { + integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==, + } + engines: { node: ">=14.0.0" } + dev: true + + /titleize@3.0.0: + resolution: + { + integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==, + } + engines: { node: ">=12" } + dev: true + + /to-buffer@1.1.1: + resolution: + { + integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==, + } + dev: true + + /to-fast-properties@2.0.0: + resolution: + { + integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, + } + engines: { node: ">=4" } + + /to-regex-range@5.0.1: + resolution: + { + integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, + } + engines: { node: ">=8.0" } + dependencies: + is-number: 7.0.0 + + /toidentifier@1.0.1: + resolution: + { + integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, + } + engines: { node: ">=0.6" } + + /totalist@3.0.1: + resolution: + { + integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==, + } + engines: { node: ">=6" } + dev: true + + /tr46@0.0.3: + resolution: + { + integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, + } + + /triple-beam@1.4.1: + resolution: + { + integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==, + } + engines: { node: ">= 14.0.0" } + dev: false + + /ts-api-utils@1.0.3(typescript@5.3.3): + resolution: + { + integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==, + } + engines: { node: ">=16.13.0" } + peerDependencies: + typescript: ">=4.2.0" + dependencies: + typescript: 5.3.3 + dev: true + + /ts-interface-checker@0.1.13: + resolution: + { + integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==, + } + + /tslib@2.6.2: + resolution: + { + integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==, + } + dev: true + + /tsscmp@1.0.6: + resolution: + { + integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==, + } + engines: { node: ">=0.6.x" } + + /tsx@3.12.7: + resolution: + { + integrity: sha512-C2Ip+jPmqKd1GWVQDvz/Eyc6QJbGfE7NrR3fx5BpEHMZsEHoIxHL1j+lKdGobr8ovEyqeNkPLSKp6SCSOt7gmw==, + } + hasBin: true + dependencies: + "@esbuild-kit/cjs-loader": 2.4.2 + "@esbuild-kit/core-utils": 3.2.2 + "@esbuild-kit/esm-loader": 2.5.5 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /tuf-js@2.1.0: + resolution: + { + integrity: sha512-eD7YPPjVlMzdggrOeE8zwoegUaG/rt6Bt3jwoQPunRiNVzgcCE009UDFJKJjG+Gk9wFu6W/Vi+P5d/5QpdD9jA==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + dependencies: + "@tufjs/models": 2.0.0 + debug: 4.3.4 + make-fetch-happen: 13.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /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: true + + /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" } + + /type-fest@2.19.0: + resolution: + { + integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==, + } + engines: { node: ">=12.20" } + dev: true + + /type-fest@3.13.1: + resolution: + { + integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==, + } + engines: { node: ">=14.16" } + + /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 + + /typescript@5.3.3: + resolution: + { + integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==, + } + engines: { node: ">=14.17" } + hasBin: true + + /ufo@1.3.0: + resolution: + { + integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==, + } + + /ufo@1.3.2: + resolution: + { + integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==, + } + + /ultrahtml@1.4.0: + resolution: + { + integrity: sha512-2SbudS8oD4GNq4en+3ivp25JTCwP5O2soJhIBxGJrjojjLVaLcP84xVU6Xdf0wKMhZvr68rTtrXtO6uvEr2llQ==, + } + + /unbzip2-stream@1.4.3: + resolution: + { + integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==, + } + dependencies: + buffer: 5.7.1 + through: 2.3.8 + dev: true + + /uncrypto@0.1.3: + resolution: + { + integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==, + } + + /unctx@2.3.1: + resolution: + { + integrity: sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==, + } + dependencies: + acorn: 8.10.0 + estree-walker: 3.0.3 + magic-string: 0.30.3 + unplugin: 1.4.0 + + /undici@5.23.0: + resolution: + { + integrity: sha512-1D7w+fvRsqlQ9GscLBwcAJinqcZGHUKjbOmXdlE/v8BvEGXjeWAax+341q44EuTcHXXnfyKNbKRq4Lg7OzhMmg==, + } + engines: { node: ">=14.0" } + dependencies: + busboy: 1.6.0 + + /unenv@1.7.4: + resolution: + { + integrity: sha512-fjYsXYi30It0YCQYqLOcT6fHfMXsBr2hw9XC7ycf8rTG7Xxpe3ZssiqUnD0khrjiZEmkBXWLwm42yCSCH46fMw==, + } + dependencies: + consola: 3.2.3 + defu: 6.1.2 + mime: 3.0.0 + node-fetch-native: 1.4.0 + pathe: 1.1.1 + + /unenv@1.8.0: + resolution: + { + integrity: sha512-uIGbdCWZfhRRmyKj1UioCepQ0jpq638j/Cf0xFTn4zD1nGJ2lSdzYHLzfdXN791oo/0juUiSWW1fBklXMTsuqg==, + } + dependencies: + consola: 3.2.3 + defu: 6.1.3 + mime: 3.0.0 + node-fetch-native: 1.6.1 + pathe: 1.1.1 + dev: true + + /unhead@1.3.9: + resolution: + { + integrity: sha512-vzWZJW8l6dlNM5egJs3c7NMHWZ+iw2x7jCZtU2rrhwFINlKCaA3J42fvOeDxx6t5QR9dfZ96HF2AeNlCcPT+bQ==, + } + dependencies: + "@unhead/dom": 1.3.9 + "@unhead/schema": 1.3.9 + "@unhead/shared": 1.3.9 + hookable: 5.5.3 + + /unicorn-magic@0.1.0: + resolution: + { + integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==, + } + engines: { node: ">=18" } + + /unimport@3.2.0(rollup@3.28.1): + resolution: + { + integrity: sha512-9buxPxkNwxwxAlH/RfOFHxtQTUrlmBGi9Ai9HezY2yYbkoOhgJTYPI6+WqxI1EZphoM9cw1SHoCFRkXSb8/fjQ==, + } + dependencies: + "@rollup/pluginutils": 5.0.4(rollup@3.28.1) + escape-string-regexp: 5.0.0 + fast-glob: 3.3.1 + local-pkg: 0.4.3 + magic-string: 0.30.3 + mlly: 1.4.1 + pathe: 1.1.1 + pkg-types: 1.0.3 + scule: 1.0.0 + strip-literal: 1.3.0 + unplugin: 1.4.0 + transitivePeerDependencies: + - rollup + + /unimport@3.7.1: + resolution: + { + integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==, + } + dependencies: + "@rollup/pluginutils": 5.1.0 + acorn: 8.11.2 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + fast-glob: 3.3.2 + local-pkg: 0.5.0 + magic-string: 0.30.5 + mlly: 1.4.2 + pathe: 1.1.1 + pkg-types: 1.0.3 + scule: 1.1.1 + strip-literal: 1.3.0 + unplugin: 1.6.0 + transitivePeerDependencies: + - rollup + + /unique-filename@3.0.0: + resolution: + { + integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dependencies: + unique-slug: 4.0.0 + dev: true + + /unique-slug@4.0.0: + resolution: + { + integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dependencies: + imurmurhash: 0.1.4 + dev: true + + /universalify@2.0.0: + resolution: + { + integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==, + } + engines: { node: ">= 10.0.0" } + + /unplugin-vue-router@0.6.4(vue-router@4.2.4)(vue@3.3.4): + resolution: + { + integrity: sha512-9THVhhtbVFxbsIibjK59oPwMI1UCxRWRPX7azSkTUABsxovlOXJys5SJx0kd/0oKIqNJuYgkRfAgPuO77SqCOg==, + } + peerDependencies: + vue-router: ^4.1.0 + peerDependenciesMeta: + vue-router: + optional: true + dependencies: + "@babel/types": 7.22.11 + "@rollup/pluginutils": 5.0.4(rollup@3.28.1) + "@vue-macros/common": 1.7.2(vue@3.3.4) + ast-walker-scope: 0.4.2 + chokidar: 3.5.3 + fast-glob: 3.3.1 + json5: 2.2.3 + local-pkg: 0.4.3 + mlly: 1.4.1 + pathe: 1.1.1 + scule: 1.0.0 + unplugin: 1.4.0 + vue-router: 4.2.4(vue@3.3.4) + yaml: 2.3.2 + transitivePeerDependencies: + - rollup + - vue + + /unplugin@1.4.0: + resolution: + { + integrity: sha512-5x4eIEL6WgbzqGtF9UV8VEC/ehKptPXDS6L2b0mv4FRMkJxRtjaJfOWDd6a8+kYbqsjklix7yWP0N3SUepjXcg==, + } + dependencies: + acorn: 8.10.0 + chokidar: 3.5.3 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.5.0 + + /unplugin@1.6.0: + resolution: + { + integrity: sha512-BfJEpWBu3aE/AyHx8VaNE/WgouoQxgH9baAiH82JjX8cqVyi3uJQstqwD5J+SZxIK326SZIhsSZlALXVBCknTQ==, + } + dependencies: + acorn: 8.11.2 + chokidar: 3.5.3 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.6.1 + + /unstorage@1.9.0: + resolution: + { + integrity: sha512-VpD8ZEYc/le8DZCrny3bnqKE4ZjioQxBRnWE+j5sGNvziPjeDlaS1NaFFHzl/kkXaO3r7UaF8MGQrs14+1B4pQ==, + } + peerDependencies: + "@azure/app-configuration": ^1.4.1 + "@azure/cosmos": ^3.17.3 + "@azure/data-tables": ^13.2.2 + "@azure/identity": ^3.2.3 + "@azure/keyvault-secrets": ^4.7.0 + "@azure/storage-blob": ^12.14.0 + "@capacitor/preferences": ^5.0.0 + "@planetscale/database": ^1.8.0 + "@upstash/redis": ^1.22.0 + "@vercel/kv": ^0.2.2 + idb-keyval: ^6.2.1 + peerDependenciesMeta: + "@azure/app-configuration": + optional: true + "@azure/cosmos": + optional: true + "@azure/data-tables": + optional: true + "@azure/identity": + optional: true + "@azure/keyvault-secrets": + optional: true + "@azure/storage-blob": + optional: true + "@capacitor/preferences": + optional: true + "@planetscale/database": + optional: true + "@upstash/redis": + optional: true + "@vercel/kv": + optional: true + idb-keyval: + optional: true + dependencies: + anymatch: 3.1.3 + chokidar: 3.5.3 + destr: 2.0.1 + h3: 1.8.1 + ioredis: 5.3.2 + listhen: 1.4.4 + lru-cache: 10.0.1 + mri: 1.2.0 + node-fetch-native: 1.4.0 + ofetch: 1.3.3 + ufo: 1.3.0 + transitivePeerDependencies: + - supports-color + + /untildify@4.0.0: + resolution: + { + integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==, + } + engines: { node: ">=8" } + dev: true + + /untun@0.1.2: + resolution: + { + integrity: sha512-wLAMWvxfqyTiBODA1lg3IXHQtjggYLeTK7RnSfqtOXixWJ3bAa2kK/HHmOOg19upteqO3muLvN6O/icbyQY33Q==, + } + hasBin: true + dependencies: + citty: 0.1.3 + consola: 3.2.3 + pathe: 1.1.1 + + /untyped@1.4.0: + resolution: + { + integrity: sha512-Egkr/s4zcMTEuulcIb7dgURS6QpN7DyqQYdf+jBtiaJvQ+eRsrtWUoX84SbvQWuLkXsOjM+8sJC9u6KoMK/U7Q==, + } + hasBin: true + dependencies: + "@babel/core": 7.22.11 + "@babel/standalone": 7.22.13 + "@babel/types": 7.22.11 + defu: 6.1.2 + jiti: 1.19.3 + mri: 1.2.0 + scule: 1.0.0 + transitivePeerDependencies: + - supports-color + + /update-browserslist-db@1.0.11(browserslist@4.21.10): + resolution: + { + integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==, + } + hasBin: true + peerDependencies: + browserslist: ">= 4.21.0" + dependencies: + browserslist: 4.21.10 + escalade: 3.1.1 + picocolors: 1.0.0 + + /uqr@0.1.2: + resolution: + { + integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==, + } + + /uri-js@4.4.1: + resolution: + { + integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, + } + dependencies: + punycode: 2.3.1 + + /urlpattern-polyfill@8.0.2: + resolution: + { + integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==, + } + + /util-deprecate@1.0.2: + resolution: + { + integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, + } + + /util@0.12.5: + resolution: + { + integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==, + } + dependencies: + inherits: 2.0.4 + is-arguments: 1.1.1 + is-generator-function: 1.0.10 + is-typed-array: 1.1.12 + which-typed-array: 1.1.11 + dev: true + + /validate-npm-package-license@3.0.4: + resolution: + { + integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==, + } + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + dev: true + + /validate-npm-package-name@5.0.0: + resolution: + { + integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dependencies: + builtins: 5.0.1 + dev: true + + /vary@1.1.2: + resolution: + { + integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, + } + engines: { node: ">= 0.8" } + + /vite-node@0.33.0(sass@1.69.5): + resolution: + { + integrity: sha512-19FpHYbwWWxDr73ruNahC+vtEdza52kA90Qb3La98yZ0xULqV8A5JLNPUff0f5zID4984tW7l3DH2przTJUZSw==, + } + engines: { node: ">=v14.18.0" } + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + mlly: 1.4.1 + pathe: 1.1.1 + picocolors: 1.0.0 + vite: 4.4.9(@types/node@20.5.7)(sass@1.69.5) + transitivePeerDependencies: + - "@types/node" + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + + /vite-node@0.34.6(@types/node@20.5.7)(sass@1.69.5): + resolution: + { + integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==, + } + engines: { node: ">=v14.18.0" } + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + mlly: 1.4.1 + pathe: 1.1.1 + picocolors: 1.0.0 + vite: 4.4.9(@types/node@20.5.7)(sass@1.69.5) + transitivePeerDependencies: + - "@types/node" + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite-plugin-checker@0.6.2(eslint@8.54.0)(typescript@5.3.3)(vite@4.4.9): + resolution: + { + integrity: sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==, + } + engines: { node: ">=14.16" } + peerDependencies: + eslint: ">=7" + meow: ^9.0.0 + optionator: ^0.9.1 + stylelint: ">=13" + typescript: "*" + vite: ">=2.0.0" + vls: "*" + vti: "*" + vue-tsc: ">=1.3.9" + peerDependenciesMeta: + eslint: + optional: true + meow: + optional: true + optionator: + optional: true + stylelint: + optional: true + typescript: + optional: true + vls: + optional: true + vti: + optional: true + vue-tsc: + optional: true + dependencies: + "@babel/code-frame": 7.22.13 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + chokidar: 3.5.3 + commander: 8.3.0 + eslint: 8.54.0 + fast-glob: 3.3.1 + fs-extra: 11.1.1 + lodash.debounce: 4.0.8 + lodash.pick: 4.4.0 + npm-run-path: 4.0.1 + semver: 7.5.4 + strip-ansi: 6.0.1 + tiny-invariant: 1.3.1 + typescript: 5.3.3 + vite: 4.4.9(@types/node@20.5.7)(sass@1.69.5) + vscode-languageclient: 7.0.0 + vscode-languageserver: 7.0.0 + vscode-languageserver-textdocument: 1.0.8 + vscode-uri: 3.0.7 + + /vite-plugin-inspect@0.7.38(@nuxt/kit@3.7.0)(vite@4.4.9): + resolution: + { + integrity: sha512-+p6pJVtBOLGv+RBrcKAFUdx+euizg0bjL35HhPyM0MjtKlqoC5V9xkCmO9Ctc8JrTyXqODbHqiLWJKumu5zJ7g==, + } + engines: { node: ">=14" } + peerDependencies: + "@nuxt/kit": "*" + vite: ^3.1.0 || ^4.0.0 + peerDependenciesMeta: + "@nuxt/kit": + optional: true + dependencies: + "@antfu/utils": 0.7.6 + "@nuxt/kit": 3.7.0 + "@rollup/pluginutils": 5.0.4(rollup@3.28.1) + debug: 4.3.4 + error-stack-parser-es: 0.1.1 + fs-extra: 11.1.1 + open: 9.1.0 + picocolors: 1.0.0 + sirv: 2.0.3 + vite: 4.4.9(@types/node@20.5.7)(sass@1.69.5) + transitivePeerDependencies: + - rollup + - supports-color + dev: true + + /vite-plugin-vue-inspector@3.6.0(vite@4.4.9): + resolution: + { + integrity: sha512-Fi+9JaMx/reuic+MWbrdw8g5TwZM5a/BmdBT8OKKZi3rK4Qw3wND9smT+Ld+Daitbgly17uvuCiull2KV/hEBQ==, + } + peerDependencies: + vite: ^3.0.0-0 || ^4.0.0-0 + dependencies: + "@babel/core": 7.22.11 + "@babel/plugin-syntax-import-meta": 7.10.4(@babel/core@7.22.11) + "@babel/plugin-transform-typescript": 7.22.11(@babel/core@7.22.11) + "@vue/babel-plugin-jsx": 1.1.5(@babel/core@7.22.11) + "@vue/compiler-dom": 3.3.4 + esno: 0.16.3 + kolorist: 1.8.0 + magic-string: 0.30.3 + shell-quote: 1.8.1 + vite: 4.4.9(@types/node@20.5.7)(sass@1.69.5) + transitivePeerDependencies: + - supports-color + dev: true + + /vite@4.4.9(@types/node@20.5.7)(sass@1.69.5): + resolution: + { + integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + hasBin: true + peerDependencies: + "@types/node": ">= 14" + less: "*" + lightningcss: ^1.21.0 + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + "@types/node": 20.5.7 + esbuild: 0.18.20 + postcss: 8.4.29 + rollup: 3.28.1 + sass: 1.69.5 + optionalDependencies: + fsevents: 2.3.3 + + /vitest-environment-nuxt@1.0.0(h3@1.8.1)(vite@4.4.9)(vitest@0.34.6)(vue-router@4.2.4)(vue@3.3.4): + resolution: + { + integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==, + } + dependencies: + "@nuxt/test-utils": 3.9.0(h3@1.8.1)(vite@4.4.9)(vitest@0.34.6)(vue-router@4.2.4)(vue@3.3.4) + transitivePeerDependencies: + - "@jest/globals" + - "@testing-library/vue" + - "@vitest/ui" + - "@vue/test-utils" + - h3 + - happy-dom + - jsdom + - playwright-core + - rollup + - supports-color + - vite + - vitest + - vue + - vue-router + dev: true + + /vitest@0.34.6(sass@1.69.5): + resolution: + { + integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==, + } + engines: { node: ">=v14.18.0" } + hasBin: true + 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 + dependencies: + "@types/chai": 4.3.11 + "@types/chai-subset": 1.3.5 + "@types/node": 20.5.7 + "@vitest/expect": 0.34.6 + "@vitest/runner": 0.34.6 + "@vitest/snapshot": 0.34.6 + "@vitest/spy": 0.34.6 + "@vitest/utils": 0.34.6 + acorn: 8.10.0 + acorn-walk: 8.3.1 + cac: 6.7.14 + chai: 4.3.10 + debug: 4.3.4 + local-pkg: 0.4.3 + magic-string: 0.30.3 + pathe: 1.1.1 + picocolors: 1.0.0 + std-env: 3.4.3 + strip-literal: 1.3.0 + tinybench: 2.5.1 + tinypool: 0.7.0 + vite: 4.4.9(@types/node@20.5.7)(sass@1.69.5) + vite-node: 0.34.6(@types/node@20.5.7)(sass@1.69.5) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vscode-jsonrpc@6.0.0: + resolution: + { + integrity: sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==, + } + engines: { node: ">=8.0.0 || >=10.0.0" } + + /vscode-languageclient@7.0.0: + resolution: + { + integrity: sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==, + } + engines: { vscode: ^1.52.0 } + dependencies: + minimatch: 3.1.2 + semver: 7.5.4 + vscode-languageserver-protocol: 3.16.0 + + /vscode-languageserver-protocol@3.16.0: + resolution: + { + integrity: sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==, + } + dependencies: + vscode-jsonrpc: 6.0.0 + vscode-languageserver-types: 3.16.0 + + /vscode-languageserver-textdocument@1.0.8: + resolution: + { + integrity: sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==, + } + + /vscode-languageserver-types@3.16.0: + resolution: + { + integrity: sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==, + } + + /vscode-languageserver@7.0.0: + resolution: + { + integrity: sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==, + } + hasBin: true + dependencies: + vscode-languageserver-protocol: 3.16.0 + + /vscode-uri@3.0.7: + resolution: + { + integrity: sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==, + } + + /vue-bundle-renderer@2.0.0: + resolution: + { + integrity: sha512-oYATTQyh8XVkUWe2kaKxhxKVuuzK2Qcehe+yr3bGiaQAhK3ry2kYE4FWOfL+KO3hVFwCdLmzDQTzYhTi9C+R2A==, + } + dependencies: + ufo: 1.3.0 + + /vue-demi@0.13.11(vue@3.3.4): + resolution: + { + integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==, + } + engines: { node: ">=12" } + hasBin: true + requiresBuild: true + peerDependencies: + "@vue/composition-api": ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + "@vue/composition-api": + optional: true + dependencies: + vue: 3.3.4 + dev: true + + /vue-demi@0.14.6(vue@3.3.4): + resolution: + { + integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==, + } + engines: { node: ">=12" } + hasBin: true + requiresBuild: true + peerDependencies: + "@vue/composition-api": ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + "@vue/composition-api": + optional: true + dependencies: + vue: 3.3.4 + + /vue-devtools-stub@0.1.0: + resolution: + { + integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==, + } + + /vue-eslint-parser@9.3.2(eslint@8.54.0): + resolution: + { + integrity: sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==, + } + engines: { node: ^14.17.0 || >=16.0.0 } + peerDependencies: + eslint: ">=6.0.0" + dependencies: + debug: 4.3.4 + eslint: 8.54.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + lodash: 4.17.21 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: true + + /vue-i18n-routing@0.13.4(vue-i18n@9.3.0-beta.27)(vue-router@4.2.4)(vue@3.3.4): + resolution: + { + integrity: sha512-cihM/X4c6dgAnSVoIc3wUoiGG6B/Y+a3B3+Xt+7b9n2mjnKQ+ZkQ6oKVQxOd8WFRdJyohlP5dyL3Xsho4HZjBw==, + } + engines: { node: ">= 14.6" } + peerDependencies: + "@vue/composition-api": ^1.0.0-rc.1 + vue: ^2.6.14 || ^2.7.0 || ^3.2.0 + vue-i18n: ^8.26.1 || ^9.2.0 || ^9.3.0-beta.10 + vue-i18n-bridge: ^9.2.0 || ^9.3.0-beta.10 + vue-router: ^3.5.3 || ^3.6.0 || ^4.0.0 + peerDependenciesMeta: + "@vue/composition-api": + optional: true + vue: + optional: true + vue-i18n: + optional: true + vue-i18n-bridge: + optional: true + vue-router: + optional: true + dependencies: + "@intlify/shared": 9.4.1 + "@intlify/vue-i18n-bridge": 0.8.0(vue-i18n@9.3.0-beta.27) + "@intlify/vue-router-bridge": 0.8.0(vue-router@4.2.4)(vue@3.3.4) + ufo: 1.3.0 + vue: 3.3.4 + vue-demi: 0.14.6(vue@3.3.4) + vue-i18n: 9.3.0-beta.27(vue@3.3.4) + vue-router: 4.2.4(vue@3.3.4) + dev: true + + /vue-i18n@9.3.0-beta.27(vue@3.3.4): + resolution: + { + integrity: sha512-RBy2ntfOSwgI8RGnr6W+hypQEe3/qv4AubviZy71YUTmcjYz9QOC6XjFi+Ser8lX1LtrwmXGTlQyzx7B0Swg+w==, + } + engines: { node: ">= 16" } + peerDependencies: + vue: ^3.0.0 + dependencies: + "@intlify/core-base": 9.3.0-beta.27 + "@intlify/shared": 9.3.0-beta.27 + "@intlify/vue-devtools": 9.3.0-beta.27 + "@vue/devtools-api": 6.5.0 + vue: 3.3.4 + dev: true + + /vue-router@4.2.4(vue@3.3.4): + resolution: + { + integrity: sha512-9PISkmaCO02OzPVOMq2w82ilty6+xJmQrarYZDkjZBfl4RvYAlt4PKnEX21oW4KTtWfa9OuO/b3qk1Od3AEdCQ==, + } + peerDependencies: + vue: ^3.2.0 + dependencies: + "@vue/devtools-api": 6.5.0 + vue: 3.3.4 + + /vue3-carousel-nuxt@1.1.0(vue@3.3.4): + resolution: + { + integrity: sha512-l5nyzKi4PhFVRuopnNUvnPD4fOZ6vpLPH/RCwKcC+35sDmWPvTjpkSs6ondkiAHAgOX61LHoOB9WBJb8CRIdkQ==, + } + dependencies: + "@nuxt/kit": 3.7.0 + vue3-carousel: 0.3.1(vue@3.3.4) + transitivePeerDependencies: + - rollup + - supports-color + - vue + dev: false + + /vue3-carousel@0.3.1(vue@3.3.4): + resolution: + { + integrity: sha512-86vUkNPBzL2PVuR9w6hUsI90ccFjLp+K8cSFpRTISf+SjUQY3fMHc5CFF5MUL62v1xYYm27zEBmQupO9VQx9Kw==, + } + peerDependencies: + vue: ^3.2.0 + dependencies: + vue: 3.3.4 + dev: false + + /vue@3.3.4: + resolution: + { + integrity: sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==, + } + dependencies: + "@vue/compiler-dom": 3.3.4 + "@vue/compiler-sfc": 3.3.4 + "@vue/runtime-dom": 3.3.4 + "@vue/server-renderer": 3.3.4(vue@3.3.4) + "@vue/shared": 3.3.4 + + /wait-on@7.0.1: + resolution: + { + integrity: sha512-9AnJE9qTjRQOlTZIldAaf/da2eW0eSRSgcqq85mXQja/DW3MriHxkpODDSUEg+Gri/rKEcXUZHe+cevvYItaog==, + } + engines: { node: ">=12.0.0" } + hasBin: true + dependencies: + axios: 0.27.2 + joi: 17.10.0 + lodash: 4.17.21 + minimist: 1.2.8 + rxjs: 7.8.1 + transitivePeerDependencies: + - debug + dev: true + + /web-streams-polyfill@3.2.1: + resolution: + { + integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==, + } + engines: { node: ">= 8" } + + /webidl-conversions@3.0.1: + resolution: + { + integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, + } + + /webpack-sources@3.2.3: + resolution: + { + integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==, + } + engines: { node: ">=10.13.0" } + + /webpack-virtual-modules@0.5.0: + resolution: + { + integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==, + } + + /webpack-virtual-modules@0.6.1: + resolution: + { + integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==, + } + + /whatwg-url@5.0.0: + resolution: + { + integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, + } + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + /which-typed-array@1.1.11: + resolution: + { + integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==, + } + engines: { node: ">= 0.4" } + 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 + dev: true + + /which@2.0.2: + resolution: + { + integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, + } + engines: { node: ">= 8" } + hasBin: true + dependencies: + isexe: 2.0.0 + + /which@3.0.1: + resolution: + { + integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /why-is-node-running@2.2.2: + resolution: + { + integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==, + } + engines: { node: ">=8" } + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /wide-align@1.1.5: + resolution: + { + integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==, + } + dependencies: + string-width: 4.2.3 + + /widest-line@4.0.1: + resolution: + { + integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==, + } + engines: { node: ">=12" } + dependencies: + string-width: 5.1.2 + dev: true + + /winston-transport@4.6.0: + resolution: + { + integrity: sha512-wbBA9PbPAHxKiygo7ub7BYRiKxms0tpfU2ljtWzb3SjRjv5yl6Ozuy/TkXf00HTAt+Uylo3gSkNwzc4ME0wiIg==, + } + engines: { node: ">= 12.0.0" } + dependencies: + logform: 2.6.0 + readable-stream: 3.6.2 + triple-beam: 1.4.1 + dev: false + + /winston@3.11.0: + resolution: + { + integrity: sha512-L3yR6/MzZAOl0DsysUXHVjOwv8mKZ71TrA/41EIduGpOOV5LQVodqN+QdQ6BS6PJ/RdIshZhq84P/fStEZkk7g==, + } + engines: { node: ">= 12.0.0" } + dependencies: + "@colors/colors": 1.6.0 + "@dabh/diagnostics": 2.0.3 + async: 3.2.4 + is-stream: 2.0.1 + logform: 2.6.0 + one-time: 1.0.0 + readable-stream: 3.6.2 + safe-stable-stringify: 2.4.3 + stack-trace: 0.0.10 + triple-beam: 1.4.1 + winston-transport: 4.6.0 + 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 + + /wrap-ansi@8.1.0: + resolution: + { + integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==, + } + engines: { node: ">=12" } + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + /wrappy@1.0.2: + resolution: + { + integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, + } + + /ws@8.13.0: + resolution: + { + integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==, + } + 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: true + + /xml-name-validator@4.0.0: + resolution: + { + integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==, + } + engines: { node: ">=12" } + dev: true + + /xtend@4.0.2: + resolution: + { + integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, + } + engines: { node: ">=0.4" } + dev: true + + /xxhashjs@0.2.2: + resolution: + { + integrity: sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==, + } + dependencies: + cuint: 0.2.2 + + /y18n@5.0.8: + resolution: + { + integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, + } + engines: { node: ">=10" } + + /yallist@3.1.1: + resolution: + { + integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, + } + + /yallist@4.0.0: + resolution: + { + integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, + } + + /yaml-eslint-parser@1.2.2: + resolution: + { + integrity: sha512-pEwzfsKbTrB8G3xc/sN7aw1v6A6c/pKxLAkjclnAyo5g5qOh6eL9WGu0o3cSDQZKrTNk4KL4lQSwZW+nBkANEg==, + } + engines: { node: ^14.17.0 || >=16.0.0 } + dependencies: + eslint-visitor-keys: 3.4.3 + lodash: 4.17.21 + yaml: 2.3.2 + dev: true + + /yaml@2.3.2: + resolution: + { + integrity: sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==, + } + engines: { node: ">= 14" } + + /yaml@2.3.4: + resolution: + { + integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==, + } + engines: { node: ">= 14" } + + /yargs-parser@21.1.1: + resolution: + { + integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, + } + engines: { node: ">=12" } + + /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 + + /yauzl@2.10.0: + resolution: + { + integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==, + } + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: true + + /ylru@1.3.2: + resolution: + { + integrity: sha512-RXRJzMiK6U2ye0BlGGZnmpwJDPgakn6aNQ0A7gHRbD4I0uvK4TW6UqkK1V0pp9jskjJBAXd3dRrbzWkqJ+6cxA==, + } + engines: { node: ">= 4.0.0" } + + /yocto-queue@0.1.0: + resolution: + { + integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, + } + engines: { node: ">=10" } + + /yocto-queue@1.0.0: + resolution: + { + integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==, + } + engines: { node: ">=12.20" } + dev: true + + /zhead@2.0.10: + resolution: + { + integrity: sha512-irug8fXNKjqazkA27cFQs7C6/ZD3qNiEzLC56kDyzQART/Z9GMGfg8h2i6fb9c8ZWnIx/QgOgFJxK3A/CYHG0g==, + } + + /zip-stream@4.1.0: + resolution: + { + integrity: sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==, + } + engines: { node: ">= 10" } + dependencies: + archiver-utils: 2.1.0 + compress-commons: 4.1.1 + readable-stream: 3.6.2 diff --git a/collectivo/extensions/payments/server/api/memberships/register.post.ts b/collectivo/extensions/payments/server/api/memberships/register.post.ts new file mode 100644 index 00000000..d222daa4 --- /dev/null +++ b/collectivo/extensions/payments/server/api/memberships/register.post.ts @@ -0,0 +1,127 @@ +import { createItem, createUser } from "@directus/sdk"; +import KcAdminClient from "@keycloak/keycloak-admin-client"; + +// Register a new membership +// Receives input from /memberships/register +export default defineEventHandler(async (event) => { + try { + const body = await readBody(event); + return await registerMembership(body); + } catch (e: any) { + if ( + e && + "response" in e && + typeof e.response === "object" && + e.response.status + ) { + setResponseStatus(event, e.response.status); + } else { + setResponseStatus(event, 500); + } + + return e; + } +}); + +async function registerMembership(body: any) { + logger.info( + "Received membership application: " + body["directus_users.email"], + ); + + const userData: any = {}; + const membershipData: any = {}; + + for (const [key, value] of Object.entries(body)) { + if (key.startsWith("directus_users__")) { + userData[key.replace("directus_users__", "")] = value; + } else if (key.startsWith("memberships__")) { + membershipData[key.replace("memberships__", "")] = value; + } + } + + await refreshDirectus(); + const directus = await useDirectusAdmin(); + const config = useRuntimeConfig(); + + // Connect to keycloak + const keycloak = new KcAdminClient({ + baseUrl: config.public.keycloakUrl, + realmName: config.public.keycloakRealm, + }); + + await keycloak.auth({ + grantType: "client_credentials", + clientId: config.keycloakAdminClient, + clientSecret: config.keycloakAdminSecret, + }); + + // Random call to test connection + await keycloak.users.find({ first: 0, max: 1 }); + + // Create user + let password = ""; + + if (config.public.authService == "keycloak") { + password = userData.password; + delete userData.password; + userData.provider = "keycloak"; + userData.external_identifier = userData.email; + } + + console.log("PASSWORD IS '" + password + "'"); + console.log("TYPE OF PASSWORD IS " + typeof password); + + const user_id = await directus.request(createUser(userData)); + + // Prepare membership + membershipData.memberships_user = user_id; + membershipData.memberships_status = "applied"; + membershipData.memberships_date_applied = new Date().toISOString(); + // TODO: ADD ROLE + + // Create membership + const membership_id = await directus.request( + createItem("memberships", membershipData), + ); + + // Create keycloak user & send verification mail + if (config.public.authService == "keycloak") { + const kcUser = await keycloak.users.create({ + enabled: true, + username: userData.email, + email: userData.email, + firstName: userData.first_name, + lastName: userData.last_name, + emailVerified: false, + }); + + await keycloak.users.resetPassword({ + id: kcUser.id, + credential: { + temporary: false, + type: "password", + value: password, + }, + }); + + // await keycloak.users.sendVerifyEmail({ + // id: kcUser.id, + // clientId: "directus", + // redirectUri: config.public.collectivoUrl, + // }); + // await keycloak.users.executeActionsEmail({ + // id: kcUser.id, + // clientId: "directus", + // redirectUri: config.public.collectivoUrl, + // actions: ["VERIFY_EMAIL"], + // }); + } + + return { + status: 201, + body: { + // user: user_id, + // membership: membership_id, + }, + }; +} diff --git a/collectivo/extensions/payments/server/examples/examples.ts b/collectivo/extensions/payments/server/examples/examples.ts new file mode 100644 index 00000000..29536fc2 --- /dev/null +++ b/collectivo/extensions/payments/server/examples/examples.ts @@ -0,0 +1,54 @@ +import { createItem, deleteItems, readUsers } from "@directus/sdk"; + +export default async function examples() { + console.info("Creating example data for payments"); + + const directus = await useDirectusAdmin(); + + // Clean up old data + await directus.request(deleteItems("payments_invoices_out", { limit: 1000 })); + await directus.request(deleteItems("payments_items", { limit: 1000 })); + + const item_names = ["Test item 1", "Test item 2"]; + const item_ids = []; + const invoice_ids = []; + + for (const name of item_names) { + const res = await directus.request( + createItem("payments_items", { + name: name, + }), + ); + + item_ids.push(res.id); + } + + const users = await directus.request( + readUsers({ filter: { first_name: "Alice" } }), + ); + + for (const status of ["pending", "paid"]) { + const res = await directus.request( + createItem("payments_invoices_out", { + payments_recipient_user: users[0].id, + payments_status: status, + payments_date_issued: new Date(), + }), + ); + + invoice_ids.push(res.id); + } + + for (const invoice_id of invoice_ids) { + for (const item_id of item_ids) { + await directus.request( + createItem("payments_invoices_entries", { + payments_invoice: invoice_id, + payments_item: item_id, + payments_quantity: 1, + payments_price: 100, + }), + ); + } + } +} diff --git a/collectivo/extensions/payments/server/plugins/registerExtension.ts b/collectivo/extensions/payments/server/plugins/registerExtension.ts new file mode 100644 index 00000000..2bda718d --- /dev/null +++ b/collectivo/extensions/payments/server/plugins/registerExtension.ts @@ -0,0 +1,15 @@ +import pkg from "../../package.json"; +import payments_01 from "../schemas/payments_01"; +import profile_01 from "../schemas/profile_01"; +import examples from "../examples/examples"; + +// Register extension on startup +export default defineNitroPlugin(() => { + registerExtension({ + name: "payments", + description: pkg.description, + version: pkg.version, + schemas: [combineSchemas("payments", "0.0.1", [payments_01, profile_01])], + examples: examples, + }); +}); diff --git a/collectivo/extensions/payments/server/schemas/payments_01.ts b/collectivo/extensions/payments/server/schemas/payments_01.ts new file mode 100644 index 00000000..e3331f90 --- /dev/null +++ b/collectivo/extensions/payments/server/schemas/payments_01.ts @@ -0,0 +1,344 @@ +const schema = initSchema("payments", "0.0.1"); + +export default schema; + +schema.collections = [ + { + collection: "payments", + meta: { + sort: 100, + icon: "payments", + }, + }, + { + collection: "payments_items", + schema: { + schema: "schema", + name: "schema", + comment: null, + }, + meta: { + group: "payments", + sort: 100, + icon: "bubble_chart", + translations: [ + { + language: "en-US", + translation: "Items", + singular: "Item", + plural: "Item", + }, + { + language: "de-DE", + translation: "Artikel", + singular: "Artikel", + plural: "Artikel", + }, + ], + }, + }, + { + collection: "payments_invoices_entries", + schema: { + schema: "schema", + name: "schema", + comment: null, + }, + meta: { + group: "payments", + hidden: true, + sort: 100, + icon: "receipt", + translations: [ + { + language: "en-US", + translation: "Entries", + singular: "Entry", + plural: "Entries", + }, + { + language: "de-DE", + translation: "Posten", + singular: "Posten", + plural: "Posten", + }, + ], + }, + }, + { + collection: "payments_invoices_out", + schema: { + schema: "schema", + name: "schema", + comment: null, + }, + meta: { + group: "payments", + sort: 100, + icon: "receipt", + translations: [ + { + language: "en-US", + translation: "Invoices Out", + singular: "Invoice Out", + plural: "Invoices Out", + }, + { + language: "de-DE", + translation: "Ausgangsrechnungen", + singular: "Ausgangsrechnung", + plural: "Ausgangsrechnungen", + }, + ], + }, + }, +]; + +schema.fields = [ + ...directusSystemFields("payments_items"), + directusNameField("payments_items"), + + // Invoices out + ...directusSystemFields("payments_invoices_out"), + ...directusSystemFields("payments_invoices_entries"), + { + collection: "payments_invoices_out", + field: "payments_entries", + type: "alias", + meta: { + interface: "list-o2m", + special: ["o2m"], + options: { + enableSelect: false, + template: + "{{payments_item.name}}:{{payments_quantity}}*{{payments_price}}", + }, + display: "related-values", + display_options: { + template: + "{{payments_item.name}}: {{payments_quantity}}*{{payments_price}}", + }, + translations: [ + { language: "de-DE", translation: "Posten" }, + { language: "en-US", translation: "Entries" }, + ], + }, + }, + { + collection: "payments_invoices_out", + field: "payments_status", + type: "string", + meta: { + sort: 10, + interface: "select-dropdown", + display: "labels", + display_options: { + choices: [ + { + text: "$t:draft", + value: "draft", + foreground: "#FFFFFF", + background: "#666666", + }, + { + text: "$t:pending", + value: "pending", + foreground: "#FFFFFF", + background: "#CC6600", + }, + { + text: "$t:failed", + value: "failed", + foreground: "#FFFFFF", + background: "#800000", + }, + { + text: "$t:cancelled", + value: "cancelled", + foreground: "#FFFFFF", + background: "#8000FF", + }, + { + text: "$t:paid", + value: "paid", + foreground: "#FFFFFF", + background: "#008000", + }, + ], + }, + width: "half", + options: { + choices: [ + { text: "$t:draft", value: "draft" }, + { text: "$t:pending", value: "pending" }, + { text: "$t:failed", value: "failed" }, + { text: "$t:cancelled", value: "cancelled" }, + { text: "$t:paid", value: "paid" }, + ], + }, + translations: [ + { language: "de-DE", translation: "Status" }, + { language: "en-US", translation: "Status" }, + ], + }, + schema: { is_nullable: false, default_value: "draft" }, + }, + { + collection: "payments_invoices_out", + field: "payments_recipient_user", + type: "uuid", + schema: {}, + meta: { + interface: "select-dropdown-m2o", + special: ["m2o"], + width: "half", + display: "related-values", + display_options: { + template: "{{first_name}} {{last_name}}", + }, + translations: [ + { language: "de-DE", translation: "Empfänger*in" }, + { language: "en-US", translation: "Recipient" }, + ], + }, + }, + { + collection: "payments_invoices_out", + field: "payments_date_issued", + type: "date", + meta: { + interface: "datetime", + width: "half", + translations: [ + { language: "de-DE", translation: "Datum Ausgestellt" }, + { language: "en-US", translation: "Date Issued" }, + ], + }, + }, + { + collection: "payments_invoices_out", + field: "payments_date_paid", + type: "date", + meta: { + interface: "datetime", + width: "half", + translations: [ + { language: "de-DE", translation: "Datum Bezahlt" }, + { language: "en-US", translation: "Date Paid" }, + ], + }, + }, + + // Invoice entries + { + collection: "payments_invoices_entries", + field: "payments_invoice", + type: "integer", + schema: {}, + meta: { interface: "select-dropdown-m2o", hidden: true }, + }, + { + collection: "payments_invoices_entries", + field: "payments_item", + type: "integer", + meta: { + interface: "select-dropdown-m2o", + special: ["m2o"], + display: "related-values", + display_options: { + template: "{{name}}", + }, + options: { + enableSelect: true, + template: "{{name}}", + }, + width: "half", + translations: [ + { language: "de-DE", translation: "Artikel" }, + { language: "en-US", translation: "Item" }, + ], + }, + }, + { + collection: "payments_invoices_entries", + field: "payments_quantity", + type: "integer", + meta: { + interface: "input", + required: true, + width: "half", + translations: [ + { language: "de-DE", translation: "Menge" }, + { language: "en-US", translation: "Quantity" }, + ], + }, + }, + { + collection: "payments_invoices_entries", + field: "payments_price", + type: "integer", // prices always in cents + meta: { + interface: "input", + required: true, + width: "half", + translations: [ + { language: "de-DE", translation: "Preis" }, + { language: "en-US", translation: "Price" }, + ], + }, + }, +]; + +schema.translations = [ + { language: "de-DE", key: "pending", value: "Ausstehend" }, + { language: "de-DE", key: "failed", value: "Fehlgeschlagen" }, + { language: "de-DE", key: "cancelled", value: "Abgebrochen" }, + { language: "de-DE", key: "paid", value: "Bezahlt" }, + { language: "en-US", key: "pending", value: "Pending" }, + { language: "en-US", key: "failed", value: "Failed" }, + { language: "en-US", key: "cancelled", value: "Cancelled" }, + { language: "en-US", key: "paid", value: "Paid" }, +]; + +schema.relations = [ + { + collection: "payments_invoices_out", + field: "payments_recipient_user", + related_collection: "directus_users", + meta: { sort_field: null }, + schema: { on_delete: "SET NULL" }, + }, + { + collection: "payments_invoices_entries", + field: "payments_item", + related_collection: "payments_items", + meta: { sort_field: null }, + schema: { on_delete: "NO ACTION" }, // Cannot delete items that have been used in invoices + }, + { + collection: "payments_invoices_entries", + field: "payments_invoice", + related_collection: "payments_invoices_out", + meta: { + one_field: "payments_entries", + sort_field: null, + one_deselect_action: "delete", + }, + schema: { on_delete: "CASCADE" }, + }, +]; + +for (const action of ["read", "update", "create", "delete"]) { + for (const collection of [ + "payments_items", + "payments_invoices_entries", + "payments_invoices_out", + ]) { + schema.permissions.push({ + collection: collection, + roleName: "collectivo_editor", + action: action, + fields: ["*"], + }); + } +} diff --git a/collectivo/extensions/payments/server/schemas/profile_01.ts b/collectivo/extensions/payments/server/schemas/profile_01.ts new file mode 100644 index 00000000..aad08048 --- /dev/null +++ b/collectivo/extensions/payments/server/schemas/profile_01.ts @@ -0,0 +1,110 @@ +const schema = initSchema("payments", "0.0.1"); + +export default schema; + +schema.collections = []; + +schema.fields = [ + { + collection: "directus_users", + field: "payments_profile_group", + type: "alias", + meta: { + order: 500, + interface: "group-detail", + special: ["alias", "no-data", "group"], + options: { title: "$t:person", headerIcon: "credit_card" }, + translations: [ + { language: "de-DE", translation: "Zahlungsdaten" }, + { language: "en-US", translation: "Payment data" }, + ], + }, + }, + { + collection: "directus_users", + field: "payments_type", + type: "string", + meta: { + group: "payments_profile_group", + interface: "select-dropdown", + display: "labels", + width: "half", + options: { + choices: [ + { text: "$t:sepa", value: "sepa" }, + { text: "$t:transfer", value: "transfer" }, + ], + }, + translations: [ + { language: "de-DE", translation: "Zahlungsweise" }, + { language: "en-US", translation: "Payment type" }, + ], + }, + }, + { + collection: "directus_users", + field: "payments_account_iban", + type: "string", + meta: { + group: "payments_profile_group", + interface: "input", + width: "half", + translations: [ + { language: "de-DE", translation: "Konto IBAN" }, + { language: "en-US", translation: "Account IBAN" }, + ], + }, + }, + { + collection: "directus_users", + field: "payments_account_owner", + type: "string", + meta: { + group: "payments_profile_group", + interface: "input", + width: "half", + translations: [ + { language: "de-DE", translation: "Konto Inhaber*in" }, + { language: "en-US", translation: "Account Owner" }, + ], + }, + }, +]; + +schema.relations = []; + +const editor_fields: string[] = [ + "payments_profile_group", + "payments_type", + "payments_account_iban", + "payments_account_owner", +]; + +const user_fields: string[] = [ + "payments_profile_group", + "payments_type", + "payments_account_iban", + "payments_account_owner", +]; + +schema.permissions = [ + { + collection: "directus_users", + roleName: "collectivo_editor", + action: "read", + fields: user_fields, + }, + { + collection: "directus_users", + roleName: "collectivo_editor", + action: "update", + fields: editor_fields, + }, +]; + +schema.translations = [ + { language: "de-DE", key: "sepa", value: "SEPA Einzug" }, + { language: "de-DE", key: "transfer", value: "Überweisung" }, + { language: "en-US", key: "sepa", value: "SEPA Debit" }, + { language: "en-US", key: "transfer", value: "Transfer" }, +]; diff --git a/collectivo/extensions/payments/server/tsconfig.json b/collectivo/extensions/payments/server/tsconfig.json new file mode 100644 index 00000000..b9ed69c1 --- /dev/null +++ b/collectivo/extensions/payments/server/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../.nuxt/tsconfig.server.json" +} diff --git a/collectivo/extensions/payments/tailwind.config.js b/collectivo/extensions/payments/tailwind.config.js new file mode 100644 index 00000000..9494e6d8 --- /dev/null +++ b/collectivo/extensions/payments/tailwind.config.js @@ -0,0 +1,14 @@ +/** @type {import('tailwindcss').Config} */ +export default { + content: [ + "./components/**/*.{js,vue,ts}", + "./layouts/**/*.vue", + "./pages/**/*.vue", + "./plugins/**/*.{js,ts}", + "./nuxt.config.{js,ts}", + ], + theme: { + extend: {}, + }, + plugins: [], +}; diff --git a/collectivo/extensions/payments/tsconfig.json b/collectivo/extensions/payments/tsconfig.json new file mode 100644 index 00000000..a746f2a7 --- /dev/null +++ b/collectivo/extensions/payments/tsconfig.json @@ -0,0 +1,4 @@ +{ + // https://nuxt.com/docs/guide/concepts/typescript + "extends": "./.nuxt/tsconfig.json" +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 138ab0ea..de750e71 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,6 +20,9 @@ importers: '@collectivo/memberships': specifier: workspace:* version: link:../extensions/memberships + '@collectivo/payments': + specifier: workspace:* + version: link:../extensions/payments devDependencies: '@nuxt/devtools': specifier: ^1.0.6 @@ -141,6 +144,43 @@ importers: version: 1.1.0(@vitest/ui@1.1.0)(sass@1.69.5) collectivo/extensions/memberships: + dependencies: + '@collectivo/collectivo': + specifier: workspace:* + version: link:../../collectivo + '@collectivo/memberships': + specifier: workspace:* + version: 'link:' + devDependencies: + '@nuxt/devtools': + specifier: ^1.0.6 + version: 1.0.6(nuxt@3.9.0)(vite@5.0.10) + '@nuxt/test-utils': + specifier: ^3.9.0 + version: 3.9.0(h3@1.9.0)(vite@5.0.10)(vue-router@4.2.5)(vue@3.3.13) + '@typescript-eslint/eslint-plugin': + specifier: 6.16.0 + version: 6.16.0(@typescript-eslint/parser@6.16.0)(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': + specifier: 6.16.0 + version: 6.16.0(eslint@8.56.0)(typescript@5.3.3) + eslint: + specifier: 8.56.0 + version: 8.56.0 + eslint-config-prettier: + specifier: 9.1.0 + version: 9.1.0(eslint@8.56.0) + eslint-plugin-vue: + specifier: 9.19.2 + version: 9.19.2(eslint@8.56.0) + nuxt: + specifier: ^3.9.0 + version: 3.9.0(eslint@8.56.0)(typescript@5.3.3)(vite@5.0.10) + prettier: + specifier: 3.1.1 + version: 3.1.1 + + collectivo/extensions/payments: dependencies: '@collectivo/collectivo': specifier: workspace:*