├── .nvmrc ├── .gitattributes ├── .gitignore ├── .npmrc ├── eslint.config.mjs ├── pnpm-workspace.yaml ├── .github ├── FUNDING.yml ├── renovate.json ├── settings.yml ├── workflows │ └── linting.yml └── CODE_OF_CONDUCT.md ├── src ├── environment.d.ts ├── utils │ ├── webhookTokens.ts │ ├── webtoken.ts │ ├── discordInteractions.ts │ └── twilio.ts ├── routes │ ├── invite.ts │ ├── interactionPost.ts │ ├── callStatusUpdate.ts │ └── updateCommands.ts ├── commands │ ├── index.ts │ └── call.ts └── index.ts ├── tsconfig.json ├── package.json ├── LICENSE ├── wrangler.toml ├── README.md └── pnpm-lock.yaml /.nvmrc: -------------------------------------------------------------------------------- 1 | 22.12.0 2 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text eol=crlf -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /node_modules -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | auto-install-peers=true 2 | -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- 1 | export { default } from "eslint-config-promise"; 2 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | onlyBuiltDependencies: 2 | - esbuild 3 | - sharp 4 | - workerd 5 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [promise] 4 | patreon: promises 5 | custom: [paypal.me/nottechsupport] 6 | -------------------------------------------------------------------------------- /.github/renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "github>promise/renovate-config:fully-automated-repository", 4 | "github>promise/renovate-config:force-node-version(18)" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /src/environment.d.ts: -------------------------------------------------------------------------------- 1 | export default interface Env { 2 | DISCORD_ID: string; 3 | DISCORD_PUBLIC_KEY: string; 4 | DISCORD_TOKEN: string; 5 | FALLBACK_URL: string; 6 | MY_PHONE_NUMBER: string; 7 | TWILIO_ACCOUNT_SID: string; 8 | TWILIO_AUTH_TOKEN: string; 9 | TWILIO_PHONE_NUMBER: string; 10 | } 11 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "include": [ "./src" ], 3 | "extends": "@tsconfig/strictest", 4 | "compilerOptions": { 5 | "outDir": "./build", 6 | "target": "ESNext", 7 | "module": "ESNext", 8 | "moduleResolution": "Bundler", 9 | "lib": ["ESNext"], 10 | "types": ["@cloudflare/workers-types/2023-07-01"] 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/utils/webhookTokens.ts: -------------------------------------------------------------------------------- 1 | import type Env from "../environment"; 2 | import { decode, encode } from "./webtoken"; 3 | 4 | export interface WebhookCredentials { 5 | id: string; 6 | token: string; 7 | } 8 | 9 | export function encodeWebhookCredentials(credentials: WebhookCredentials, env: Env): Promise { 10 | return encode(credentials, env); 11 | } 12 | 13 | export function decodeWebhookCredentials(token: string): WebhookCredentials { 14 | return decode(token); 15 | } 16 | -------------------------------------------------------------------------------- /src/routes/invite.ts: -------------------------------------------------------------------------------- 1 | // this endpoint is not locked since the application should either way be set to be private in the developer portal 2 | 3 | import { OAuth2Scopes, RouteBases, Routes } from "discord-api-types/v10"; 4 | import type Env from "../environment"; 5 | 6 | export default function sendInvite(env: Env): Response { 7 | const url = new URL(RouteBases.api + Routes.oauth2Authorization()); 8 | url.searchParams.set("client_id", env.DISCORD_ID); 9 | url.searchParams.set("scope", OAuth2Scopes.ApplicationsCommands); 10 | 11 | return Response.redirect(url.toString(), 307); 12 | } 13 | -------------------------------------------------------------------------------- /.github/settings.yml: -------------------------------------------------------------------------------- 1 | _extends: .github 2 | 3 | repository: 4 | name: phone 5 | description: "A Discord application to call your cellphone through Twilio in case of emergencies. Built with Cloudflare Workers" 6 | private: false 7 | topics: "discord, discord-bot, discord-rest, discord-interactions, cloudflare, cf-worker, cf-workers, cloudflare-worker, cloudflare-workers, twilio, twilio-caller" 8 | 9 | branches: 10 | - name: main 11 | protection: 12 | required_status_checks: 13 | checks: 14 | - context: Test build 15 | - context: ESLint 16 | - context: DeepScan 17 | - context: CodeQL 18 | -------------------------------------------------------------------------------- /src/utils/webtoken.ts: -------------------------------------------------------------------------------- 1 | import { decode as jwtDecode, sign as jwtSign, verify as jwtVerify } from "@tsndr/cloudflare-worker-jwt"; 2 | import type Env from "../environment"; 3 | 4 | export function encode(payload: object, env: Env): Promise { 5 | return jwtSign(payload, env.DISCORD_PUBLIC_KEY); 6 | } 7 | 8 | export function validate(token: string, env: Env): Promise { 9 | return jwtVerify(token, env.DISCORD_PUBLIC_KEY).then(Boolean); 10 | } 11 | 12 | // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-parameters 13 | export function decode(token: string): T { 14 | return jwtDecode(token).payload as T; 15 | } 16 | -------------------------------------------------------------------------------- /src/commands/index.ts: -------------------------------------------------------------------------------- 1 | import type { APIApplicationCommandInteraction } from "discord-api-types/v10"; 2 | import { ApplicationCommandType } from "discord-api-types/v10"; 3 | import type Env from "../environment"; 4 | import { respond } from "../utils/discordInteractions"; 5 | import callCommand from "./call"; 6 | 7 | export default async function commandHandler(interaction: APIApplicationCommandInteraction, request: Request, env: Env): Promise { 8 | if (interaction.data.type === ApplicationCommandType.ChatInput) { 9 | if (interaction.data.name === "call") return respond(await callCommand(interaction as never, request, env)); 10 | } 11 | 12 | return new Response("", { status: 400 }); 13 | } 14 | -------------------------------------------------------------------------------- /src/utils/discordInteractions.ts: -------------------------------------------------------------------------------- 1 | import type { APIInteractionResponse, RESTPatchAPIWebhookWithTokenMessageJSONBody } from "discord-api-types/v10"; 2 | import { RouteBases, Routes } from "discord-api-types/v10"; 3 | 4 | export function respond(response: APIInteractionResponse): Response { 5 | return new Response(JSON.stringify(response), { headers: { "Content-Type": "application/json" } }); 6 | } 7 | 8 | export async function update(id: string, token: string, payload: RESTPatchAPIWebhookWithTokenMessageJSONBody): Promise { 9 | await fetch(RouteBases.api + Routes.webhookMessage(id, token), { 10 | method: "PATCH", 11 | headers: { "Content-Type": "application/json" }, 12 | body: JSON.stringify(payload), 13 | cf: { cacheTtl: 0 }, 14 | }); 15 | } 16 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "phone", 3 | "scripts": { 4 | "build": "tsc", 5 | "build:watch": "tsc -w", 6 | "deploy": "wrangler publish", 7 | "deploy:dry": "wrangler publish --dry-run", 8 | "lint": "eslint .", 9 | "lint:fix": "eslint . --fix" 10 | }, 11 | "dependencies": { 12 | "@tsndr/cloudflare-worker-jwt": "3.2.1", 13 | "discord-api-types": "0.38.37", 14 | "discord-verify": "1.2.0" 15 | }, 16 | "devDependencies": { 17 | "@cloudflare/workers-types": "4.20251223.0", 18 | "@tsconfig/strictest": "2.0.8", 19 | "eslint": "9.39.2", 20 | "eslint-config-promise": "github:promise/eslint-config", 21 | "twilio": "5.11.1", 22 | "typescript": "5.9.3", 23 | "wrangler": "4.56.0" 24 | }, 25 | "packageManager": "pnpm@10.26.1" 26 | } 27 | -------------------------------------------------------------------------------- /.github/workflows/linting.yml: -------------------------------------------------------------------------------- 1 | name: Linting 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | pull_request: 8 | branches: 9 | - main 10 | 11 | jobs: 12 | eslint: 13 | name: ESLint 14 | runs-on: self-hosted 15 | 16 | steps: 17 | - name: Checkout repository 18 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 19 | 20 | - name: Set up pnpm 21 | uses: pnpm/action-setup@v2 22 | with: 23 | run_install: false 24 | 25 | - name: Set up node 26 | uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 27 | with: 28 | node-version-file: ".nvmrc" 29 | cache: "pnpm" 30 | 31 | - name: Install dependencies 32 | run: pnpm install --frozen-lockfile 33 | 34 | - name: Run ESLint 35 | run: pnpm lint 36 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Glenn 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /src/utils/twilio.ts: -------------------------------------------------------------------------------- 1 | import type { CallInstance } from "twilio/lib/rest/api/v2010/account/call"; 2 | import type Env from "../environment"; 3 | 4 | export default async function makeCall(message: string, statusCallback: URL, env: Env): Promise { 5 | const endpoint = `https://api.twilio.com/2010-04-01/Accounts/${env.TWILIO_ACCOUNT_SID}/Calls.json`; 6 | const token = btoa(`${env.TWILIO_ACCOUNT_SID}:${env.TWILIO_AUTH_TOKEN}`); 7 | 8 | const encoded = new URLSearchParams({ 9 | To: env.MY_PHONE_NUMBER, 10 | From: env.TWILIO_PHONE_NUMBER, 11 | Twiml: `${Array(3) 12 | .fill(message) 13 | .join("") 14 | }`, 15 | StatusCallback: statusCallback.toString(), 16 | }); 17 | 18 | ["initiated", "ringing", "answered", "completed"].forEach(status => { 19 | encoded.append("StatusCallbackEvent", status); 20 | }); 21 | 22 | const response = await fetch(endpoint, { 23 | body: encoded, 24 | method: "POST", 25 | headers: { 26 | "Authorization": `Basic ${token}`, 27 | "Content-Type": "application/x-www-form-urlencoded", 28 | }, 29 | }); 30 | return response.json(); 31 | } 32 | -------------------------------------------------------------------------------- /wrangler.toml: -------------------------------------------------------------------------------- 1 | name = "phone" 2 | main = "./build/index.js" 3 | workers_dev = true 4 | compatibility_date = "2025-05-05" 5 | 6 | [build] 7 | command = "npm run build" 8 | 9 | [observability.logs] 10 | enabled = true 11 | 12 | [vars] 13 | # Sensitive data should be stored in the worker itself as an encrypted value... in other terms: NOT IN THIS FILE! 14 | # Method 1 is to use the `wrangler` command: `wrangler secret put ` where key is the environment variable name 15 | # Method 2 is to put them in through the workers dashboard 16 | # 17 | # Sensitive environment variables: 18 | # - DISCORD_ID - Your Discord application's ID 19 | # - DISCORD_PUBLIC_KEY - Your Discord application's public key 20 | # - DISCORD_TOKEN - Your Discord application's token 21 | # - TWILIO_ACCOUNT_SID - Your Twilio account SID 22 | # - TWILIO_AUTH_TOKEN - Your Twilio auth token 23 | # - TWILIO_PHONE_NUMBER - The phone number you want to call from. You must own this through Twilio 24 | # - MY_PHONE_NUMBER - Your phone number 25 | # All sensitive variables get a default value of "" just so the worker doesn't crash 26 | 27 | FALLBACK_URL = "https://github.com/biaw/phone" # Fallback URL for when a user types the worker address 28 | -------------------------------------------------------------------------------- /src/routes/interactionPost.ts: -------------------------------------------------------------------------------- 1 | import type { APIApplicationCommandInteraction, APIPingInteraction } from "discord-api-types/v10"; 2 | import { InteractionResponseType, InteractionType } from "discord-api-types/v10"; 3 | import { isValidRequest, PlatformAlgorithm } from "discord-verify/web"; 4 | import type Env from "../environment"; 5 | import commandHandler from "../commands"; 6 | import { respond } from "../utils/discordInteractions"; 7 | 8 | export default async function handleInteractionPost(request: Request, env: Env): Promise { 9 | // check and validate headers 10 | if (!request.headers.get("X-Signature-Ed25519") || !request.headers.get("X-Signature-Timestamp")) return Response.redirect(env.FALLBACK_URL, 307); 11 | if (!await isValidRequest(request, env.DISCORD_PUBLIC_KEY, PlatformAlgorithm.Cloudflare)) return new Response("", { status: 401 }); 12 | 13 | // parse request body 14 | const interaction = await request.json(); 15 | 16 | // if interaction is a ping, respond with a pong 17 | if (interaction.type === InteractionType.Ping) return respond({ type: InteractionResponseType.Pong }); 18 | 19 | return commandHandler(interaction, request, env); 20 | } 21 | -------------------------------------------------------------------------------- /src/commands/call.ts: -------------------------------------------------------------------------------- 1 | import type { APIChatInputApplicationCommandInteraction, APIInteractionResponse } from "discord-api-types/v10"; 2 | import { ApplicationCommandOptionType } from "discord-api-types/v10"; 3 | import { InteractionResponseType } from "discord-api-types/v9"; 4 | import type Env from "../environment"; 5 | import makeCall from "../utils/twilio"; 6 | import { encodeWebhookCredentials } from "../utils/webhookTokens"; 7 | 8 | export default async function callCommand(interaction: APIChatInputApplicationCommandInteraction, request: Request, env: Env): Promise { 9 | const option = interaction.data.options!.find(({ name }) => name === "message")!; 10 | if (option.type !== ApplicationCommandOptionType.String) throw new Error("Invalid option type"); 11 | 12 | const callbackUrl = new URL(request.url); 13 | callbackUrl.pathname = "/call-updates"; 14 | callbackUrl.searchParams.set("token", await encodeWebhookCredentials({ id: interaction.application_id, token: interaction.token }, env)); 15 | 16 | await makeCall(`Message ${interaction.member?.user.global_name ? `from user ${interaction.member.user.global_name}` : "from unknown user"}: ${option.value}`, callbackUrl, env); 17 | return { type: InteractionResponseType.DeferredChannelMessageWithSource }; 18 | } 19 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import type Env from "./environment"; 2 | import handleCallStatusUpdate from "./routes/callStatusUpdate"; 3 | import handleInteractionPost from "./routes/interactionPost"; 4 | import sendInvite from "./routes/invite"; 5 | import handleUpdateCommands from "./routes/updateCommands"; 6 | 7 | export default { 8 | fetch(request, env) { 9 | switch (request.method) { 10 | case "GET": 11 | switch (new URL(request.url).pathname) { 12 | case "/update-commands": return handleUpdateCommands(request, env).then(logResponse); 13 | case "/invite": return logResponse(sendInvite(env)); 14 | default: return logResponse(Response.redirect(env.FALLBACK_URL, 307)); 15 | } 16 | case "POST": 17 | switch (new URL(request.url).pathname) { 18 | case "/call-updates": return handleCallStatusUpdate(request, env).then(logResponse); 19 | case "/interaction": return handleInteractionPost(request, env).then(logResponse); 20 | default: return logResponse(new Response("Method Not Allowed", { status: 405 })); 21 | } 22 | default: return logResponse(new Response("Method Not Allowed", { status: 405 })); 23 | } 24 | }, 25 | } satisfies ExportedHandler; 26 | 27 | function logResponse(response: Response): Response { 28 | // eslint-disable-next-line no-console 29 | console.log(response.status, response.statusText); 30 | return response; 31 | } 32 | -------------------------------------------------------------------------------- /src/routes/callStatusUpdate.ts: -------------------------------------------------------------------------------- 1 | import type { CallStatus } from "twilio/lib/rest/api/v2010/account/call"; 2 | import type Env from "../environment"; 3 | import { update } from "../utils/discordInteractions"; 4 | import { decodeWebhookCredentials } from "../utils/webhookTokens"; 5 | import { validate } from "../utils/webtoken"; 6 | 7 | export default async function handleCallStatusUpdate(request: Request, env: Env): Promise { 8 | const url = new URL(request.url); 9 | const token = url.searchParams.get("token"); 10 | 11 | if (!token) return Response.redirect(env.FALLBACK_URL, 307); 12 | if (!await validate(token, env)) return new Response("", { status: 400 }); 13 | 14 | const credentials = decodeWebhookCredentials(token); 15 | const call = await request.formData(); 16 | 17 | const callStatus = call.get("CallStatus") as CallStatus; 18 | 19 | let content = ""; 20 | switch (callStatus) { 21 | case "ringing": { 22 | content = `☎️ *Calling...* (${timestamp()})`; 23 | break; 24 | } 25 | case "in-progress": { 26 | content = `📞 Call in progress. (${timestamp()})`; 27 | break; 28 | } 29 | case "completed": { 30 | content = "🎉 Call completed."; 31 | break; 32 | } 33 | case "failed": { 34 | content = "💢 Call failed."; 35 | break; 36 | } 37 | case "no-answer": { 38 | content = "💤 No answer."; 39 | break; 40 | } 41 | case "busy": { 42 | content = "🚫 Busy."; 43 | break; 44 | } 45 | // unreachable 46 | case "queued": 47 | case "canceled": 48 | default: break; 49 | } 50 | 51 | if (content) await update(credentials.id, credentials.token, { content }); 52 | return new Response("", { status: 200 }); 53 | } 54 | 55 | function timestamp(): string { 56 | return ``; 57 | } 58 | -------------------------------------------------------------------------------- /src/routes/updateCommands.ts: -------------------------------------------------------------------------------- 1 | import type { RESTPutAPIApplicationCommandsJSONBody } from "discord-api-types/v10"; 2 | import { ApplicationCommandOptionType, ApplicationCommandType, RouteBases, Routes } from "discord-api-types/v10"; 3 | import type Env from "../environment"; 4 | 5 | export default async function handleUpdateCommands(request: Request, env: Env): Promise { 6 | const url = new URL(request.url); 7 | const key = url.searchParams.get("key"); 8 | 9 | if (!key) return new Response("", { status: 400 }); 10 | if (key !== env.DISCORD_PUBLIC_KEY) return new Response("", { status: 403 }); 11 | 12 | return fetch(RouteBases.api + Routes.applicationCommands(env.DISCORD_ID), { 13 | method: "PUT", 14 | headers: { "Authorization": `Bot ${env.DISCORD_TOKEN}`, "Content-Type": "application/json" }, 15 | body: JSON.stringify([ 16 | { 17 | type: ApplicationCommandType.ChatInput, 18 | name: "call", 19 | description: "Call my phone, preferably during emergencies when I'm not already online", 20 | options: [ 21 | { 22 | type: ApplicationCommandOptionType.String, 23 | name: "message", 24 | description: "The message you want to deliver", 25 | required: true, 26 | }, 27 | ], 28 | /* eslint-disable camelcase */ 29 | // 0 disables it for everyone. the user will have to override the command themselves in the interactions manager in the servers it's added to 30 | default_member_permissions: "0", 31 | default_permission: false, 32 | dm_permission: false, 33 | /* eslint-enable camelcase */ 34 | }, 35 | ] as RESTPutAPIApplicationCommandsJSONBody), 36 | cf: { cacheTtl: 0 }, 37 | }) 38 | .then(async res => { 39 | if (res.status === 200) return new Response(await res.text(), { status: 200 }); 40 | return new Response(await res.text(), { status: res.status }); 41 | }) 42 | .catch((err: unknown) => new Response(String(err), { status: 500 })); 43 | } 44 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | Image of the forum channel on Discord 4 | 5 | 6 | # Explanation 7 | 8 | Are you one of those people who are always available on Discord? Do you want to be even more available? Then this bot is for you! This small Cloudflare Worker allows your fellow Discord friends to call your cellphone, for example if you manage a service and it goes down, or if you're an admin in a server that is getting raided. The main purpose is to be even more available, like when you don't have Wi-Fi/cellular data available. 9 | 10 |
11 | Click to see a GIF of the `/call` command in action 12 | 13 | 14 | ![biaw phone optimized](https://user-images.githubusercontent.com/10573728/178745844-a582e66a-9865-44cd-b6ef-15dd8ca023f6.gif) 15 |
16 | 17 | # Setting up with Cloudflare Workers 18 | 19 | [![Deploy to Cloudflare Workers](https://deploy.workers.cloudflare.com/button)](https://deploy.workers.cloudflare.com/?url=https://github.com/biaw/phone) 20 | 21 | 1. Deploy to Cloudflare Workers using the button above. 22 | 2. Insert the environment variables listed in the [`wrangler.toml`](https://github.com/biaw/phone/blob/main/wrangler.toml) file. You can either use the `wrangler` command, or do it through the worker dashboard. 23 | 3. Edit the Discord application and set the interactions endpoint to `https://phone.WORKER_SUBDOMAIN.workers.dev/interaction`. This is where the bot will receive interactions. 24 | 4. Go to `https://phone.WORKER_SUBDOMAIN.workers.dev/update-commands?key=DISCORD_PUBLIC_KEY` to update and register the `/call` slash command. 25 | 5. Add the bot by visiting `/invite`. Make sure to uncheck "Public bot" in the Discord Developer portal so other people can't add it to servers you don't want to have access to call you. 26 | 6. It might take some time before the command appears because of Discord's caching, but you should be able to use the `/call` command within the hour! 27 | 28 | ## How calling works 29 | 30 | ```mermaid 31 | sequenceDiagram 32 | autonumber 33 | participant D as Discord API 34 | participant W as Cloudflare Worker 35 | participant T as Twilio API 36 | 37 | activate D 38 | D->>W: Send an interaction 39 | activate W 40 | 41 | alt signature header is not valid 42 | W-->>D: 401 Unauthorized 43 | end 44 | 45 | W->>T: Send call request 46 | activate T 47 | T->>T: Calls the user 48 | T-->>W: 200 OK 49 | deactivate T 50 | W-->>D: 200 OK (with Interaction Response) 51 | deactivate D 52 | deactivate W 53 | 54 | loop until call is finished 55 | T->>W: Call Status Update 56 | activate T 57 | activate W 58 | W->>D: Update Interaction with new status 59 | activate D 60 | D-->>W: 200 OK 61 | deactivate D 62 | W-->>T: 200 OK 63 | deactivate T 64 | deactivate W 65 | end 66 | ``` 67 | 68 | ## Pricing 69 | 70 | It might cost a tiny little bit of money after you've used up your free trial at Twilio. The amount really depends on your location, the Twilio phone number's location etc. - but the free trial will probably get you a long way already. 71 | 72 | I think it's obvious enough... but I will not pay for your phone number. 73 | -------------------------------------------------------------------------------- /.github/CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | We as members, contributors, and leaders pledge to make participation in our 6 | community a harassment-free experience for everyone, regardless of age, body 7 | size, visible or invisible disability, ethnicity, sex characteristics, gender 8 | identity and expression, level of experience, education, socio-economic status, 9 | nationality, personal appearance, race, religion, or sexual identity 10 | and orientation. 11 | 12 | We pledge to act and interact in ways that contribute to an open, welcoming, 13 | diverse, inclusive, and healthy community. 14 | 15 | ## Our Standards 16 | 17 | Examples of behavior that contributes to a positive environment for our 18 | community include: 19 | 20 | * Demonstrating empathy and kindness toward other people 21 | * Being respectful of differing opinions, viewpoints, and experiences 22 | * Giving and gracefully accepting constructive feedback 23 | * Accepting responsibility and apologizing to those affected by our mistakes, 24 | and learning from the experience 25 | * Focusing on what is best not just for us as individuals, but for the 26 | overall community 27 | 28 | Examples of unacceptable behavior include: 29 | 30 | * The use of sexualized language or imagery, and sexual attention or 31 | advances of any kind 32 | * Trolling, insulting or derogatory comments, and personal or political attacks 33 | * Public or private harassment 34 | * Publishing others' private information, such as a physical or email 35 | address, without their explicit permission 36 | * Other conduct which could reasonably be considered inappropriate in a 37 | professional setting 38 | 39 | ## Enforcement Responsibilities 40 | 41 | Community leaders are responsible for clarifying and enforcing our standards of 42 | acceptable behavior and will take appropriate and fair corrective action in 43 | response to any behavior that they deem inappropriate, threatening, offensive, 44 | or harmful. 45 | 46 | Community leaders have the right and responsibility to remove, edit, or reject 47 | comments, commits, code, wiki edits, issues, and other contributions that are 48 | not aligned to this Code of Conduct, and will communicate reasons for moderation 49 | decisions when appropriate. 50 | 51 | ## Scope 52 | 53 | This Code of Conduct applies within all community spaces, and also applies when 54 | an individual is officially representing the community in public spaces. 55 | Examples of representing our community include using an official e-mail address, 56 | posting via an official social media account, or acting as an appointed 57 | representative at an online or offline event. 58 | 59 | ## Enforcement 60 | 61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 62 | reported to the community leaders responsible for enforcement at 63 | [me@promise.solutions](mailto:me@promise.solutions). 64 | All complaints will be reviewed and investigated promptly and fairly. 65 | 66 | All community leaders are obligated to respect the privacy and security of the 67 | reporter of any incident. 68 | 69 | ## Enforcement Guidelines 70 | 71 | Community leaders will follow these Community Impact Guidelines in determining 72 | the consequences for any action they deem in violation of this Code of Conduct: 73 | 74 | ### 1. Correction 75 | 76 | **Community Impact**: Use of inappropriate language or other behavior deemed 77 | unprofessional or unwelcome in the community. 78 | 79 | **Consequence**: A private, written warning from community leaders, providing 80 | clarity around the nature of the violation and an explanation of why the 81 | behavior was inappropriate. A public apology may be requested. 82 | 83 | ### 2. Warning 84 | 85 | **Community Impact**: A violation through a single incident or series 86 | of actions. 87 | 88 | **Consequence**: A warning with consequences for continued behavior. No 89 | interaction with the people involved, including unsolicited interaction with 90 | those enforcing the Code of Conduct, for a specified period of time. This 91 | includes avoiding interactions in community spaces as well as external channels 92 | like social media. Violating these terms may lead to a temporary or 93 | permanent ban. 94 | 95 | ### 3. Temporary Ban 96 | 97 | **Community Impact**: A serious violation of community standards, including 98 | sustained inappropriate behavior. 99 | 100 | **Consequence**: A temporary ban from any sort of interaction or public 101 | communication with the community for a specified period of time. No public or 102 | private interaction with the people involved, including unsolicited interaction 103 | with those enforcing the Code of Conduct, is allowed during this period. 104 | Violating these terms may lead to a permanent ban. 105 | 106 | ### 4. Permanent Ban 107 | 108 | **Community Impact**: Demonstrating a pattern of violation of community 109 | standards, including sustained inappropriate behavior, harassment of an 110 | individual, or aggression toward or disparagement of classes of individuals. 111 | 112 | **Consequence**: A permanent ban from any sort of public interaction within 113 | the community. 114 | 115 | ## Attribution 116 | 117 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], 118 | version 2.0, available at 119 | https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. 120 | 121 | Community Impact Guidelines were inspired by [Mozilla's code of conduct 122 | enforcement ladder](https://github.com/mozilla/diversity). 123 | 124 | [homepage]: https://www.contributor-covenant.org 125 | 126 | For answers to common questions about this code of conduct, see the FAQ at 127 | https://www.contributor-covenant.org/faq. Translations are available at 128 | https://www.contributor-covenant.org/translations. 129 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@tsndr/cloudflare-worker-jwt': 12 | specifier: 3.2.1 13 | version: 3.2.1 14 | discord-api-types: 15 | specifier: 0.38.37 16 | version: 0.38.37 17 | discord-verify: 18 | specifier: 1.2.0 19 | version: 1.2.0 20 | devDependencies: 21 | '@cloudflare/workers-types': 22 | specifier: 4.20251223.0 23 | version: 4.20251223.0 24 | '@tsconfig/strictest': 25 | specifier: 2.0.8 26 | version: 2.0.8 27 | eslint: 28 | specifier: 9.39.2 29 | version: 9.39.2(jiti@1.21.7) 30 | eslint-config-promise: 31 | specifier: github:promise/eslint-config 32 | version: https://codeload.github.com/promise/eslint-config/tar.gz/ae41e6415504249f8b6f2cdf9c52d9b08fbab521(1bd0c76f47bfe71e86153fc4c6371d91) 33 | twilio: 34 | specifier: 5.11.1 35 | version: 5.11.1 36 | typescript: 37 | specifier: 5.9.3 38 | version: 5.9.3 39 | wrangler: 40 | specifier: 4.56.0 41 | version: 4.56.0(@cloudflare/workers-types@4.20251223.0) 42 | 43 | packages: 44 | 45 | '@alloc/quick-lru@5.2.0': 46 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} 47 | engines: {node: '>=10'} 48 | 49 | '@cloudflare/kv-asset-handler@0.4.1': 50 | resolution: {integrity: sha512-Nu8ahitGFFJztxUml9oD/DLb7Z28C8cd8F46IVQ7y5Btz575pvMY8AqZsXkX7Gds29eCKdMgIHjIvzskHgPSFg==} 51 | engines: {node: '>=18.0.0'} 52 | 53 | '@cloudflare/unenv-preset@2.7.13': 54 | resolution: {integrity: sha512-NulO1H8R/DzsJguLC0ndMuk4Ufv0KSlN+E54ay9rn9ZCQo0kpAPwwh3LhgpZ96a3Dr6L9LqW57M4CqC34iLOvw==} 55 | peerDependencies: 56 | unenv: 2.0.0-rc.24 57 | workerd: ^1.20251202.0 58 | peerDependenciesMeta: 59 | workerd: 60 | optional: true 61 | 62 | '@cloudflare/workerd-darwin-64@1.20251217.0': 63 | resolution: {integrity: sha512-DN6vT+9ho61d/1/YuILW4VS+N1JBLaixWRL1vqNmhgbf8J8VHwWWotrRruEUYigJKx2yZyw6YsasE+yLXgx/Fw==} 64 | engines: {node: '>=16'} 65 | cpu: [x64] 66 | os: [darwin] 67 | 68 | '@cloudflare/workerd-darwin-arm64@1.20251217.0': 69 | resolution: {integrity: sha512-5nZOpRTkHmtcTc4Wbr1mj/O3dLb6aHZSiJuVBgtdbVcVmOXueSay3hnw1PXEyR+vpTKGUPkM+omUIslKHWnXDw==} 70 | engines: {node: '>=16'} 71 | cpu: [arm64] 72 | os: [darwin] 73 | 74 | '@cloudflare/workerd-linux-64@1.20251217.0': 75 | resolution: {integrity: sha512-uoPGhMaZVXPpCsU0oG3HQzyVpXCGi5rU+jcHRjUI7DXM4EwctBGvZ380Knkja36qtl+ZvSKVR1pUFSGdK+45Pg==} 76 | engines: {node: '>=16'} 77 | cpu: [x64] 78 | os: [linux] 79 | 80 | '@cloudflare/workerd-linux-arm64@1.20251217.0': 81 | resolution: {integrity: sha512-ixHnHKsiz1Xko+eDgCJOZ7EEUZKtmnYq3AjW3nkVcLFypSLks4C29E45zVewdaN4wq8sCLeyQCl6r1kS17+DQQ==} 82 | engines: {node: '>=16'} 83 | cpu: [arm64] 84 | os: [linux] 85 | 86 | '@cloudflare/workerd-windows-64@1.20251217.0': 87 | resolution: {integrity: sha512-rP6USX+7ctynz3AtmKi+EvlLP3Xdr1ETrSdcnv693/I5QdUwBxq4yE1Lj6CV7GJizX6opXKYg8QMq0Q4eB9zRQ==} 88 | engines: {node: '>=16'} 89 | cpu: [x64] 90 | os: [win32] 91 | 92 | '@cloudflare/workers-types@4.20251223.0': 93 | resolution: {integrity: sha512-r7oxkFjbMcmzhIrzjXaiJlGFDmmeu3+GlwkLlZbUxVWrXHTCkvqu+DrWnNmF6xZEf9j+2/PpuKIS21J522xhJA==} 94 | 95 | '@cspotcode/source-map-support@0.8.1': 96 | resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} 97 | engines: {node: '>=12'} 98 | 99 | '@emnapi/runtime@1.7.1': 100 | resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==} 101 | 102 | '@esbuild/aix-ppc64@0.27.0': 103 | resolution: {integrity: sha512-KuZrd2hRjz01y5JK9mEBSD3Vj3mbCvemhT466rSuJYeE/hjuBrHfjjcjMdTm/sz7au+++sdbJZJmuBwQLuw68A==} 104 | engines: {node: '>=18'} 105 | cpu: [ppc64] 106 | os: [aix] 107 | 108 | '@esbuild/android-arm64@0.27.0': 109 | resolution: {integrity: sha512-CC3vt4+1xZrs97/PKDkl0yN7w8edvU2vZvAFGD16n9F0Cvniy5qvzRXjfO1l94efczkkQE6g1x0i73Qf5uthOQ==} 110 | engines: {node: '>=18'} 111 | cpu: [arm64] 112 | os: [android] 113 | 114 | '@esbuild/android-arm@0.27.0': 115 | resolution: {integrity: sha512-j67aezrPNYWJEOHUNLPj9maeJte7uSMM6gMoxfPC9hOg8N02JuQi/T7ewumf4tNvJadFkvLZMlAq73b9uwdMyQ==} 116 | engines: {node: '>=18'} 117 | cpu: [arm] 118 | os: [android] 119 | 120 | '@esbuild/android-x64@0.27.0': 121 | resolution: {integrity: sha512-wurMkF1nmQajBO1+0CJmcN17U4BP6GqNSROP8t0X/Jiw2ltYGLHpEksp9MpoBqkrFR3kv2/te6Sha26k3+yZ9Q==} 122 | engines: {node: '>=18'} 123 | cpu: [x64] 124 | os: [android] 125 | 126 | '@esbuild/darwin-arm64@0.27.0': 127 | resolution: {integrity: sha512-uJOQKYCcHhg07DL7i8MzjvS2LaP7W7Pn/7uA0B5S1EnqAirJtbyw4yC5jQ5qcFjHK9l6o/MX9QisBg12kNkdHg==} 128 | engines: {node: '>=18'} 129 | cpu: [arm64] 130 | os: [darwin] 131 | 132 | '@esbuild/darwin-x64@0.27.0': 133 | resolution: {integrity: sha512-8mG6arH3yB/4ZXiEnXof5MK72dE6zM9cDvUcPtxhUZsDjESl9JipZYW60C3JGreKCEP+p8P/72r69m4AZGJd5g==} 134 | engines: {node: '>=18'} 135 | cpu: [x64] 136 | os: [darwin] 137 | 138 | '@esbuild/freebsd-arm64@0.27.0': 139 | resolution: {integrity: sha512-9FHtyO988CwNMMOE3YIeci+UV+x5Zy8fI2qHNpsEtSF83YPBmE8UWmfYAQg6Ux7Gsmd4FejZqnEUZCMGaNQHQw==} 140 | engines: {node: '>=18'} 141 | cpu: [arm64] 142 | os: [freebsd] 143 | 144 | '@esbuild/freebsd-x64@0.27.0': 145 | resolution: {integrity: sha512-zCMeMXI4HS/tXvJz8vWGexpZj2YVtRAihHLk1imZj4efx1BQzN76YFeKqlDr3bUWI26wHwLWPd3rwh6pe4EV7g==} 146 | engines: {node: '>=18'} 147 | cpu: [x64] 148 | os: [freebsd] 149 | 150 | '@esbuild/linux-arm64@0.27.0': 151 | resolution: {integrity: sha512-AS18v0V+vZiLJyi/4LphvBE+OIX682Pu7ZYNsdUHyUKSoRwdnOsMf6FDekwoAFKej14WAkOef3zAORJgAtXnlQ==} 152 | engines: {node: '>=18'} 153 | cpu: [arm64] 154 | os: [linux] 155 | 156 | '@esbuild/linux-arm@0.27.0': 157 | resolution: {integrity: sha512-t76XLQDpxgmq2cNXKTVEB7O7YMb42atj2Re2Haf45HkaUpjM2J0UuJZDuaGbPbamzZ7bawyGFUkodL+zcE+jvQ==} 158 | engines: {node: '>=18'} 159 | cpu: [arm] 160 | os: [linux] 161 | 162 | '@esbuild/linux-ia32@0.27.0': 163 | resolution: {integrity: sha512-Mz1jxqm/kfgKkc/KLHC5qIujMvnnarD9ra1cEcrs7qshTUSksPihGrWHVG5+osAIQ68577Zpww7SGapmzSt4Nw==} 164 | engines: {node: '>=18'} 165 | cpu: [ia32] 166 | os: [linux] 167 | 168 | '@esbuild/linux-loong64@0.27.0': 169 | resolution: {integrity: sha512-QbEREjdJeIreIAbdG2hLU1yXm1uu+LTdzoq1KCo4G4pFOLlvIspBm36QrQOar9LFduavoWX2msNFAAAY9j4BDg==} 170 | engines: {node: '>=18'} 171 | cpu: [loong64] 172 | os: [linux] 173 | 174 | '@esbuild/linux-mips64el@0.27.0': 175 | resolution: {integrity: sha512-sJz3zRNe4tO2wxvDpH/HYJilb6+2YJxo/ZNbVdtFiKDufzWq4JmKAiHy9iGoLjAV7r/W32VgaHGkk35cUXlNOg==} 176 | engines: {node: '>=18'} 177 | cpu: [mips64el] 178 | os: [linux] 179 | 180 | '@esbuild/linux-ppc64@0.27.0': 181 | resolution: {integrity: sha512-z9N10FBD0DCS2dmSABDBb5TLAyF1/ydVb+N4pi88T45efQ/w4ohr/F/QYCkxDPnkhkp6AIpIcQKQ8F0ANoA2JA==} 182 | engines: {node: '>=18'} 183 | cpu: [ppc64] 184 | os: [linux] 185 | 186 | '@esbuild/linux-riscv64@0.27.0': 187 | resolution: {integrity: sha512-pQdyAIZ0BWIC5GyvVFn5awDiO14TkT/19FTmFcPdDec94KJ1uZcmFs21Fo8auMXzD4Tt+diXu1LW1gHus9fhFQ==} 188 | engines: {node: '>=18'} 189 | cpu: [riscv64] 190 | os: [linux] 191 | 192 | '@esbuild/linux-s390x@0.27.0': 193 | resolution: {integrity: sha512-hPlRWR4eIDDEci953RI1BLZitgi5uqcsjKMxwYfmi4LcwyWo2IcRP+lThVnKjNtk90pLS8nKdroXYOqW+QQH+w==} 194 | engines: {node: '>=18'} 195 | cpu: [s390x] 196 | os: [linux] 197 | 198 | '@esbuild/linux-x64@0.27.0': 199 | resolution: {integrity: sha512-1hBWx4OUJE2cab++aVZ7pObD6s+DK4mPGpemtnAORBvb5l/g5xFGk0vc0PjSkrDs0XaXj9yyob3d14XqvnQ4gw==} 200 | engines: {node: '>=18'} 201 | cpu: [x64] 202 | os: [linux] 203 | 204 | '@esbuild/netbsd-arm64@0.27.0': 205 | resolution: {integrity: sha512-6m0sfQfxfQfy1qRuecMkJlf1cIzTOgyaeXaiVaaki8/v+WB+U4hc6ik15ZW6TAllRlg/WuQXxWj1jx6C+dfy3w==} 206 | engines: {node: '>=18'} 207 | cpu: [arm64] 208 | os: [netbsd] 209 | 210 | '@esbuild/netbsd-x64@0.27.0': 211 | resolution: {integrity: sha512-xbbOdfn06FtcJ9d0ShxxvSn2iUsGd/lgPIO2V3VZIPDbEaIj1/3nBBe1AwuEZKXVXkMmpr6LUAgMkLD/4D2PPA==} 212 | engines: {node: '>=18'} 213 | cpu: [x64] 214 | os: [netbsd] 215 | 216 | '@esbuild/openbsd-arm64@0.27.0': 217 | resolution: {integrity: sha512-fWgqR8uNbCQ/GGv0yhzttj6sU/9Z5/Sv/VGU3F5OuXK6J6SlriONKrQ7tNlwBrJZXRYk5jUhuWvF7GYzGguBZQ==} 218 | engines: {node: '>=18'} 219 | cpu: [arm64] 220 | os: [openbsd] 221 | 222 | '@esbuild/openbsd-x64@0.27.0': 223 | resolution: {integrity: sha512-aCwlRdSNMNxkGGqQajMUza6uXzR/U0dIl1QmLjPtRbLOx3Gy3otfFu/VjATy4yQzo9yFDGTxYDo1FfAD9oRD2A==} 224 | engines: {node: '>=18'} 225 | cpu: [x64] 226 | os: [openbsd] 227 | 228 | '@esbuild/openharmony-arm64@0.27.0': 229 | resolution: {integrity: sha512-nyvsBccxNAsNYz2jVFYwEGuRRomqZ149A39SHWk4hV0jWxKM0hjBPm3AmdxcbHiFLbBSwG6SbpIcUbXjgyECfA==} 230 | engines: {node: '>=18'} 231 | cpu: [arm64] 232 | os: [openharmony] 233 | 234 | '@esbuild/sunos-x64@0.27.0': 235 | resolution: {integrity: sha512-Q1KY1iJafM+UX6CFEL+F4HRTgygmEW568YMqDA5UV97AuZSm21b7SXIrRJDwXWPzr8MGr75fUZPV67FdtMHlHA==} 236 | engines: {node: '>=18'} 237 | cpu: [x64] 238 | os: [sunos] 239 | 240 | '@esbuild/win32-arm64@0.27.0': 241 | resolution: {integrity: sha512-W1eyGNi6d+8kOmZIwi/EDjrL9nxQIQ0MiGqe/AWc6+IaHloxHSGoeRgDRKHFISThLmsewZ5nHFvGFWdBYlgKPg==} 242 | engines: {node: '>=18'} 243 | cpu: [arm64] 244 | os: [win32] 245 | 246 | '@esbuild/win32-ia32@0.27.0': 247 | resolution: {integrity: sha512-30z1aKL9h22kQhilnYkORFYt+3wp7yZsHWus+wSKAJR8JtdfI76LJ4SBdMsCopTR3z/ORqVu5L1vtnHZWVj4cQ==} 248 | engines: {node: '>=18'} 249 | cpu: [ia32] 250 | os: [win32] 251 | 252 | '@esbuild/win32-x64@0.27.0': 253 | resolution: {integrity: sha512-aIitBcjQeyOhMTImhLZmtxfdOcuNRpwlPNmlFKPcHQYPhEssw75Cl1TSXJXpMkzaua9FUetx/4OQKq7eJul5Cg==} 254 | engines: {node: '>=18'} 255 | cpu: [x64] 256 | os: [win32] 257 | 258 | '@eslint-community/eslint-utils@4.9.0': 259 | resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} 260 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 261 | peerDependencies: 262 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 263 | 264 | '@eslint-community/regexpp@4.12.2': 265 | resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} 266 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 267 | 268 | '@eslint/config-array@0.21.1': 269 | resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} 270 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 271 | 272 | '@eslint/config-helpers@0.4.2': 273 | resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} 274 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 275 | 276 | '@eslint/core@0.17.0': 277 | resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} 278 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 279 | 280 | '@eslint/eslintrc@3.3.3': 281 | resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==} 282 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 283 | 284 | '@eslint/js@9.39.2': 285 | resolution: {integrity: sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==} 286 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 287 | 288 | '@eslint/object-schema@2.1.7': 289 | resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} 290 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 291 | 292 | '@eslint/plugin-kit@0.4.1': 293 | resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} 294 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 295 | 296 | '@humanfs/core@0.19.1': 297 | resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} 298 | engines: {node: '>=18.18.0'} 299 | 300 | '@humanfs/node@0.16.7': 301 | resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} 302 | engines: {node: '>=18.18.0'} 303 | 304 | '@humanwhocodes/module-importer@1.0.1': 305 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 306 | engines: {node: '>=12.22'} 307 | 308 | '@humanwhocodes/retry@0.4.3': 309 | resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} 310 | engines: {node: '>=18.18'} 311 | 312 | '@img/sharp-darwin-arm64@0.33.5': 313 | resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} 314 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 315 | cpu: [arm64] 316 | os: [darwin] 317 | 318 | '@img/sharp-darwin-x64@0.33.5': 319 | resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} 320 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 321 | cpu: [x64] 322 | os: [darwin] 323 | 324 | '@img/sharp-libvips-darwin-arm64@1.0.4': 325 | resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} 326 | cpu: [arm64] 327 | os: [darwin] 328 | 329 | '@img/sharp-libvips-darwin-x64@1.0.4': 330 | resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} 331 | cpu: [x64] 332 | os: [darwin] 333 | 334 | '@img/sharp-libvips-linux-arm64@1.0.4': 335 | resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} 336 | cpu: [arm64] 337 | os: [linux] 338 | 339 | '@img/sharp-libvips-linux-arm@1.0.5': 340 | resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} 341 | cpu: [arm] 342 | os: [linux] 343 | 344 | '@img/sharp-libvips-linux-s390x@1.0.4': 345 | resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} 346 | cpu: [s390x] 347 | os: [linux] 348 | 349 | '@img/sharp-libvips-linux-x64@1.0.4': 350 | resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} 351 | cpu: [x64] 352 | os: [linux] 353 | 354 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4': 355 | resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} 356 | cpu: [arm64] 357 | os: [linux] 358 | 359 | '@img/sharp-libvips-linuxmusl-x64@1.0.4': 360 | resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} 361 | cpu: [x64] 362 | os: [linux] 363 | 364 | '@img/sharp-linux-arm64@0.33.5': 365 | resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} 366 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 367 | cpu: [arm64] 368 | os: [linux] 369 | 370 | '@img/sharp-linux-arm@0.33.5': 371 | resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} 372 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 373 | cpu: [arm] 374 | os: [linux] 375 | 376 | '@img/sharp-linux-s390x@0.33.5': 377 | resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} 378 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 379 | cpu: [s390x] 380 | os: [linux] 381 | 382 | '@img/sharp-linux-x64@0.33.5': 383 | resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} 384 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 385 | cpu: [x64] 386 | os: [linux] 387 | 388 | '@img/sharp-linuxmusl-arm64@0.33.5': 389 | resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} 390 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 391 | cpu: [arm64] 392 | os: [linux] 393 | 394 | '@img/sharp-linuxmusl-x64@0.33.5': 395 | resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} 396 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 397 | cpu: [x64] 398 | os: [linux] 399 | 400 | '@img/sharp-wasm32@0.33.5': 401 | resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} 402 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 403 | cpu: [wasm32] 404 | 405 | '@img/sharp-win32-ia32@0.33.5': 406 | resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} 407 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 408 | cpu: [ia32] 409 | os: [win32] 410 | 411 | '@img/sharp-win32-x64@0.33.5': 412 | resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} 413 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 414 | cpu: [x64] 415 | os: [win32] 416 | 417 | '@jridgewell/gen-mapping@0.3.13': 418 | resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} 419 | 420 | '@jridgewell/resolve-uri@3.1.2': 421 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 422 | engines: {node: '>=6.0.0'} 423 | 424 | '@jridgewell/sourcemap-codec@1.5.5': 425 | resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} 426 | 427 | '@jridgewell/trace-mapping@0.3.31': 428 | resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} 429 | 430 | '@jridgewell/trace-mapping@0.3.9': 431 | resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} 432 | 433 | '@nodelib/fs.scandir@2.1.5': 434 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 435 | engines: {node: '>= 8'} 436 | 437 | '@nodelib/fs.stat@2.0.5': 438 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 439 | engines: {node: '>= 8'} 440 | 441 | '@nodelib/fs.walk@1.2.8': 442 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 443 | engines: {node: '>= 8'} 444 | 445 | '@poppinss/colors@4.1.5': 446 | resolution: {integrity: sha512-FvdDqtcRCtz6hThExcFOgW0cWX+xwSMWcRuQe5ZEb2m7cVQOAVZOIMt+/v9RxGiD9/OY16qJBXK4CVKWAPalBw==} 447 | 448 | '@poppinss/dumper@0.6.5': 449 | resolution: {integrity: sha512-NBdYIb90J7LfOI32dOewKI1r7wnkiH6m920puQ3qHUeZkxNkQiFnXVWoE6YtFSv6QOiPPf7ys6i+HWWecDz7sw==} 450 | 451 | '@poppinss/exception@1.2.2': 452 | resolution: {integrity: sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg==} 453 | 454 | '@rtsao/scc@1.1.0': 455 | resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} 456 | 457 | '@sindresorhus/is@7.1.1': 458 | resolution: {integrity: sha512-rO92VvpgMc3kfiTjGT52LEtJ8Yc5kCWhZjLQ3LwlA4pSgPpQO7bVpYXParOD8Jwf+cVQECJo3yP/4I8aZtUQTQ==} 459 | engines: {node: '>=18'} 460 | 461 | '@speed-highlight/core@1.2.12': 462 | resolution: {integrity: sha512-uilwrK0Ygyri5dToHYdZSjcvpS2ZwX0w5aSt3GCEN9hrjxWCoeV4Z2DTXuxjwbntaLQIEEAlCeNQss5SoHvAEA==} 463 | 464 | '@stylistic/eslint-plugin-js@4.2.0': 465 | resolution: {integrity: sha512-MiJr6wvyzMYl/wElmj8Jns8zH7Q1w8XoVtm+WM6yDaTrfxryMyb8n0CMxt82fo42RoLIfxAEtM6tmQVxqhk0/A==} 466 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 467 | peerDependencies: 468 | eslint: '>=9.0.0' 469 | 470 | '@stylistic/eslint-plugin-jsx@4.2.0': 471 | resolution: {integrity: sha512-V+AtcVs0a3ck2IWWH/fd/+TmOYSgBJlsJXIR65+3kqgNi3p3pPfo9C8nhRsU/KlcSwhnzyx+Z/kEcuWCMZtTcA==} 472 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 473 | peerDependencies: 474 | eslint: '>=9.0.0' 475 | 476 | '@stylistic/eslint-plugin-ts@4.2.0': 477 | resolution: {integrity: sha512-j2o2GvOx9v66x8hmp/HJ+0T+nOppiO5ycGsCkifh7JPGgjxEhpkGmIGx3RWsoxpWbad3VCX8e8/T8n3+7ze1Zg==} 478 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 479 | peerDependencies: 480 | eslint: '>=9.0.0' 481 | 482 | '@tsconfig/strictest@2.0.8': 483 | resolution: {integrity: sha512-XnQ7vNz5HRN0r88GYf1J9JJjqtZPiHt2woGJOo2dYqyHGGcd6OLGqSlBB6p1j9mpzja6Oe5BoPqWmeDx6X9rLw==} 484 | 485 | '@tsndr/cloudflare-worker-jwt@3.2.1': 486 | resolution: {integrity: sha512-1AfDEgu7DTbU0sXDSOKh4D5t7+RJ0dIRRaDmoX3LFeW0AxQdunuqTQ7AVGwNJqOnxrbxiruyvX01cf9HHqEvXQ==} 487 | 488 | '@types/body-parser@1.19.6': 489 | resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} 490 | 491 | '@types/connect@3.4.38': 492 | resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} 493 | 494 | '@types/estree@1.0.8': 495 | resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} 496 | 497 | '@types/express-serve-static-core@4.19.7': 498 | resolution: {integrity: sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg==} 499 | 500 | '@types/express@4.17.25': 501 | resolution: {integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==} 502 | 503 | '@types/http-errors@2.0.5': 504 | resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} 505 | 506 | '@types/json-schema@7.0.15': 507 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 508 | 509 | '@types/json5@0.0.29': 510 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 511 | 512 | '@types/mime@1.3.5': 513 | resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} 514 | 515 | '@types/node@24.10.1': 516 | resolution: {integrity: sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==} 517 | 518 | '@types/qs@6.14.0': 519 | resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} 520 | 521 | '@types/range-parser@1.2.7': 522 | resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} 523 | 524 | '@types/send@0.17.6': 525 | resolution: {integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==} 526 | 527 | '@types/send@1.2.1': 528 | resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==} 529 | 530 | '@types/serve-static@1.15.10': 531 | resolution: {integrity: sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==} 532 | 533 | '@typescript-eslint/eslint-plugin@8.31.1': 534 | resolution: {integrity: sha512-oUlH4h1ABavI4F0Xnl8/fOtML/eu8nI2A1nYd+f+55XI0BLu+RIqKoCiZKNo6DtqZBEQm5aNKA20G3Z5w3R6GQ==} 535 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 536 | peerDependencies: 537 | '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 538 | eslint: ^8.57.0 || ^9.0.0 539 | typescript: '>=4.8.4 <5.9.0' 540 | 541 | '@typescript-eslint/parser@8.31.1': 542 | resolution: {integrity: sha512-oU/OtYVydhXnumd0BobL9rkJg7wFJ9bFFPmSmB/bf/XWN85hlViji59ko6bSKBXyseT9V8l+CN1nwmlbiN0G7Q==} 543 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 544 | peerDependencies: 545 | eslint: ^8.57.0 || ^9.0.0 546 | typescript: '>=4.8.4 <5.9.0' 547 | 548 | '@typescript-eslint/project-service@8.48.0': 549 | resolution: {integrity: sha512-Ne4CTZyRh1BecBf84siv42wv5vQvVmgtk8AuiEffKTUo3DrBaGYZueJSxxBZ8fjk/N3DrgChH4TOdIOwOwiqqw==} 550 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 551 | peerDependencies: 552 | typescript: '>=4.8.4 <6.0.0' 553 | 554 | '@typescript-eslint/scope-manager@8.31.1': 555 | resolution: {integrity: sha512-BMNLOElPxrtNQMIsFHE+3P0Yf1z0dJqV9zLdDxN/xLlWMlXK/ApEsVEKzpizg9oal8bAT5Sc7+ocal7AC1HCVw==} 556 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 557 | 558 | '@typescript-eslint/scope-manager@8.48.0': 559 | resolution: {integrity: sha512-uGSSsbrtJrLduti0Q1Q9+BF1/iFKaxGoQwjWOIVNJv0o6omrdyR8ct37m4xIl5Zzpkp69Kkmvom7QFTtue89YQ==} 560 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 561 | 562 | '@typescript-eslint/tsconfig-utils@8.48.0': 563 | resolution: {integrity: sha512-WNebjBdFdyu10sR1M4OXTt2OkMd5KWIL+LLfeH9KhgP+jzfDV/LI3eXzwJ1s9+Yc0Kzo2fQCdY/OpdusCMmh6w==} 564 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 565 | peerDependencies: 566 | typescript: '>=4.8.4 <6.0.0' 567 | 568 | '@typescript-eslint/type-utils@8.31.1': 569 | resolution: {integrity: sha512-fNaT/m9n0+dpSp8G/iOQ05GoHYXbxw81x+yvr7TArTuZuCA6VVKbqWYVZrV5dVagpDTtj/O8k5HBEE/p/HM5LA==} 570 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 571 | peerDependencies: 572 | eslint: ^8.57.0 || ^9.0.0 573 | typescript: '>=4.8.4 <5.9.0' 574 | 575 | '@typescript-eslint/types@8.31.1': 576 | resolution: {integrity: sha512-SfepaEFUDQYRoA70DD9GtytljBePSj17qPxFHA/h3eg6lPTqGJ5mWOtbXCk1YrVU1cTJRd14nhaXWFu0l2troQ==} 577 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 578 | 579 | '@typescript-eslint/types@8.48.0': 580 | resolution: {integrity: sha512-cQMcGQQH7kwKoVswD1xdOytxQR60MWKM1di26xSUtxehaDs/32Zpqsu5WJlXTtTTqyAVK8R7hvsUnIXRS+bjvA==} 581 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 582 | 583 | '@typescript-eslint/typescript-estree@8.31.1': 584 | resolution: {integrity: sha512-kaA0ueLe2v7KunYOyWYtlf/QhhZb7+qh4Yw6Ni5kgukMIG+iP773tjgBiLWIXYumWCwEq3nLW+TUywEp8uEeag==} 585 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 586 | peerDependencies: 587 | typescript: '>=4.8.4 <5.9.0' 588 | 589 | '@typescript-eslint/typescript-estree@8.48.0': 590 | resolution: {integrity: sha512-ljHab1CSO4rGrQIAyizUS6UGHHCiAYhbfcIZ1zVJr5nMryxlXMVWS3duFPSKvSUbFPwkXMFk1k0EMIjub4sRRQ==} 591 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 592 | peerDependencies: 593 | typescript: '>=4.8.4 <6.0.0' 594 | 595 | '@typescript-eslint/utils@8.31.1': 596 | resolution: {integrity: sha512-2DSI4SNfF5T4oRveQ4nUrSjUqjMND0nLq9rEkz0gfGr3tg0S5KB6DhwR+WZPCjzkZl3cH+4x2ce3EsL50FubjQ==} 597 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 598 | peerDependencies: 599 | eslint: ^8.57.0 || ^9.0.0 600 | typescript: '>=4.8.4 <5.9.0' 601 | 602 | '@typescript-eslint/utils@8.48.0': 603 | resolution: {integrity: sha512-yTJO1XuGxCsSfIVt1+1UrLHtue8xz16V8apzPYI06W0HbEbEWHxHXgZaAgavIkoh+GeV6hKKd5jm0sS6OYxWXQ==} 604 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 605 | peerDependencies: 606 | eslint: ^8.57.0 || ^9.0.0 607 | typescript: '>=4.8.4 <6.0.0' 608 | 609 | '@typescript-eslint/visitor-keys@8.31.1': 610 | resolution: {integrity: sha512-I+/rgqOVBn6f0o7NDTmAPWWC6NuqhV174lfYvAm9fUaWeiefLdux9/YI3/nLugEn9L8fcSi0XmpKi/r5u0nmpw==} 611 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 612 | 613 | '@typescript-eslint/visitor-keys@8.48.0': 614 | resolution: {integrity: sha512-T0XJMaRPOH3+LBbAfzR2jalckP1MSG/L9eUtY0DEzUyVaXJ/t6zN0nR7co5kz0Jko/nkSYCBRkz1djvjajVTTg==} 615 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 616 | 617 | acorn-jsx@5.3.2: 618 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 619 | peerDependencies: 620 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 621 | 622 | acorn-walk@8.3.2: 623 | resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} 624 | engines: {node: '>=0.4.0'} 625 | 626 | acorn@8.14.0: 627 | resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} 628 | engines: {node: '>=0.4.0'} 629 | hasBin: true 630 | 631 | acorn@8.15.0: 632 | resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} 633 | engines: {node: '>=0.4.0'} 634 | hasBin: true 635 | 636 | agent-base@6.0.2: 637 | resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} 638 | engines: {node: '>= 6.0.0'} 639 | 640 | ajv@6.12.6: 641 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 642 | 643 | ansi-styles@4.3.0: 644 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 645 | engines: {node: '>=8'} 646 | 647 | any-promise@1.3.0: 648 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 649 | 650 | anymatch@3.1.3: 651 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 652 | engines: {node: '>= 8'} 653 | 654 | arg@5.0.2: 655 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 656 | 657 | argparse@2.0.1: 658 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 659 | 660 | array-buffer-byte-length@1.0.2: 661 | resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} 662 | engines: {node: '>= 0.4'} 663 | 664 | array-includes@3.1.9: 665 | resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} 666 | engines: {node: '>= 0.4'} 667 | 668 | array.prototype.findlast@1.2.5: 669 | resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} 670 | engines: {node: '>= 0.4'} 671 | 672 | array.prototype.findlastindex@1.2.6: 673 | resolution: {integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==} 674 | engines: {node: '>= 0.4'} 675 | 676 | array.prototype.flat@1.3.3: 677 | resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} 678 | engines: {node: '>= 0.4'} 679 | 680 | array.prototype.flatmap@1.3.3: 681 | resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} 682 | engines: {node: '>= 0.4'} 683 | 684 | array.prototype.tosorted@1.1.4: 685 | resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} 686 | engines: {node: '>= 0.4'} 687 | 688 | arraybuffer.prototype.slice@1.0.4: 689 | resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} 690 | engines: {node: '>= 0.4'} 691 | 692 | async-function@1.0.0: 693 | resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} 694 | engines: {node: '>= 0.4'} 695 | 696 | asynckit@0.4.0: 697 | resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} 698 | 699 | available-typed-arrays@1.0.7: 700 | resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} 701 | engines: {node: '>= 0.4'} 702 | 703 | axios@1.13.2: 704 | resolution: {integrity: sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==} 705 | 706 | balanced-match@1.0.2: 707 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 708 | 709 | binary-extensions@2.3.0: 710 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 711 | engines: {node: '>=8'} 712 | 713 | blake3-wasm@2.1.5: 714 | resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} 715 | 716 | brace-expansion@1.1.12: 717 | resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} 718 | 719 | brace-expansion@2.0.2: 720 | resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} 721 | 722 | braces@3.0.3: 723 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 724 | engines: {node: '>=8'} 725 | 726 | buffer-equal-constant-time@1.0.1: 727 | resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} 728 | 729 | call-bind-apply-helpers@1.0.2: 730 | resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} 731 | engines: {node: '>= 0.4'} 732 | 733 | call-bind@1.0.8: 734 | resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} 735 | engines: {node: '>= 0.4'} 736 | 737 | call-bound@1.0.4: 738 | resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} 739 | engines: {node: '>= 0.4'} 740 | 741 | callsites@3.1.0: 742 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 743 | engines: {node: '>=6'} 744 | 745 | camelcase-css@2.0.1: 746 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 747 | engines: {node: '>= 6'} 748 | 749 | chalk@4.1.2: 750 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 751 | engines: {node: '>=10'} 752 | 753 | chokidar@3.6.0: 754 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 755 | engines: {node: '>= 8.10.0'} 756 | 757 | color-convert@2.0.1: 758 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 759 | engines: {node: '>=7.0.0'} 760 | 761 | color-name@1.1.4: 762 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 763 | 764 | color-string@1.9.1: 765 | resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} 766 | 767 | color@4.2.3: 768 | resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} 769 | engines: {node: '>=12.5.0'} 770 | 771 | combined-stream@1.0.8: 772 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} 773 | engines: {node: '>= 0.8'} 774 | 775 | commander@4.1.1: 776 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 777 | engines: {node: '>= 6'} 778 | 779 | concat-map@0.0.1: 780 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 781 | 782 | cookie@1.1.1: 783 | resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} 784 | engines: {node: '>=18'} 785 | 786 | cross-spawn@7.0.6: 787 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 788 | engines: {node: '>= 8'} 789 | 790 | cssesc@3.0.0: 791 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 792 | engines: {node: '>=4'} 793 | hasBin: true 794 | 795 | data-view-buffer@1.0.2: 796 | resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} 797 | engines: {node: '>= 0.4'} 798 | 799 | data-view-byte-length@1.0.2: 800 | resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} 801 | engines: {node: '>= 0.4'} 802 | 803 | data-view-byte-offset@1.0.1: 804 | resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} 805 | engines: {node: '>= 0.4'} 806 | 807 | dayjs@1.11.19: 808 | resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==} 809 | 810 | debug@3.2.7: 811 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 812 | peerDependencies: 813 | supports-color: '*' 814 | peerDependenciesMeta: 815 | supports-color: 816 | optional: true 817 | 818 | debug@4.4.3: 819 | resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} 820 | engines: {node: '>=6.0'} 821 | peerDependencies: 822 | supports-color: '*' 823 | peerDependenciesMeta: 824 | supports-color: 825 | optional: true 826 | 827 | deep-is@0.1.4: 828 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 829 | 830 | define-data-property@1.1.4: 831 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 832 | engines: {node: '>= 0.4'} 833 | 834 | define-properties@1.2.1: 835 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} 836 | engines: {node: '>= 0.4'} 837 | 838 | delayed-stream@1.0.0: 839 | resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} 840 | engines: {node: '>=0.4.0'} 841 | 842 | detect-libc@2.1.2: 843 | resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} 844 | engines: {node: '>=8'} 845 | 846 | didyoumean@1.2.2: 847 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 848 | 849 | discord-api-types@0.38.37: 850 | resolution: {integrity: sha512-Cv47jzY1jkGkh5sv0bfHYqGgKOWO1peOrGMkDFM4UmaGMOTgOW8QSexhvixa9sVOiz8MnVOBryWYyw/CEVhj7w==} 851 | 852 | discord-verify@1.2.0: 853 | resolution: {integrity: sha512-8qlrMROW8DhpzWWzgNq9kpeLDxKanWa4EDVoj/ASVv2nr+dSr4JPmu2tFSydf3hAGI/OIJTnZyD0JulMYIxx4w==} 854 | engines: {node: '>=16'} 855 | 856 | dlv@1.1.3: 857 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 858 | 859 | doctrine@2.1.0: 860 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 861 | engines: {node: '>=0.10.0'} 862 | 863 | dunder-proto@1.0.1: 864 | resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} 865 | engines: {node: '>= 0.4'} 866 | 867 | ecdsa-sig-formatter@1.0.11: 868 | resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} 869 | 870 | error-stack-parser-es@1.0.5: 871 | resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==} 872 | 873 | es-abstract@1.24.0: 874 | resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==} 875 | engines: {node: '>= 0.4'} 876 | 877 | es-define-property@1.0.1: 878 | resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 879 | engines: {node: '>= 0.4'} 880 | 881 | es-errors@1.3.0: 882 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 883 | engines: {node: '>= 0.4'} 884 | 885 | es-iterator-helpers@1.2.1: 886 | resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==} 887 | engines: {node: '>= 0.4'} 888 | 889 | es-object-atoms@1.1.1: 890 | resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} 891 | engines: {node: '>= 0.4'} 892 | 893 | es-set-tostringtag@2.1.0: 894 | resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} 895 | engines: {node: '>= 0.4'} 896 | 897 | es-shim-unscopables@1.1.0: 898 | resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} 899 | engines: {node: '>= 0.4'} 900 | 901 | es-to-primitive@1.3.0: 902 | resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} 903 | engines: {node: '>= 0.4'} 904 | 905 | esbuild@0.27.0: 906 | resolution: {integrity: sha512-jd0f4NHbD6cALCyGElNpGAOtWxSq46l9X/sWB0Nzd5er4Kz2YTm+Vl0qKFT9KUJvD8+fiO8AvoHhFvEatfVixA==} 907 | engines: {node: '>=18'} 908 | hasBin: true 909 | 910 | escape-string-regexp@4.0.0: 911 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 912 | engines: {node: '>=10'} 913 | 914 | eslint-config-promise@https://codeload.github.com/promise/eslint-config/tar.gz/ae41e6415504249f8b6f2cdf9c52d9b08fbab521: 915 | resolution: {tarball: https://codeload.github.com/promise/eslint-config/tar.gz/ae41e6415504249f8b6f2cdf9c52d9b08fbab521} 916 | version: 0.0.0 917 | peerDependencies: 918 | '@stylistic/eslint-plugin-js': 4.2.0 919 | '@stylistic/eslint-plugin-jsx': 4.2.0 920 | '@stylistic/eslint-plugin-ts': 4.2.0 921 | '@typescript-eslint/eslint-plugin': 8.31.1 922 | '@typescript-eslint/parser': 8.31.1 923 | eslint: 9.26.0 924 | eslint-plugin-import: 2.31.0 925 | eslint-plugin-jest: 28.11.0 926 | eslint-plugin-perfectionist: 4.12.3 927 | eslint-plugin-react: 7.37.5 928 | eslint-plugin-tailwindcss: 3.18.0 929 | globals: 16.5.0 930 | 931 | eslint-import-resolver-node@0.3.9: 932 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} 933 | 934 | eslint-module-utils@2.12.1: 935 | resolution: {integrity: sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==} 936 | engines: {node: '>=4'} 937 | peerDependencies: 938 | '@typescript-eslint/parser': '*' 939 | eslint: '*' 940 | eslint-import-resolver-node: '*' 941 | eslint-import-resolver-typescript: '*' 942 | eslint-import-resolver-webpack: '*' 943 | peerDependenciesMeta: 944 | '@typescript-eslint/parser': 945 | optional: true 946 | eslint: 947 | optional: true 948 | eslint-import-resolver-node: 949 | optional: true 950 | eslint-import-resolver-typescript: 951 | optional: true 952 | eslint-import-resolver-webpack: 953 | optional: true 954 | 955 | eslint-plugin-import@2.31.0: 956 | resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} 957 | engines: {node: '>=4'} 958 | peerDependencies: 959 | '@typescript-eslint/parser': '*' 960 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 961 | peerDependenciesMeta: 962 | '@typescript-eslint/parser': 963 | optional: true 964 | 965 | eslint-plugin-jest@28.11.0: 966 | resolution: {integrity: sha512-QAfipLcNCWLVocVbZW8GimKn5p5iiMcgGbRzz8z/P5q7xw+cNEpYqyzFMtIF/ZgF2HLOyy+dYBut+DoYolvqig==} 967 | engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} 968 | peerDependencies: 969 | '@typescript-eslint/eslint-plugin': ^6.0.0 || ^7.0.0 || ^8.0.0 970 | eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 971 | jest: '*' 972 | peerDependenciesMeta: 973 | '@typescript-eslint/eslint-plugin': 974 | optional: true 975 | jest: 976 | optional: true 977 | 978 | eslint-plugin-perfectionist@4.12.3: 979 | resolution: {integrity: sha512-V0dmpq6fBbn0BYofHsiRuuY9wgkKMDkdruM0mIRBIJ8XZ8vEaTAZqFsywm40RuWNVnduWBt5HO1ZZ+flE2yqjg==} 980 | engines: {node: ^18.0.0 || >=20.0.0} 981 | peerDependencies: 982 | eslint: '>=8.45.0' 983 | 984 | eslint-plugin-react@7.37.5: 985 | resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==} 986 | engines: {node: '>=4'} 987 | peerDependencies: 988 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 989 | 990 | eslint-plugin-tailwindcss@3.18.0: 991 | resolution: {integrity: sha512-PQDU4ZMzFH0eb2DrfHPpbgo87Zgg2EXSMOj1NSfzdZm+aJzpuwGerfowMIaVehSREEa0idbf/eoNYAOHSJoDAQ==} 992 | engines: {node: '>=18.12.0'} 993 | peerDependencies: 994 | tailwindcss: ^3.4.0 995 | 996 | eslint-scope@8.4.0: 997 | resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} 998 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 999 | 1000 | eslint-visitor-keys@3.4.3: 1001 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 1002 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1003 | 1004 | eslint-visitor-keys@4.2.1: 1005 | resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} 1006 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1007 | 1008 | eslint@9.39.2: 1009 | resolution: {integrity: sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==} 1010 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1011 | hasBin: true 1012 | peerDependencies: 1013 | jiti: '*' 1014 | peerDependenciesMeta: 1015 | jiti: 1016 | optional: true 1017 | 1018 | espree@10.4.0: 1019 | resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} 1020 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1021 | 1022 | esquery@1.6.0: 1023 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} 1024 | engines: {node: '>=0.10'} 1025 | 1026 | esrecurse@4.3.0: 1027 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1028 | engines: {node: '>=4.0'} 1029 | 1030 | estraverse@5.3.0: 1031 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1032 | engines: {node: '>=4.0'} 1033 | 1034 | esutils@2.0.3: 1035 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1036 | engines: {node: '>=0.10.0'} 1037 | 1038 | exit-hook@2.2.1: 1039 | resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} 1040 | engines: {node: '>=6'} 1041 | 1042 | fast-deep-equal@3.1.3: 1043 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1044 | 1045 | fast-glob@3.3.3: 1046 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 1047 | engines: {node: '>=8.6.0'} 1048 | 1049 | fast-json-stable-stringify@2.1.0: 1050 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1051 | 1052 | fast-levenshtein@2.0.6: 1053 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1054 | 1055 | fastq@1.19.1: 1056 | resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} 1057 | 1058 | fdir@6.5.0: 1059 | resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} 1060 | engines: {node: '>=12.0.0'} 1061 | peerDependencies: 1062 | picomatch: ^3 || ^4 1063 | peerDependenciesMeta: 1064 | picomatch: 1065 | optional: true 1066 | 1067 | file-entry-cache@8.0.0: 1068 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 1069 | engines: {node: '>=16.0.0'} 1070 | 1071 | fill-range@7.1.1: 1072 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 1073 | engines: {node: '>=8'} 1074 | 1075 | find-up@5.0.0: 1076 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1077 | engines: {node: '>=10'} 1078 | 1079 | flat-cache@4.0.1: 1080 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} 1081 | engines: {node: '>=16'} 1082 | 1083 | flatted@3.3.3: 1084 | resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} 1085 | 1086 | follow-redirects@1.15.11: 1087 | resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} 1088 | engines: {node: '>=4.0'} 1089 | peerDependencies: 1090 | debug: '*' 1091 | peerDependenciesMeta: 1092 | debug: 1093 | optional: true 1094 | 1095 | for-each@0.3.5: 1096 | resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} 1097 | engines: {node: '>= 0.4'} 1098 | 1099 | form-data@4.0.5: 1100 | resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} 1101 | engines: {node: '>= 6'} 1102 | 1103 | fsevents@2.3.3: 1104 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1105 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1106 | os: [darwin] 1107 | 1108 | function-bind@1.1.2: 1109 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1110 | 1111 | function.prototype.name@1.1.8: 1112 | resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} 1113 | engines: {node: '>= 0.4'} 1114 | 1115 | functions-have-names@1.2.3: 1116 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1117 | 1118 | generator-function@2.0.1: 1119 | resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} 1120 | engines: {node: '>= 0.4'} 1121 | 1122 | get-intrinsic@1.3.0: 1123 | resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} 1124 | engines: {node: '>= 0.4'} 1125 | 1126 | get-proto@1.0.1: 1127 | resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} 1128 | engines: {node: '>= 0.4'} 1129 | 1130 | get-symbol-description@1.1.0: 1131 | resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} 1132 | engines: {node: '>= 0.4'} 1133 | 1134 | glob-parent@5.1.2: 1135 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1136 | engines: {node: '>= 6'} 1137 | 1138 | glob-parent@6.0.2: 1139 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1140 | engines: {node: '>=10.13.0'} 1141 | 1142 | glob-to-regexp@0.4.1: 1143 | resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} 1144 | 1145 | globals@14.0.0: 1146 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} 1147 | engines: {node: '>=18'} 1148 | 1149 | globalthis@1.0.4: 1150 | resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} 1151 | engines: {node: '>= 0.4'} 1152 | 1153 | gopd@1.2.0: 1154 | resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} 1155 | engines: {node: '>= 0.4'} 1156 | 1157 | graphemer@1.4.0: 1158 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1159 | 1160 | has-bigints@1.1.0: 1161 | resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} 1162 | engines: {node: '>= 0.4'} 1163 | 1164 | has-flag@4.0.0: 1165 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1166 | engines: {node: '>=8'} 1167 | 1168 | has-property-descriptors@1.0.2: 1169 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 1170 | 1171 | has-proto@1.2.0: 1172 | resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} 1173 | engines: {node: '>= 0.4'} 1174 | 1175 | has-symbols@1.1.0: 1176 | resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} 1177 | engines: {node: '>= 0.4'} 1178 | 1179 | has-tostringtag@1.0.2: 1180 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} 1181 | engines: {node: '>= 0.4'} 1182 | 1183 | hasown@2.0.2: 1184 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1185 | engines: {node: '>= 0.4'} 1186 | 1187 | https-proxy-agent@5.0.1: 1188 | resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} 1189 | engines: {node: '>= 6'} 1190 | 1191 | ignore@5.3.2: 1192 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 1193 | engines: {node: '>= 4'} 1194 | 1195 | import-fresh@3.3.1: 1196 | resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} 1197 | engines: {node: '>=6'} 1198 | 1199 | imurmurhash@0.1.4: 1200 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1201 | engines: {node: '>=0.8.19'} 1202 | 1203 | internal-slot@1.1.0: 1204 | resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} 1205 | engines: {node: '>= 0.4'} 1206 | 1207 | is-array-buffer@3.0.5: 1208 | resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} 1209 | engines: {node: '>= 0.4'} 1210 | 1211 | is-arrayish@0.3.4: 1212 | resolution: {integrity: sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==} 1213 | 1214 | is-async-function@2.1.1: 1215 | resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} 1216 | engines: {node: '>= 0.4'} 1217 | 1218 | is-bigint@1.1.0: 1219 | resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} 1220 | engines: {node: '>= 0.4'} 1221 | 1222 | is-binary-path@2.1.0: 1223 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1224 | engines: {node: '>=8'} 1225 | 1226 | is-boolean-object@1.2.2: 1227 | resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} 1228 | engines: {node: '>= 0.4'} 1229 | 1230 | is-callable@1.2.7: 1231 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 1232 | engines: {node: '>= 0.4'} 1233 | 1234 | is-core-module@2.16.1: 1235 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} 1236 | engines: {node: '>= 0.4'} 1237 | 1238 | is-data-view@1.0.2: 1239 | resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} 1240 | engines: {node: '>= 0.4'} 1241 | 1242 | is-date-object@1.1.0: 1243 | resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} 1244 | engines: {node: '>= 0.4'} 1245 | 1246 | is-extglob@2.1.1: 1247 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1248 | engines: {node: '>=0.10.0'} 1249 | 1250 | is-finalizationregistry@1.1.1: 1251 | resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} 1252 | engines: {node: '>= 0.4'} 1253 | 1254 | is-generator-function@1.1.2: 1255 | resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} 1256 | engines: {node: '>= 0.4'} 1257 | 1258 | is-glob@4.0.3: 1259 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1260 | engines: {node: '>=0.10.0'} 1261 | 1262 | is-map@2.0.3: 1263 | resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} 1264 | engines: {node: '>= 0.4'} 1265 | 1266 | is-negative-zero@2.0.3: 1267 | resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} 1268 | engines: {node: '>= 0.4'} 1269 | 1270 | is-number-object@1.1.1: 1271 | resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} 1272 | engines: {node: '>= 0.4'} 1273 | 1274 | is-number@7.0.0: 1275 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1276 | engines: {node: '>=0.12.0'} 1277 | 1278 | is-regex@1.2.1: 1279 | resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} 1280 | engines: {node: '>= 0.4'} 1281 | 1282 | is-set@2.0.3: 1283 | resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} 1284 | engines: {node: '>= 0.4'} 1285 | 1286 | is-shared-array-buffer@1.0.4: 1287 | resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} 1288 | engines: {node: '>= 0.4'} 1289 | 1290 | is-string@1.1.1: 1291 | resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} 1292 | engines: {node: '>= 0.4'} 1293 | 1294 | is-symbol@1.1.1: 1295 | resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} 1296 | engines: {node: '>= 0.4'} 1297 | 1298 | is-typed-array@1.1.15: 1299 | resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} 1300 | engines: {node: '>= 0.4'} 1301 | 1302 | is-weakmap@2.0.2: 1303 | resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} 1304 | engines: {node: '>= 0.4'} 1305 | 1306 | is-weakref@1.1.1: 1307 | resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} 1308 | engines: {node: '>= 0.4'} 1309 | 1310 | is-weakset@2.0.4: 1311 | resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} 1312 | engines: {node: '>= 0.4'} 1313 | 1314 | isarray@2.0.5: 1315 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 1316 | 1317 | isexe@2.0.0: 1318 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1319 | 1320 | iterator.prototype@1.1.5: 1321 | resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} 1322 | engines: {node: '>= 0.4'} 1323 | 1324 | jiti@1.21.7: 1325 | resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} 1326 | hasBin: true 1327 | 1328 | js-tokens@4.0.0: 1329 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1330 | 1331 | js-yaml@4.1.1: 1332 | resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} 1333 | hasBin: true 1334 | 1335 | json-buffer@3.0.1: 1336 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1337 | 1338 | json-schema-traverse@0.4.1: 1339 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1340 | 1341 | json-stable-stringify-without-jsonify@1.0.1: 1342 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1343 | 1344 | json5@1.0.2: 1345 | resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} 1346 | hasBin: true 1347 | 1348 | jsonwebtoken@9.0.2: 1349 | resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} 1350 | engines: {node: '>=12', npm: '>=6'} 1351 | 1352 | jsx-ast-utils@3.3.5: 1353 | resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} 1354 | engines: {node: '>=4.0'} 1355 | 1356 | jwa@1.4.2: 1357 | resolution: {integrity: sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==} 1358 | 1359 | jws@3.2.2: 1360 | resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} 1361 | 1362 | keyv@4.5.4: 1363 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1364 | 1365 | kleur@4.1.5: 1366 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} 1367 | engines: {node: '>=6'} 1368 | 1369 | levn@0.4.1: 1370 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1371 | engines: {node: '>= 0.8.0'} 1372 | 1373 | lilconfig@3.1.3: 1374 | resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} 1375 | engines: {node: '>=14'} 1376 | 1377 | lines-and-columns@1.2.4: 1378 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1379 | 1380 | locate-path@6.0.0: 1381 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1382 | engines: {node: '>=10'} 1383 | 1384 | lodash.includes@4.3.0: 1385 | resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} 1386 | 1387 | lodash.isboolean@3.0.3: 1388 | resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} 1389 | 1390 | lodash.isinteger@4.0.4: 1391 | resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} 1392 | 1393 | lodash.isnumber@3.0.3: 1394 | resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} 1395 | 1396 | lodash.isplainobject@4.0.6: 1397 | resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} 1398 | 1399 | lodash.isstring@4.0.1: 1400 | resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} 1401 | 1402 | lodash.merge@4.6.2: 1403 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1404 | 1405 | lodash.once@4.1.1: 1406 | resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} 1407 | 1408 | loose-envify@1.4.0: 1409 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 1410 | hasBin: true 1411 | 1412 | math-intrinsics@1.1.0: 1413 | resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 1414 | engines: {node: '>= 0.4'} 1415 | 1416 | merge2@1.4.1: 1417 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1418 | engines: {node: '>= 8'} 1419 | 1420 | micromatch@4.0.8: 1421 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1422 | engines: {node: '>=8.6'} 1423 | 1424 | mime-db@1.52.0: 1425 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 1426 | engines: {node: '>= 0.6'} 1427 | 1428 | mime-types@2.1.35: 1429 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 1430 | engines: {node: '>= 0.6'} 1431 | 1432 | mime@3.0.0: 1433 | resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} 1434 | engines: {node: '>=10.0.0'} 1435 | hasBin: true 1436 | 1437 | miniflare@4.20251217.0: 1438 | resolution: {integrity: sha512-8xsTQbPS6YV+ABZl9qiJIbsum6hbpbhqiyKpOVdzZrhK+1N8EFpT8R6aBZff7kezGmxYZSntjgjqTwJmj3JLgA==} 1439 | engines: {node: '>=18.0.0'} 1440 | hasBin: true 1441 | 1442 | minimatch@3.1.2: 1443 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1444 | 1445 | minimatch@9.0.5: 1446 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1447 | engines: {node: '>=16 || 14 >=14.17'} 1448 | 1449 | minimist@1.2.8: 1450 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 1451 | 1452 | ms@2.1.3: 1453 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1454 | 1455 | mz@2.7.0: 1456 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1457 | 1458 | nanoid@3.3.11: 1459 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} 1460 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1461 | hasBin: true 1462 | 1463 | natural-compare@1.4.0: 1464 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1465 | 1466 | natural-orderby@5.0.0: 1467 | resolution: {integrity: sha512-kKHJhxwpR/Okycz4HhQKKlhWe4ASEfPgkSWNmKFHd7+ezuQlxkA5cM3+XkBPvm1gmHen3w53qsYAv+8GwRrBlg==} 1468 | engines: {node: '>=18'} 1469 | 1470 | normalize-path@3.0.0: 1471 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1472 | engines: {node: '>=0.10.0'} 1473 | 1474 | object-assign@4.1.1: 1475 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1476 | engines: {node: '>=0.10.0'} 1477 | 1478 | object-hash@3.0.0: 1479 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} 1480 | engines: {node: '>= 6'} 1481 | 1482 | object-inspect@1.13.4: 1483 | resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} 1484 | engines: {node: '>= 0.4'} 1485 | 1486 | object-keys@1.1.1: 1487 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 1488 | engines: {node: '>= 0.4'} 1489 | 1490 | object.assign@4.1.7: 1491 | resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} 1492 | engines: {node: '>= 0.4'} 1493 | 1494 | object.entries@1.1.9: 1495 | resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==} 1496 | engines: {node: '>= 0.4'} 1497 | 1498 | object.fromentries@2.0.8: 1499 | resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} 1500 | engines: {node: '>= 0.4'} 1501 | 1502 | object.groupby@1.0.3: 1503 | resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} 1504 | engines: {node: '>= 0.4'} 1505 | 1506 | object.values@1.2.1: 1507 | resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} 1508 | engines: {node: '>= 0.4'} 1509 | 1510 | optionator@0.9.4: 1511 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1512 | engines: {node: '>= 0.8.0'} 1513 | 1514 | own-keys@1.0.1: 1515 | resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} 1516 | engines: {node: '>= 0.4'} 1517 | 1518 | p-limit@3.1.0: 1519 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1520 | engines: {node: '>=10'} 1521 | 1522 | p-locate@5.0.0: 1523 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1524 | engines: {node: '>=10'} 1525 | 1526 | parent-module@1.0.1: 1527 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1528 | engines: {node: '>=6'} 1529 | 1530 | path-exists@4.0.0: 1531 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1532 | engines: {node: '>=8'} 1533 | 1534 | path-key@3.1.1: 1535 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1536 | engines: {node: '>=8'} 1537 | 1538 | path-parse@1.0.7: 1539 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1540 | 1541 | path-to-regexp@6.3.0: 1542 | resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} 1543 | 1544 | pathe@2.0.3: 1545 | resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} 1546 | 1547 | picocolors@1.1.1: 1548 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1549 | 1550 | picomatch@2.3.1: 1551 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1552 | engines: {node: '>=8.6'} 1553 | 1554 | picomatch@4.0.3: 1555 | resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} 1556 | engines: {node: '>=12'} 1557 | 1558 | pify@2.3.0: 1559 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 1560 | engines: {node: '>=0.10.0'} 1561 | 1562 | pirates@4.0.7: 1563 | resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} 1564 | engines: {node: '>= 6'} 1565 | 1566 | possible-typed-array-names@1.1.0: 1567 | resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} 1568 | engines: {node: '>= 0.4'} 1569 | 1570 | postcss-import@15.1.0: 1571 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} 1572 | engines: {node: '>=14.0.0'} 1573 | peerDependencies: 1574 | postcss: ^8.0.0 1575 | 1576 | postcss-js@4.1.0: 1577 | resolution: {integrity: sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==} 1578 | engines: {node: ^12 || ^14 || >= 16} 1579 | peerDependencies: 1580 | postcss: ^8.4.21 1581 | 1582 | postcss-load-config@6.0.1: 1583 | resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} 1584 | engines: {node: '>= 18'} 1585 | peerDependencies: 1586 | jiti: '>=1.21.0' 1587 | postcss: '>=8.0.9' 1588 | tsx: ^4.8.1 1589 | yaml: ^2.4.2 1590 | peerDependenciesMeta: 1591 | jiti: 1592 | optional: true 1593 | postcss: 1594 | optional: true 1595 | tsx: 1596 | optional: true 1597 | yaml: 1598 | optional: true 1599 | 1600 | postcss-nested@6.2.0: 1601 | resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} 1602 | engines: {node: '>=12.0'} 1603 | peerDependencies: 1604 | postcss: ^8.2.14 1605 | 1606 | postcss-selector-parser@6.1.2: 1607 | resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} 1608 | engines: {node: '>=4'} 1609 | 1610 | postcss-value-parser@4.2.0: 1611 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 1612 | 1613 | postcss@8.5.6: 1614 | resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} 1615 | engines: {node: ^10 || ^12 || >=14} 1616 | 1617 | prelude-ls@1.2.1: 1618 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1619 | engines: {node: '>= 0.8.0'} 1620 | 1621 | prop-types@15.8.1: 1622 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} 1623 | 1624 | proxy-from-env@1.1.0: 1625 | resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} 1626 | 1627 | punycode@2.3.1: 1628 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1629 | engines: {node: '>=6'} 1630 | 1631 | qs@6.14.0: 1632 | resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} 1633 | engines: {node: '>=0.6'} 1634 | 1635 | queue-microtask@1.2.3: 1636 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1637 | 1638 | react-is@16.13.1: 1639 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 1640 | 1641 | read-cache@1.0.0: 1642 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 1643 | 1644 | readdirp@3.6.0: 1645 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1646 | engines: {node: '>=8.10.0'} 1647 | 1648 | reflect.getprototypeof@1.0.10: 1649 | resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} 1650 | engines: {node: '>= 0.4'} 1651 | 1652 | regexp.prototype.flags@1.5.4: 1653 | resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} 1654 | engines: {node: '>= 0.4'} 1655 | 1656 | resolve-from@4.0.0: 1657 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1658 | engines: {node: '>=4'} 1659 | 1660 | resolve@1.22.11: 1661 | resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} 1662 | engines: {node: '>= 0.4'} 1663 | hasBin: true 1664 | 1665 | resolve@2.0.0-next.5: 1666 | resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} 1667 | hasBin: true 1668 | 1669 | reusify@1.1.0: 1670 | resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} 1671 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1672 | 1673 | run-parallel@1.2.0: 1674 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1675 | 1676 | safe-array-concat@1.1.3: 1677 | resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} 1678 | engines: {node: '>=0.4'} 1679 | 1680 | safe-buffer@5.2.1: 1681 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1682 | 1683 | safe-push-apply@1.0.0: 1684 | resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} 1685 | engines: {node: '>= 0.4'} 1686 | 1687 | safe-regex-test@1.1.0: 1688 | resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} 1689 | engines: {node: '>= 0.4'} 1690 | 1691 | scmp@2.1.0: 1692 | resolution: {integrity: sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==} 1693 | deprecated: Just use Node.js's crypto.timingSafeEqual() 1694 | 1695 | semver@6.3.1: 1696 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 1697 | hasBin: true 1698 | 1699 | semver@7.7.3: 1700 | resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} 1701 | engines: {node: '>=10'} 1702 | hasBin: true 1703 | 1704 | set-function-length@1.2.2: 1705 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} 1706 | engines: {node: '>= 0.4'} 1707 | 1708 | set-function-name@2.0.2: 1709 | resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} 1710 | engines: {node: '>= 0.4'} 1711 | 1712 | set-proto@1.0.0: 1713 | resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} 1714 | engines: {node: '>= 0.4'} 1715 | 1716 | sharp@0.33.5: 1717 | resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} 1718 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 1719 | 1720 | shebang-command@2.0.0: 1721 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1722 | engines: {node: '>=8'} 1723 | 1724 | shebang-regex@3.0.0: 1725 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1726 | engines: {node: '>=8'} 1727 | 1728 | side-channel-list@1.0.0: 1729 | resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} 1730 | engines: {node: '>= 0.4'} 1731 | 1732 | side-channel-map@1.0.1: 1733 | resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} 1734 | engines: {node: '>= 0.4'} 1735 | 1736 | side-channel-weakmap@1.0.2: 1737 | resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} 1738 | engines: {node: '>= 0.4'} 1739 | 1740 | side-channel@1.1.0: 1741 | resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} 1742 | engines: {node: '>= 0.4'} 1743 | 1744 | simple-swizzle@0.2.4: 1745 | resolution: {integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==} 1746 | 1747 | source-map-js@1.2.1: 1748 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1749 | engines: {node: '>=0.10.0'} 1750 | 1751 | stop-iteration-iterator@1.1.0: 1752 | resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} 1753 | engines: {node: '>= 0.4'} 1754 | 1755 | stoppable@1.1.0: 1756 | resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} 1757 | engines: {node: '>=4', npm: '>=6'} 1758 | 1759 | string.prototype.matchall@4.0.12: 1760 | resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} 1761 | engines: {node: '>= 0.4'} 1762 | 1763 | string.prototype.repeat@1.0.0: 1764 | resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} 1765 | 1766 | string.prototype.trim@1.2.10: 1767 | resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} 1768 | engines: {node: '>= 0.4'} 1769 | 1770 | string.prototype.trimend@1.0.9: 1771 | resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} 1772 | engines: {node: '>= 0.4'} 1773 | 1774 | string.prototype.trimstart@1.0.8: 1775 | resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} 1776 | engines: {node: '>= 0.4'} 1777 | 1778 | strip-bom@3.0.0: 1779 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 1780 | engines: {node: '>=4'} 1781 | 1782 | strip-json-comments@3.1.1: 1783 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1784 | engines: {node: '>=8'} 1785 | 1786 | sucrase@3.35.1: 1787 | resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==} 1788 | engines: {node: '>=16 || 14 >=14.17'} 1789 | hasBin: true 1790 | 1791 | supports-color@10.2.2: 1792 | resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} 1793 | engines: {node: '>=18'} 1794 | 1795 | supports-color@7.2.0: 1796 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1797 | engines: {node: '>=8'} 1798 | 1799 | supports-preserve-symlinks-flag@1.0.0: 1800 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1801 | engines: {node: '>= 0.4'} 1802 | 1803 | tailwindcss@3.4.18: 1804 | resolution: {integrity: sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ==} 1805 | engines: {node: '>=14.0.0'} 1806 | hasBin: true 1807 | 1808 | thenify-all@1.6.0: 1809 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 1810 | engines: {node: '>=0.8'} 1811 | 1812 | thenify@3.3.1: 1813 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 1814 | 1815 | tinyglobby@0.2.15: 1816 | resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} 1817 | engines: {node: '>=12.0.0'} 1818 | 1819 | to-regex-range@5.0.1: 1820 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1821 | engines: {node: '>=8.0'} 1822 | 1823 | ts-api-utils@2.1.0: 1824 | resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} 1825 | engines: {node: '>=18.12'} 1826 | peerDependencies: 1827 | typescript: '>=4.8.4' 1828 | 1829 | ts-interface-checker@0.1.13: 1830 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 1831 | 1832 | tsconfig-paths@3.15.0: 1833 | resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} 1834 | 1835 | tslib@2.8.1: 1836 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 1837 | 1838 | twilio@5.11.1: 1839 | resolution: {integrity: sha512-LQuLrAwWk7dsu7S5JQWzLRe17qdD4/7OJcwZG6kYWMJILtxI7pXDHksu9DcIF/vKpSpL1F0/sA9uSF3xuVizMQ==} 1840 | engines: {node: '>=14.0'} 1841 | 1842 | type-check@0.4.0: 1843 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1844 | engines: {node: '>= 0.8.0'} 1845 | 1846 | typed-array-buffer@1.0.3: 1847 | resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} 1848 | engines: {node: '>= 0.4'} 1849 | 1850 | typed-array-byte-length@1.0.3: 1851 | resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} 1852 | engines: {node: '>= 0.4'} 1853 | 1854 | typed-array-byte-offset@1.0.4: 1855 | resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} 1856 | engines: {node: '>= 0.4'} 1857 | 1858 | typed-array-length@1.0.7: 1859 | resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} 1860 | engines: {node: '>= 0.4'} 1861 | 1862 | typescript@5.9.3: 1863 | resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} 1864 | engines: {node: '>=14.17'} 1865 | hasBin: true 1866 | 1867 | unbox-primitive@1.1.0: 1868 | resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} 1869 | engines: {node: '>= 0.4'} 1870 | 1871 | undici-types@7.16.0: 1872 | resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} 1873 | 1874 | undici@7.14.0: 1875 | resolution: {integrity: sha512-Vqs8HTzjpQXZeXdpsfChQTlafcMQaaIwnGwLam1wudSSjlJeQ3bw1j+TLPePgrCnCpUXx7Ba5Pdpf5OBih62NQ==} 1876 | engines: {node: '>=20.18.1'} 1877 | 1878 | unenv@2.0.0-rc.24: 1879 | resolution: {integrity: sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==} 1880 | 1881 | uri-js@4.4.1: 1882 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1883 | 1884 | util-deprecate@1.0.2: 1885 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1886 | 1887 | which-boxed-primitive@1.1.1: 1888 | resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} 1889 | engines: {node: '>= 0.4'} 1890 | 1891 | which-builtin-type@1.2.1: 1892 | resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} 1893 | engines: {node: '>= 0.4'} 1894 | 1895 | which-collection@1.0.2: 1896 | resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} 1897 | engines: {node: '>= 0.4'} 1898 | 1899 | which-typed-array@1.1.19: 1900 | resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} 1901 | engines: {node: '>= 0.4'} 1902 | 1903 | which@2.0.2: 1904 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1905 | engines: {node: '>= 8'} 1906 | hasBin: true 1907 | 1908 | word-wrap@1.2.5: 1909 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 1910 | engines: {node: '>=0.10.0'} 1911 | 1912 | workerd@1.20251217.0: 1913 | resolution: {integrity: sha512-s3mHDSWwHTduyY8kpHOsl27ZJ4ziDBJlc18PfBvNMqNnhO7yBeemlxH7bo7yQyU1foJrIZ6IENHDDg0Z9N8zQA==} 1914 | engines: {node: '>=16'} 1915 | hasBin: true 1916 | 1917 | wrangler@4.56.0: 1918 | resolution: {integrity: sha512-Nqi8duQeRbA+31QrD6QlWHW3IZVnuuRxMy7DEg46deUzywivmaRV/euBN5KKXDPtA24VyhYsK7I0tkb7P5DM2w==} 1919 | engines: {node: '>=20.0.0'} 1920 | hasBin: true 1921 | peerDependencies: 1922 | '@cloudflare/workers-types': ^4.20251217.0 1923 | peerDependenciesMeta: 1924 | '@cloudflare/workers-types': 1925 | optional: true 1926 | 1927 | ws@8.18.0: 1928 | resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} 1929 | engines: {node: '>=10.0.0'} 1930 | peerDependencies: 1931 | bufferutil: ^4.0.1 1932 | utf-8-validate: '>=5.0.2' 1933 | peerDependenciesMeta: 1934 | bufferutil: 1935 | optional: true 1936 | utf-8-validate: 1937 | optional: true 1938 | 1939 | xmlbuilder@13.0.2: 1940 | resolution: {integrity: sha512-Eux0i2QdDYKbdbA6AM6xE4m6ZTZr4G4xF9kahI2ukSEMCzwce2eX9WlTI5J3s+NU7hpasFsr8hWIONae7LluAQ==} 1941 | engines: {node: '>=6.0'} 1942 | 1943 | yocto-queue@0.1.0: 1944 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1945 | engines: {node: '>=10'} 1946 | 1947 | youch-core@0.3.3: 1948 | resolution: {integrity: sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==} 1949 | 1950 | youch@4.1.0-beta.10: 1951 | resolution: {integrity: sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ==} 1952 | 1953 | zod@3.22.3: 1954 | resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==} 1955 | 1956 | snapshots: 1957 | 1958 | '@alloc/quick-lru@5.2.0': {} 1959 | 1960 | '@cloudflare/kv-asset-handler@0.4.1': 1961 | dependencies: 1962 | mime: 3.0.0 1963 | 1964 | '@cloudflare/unenv-preset@2.7.13(unenv@2.0.0-rc.24)(workerd@1.20251217.0)': 1965 | dependencies: 1966 | unenv: 2.0.0-rc.24 1967 | optionalDependencies: 1968 | workerd: 1.20251217.0 1969 | 1970 | '@cloudflare/workerd-darwin-64@1.20251217.0': 1971 | optional: true 1972 | 1973 | '@cloudflare/workerd-darwin-arm64@1.20251217.0': 1974 | optional: true 1975 | 1976 | '@cloudflare/workerd-linux-64@1.20251217.0': 1977 | optional: true 1978 | 1979 | '@cloudflare/workerd-linux-arm64@1.20251217.0': 1980 | optional: true 1981 | 1982 | '@cloudflare/workerd-windows-64@1.20251217.0': 1983 | optional: true 1984 | 1985 | '@cloudflare/workers-types@4.20251223.0': {} 1986 | 1987 | '@cspotcode/source-map-support@0.8.1': 1988 | dependencies: 1989 | '@jridgewell/trace-mapping': 0.3.9 1990 | 1991 | '@emnapi/runtime@1.7.1': 1992 | dependencies: 1993 | tslib: 2.8.1 1994 | optional: true 1995 | 1996 | '@esbuild/aix-ppc64@0.27.0': 1997 | optional: true 1998 | 1999 | '@esbuild/android-arm64@0.27.0': 2000 | optional: true 2001 | 2002 | '@esbuild/android-arm@0.27.0': 2003 | optional: true 2004 | 2005 | '@esbuild/android-x64@0.27.0': 2006 | optional: true 2007 | 2008 | '@esbuild/darwin-arm64@0.27.0': 2009 | optional: true 2010 | 2011 | '@esbuild/darwin-x64@0.27.0': 2012 | optional: true 2013 | 2014 | '@esbuild/freebsd-arm64@0.27.0': 2015 | optional: true 2016 | 2017 | '@esbuild/freebsd-x64@0.27.0': 2018 | optional: true 2019 | 2020 | '@esbuild/linux-arm64@0.27.0': 2021 | optional: true 2022 | 2023 | '@esbuild/linux-arm@0.27.0': 2024 | optional: true 2025 | 2026 | '@esbuild/linux-ia32@0.27.0': 2027 | optional: true 2028 | 2029 | '@esbuild/linux-loong64@0.27.0': 2030 | optional: true 2031 | 2032 | '@esbuild/linux-mips64el@0.27.0': 2033 | optional: true 2034 | 2035 | '@esbuild/linux-ppc64@0.27.0': 2036 | optional: true 2037 | 2038 | '@esbuild/linux-riscv64@0.27.0': 2039 | optional: true 2040 | 2041 | '@esbuild/linux-s390x@0.27.0': 2042 | optional: true 2043 | 2044 | '@esbuild/linux-x64@0.27.0': 2045 | optional: true 2046 | 2047 | '@esbuild/netbsd-arm64@0.27.0': 2048 | optional: true 2049 | 2050 | '@esbuild/netbsd-x64@0.27.0': 2051 | optional: true 2052 | 2053 | '@esbuild/openbsd-arm64@0.27.0': 2054 | optional: true 2055 | 2056 | '@esbuild/openbsd-x64@0.27.0': 2057 | optional: true 2058 | 2059 | '@esbuild/openharmony-arm64@0.27.0': 2060 | optional: true 2061 | 2062 | '@esbuild/sunos-x64@0.27.0': 2063 | optional: true 2064 | 2065 | '@esbuild/win32-arm64@0.27.0': 2066 | optional: true 2067 | 2068 | '@esbuild/win32-ia32@0.27.0': 2069 | optional: true 2070 | 2071 | '@esbuild/win32-x64@0.27.0': 2072 | optional: true 2073 | 2074 | '@eslint-community/eslint-utils@4.9.0(eslint@9.39.2(jiti@1.21.7))': 2075 | dependencies: 2076 | eslint: 9.39.2(jiti@1.21.7) 2077 | eslint-visitor-keys: 3.4.3 2078 | 2079 | '@eslint-community/regexpp@4.12.2': {} 2080 | 2081 | '@eslint/config-array@0.21.1': 2082 | dependencies: 2083 | '@eslint/object-schema': 2.1.7 2084 | debug: 4.4.3 2085 | minimatch: 3.1.2 2086 | transitivePeerDependencies: 2087 | - supports-color 2088 | 2089 | '@eslint/config-helpers@0.4.2': 2090 | dependencies: 2091 | '@eslint/core': 0.17.0 2092 | 2093 | '@eslint/core@0.17.0': 2094 | dependencies: 2095 | '@types/json-schema': 7.0.15 2096 | 2097 | '@eslint/eslintrc@3.3.3': 2098 | dependencies: 2099 | ajv: 6.12.6 2100 | debug: 4.4.3 2101 | espree: 10.4.0 2102 | globals: 14.0.0 2103 | ignore: 5.3.2 2104 | import-fresh: 3.3.1 2105 | js-yaml: 4.1.1 2106 | minimatch: 3.1.2 2107 | strip-json-comments: 3.1.1 2108 | transitivePeerDependencies: 2109 | - supports-color 2110 | 2111 | '@eslint/js@9.39.2': {} 2112 | 2113 | '@eslint/object-schema@2.1.7': {} 2114 | 2115 | '@eslint/plugin-kit@0.4.1': 2116 | dependencies: 2117 | '@eslint/core': 0.17.0 2118 | levn: 0.4.1 2119 | 2120 | '@humanfs/core@0.19.1': {} 2121 | 2122 | '@humanfs/node@0.16.7': 2123 | dependencies: 2124 | '@humanfs/core': 0.19.1 2125 | '@humanwhocodes/retry': 0.4.3 2126 | 2127 | '@humanwhocodes/module-importer@1.0.1': {} 2128 | 2129 | '@humanwhocodes/retry@0.4.3': {} 2130 | 2131 | '@img/sharp-darwin-arm64@0.33.5': 2132 | optionalDependencies: 2133 | '@img/sharp-libvips-darwin-arm64': 1.0.4 2134 | optional: true 2135 | 2136 | '@img/sharp-darwin-x64@0.33.5': 2137 | optionalDependencies: 2138 | '@img/sharp-libvips-darwin-x64': 1.0.4 2139 | optional: true 2140 | 2141 | '@img/sharp-libvips-darwin-arm64@1.0.4': 2142 | optional: true 2143 | 2144 | '@img/sharp-libvips-darwin-x64@1.0.4': 2145 | optional: true 2146 | 2147 | '@img/sharp-libvips-linux-arm64@1.0.4': 2148 | optional: true 2149 | 2150 | '@img/sharp-libvips-linux-arm@1.0.5': 2151 | optional: true 2152 | 2153 | '@img/sharp-libvips-linux-s390x@1.0.4': 2154 | optional: true 2155 | 2156 | '@img/sharp-libvips-linux-x64@1.0.4': 2157 | optional: true 2158 | 2159 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4': 2160 | optional: true 2161 | 2162 | '@img/sharp-libvips-linuxmusl-x64@1.0.4': 2163 | optional: true 2164 | 2165 | '@img/sharp-linux-arm64@0.33.5': 2166 | optionalDependencies: 2167 | '@img/sharp-libvips-linux-arm64': 1.0.4 2168 | optional: true 2169 | 2170 | '@img/sharp-linux-arm@0.33.5': 2171 | optionalDependencies: 2172 | '@img/sharp-libvips-linux-arm': 1.0.5 2173 | optional: true 2174 | 2175 | '@img/sharp-linux-s390x@0.33.5': 2176 | optionalDependencies: 2177 | '@img/sharp-libvips-linux-s390x': 1.0.4 2178 | optional: true 2179 | 2180 | '@img/sharp-linux-x64@0.33.5': 2181 | optionalDependencies: 2182 | '@img/sharp-libvips-linux-x64': 1.0.4 2183 | optional: true 2184 | 2185 | '@img/sharp-linuxmusl-arm64@0.33.5': 2186 | optionalDependencies: 2187 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 2188 | optional: true 2189 | 2190 | '@img/sharp-linuxmusl-x64@0.33.5': 2191 | optionalDependencies: 2192 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4 2193 | optional: true 2194 | 2195 | '@img/sharp-wasm32@0.33.5': 2196 | dependencies: 2197 | '@emnapi/runtime': 1.7.1 2198 | optional: true 2199 | 2200 | '@img/sharp-win32-ia32@0.33.5': 2201 | optional: true 2202 | 2203 | '@img/sharp-win32-x64@0.33.5': 2204 | optional: true 2205 | 2206 | '@jridgewell/gen-mapping@0.3.13': 2207 | dependencies: 2208 | '@jridgewell/sourcemap-codec': 1.5.5 2209 | '@jridgewell/trace-mapping': 0.3.31 2210 | 2211 | '@jridgewell/resolve-uri@3.1.2': {} 2212 | 2213 | '@jridgewell/sourcemap-codec@1.5.5': {} 2214 | 2215 | '@jridgewell/trace-mapping@0.3.31': 2216 | dependencies: 2217 | '@jridgewell/resolve-uri': 3.1.2 2218 | '@jridgewell/sourcemap-codec': 1.5.5 2219 | 2220 | '@jridgewell/trace-mapping@0.3.9': 2221 | dependencies: 2222 | '@jridgewell/resolve-uri': 3.1.2 2223 | '@jridgewell/sourcemap-codec': 1.5.5 2224 | 2225 | '@nodelib/fs.scandir@2.1.5': 2226 | dependencies: 2227 | '@nodelib/fs.stat': 2.0.5 2228 | run-parallel: 1.2.0 2229 | 2230 | '@nodelib/fs.stat@2.0.5': {} 2231 | 2232 | '@nodelib/fs.walk@1.2.8': 2233 | dependencies: 2234 | '@nodelib/fs.scandir': 2.1.5 2235 | fastq: 1.19.1 2236 | 2237 | '@poppinss/colors@4.1.5': 2238 | dependencies: 2239 | kleur: 4.1.5 2240 | 2241 | '@poppinss/dumper@0.6.5': 2242 | dependencies: 2243 | '@poppinss/colors': 4.1.5 2244 | '@sindresorhus/is': 7.1.1 2245 | supports-color: 10.2.2 2246 | 2247 | '@poppinss/exception@1.2.2': {} 2248 | 2249 | '@rtsao/scc@1.1.0': {} 2250 | 2251 | '@sindresorhus/is@7.1.1': {} 2252 | 2253 | '@speed-highlight/core@1.2.12': {} 2254 | 2255 | '@stylistic/eslint-plugin-js@4.2.0(eslint@9.39.2(jiti@1.21.7))': 2256 | dependencies: 2257 | eslint: 9.39.2(jiti@1.21.7) 2258 | eslint-visitor-keys: 4.2.1 2259 | espree: 10.4.0 2260 | 2261 | '@stylistic/eslint-plugin-jsx@4.2.0(eslint@9.39.2(jiti@1.21.7))': 2262 | dependencies: 2263 | eslint: 9.39.2(jiti@1.21.7) 2264 | eslint-visitor-keys: 4.2.1 2265 | espree: 10.4.0 2266 | estraverse: 5.3.0 2267 | picomatch: 4.0.3 2268 | 2269 | '@stylistic/eslint-plugin-ts@4.2.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)': 2270 | dependencies: 2271 | '@typescript-eslint/utils': 8.48.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3) 2272 | eslint: 9.39.2(jiti@1.21.7) 2273 | eslint-visitor-keys: 4.2.1 2274 | espree: 10.4.0 2275 | transitivePeerDependencies: 2276 | - supports-color 2277 | - typescript 2278 | 2279 | '@tsconfig/strictest@2.0.8': {} 2280 | 2281 | '@tsndr/cloudflare-worker-jwt@3.2.1': {} 2282 | 2283 | '@types/body-parser@1.19.6': 2284 | dependencies: 2285 | '@types/connect': 3.4.38 2286 | '@types/node': 24.10.1 2287 | 2288 | '@types/connect@3.4.38': 2289 | dependencies: 2290 | '@types/node': 24.10.1 2291 | 2292 | '@types/estree@1.0.8': {} 2293 | 2294 | '@types/express-serve-static-core@4.19.7': 2295 | dependencies: 2296 | '@types/node': 24.10.1 2297 | '@types/qs': 6.14.0 2298 | '@types/range-parser': 1.2.7 2299 | '@types/send': 1.2.1 2300 | 2301 | '@types/express@4.17.25': 2302 | dependencies: 2303 | '@types/body-parser': 1.19.6 2304 | '@types/express-serve-static-core': 4.19.7 2305 | '@types/qs': 6.14.0 2306 | '@types/serve-static': 1.15.10 2307 | 2308 | '@types/http-errors@2.0.5': {} 2309 | 2310 | '@types/json-schema@7.0.15': {} 2311 | 2312 | '@types/json5@0.0.29': {} 2313 | 2314 | '@types/mime@1.3.5': {} 2315 | 2316 | '@types/node@24.10.1': 2317 | dependencies: 2318 | undici-types: 7.16.0 2319 | 2320 | '@types/qs@6.14.0': {} 2321 | 2322 | '@types/range-parser@1.2.7': {} 2323 | 2324 | '@types/send@0.17.6': 2325 | dependencies: 2326 | '@types/mime': 1.3.5 2327 | '@types/node': 24.10.1 2328 | 2329 | '@types/send@1.2.1': 2330 | dependencies: 2331 | '@types/node': 24.10.1 2332 | 2333 | '@types/serve-static@1.15.10': 2334 | dependencies: 2335 | '@types/http-errors': 2.0.5 2336 | '@types/node': 24.10.1 2337 | '@types/send': 0.17.6 2338 | 2339 | '@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)': 2340 | dependencies: 2341 | '@eslint-community/regexpp': 4.12.2 2342 | '@typescript-eslint/parser': 8.31.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3) 2343 | '@typescript-eslint/scope-manager': 8.31.1 2344 | '@typescript-eslint/type-utils': 8.31.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3) 2345 | '@typescript-eslint/utils': 8.31.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3) 2346 | '@typescript-eslint/visitor-keys': 8.31.1 2347 | eslint: 9.39.2(jiti@1.21.7) 2348 | graphemer: 1.4.0 2349 | ignore: 5.3.2 2350 | natural-compare: 1.4.0 2351 | ts-api-utils: 2.1.0(typescript@5.9.3) 2352 | typescript: 5.9.3 2353 | transitivePeerDependencies: 2354 | - supports-color 2355 | 2356 | '@typescript-eslint/parser@8.31.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)': 2357 | dependencies: 2358 | '@typescript-eslint/scope-manager': 8.31.1 2359 | '@typescript-eslint/types': 8.31.1 2360 | '@typescript-eslint/typescript-estree': 8.31.1(typescript@5.9.3) 2361 | '@typescript-eslint/visitor-keys': 8.31.1 2362 | debug: 4.4.3 2363 | eslint: 9.39.2(jiti@1.21.7) 2364 | typescript: 5.9.3 2365 | transitivePeerDependencies: 2366 | - supports-color 2367 | 2368 | '@typescript-eslint/project-service@8.48.0(typescript@5.9.3)': 2369 | dependencies: 2370 | '@typescript-eslint/tsconfig-utils': 8.48.0(typescript@5.9.3) 2371 | '@typescript-eslint/types': 8.48.0 2372 | debug: 4.4.3 2373 | typescript: 5.9.3 2374 | transitivePeerDependencies: 2375 | - supports-color 2376 | 2377 | '@typescript-eslint/scope-manager@8.31.1': 2378 | dependencies: 2379 | '@typescript-eslint/types': 8.31.1 2380 | '@typescript-eslint/visitor-keys': 8.31.1 2381 | 2382 | '@typescript-eslint/scope-manager@8.48.0': 2383 | dependencies: 2384 | '@typescript-eslint/types': 8.48.0 2385 | '@typescript-eslint/visitor-keys': 8.48.0 2386 | 2387 | '@typescript-eslint/tsconfig-utils@8.48.0(typescript@5.9.3)': 2388 | dependencies: 2389 | typescript: 5.9.3 2390 | 2391 | '@typescript-eslint/type-utils@8.31.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)': 2392 | dependencies: 2393 | '@typescript-eslint/typescript-estree': 8.31.1(typescript@5.9.3) 2394 | '@typescript-eslint/utils': 8.31.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3) 2395 | debug: 4.4.3 2396 | eslint: 9.39.2(jiti@1.21.7) 2397 | ts-api-utils: 2.1.0(typescript@5.9.3) 2398 | typescript: 5.9.3 2399 | transitivePeerDependencies: 2400 | - supports-color 2401 | 2402 | '@typescript-eslint/types@8.31.1': {} 2403 | 2404 | '@typescript-eslint/types@8.48.0': {} 2405 | 2406 | '@typescript-eslint/typescript-estree@8.31.1(typescript@5.9.3)': 2407 | dependencies: 2408 | '@typescript-eslint/types': 8.31.1 2409 | '@typescript-eslint/visitor-keys': 8.31.1 2410 | debug: 4.4.3 2411 | fast-glob: 3.3.3 2412 | is-glob: 4.0.3 2413 | minimatch: 9.0.5 2414 | semver: 7.7.3 2415 | ts-api-utils: 2.1.0(typescript@5.9.3) 2416 | typescript: 5.9.3 2417 | transitivePeerDependencies: 2418 | - supports-color 2419 | 2420 | '@typescript-eslint/typescript-estree@8.48.0(typescript@5.9.3)': 2421 | dependencies: 2422 | '@typescript-eslint/project-service': 8.48.0(typescript@5.9.3) 2423 | '@typescript-eslint/tsconfig-utils': 8.48.0(typescript@5.9.3) 2424 | '@typescript-eslint/types': 8.48.0 2425 | '@typescript-eslint/visitor-keys': 8.48.0 2426 | debug: 4.4.3 2427 | minimatch: 9.0.5 2428 | semver: 7.7.3 2429 | tinyglobby: 0.2.15 2430 | ts-api-utils: 2.1.0(typescript@5.9.3) 2431 | typescript: 5.9.3 2432 | transitivePeerDependencies: 2433 | - supports-color 2434 | 2435 | '@typescript-eslint/utils@8.31.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)': 2436 | dependencies: 2437 | '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2(jiti@1.21.7)) 2438 | '@typescript-eslint/scope-manager': 8.31.1 2439 | '@typescript-eslint/types': 8.31.1 2440 | '@typescript-eslint/typescript-estree': 8.31.1(typescript@5.9.3) 2441 | eslint: 9.39.2(jiti@1.21.7) 2442 | typescript: 5.9.3 2443 | transitivePeerDependencies: 2444 | - supports-color 2445 | 2446 | '@typescript-eslint/utils@8.48.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)': 2447 | dependencies: 2448 | '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2(jiti@1.21.7)) 2449 | '@typescript-eslint/scope-manager': 8.48.0 2450 | '@typescript-eslint/types': 8.48.0 2451 | '@typescript-eslint/typescript-estree': 8.48.0(typescript@5.9.3) 2452 | eslint: 9.39.2(jiti@1.21.7) 2453 | typescript: 5.9.3 2454 | transitivePeerDependencies: 2455 | - supports-color 2456 | 2457 | '@typescript-eslint/visitor-keys@8.31.1': 2458 | dependencies: 2459 | '@typescript-eslint/types': 8.31.1 2460 | eslint-visitor-keys: 4.2.1 2461 | 2462 | '@typescript-eslint/visitor-keys@8.48.0': 2463 | dependencies: 2464 | '@typescript-eslint/types': 8.48.0 2465 | eslint-visitor-keys: 4.2.1 2466 | 2467 | acorn-jsx@5.3.2(acorn@8.15.0): 2468 | dependencies: 2469 | acorn: 8.15.0 2470 | 2471 | acorn-walk@8.3.2: {} 2472 | 2473 | acorn@8.14.0: {} 2474 | 2475 | acorn@8.15.0: {} 2476 | 2477 | agent-base@6.0.2: 2478 | dependencies: 2479 | debug: 4.4.3 2480 | transitivePeerDependencies: 2481 | - supports-color 2482 | 2483 | ajv@6.12.6: 2484 | dependencies: 2485 | fast-deep-equal: 3.1.3 2486 | fast-json-stable-stringify: 2.1.0 2487 | json-schema-traverse: 0.4.1 2488 | uri-js: 4.4.1 2489 | 2490 | ansi-styles@4.3.0: 2491 | dependencies: 2492 | color-convert: 2.0.1 2493 | 2494 | any-promise@1.3.0: {} 2495 | 2496 | anymatch@3.1.3: 2497 | dependencies: 2498 | normalize-path: 3.0.0 2499 | picomatch: 2.3.1 2500 | 2501 | arg@5.0.2: {} 2502 | 2503 | argparse@2.0.1: {} 2504 | 2505 | array-buffer-byte-length@1.0.2: 2506 | dependencies: 2507 | call-bound: 1.0.4 2508 | is-array-buffer: 3.0.5 2509 | 2510 | array-includes@3.1.9: 2511 | dependencies: 2512 | call-bind: 1.0.8 2513 | call-bound: 1.0.4 2514 | define-properties: 1.2.1 2515 | es-abstract: 1.24.0 2516 | es-object-atoms: 1.1.1 2517 | get-intrinsic: 1.3.0 2518 | is-string: 1.1.1 2519 | math-intrinsics: 1.1.0 2520 | 2521 | array.prototype.findlast@1.2.5: 2522 | dependencies: 2523 | call-bind: 1.0.8 2524 | define-properties: 1.2.1 2525 | es-abstract: 1.24.0 2526 | es-errors: 1.3.0 2527 | es-object-atoms: 1.1.1 2528 | es-shim-unscopables: 1.1.0 2529 | 2530 | array.prototype.findlastindex@1.2.6: 2531 | dependencies: 2532 | call-bind: 1.0.8 2533 | call-bound: 1.0.4 2534 | define-properties: 1.2.1 2535 | es-abstract: 1.24.0 2536 | es-errors: 1.3.0 2537 | es-object-atoms: 1.1.1 2538 | es-shim-unscopables: 1.1.0 2539 | 2540 | array.prototype.flat@1.3.3: 2541 | dependencies: 2542 | call-bind: 1.0.8 2543 | define-properties: 1.2.1 2544 | es-abstract: 1.24.0 2545 | es-shim-unscopables: 1.1.0 2546 | 2547 | array.prototype.flatmap@1.3.3: 2548 | dependencies: 2549 | call-bind: 1.0.8 2550 | define-properties: 1.2.1 2551 | es-abstract: 1.24.0 2552 | es-shim-unscopables: 1.1.0 2553 | 2554 | array.prototype.tosorted@1.1.4: 2555 | dependencies: 2556 | call-bind: 1.0.8 2557 | define-properties: 1.2.1 2558 | es-abstract: 1.24.0 2559 | es-errors: 1.3.0 2560 | es-shim-unscopables: 1.1.0 2561 | 2562 | arraybuffer.prototype.slice@1.0.4: 2563 | dependencies: 2564 | array-buffer-byte-length: 1.0.2 2565 | call-bind: 1.0.8 2566 | define-properties: 1.2.1 2567 | es-abstract: 1.24.0 2568 | es-errors: 1.3.0 2569 | get-intrinsic: 1.3.0 2570 | is-array-buffer: 3.0.5 2571 | 2572 | async-function@1.0.0: {} 2573 | 2574 | asynckit@0.4.0: {} 2575 | 2576 | available-typed-arrays@1.0.7: 2577 | dependencies: 2578 | possible-typed-array-names: 1.1.0 2579 | 2580 | axios@1.13.2: 2581 | dependencies: 2582 | follow-redirects: 1.15.11 2583 | form-data: 4.0.5 2584 | proxy-from-env: 1.1.0 2585 | transitivePeerDependencies: 2586 | - debug 2587 | 2588 | balanced-match@1.0.2: {} 2589 | 2590 | binary-extensions@2.3.0: {} 2591 | 2592 | blake3-wasm@2.1.5: {} 2593 | 2594 | brace-expansion@1.1.12: 2595 | dependencies: 2596 | balanced-match: 1.0.2 2597 | concat-map: 0.0.1 2598 | 2599 | brace-expansion@2.0.2: 2600 | dependencies: 2601 | balanced-match: 1.0.2 2602 | 2603 | braces@3.0.3: 2604 | dependencies: 2605 | fill-range: 7.1.1 2606 | 2607 | buffer-equal-constant-time@1.0.1: {} 2608 | 2609 | call-bind-apply-helpers@1.0.2: 2610 | dependencies: 2611 | es-errors: 1.3.0 2612 | function-bind: 1.1.2 2613 | 2614 | call-bind@1.0.8: 2615 | dependencies: 2616 | call-bind-apply-helpers: 1.0.2 2617 | es-define-property: 1.0.1 2618 | get-intrinsic: 1.3.0 2619 | set-function-length: 1.2.2 2620 | 2621 | call-bound@1.0.4: 2622 | dependencies: 2623 | call-bind-apply-helpers: 1.0.2 2624 | get-intrinsic: 1.3.0 2625 | 2626 | callsites@3.1.0: {} 2627 | 2628 | camelcase-css@2.0.1: {} 2629 | 2630 | chalk@4.1.2: 2631 | dependencies: 2632 | ansi-styles: 4.3.0 2633 | supports-color: 7.2.0 2634 | 2635 | chokidar@3.6.0: 2636 | dependencies: 2637 | anymatch: 3.1.3 2638 | braces: 3.0.3 2639 | glob-parent: 5.1.2 2640 | is-binary-path: 2.1.0 2641 | is-glob: 4.0.3 2642 | normalize-path: 3.0.0 2643 | readdirp: 3.6.0 2644 | optionalDependencies: 2645 | fsevents: 2.3.3 2646 | 2647 | color-convert@2.0.1: 2648 | dependencies: 2649 | color-name: 1.1.4 2650 | 2651 | color-name@1.1.4: {} 2652 | 2653 | color-string@1.9.1: 2654 | dependencies: 2655 | color-name: 1.1.4 2656 | simple-swizzle: 0.2.4 2657 | 2658 | color@4.2.3: 2659 | dependencies: 2660 | color-convert: 2.0.1 2661 | color-string: 1.9.1 2662 | 2663 | combined-stream@1.0.8: 2664 | dependencies: 2665 | delayed-stream: 1.0.0 2666 | 2667 | commander@4.1.1: {} 2668 | 2669 | concat-map@0.0.1: {} 2670 | 2671 | cookie@1.1.1: {} 2672 | 2673 | cross-spawn@7.0.6: 2674 | dependencies: 2675 | path-key: 3.1.1 2676 | shebang-command: 2.0.0 2677 | which: 2.0.2 2678 | 2679 | cssesc@3.0.0: {} 2680 | 2681 | data-view-buffer@1.0.2: 2682 | dependencies: 2683 | call-bound: 1.0.4 2684 | es-errors: 1.3.0 2685 | is-data-view: 1.0.2 2686 | 2687 | data-view-byte-length@1.0.2: 2688 | dependencies: 2689 | call-bound: 1.0.4 2690 | es-errors: 1.3.0 2691 | is-data-view: 1.0.2 2692 | 2693 | data-view-byte-offset@1.0.1: 2694 | dependencies: 2695 | call-bound: 1.0.4 2696 | es-errors: 1.3.0 2697 | is-data-view: 1.0.2 2698 | 2699 | dayjs@1.11.19: {} 2700 | 2701 | debug@3.2.7: 2702 | dependencies: 2703 | ms: 2.1.3 2704 | 2705 | debug@4.4.3: 2706 | dependencies: 2707 | ms: 2.1.3 2708 | 2709 | deep-is@0.1.4: {} 2710 | 2711 | define-data-property@1.1.4: 2712 | dependencies: 2713 | es-define-property: 1.0.1 2714 | es-errors: 1.3.0 2715 | gopd: 1.2.0 2716 | 2717 | define-properties@1.2.1: 2718 | dependencies: 2719 | define-data-property: 1.1.4 2720 | has-property-descriptors: 1.0.2 2721 | object-keys: 1.1.1 2722 | 2723 | delayed-stream@1.0.0: {} 2724 | 2725 | detect-libc@2.1.2: {} 2726 | 2727 | didyoumean@1.2.2: {} 2728 | 2729 | discord-api-types@0.38.37: {} 2730 | 2731 | discord-verify@1.2.0: 2732 | dependencies: 2733 | '@types/express': 4.17.25 2734 | 2735 | dlv@1.1.3: {} 2736 | 2737 | doctrine@2.1.0: 2738 | dependencies: 2739 | esutils: 2.0.3 2740 | 2741 | dunder-proto@1.0.1: 2742 | dependencies: 2743 | call-bind-apply-helpers: 1.0.2 2744 | es-errors: 1.3.0 2745 | gopd: 1.2.0 2746 | 2747 | ecdsa-sig-formatter@1.0.11: 2748 | dependencies: 2749 | safe-buffer: 5.2.1 2750 | 2751 | error-stack-parser-es@1.0.5: {} 2752 | 2753 | es-abstract@1.24.0: 2754 | dependencies: 2755 | array-buffer-byte-length: 1.0.2 2756 | arraybuffer.prototype.slice: 1.0.4 2757 | available-typed-arrays: 1.0.7 2758 | call-bind: 1.0.8 2759 | call-bound: 1.0.4 2760 | data-view-buffer: 1.0.2 2761 | data-view-byte-length: 1.0.2 2762 | data-view-byte-offset: 1.0.1 2763 | es-define-property: 1.0.1 2764 | es-errors: 1.3.0 2765 | es-object-atoms: 1.1.1 2766 | es-set-tostringtag: 2.1.0 2767 | es-to-primitive: 1.3.0 2768 | function.prototype.name: 1.1.8 2769 | get-intrinsic: 1.3.0 2770 | get-proto: 1.0.1 2771 | get-symbol-description: 1.1.0 2772 | globalthis: 1.0.4 2773 | gopd: 1.2.0 2774 | has-property-descriptors: 1.0.2 2775 | has-proto: 1.2.0 2776 | has-symbols: 1.1.0 2777 | hasown: 2.0.2 2778 | internal-slot: 1.1.0 2779 | is-array-buffer: 3.0.5 2780 | is-callable: 1.2.7 2781 | is-data-view: 1.0.2 2782 | is-negative-zero: 2.0.3 2783 | is-regex: 1.2.1 2784 | is-set: 2.0.3 2785 | is-shared-array-buffer: 1.0.4 2786 | is-string: 1.1.1 2787 | is-typed-array: 1.1.15 2788 | is-weakref: 1.1.1 2789 | math-intrinsics: 1.1.0 2790 | object-inspect: 1.13.4 2791 | object-keys: 1.1.1 2792 | object.assign: 4.1.7 2793 | own-keys: 1.0.1 2794 | regexp.prototype.flags: 1.5.4 2795 | safe-array-concat: 1.1.3 2796 | safe-push-apply: 1.0.0 2797 | safe-regex-test: 1.1.0 2798 | set-proto: 1.0.0 2799 | stop-iteration-iterator: 1.1.0 2800 | string.prototype.trim: 1.2.10 2801 | string.prototype.trimend: 1.0.9 2802 | string.prototype.trimstart: 1.0.8 2803 | typed-array-buffer: 1.0.3 2804 | typed-array-byte-length: 1.0.3 2805 | typed-array-byte-offset: 1.0.4 2806 | typed-array-length: 1.0.7 2807 | unbox-primitive: 1.1.0 2808 | which-typed-array: 1.1.19 2809 | 2810 | es-define-property@1.0.1: {} 2811 | 2812 | es-errors@1.3.0: {} 2813 | 2814 | es-iterator-helpers@1.2.1: 2815 | dependencies: 2816 | call-bind: 1.0.8 2817 | call-bound: 1.0.4 2818 | define-properties: 1.2.1 2819 | es-abstract: 1.24.0 2820 | es-errors: 1.3.0 2821 | es-set-tostringtag: 2.1.0 2822 | function-bind: 1.1.2 2823 | get-intrinsic: 1.3.0 2824 | globalthis: 1.0.4 2825 | gopd: 1.2.0 2826 | has-property-descriptors: 1.0.2 2827 | has-proto: 1.2.0 2828 | has-symbols: 1.1.0 2829 | internal-slot: 1.1.0 2830 | iterator.prototype: 1.1.5 2831 | safe-array-concat: 1.1.3 2832 | 2833 | es-object-atoms@1.1.1: 2834 | dependencies: 2835 | es-errors: 1.3.0 2836 | 2837 | es-set-tostringtag@2.1.0: 2838 | dependencies: 2839 | es-errors: 1.3.0 2840 | get-intrinsic: 1.3.0 2841 | has-tostringtag: 1.0.2 2842 | hasown: 2.0.2 2843 | 2844 | es-shim-unscopables@1.1.0: 2845 | dependencies: 2846 | hasown: 2.0.2 2847 | 2848 | es-to-primitive@1.3.0: 2849 | dependencies: 2850 | is-callable: 1.2.7 2851 | is-date-object: 1.1.0 2852 | is-symbol: 1.1.1 2853 | 2854 | esbuild@0.27.0: 2855 | optionalDependencies: 2856 | '@esbuild/aix-ppc64': 0.27.0 2857 | '@esbuild/android-arm': 0.27.0 2858 | '@esbuild/android-arm64': 0.27.0 2859 | '@esbuild/android-x64': 0.27.0 2860 | '@esbuild/darwin-arm64': 0.27.0 2861 | '@esbuild/darwin-x64': 0.27.0 2862 | '@esbuild/freebsd-arm64': 0.27.0 2863 | '@esbuild/freebsd-x64': 0.27.0 2864 | '@esbuild/linux-arm': 0.27.0 2865 | '@esbuild/linux-arm64': 0.27.0 2866 | '@esbuild/linux-ia32': 0.27.0 2867 | '@esbuild/linux-loong64': 0.27.0 2868 | '@esbuild/linux-mips64el': 0.27.0 2869 | '@esbuild/linux-ppc64': 0.27.0 2870 | '@esbuild/linux-riscv64': 0.27.0 2871 | '@esbuild/linux-s390x': 0.27.0 2872 | '@esbuild/linux-x64': 0.27.0 2873 | '@esbuild/netbsd-arm64': 0.27.0 2874 | '@esbuild/netbsd-x64': 0.27.0 2875 | '@esbuild/openbsd-arm64': 0.27.0 2876 | '@esbuild/openbsd-x64': 0.27.0 2877 | '@esbuild/openharmony-arm64': 0.27.0 2878 | '@esbuild/sunos-x64': 0.27.0 2879 | '@esbuild/win32-arm64': 0.27.0 2880 | '@esbuild/win32-ia32': 0.27.0 2881 | '@esbuild/win32-x64': 0.27.0 2882 | 2883 | escape-string-regexp@4.0.0: {} 2884 | 2885 | eslint-config-promise@https://codeload.github.com/promise/eslint-config/tar.gz/ae41e6415504249f8b6f2cdf9c52d9b08fbab521(1bd0c76f47bfe71e86153fc4c6371d91): 2886 | dependencies: 2887 | '@stylistic/eslint-plugin-js': 4.2.0(eslint@9.39.2(jiti@1.21.7)) 2888 | '@stylistic/eslint-plugin-jsx': 4.2.0(eslint@9.39.2(jiti@1.21.7)) 2889 | '@stylistic/eslint-plugin-ts': 4.2.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3) 2890 | '@typescript-eslint/eslint-plugin': 8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3) 2891 | '@typescript-eslint/parser': 8.31.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3) 2892 | eslint: 9.39.2(jiti@1.21.7) 2893 | eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.31.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7)) 2894 | eslint-plugin-jest: 28.11.0(@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3) 2895 | eslint-plugin-perfectionist: 4.12.3(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3) 2896 | eslint-plugin-react: 7.37.5(eslint@9.39.2(jiti@1.21.7)) 2897 | eslint-plugin-tailwindcss: 3.18.0(tailwindcss@3.4.18) 2898 | globals: 14.0.0 2899 | 2900 | eslint-import-resolver-node@0.3.9: 2901 | dependencies: 2902 | debug: 3.2.7 2903 | is-core-module: 2.16.1 2904 | resolve: 1.22.11 2905 | transitivePeerDependencies: 2906 | - supports-color 2907 | 2908 | eslint-module-utils@2.12.1(@typescript-eslint/parser@8.31.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@1.21.7)): 2909 | dependencies: 2910 | debug: 3.2.7 2911 | optionalDependencies: 2912 | '@typescript-eslint/parser': 8.31.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3) 2913 | eslint: 9.39.2(jiti@1.21.7) 2914 | eslint-import-resolver-node: 0.3.9 2915 | transitivePeerDependencies: 2916 | - supports-color 2917 | 2918 | eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.31.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7)): 2919 | dependencies: 2920 | '@rtsao/scc': 1.1.0 2921 | array-includes: 3.1.9 2922 | array.prototype.findlastindex: 1.2.6 2923 | array.prototype.flat: 1.3.3 2924 | array.prototype.flatmap: 1.3.3 2925 | debug: 3.2.7 2926 | doctrine: 2.1.0 2927 | eslint: 9.39.2(jiti@1.21.7) 2928 | eslint-import-resolver-node: 0.3.9 2929 | eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.31.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@1.21.7)) 2930 | hasown: 2.0.2 2931 | is-core-module: 2.16.1 2932 | is-glob: 4.0.3 2933 | minimatch: 3.1.2 2934 | object.fromentries: 2.0.8 2935 | object.groupby: 1.0.3 2936 | object.values: 1.2.1 2937 | semver: 6.3.1 2938 | string.prototype.trimend: 1.0.9 2939 | tsconfig-paths: 3.15.0 2940 | optionalDependencies: 2941 | '@typescript-eslint/parser': 8.31.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3) 2942 | transitivePeerDependencies: 2943 | - eslint-import-resolver-typescript 2944 | - eslint-import-resolver-webpack 2945 | - supports-color 2946 | 2947 | eslint-plugin-jest@28.11.0(@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3): 2948 | dependencies: 2949 | '@typescript-eslint/utils': 8.48.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3) 2950 | eslint: 9.39.2(jiti@1.21.7) 2951 | optionalDependencies: 2952 | '@typescript-eslint/eslint-plugin': 8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3) 2953 | transitivePeerDependencies: 2954 | - supports-color 2955 | - typescript 2956 | 2957 | eslint-plugin-perfectionist@4.12.3(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3): 2958 | dependencies: 2959 | '@typescript-eslint/types': 8.48.0 2960 | '@typescript-eslint/utils': 8.48.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3) 2961 | eslint: 9.39.2(jiti@1.21.7) 2962 | natural-orderby: 5.0.0 2963 | transitivePeerDependencies: 2964 | - supports-color 2965 | - typescript 2966 | 2967 | eslint-plugin-react@7.37.5(eslint@9.39.2(jiti@1.21.7)): 2968 | dependencies: 2969 | array-includes: 3.1.9 2970 | array.prototype.findlast: 1.2.5 2971 | array.prototype.flatmap: 1.3.3 2972 | array.prototype.tosorted: 1.1.4 2973 | doctrine: 2.1.0 2974 | es-iterator-helpers: 1.2.1 2975 | eslint: 9.39.2(jiti@1.21.7) 2976 | estraverse: 5.3.0 2977 | hasown: 2.0.2 2978 | jsx-ast-utils: 3.3.5 2979 | minimatch: 3.1.2 2980 | object.entries: 1.1.9 2981 | object.fromentries: 2.0.8 2982 | object.values: 1.2.1 2983 | prop-types: 15.8.1 2984 | resolve: 2.0.0-next.5 2985 | semver: 6.3.1 2986 | string.prototype.matchall: 4.0.12 2987 | string.prototype.repeat: 1.0.0 2988 | 2989 | eslint-plugin-tailwindcss@3.18.0(tailwindcss@3.4.18): 2990 | dependencies: 2991 | fast-glob: 3.3.3 2992 | postcss: 8.5.6 2993 | tailwindcss: 3.4.18 2994 | 2995 | eslint-scope@8.4.0: 2996 | dependencies: 2997 | esrecurse: 4.3.0 2998 | estraverse: 5.3.0 2999 | 3000 | eslint-visitor-keys@3.4.3: {} 3001 | 3002 | eslint-visitor-keys@4.2.1: {} 3003 | 3004 | eslint@9.39.2(jiti@1.21.7): 3005 | dependencies: 3006 | '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2(jiti@1.21.7)) 3007 | '@eslint-community/regexpp': 4.12.2 3008 | '@eslint/config-array': 0.21.1 3009 | '@eslint/config-helpers': 0.4.2 3010 | '@eslint/core': 0.17.0 3011 | '@eslint/eslintrc': 3.3.3 3012 | '@eslint/js': 9.39.2 3013 | '@eslint/plugin-kit': 0.4.1 3014 | '@humanfs/node': 0.16.7 3015 | '@humanwhocodes/module-importer': 1.0.1 3016 | '@humanwhocodes/retry': 0.4.3 3017 | '@types/estree': 1.0.8 3018 | ajv: 6.12.6 3019 | chalk: 4.1.2 3020 | cross-spawn: 7.0.6 3021 | debug: 4.4.3 3022 | escape-string-regexp: 4.0.0 3023 | eslint-scope: 8.4.0 3024 | eslint-visitor-keys: 4.2.1 3025 | espree: 10.4.0 3026 | esquery: 1.6.0 3027 | esutils: 2.0.3 3028 | fast-deep-equal: 3.1.3 3029 | file-entry-cache: 8.0.0 3030 | find-up: 5.0.0 3031 | glob-parent: 6.0.2 3032 | ignore: 5.3.2 3033 | imurmurhash: 0.1.4 3034 | is-glob: 4.0.3 3035 | json-stable-stringify-without-jsonify: 1.0.1 3036 | lodash.merge: 4.6.2 3037 | minimatch: 3.1.2 3038 | natural-compare: 1.4.0 3039 | optionator: 0.9.4 3040 | optionalDependencies: 3041 | jiti: 1.21.7 3042 | transitivePeerDependencies: 3043 | - supports-color 3044 | 3045 | espree@10.4.0: 3046 | dependencies: 3047 | acorn: 8.15.0 3048 | acorn-jsx: 5.3.2(acorn@8.15.0) 3049 | eslint-visitor-keys: 4.2.1 3050 | 3051 | esquery@1.6.0: 3052 | dependencies: 3053 | estraverse: 5.3.0 3054 | 3055 | esrecurse@4.3.0: 3056 | dependencies: 3057 | estraverse: 5.3.0 3058 | 3059 | estraverse@5.3.0: {} 3060 | 3061 | esutils@2.0.3: {} 3062 | 3063 | exit-hook@2.2.1: {} 3064 | 3065 | fast-deep-equal@3.1.3: {} 3066 | 3067 | fast-glob@3.3.3: 3068 | dependencies: 3069 | '@nodelib/fs.stat': 2.0.5 3070 | '@nodelib/fs.walk': 1.2.8 3071 | glob-parent: 5.1.2 3072 | merge2: 1.4.1 3073 | micromatch: 4.0.8 3074 | 3075 | fast-json-stable-stringify@2.1.0: {} 3076 | 3077 | fast-levenshtein@2.0.6: {} 3078 | 3079 | fastq@1.19.1: 3080 | dependencies: 3081 | reusify: 1.1.0 3082 | 3083 | fdir@6.5.0(picomatch@4.0.3): 3084 | optionalDependencies: 3085 | picomatch: 4.0.3 3086 | 3087 | file-entry-cache@8.0.0: 3088 | dependencies: 3089 | flat-cache: 4.0.1 3090 | 3091 | fill-range@7.1.1: 3092 | dependencies: 3093 | to-regex-range: 5.0.1 3094 | 3095 | find-up@5.0.0: 3096 | dependencies: 3097 | locate-path: 6.0.0 3098 | path-exists: 4.0.0 3099 | 3100 | flat-cache@4.0.1: 3101 | dependencies: 3102 | flatted: 3.3.3 3103 | keyv: 4.5.4 3104 | 3105 | flatted@3.3.3: {} 3106 | 3107 | follow-redirects@1.15.11: {} 3108 | 3109 | for-each@0.3.5: 3110 | dependencies: 3111 | is-callable: 1.2.7 3112 | 3113 | form-data@4.0.5: 3114 | dependencies: 3115 | asynckit: 0.4.0 3116 | combined-stream: 1.0.8 3117 | es-set-tostringtag: 2.1.0 3118 | hasown: 2.0.2 3119 | mime-types: 2.1.35 3120 | 3121 | fsevents@2.3.3: 3122 | optional: true 3123 | 3124 | function-bind@1.1.2: {} 3125 | 3126 | function.prototype.name@1.1.8: 3127 | dependencies: 3128 | call-bind: 1.0.8 3129 | call-bound: 1.0.4 3130 | define-properties: 1.2.1 3131 | functions-have-names: 1.2.3 3132 | hasown: 2.0.2 3133 | is-callable: 1.2.7 3134 | 3135 | functions-have-names@1.2.3: {} 3136 | 3137 | generator-function@2.0.1: {} 3138 | 3139 | get-intrinsic@1.3.0: 3140 | dependencies: 3141 | call-bind-apply-helpers: 1.0.2 3142 | es-define-property: 1.0.1 3143 | es-errors: 1.3.0 3144 | es-object-atoms: 1.1.1 3145 | function-bind: 1.1.2 3146 | get-proto: 1.0.1 3147 | gopd: 1.2.0 3148 | has-symbols: 1.1.0 3149 | hasown: 2.0.2 3150 | math-intrinsics: 1.1.0 3151 | 3152 | get-proto@1.0.1: 3153 | dependencies: 3154 | dunder-proto: 1.0.1 3155 | es-object-atoms: 1.1.1 3156 | 3157 | get-symbol-description@1.1.0: 3158 | dependencies: 3159 | call-bound: 1.0.4 3160 | es-errors: 1.3.0 3161 | get-intrinsic: 1.3.0 3162 | 3163 | glob-parent@5.1.2: 3164 | dependencies: 3165 | is-glob: 4.0.3 3166 | 3167 | glob-parent@6.0.2: 3168 | dependencies: 3169 | is-glob: 4.0.3 3170 | 3171 | glob-to-regexp@0.4.1: {} 3172 | 3173 | globals@14.0.0: {} 3174 | 3175 | globalthis@1.0.4: 3176 | dependencies: 3177 | define-properties: 1.2.1 3178 | gopd: 1.2.0 3179 | 3180 | gopd@1.2.0: {} 3181 | 3182 | graphemer@1.4.0: {} 3183 | 3184 | has-bigints@1.1.0: {} 3185 | 3186 | has-flag@4.0.0: {} 3187 | 3188 | has-property-descriptors@1.0.2: 3189 | dependencies: 3190 | es-define-property: 1.0.1 3191 | 3192 | has-proto@1.2.0: 3193 | dependencies: 3194 | dunder-proto: 1.0.1 3195 | 3196 | has-symbols@1.1.0: {} 3197 | 3198 | has-tostringtag@1.0.2: 3199 | dependencies: 3200 | has-symbols: 1.1.0 3201 | 3202 | hasown@2.0.2: 3203 | dependencies: 3204 | function-bind: 1.1.2 3205 | 3206 | https-proxy-agent@5.0.1: 3207 | dependencies: 3208 | agent-base: 6.0.2 3209 | debug: 4.4.3 3210 | transitivePeerDependencies: 3211 | - supports-color 3212 | 3213 | ignore@5.3.2: {} 3214 | 3215 | import-fresh@3.3.1: 3216 | dependencies: 3217 | parent-module: 1.0.1 3218 | resolve-from: 4.0.0 3219 | 3220 | imurmurhash@0.1.4: {} 3221 | 3222 | internal-slot@1.1.0: 3223 | dependencies: 3224 | es-errors: 1.3.0 3225 | hasown: 2.0.2 3226 | side-channel: 1.1.0 3227 | 3228 | is-array-buffer@3.0.5: 3229 | dependencies: 3230 | call-bind: 1.0.8 3231 | call-bound: 1.0.4 3232 | get-intrinsic: 1.3.0 3233 | 3234 | is-arrayish@0.3.4: {} 3235 | 3236 | is-async-function@2.1.1: 3237 | dependencies: 3238 | async-function: 1.0.0 3239 | call-bound: 1.0.4 3240 | get-proto: 1.0.1 3241 | has-tostringtag: 1.0.2 3242 | safe-regex-test: 1.1.0 3243 | 3244 | is-bigint@1.1.0: 3245 | dependencies: 3246 | has-bigints: 1.1.0 3247 | 3248 | is-binary-path@2.1.0: 3249 | dependencies: 3250 | binary-extensions: 2.3.0 3251 | 3252 | is-boolean-object@1.2.2: 3253 | dependencies: 3254 | call-bound: 1.0.4 3255 | has-tostringtag: 1.0.2 3256 | 3257 | is-callable@1.2.7: {} 3258 | 3259 | is-core-module@2.16.1: 3260 | dependencies: 3261 | hasown: 2.0.2 3262 | 3263 | is-data-view@1.0.2: 3264 | dependencies: 3265 | call-bound: 1.0.4 3266 | get-intrinsic: 1.3.0 3267 | is-typed-array: 1.1.15 3268 | 3269 | is-date-object@1.1.0: 3270 | dependencies: 3271 | call-bound: 1.0.4 3272 | has-tostringtag: 1.0.2 3273 | 3274 | is-extglob@2.1.1: {} 3275 | 3276 | is-finalizationregistry@1.1.1: 3277 | dependencies: 3278 | call-bound: 1.0.4 3279 | 3280 | is-generator-function@1.1.2: 3281 | dependencies: 3282 | call-bound: 1.0.4 3283 | generator-function: 2.0.1 3284 | get-proto: 1.0.1 3285 | has-tostringtag: 1.0.2 3286 | safe-regex-test: 1.1.0 3287 | 3288 | is-glob@4.0.3: 3289 | dependencies: 3290 | is-extglob: 2.1.1 3291 | 3292 | is-map@2.0.3: {} 3293 | 3294 | is-negative-zero@2.0.3: {} 3295 | 3296 | is-number-object@1.1.1: 3297 | dependencies: 3298 | call-bound: 1.0.4 3299 | has-tostringtag: 1.0.2 3300 | 3301 | is-number@7.0.0: {} 3302 | 3303 | is-regex@1.2.1: 3304 | dependencies: 3305 | call-bound: 1.0.4 3306 | gopd: 1.2.0 3307 | has-tostringtag: 1.0.2 3308 | hasown: 2.0.2 3309 | 3310 | is-set@2.0.3: {} 3311 | 3312 | is-shared-array-buffer@1.0.4: 3313 | dependencies: 3314 | call-bound: 1.0.4 3315 | 3316 | is-string@1.1.1: 3317 | dependencies: 3318 | call-bound: 1.0.4 3319 | has-tostringtag: 1.0.2 3320 | 3321 | is-symbol@1.1.1: 3322 | dependencies: 3323 | call-bound: 1.0.4 3324 | has-symbols: 1.1.0 3325 | safe-regex-test: 1.1.0 3326 | 3327 | is-typed-array@1.1.15: 3328 | dependencies: 3329 | which-typed-array: 1.1.19 3330 | 3331 | is-weakmap@2.0.2: {} 3332 | 3333 | is-weakref@1.1.1: 3334 | dependencies: 3335 | call-bound: 1.0.4 3336 | 3337 | is-weakset@2.0.4: 3338 | dependencies: 3339 | call-bound: 1.0.4 3340 | get-intrinsic: 1.3.0 3341 | 3342 | isarray@2.0.5: {} 3343 | 3344 | isexe@2.0.0: {} 3345 | 3346 | iterator.prototype@1.1.5: 3347 | dependencies: 3348 | define-data-property: 1.1.4 3349 | es-object-atoms: 1.1.1 3350 | get-intrinsic: 1.3.0 3351 | get-proto: 1.0.1 3352 | has-symbols: 1.1.0 3353 | set-function-name: 2.0.2 3354 | 3355 | jiti@1.21.7: {} 3356 | 3357 | js-tokens@4.0.0: {} 3358 | 3359 | js-yaml@4.1.1: 3360 | dependencies: 3361 | argparse: 2.0.1 3362 | 3363 | json-buffer@3.0.1: {} 3364 | 3365 | json-schema-traverse@0.4.1: {} 3366 | 3367 | json-stable-stringify-without-jsonify@1.0.1: {} 3368 | 3369 | json5@1.0.2: 3370 | dependencies: 3371 | minimist: 1.2.8 3372 | 3373 | jsonwebtoken@9.0.2: 3374 | dependencies: 3375 | jws: 3.2.2 3376 | lodash.includes: 4.3.0 3377 | lodash.isboolean: 3.0.3 3378 | lodash.isinteger: 4.0.4 3379 | lodash.isnumber: 3.0.3 3380 | lodash.isplainobject: 4.0.6 3381 | lodash.isstring: 4.0.1 3382 | lodash.once: 4.1.1 3383 | ms: 2.1.3 3384 | semver: 7.7.3 3385 | 3386 | jsx-ast-utils@3.3.5: 3387 | dependencies: 3388 | array-includes: 3.1.9 3389 | array.prototype.flat: 1.3.3 3390 | object.assign: 4.1.7 3391 | object.values: 1.2.1 3392 | 3393 | jwa@1.4.2: 3394 | dependencies: 3395 | buffer-equal-constant-time: 1.0.1 3396 | ecdsa-sig-formatter: 1.0.11 3397 | safe-buffer: 5.2.1 3398 | 3399 | jws@3.2.2: 3400 | dependencies: 3401 | jwa: 1.4.2 3402 | safe-buffer: 5.2.1 3403 | 3404 | keyv@4.5.4: 3405 | dependencies: 3406 | json-buffer: 3.0.1 3407 | 3408 | kleur@4.1.5: {} 3409 | 3410 | levn@0.4.1: 3411 | dependencies: 3412 | prelude-ls: 1.2.1 3413 | type-check: 0.4.0 3414 | 3415 | lilconfig@3.1.3: {} 3416 | 3417 | lines-and-columns@1.2.4: {} 3418 | 3419 | locate-path@6.0.0: 3420 | dependencies: 3421 | p-locate: 5.0.0 3422 | 3423 | lodash.includes@4.3.0: {} 3424 | 3425 | lodash.isboolean@3.0.3: {} 3426 | 3427 | lodash.isinteger@4.0.4: {} 3428 | 3429 | lodash.isnumber@3.0.3: {} 3430 | 3431 | lodash.isplainobject@4.0.6: {} 3432 | 3433 | lodash.isstring@4.0.1: {} 3434 | 3435 | lodash.merge@4.6.2: {} 3436 | 3437 | lodash.once@4.1.1: {} 3438 | 3439 | loose-envify@1.4.0: 3440 | dependencies: 3441 | js-tokens: 4.0.0 3442 | 3443 | math-intrinsics@1.1.0: {} 3444 | 3445 | merge2@1.4.1: {} 3446 | 3447 | micromatch@4.0.8: 3448 | dependencies: 3449 | braces: 3.0.3 3450 | picomatch: 2.3.1 3451 | 3452 | mime-db@1.52.0: {} 3453 | 3454 | mime-types@2.1.35: 3455 | dependencies: 3456 | mime-db: 1.52.0 3457 | 3458 | mime@3.0.0: {} 3459 | 3460 | miniflare@4.20251217.0: 3461 | dependencies: 3462 | '@cspotcode/source-map-support': 0.8.1 3463 | acorn: 8.14.0 3464 | acorn-walk: 8.3.2 3465 | exit-hook: 2.2.1 3466 | glob-to-regexp: 0.4.1 3467 | sharp: 0.33.5 3468 | stoppable: 1.1.0 3469 | undici: 7.14.0 3470 | workerd: 1.20251217.0 3471 | ws: 8.18.0 3472 | youch: 4.1.0-beta.10 3473 | zod: 3.22.3 3474 | transitivePeerDependencies: 3475 | - bufferutil 3476 | - utf-8-validate 3477 | 3478 | minimatch@3.1.2: 3479 | dependencies: 3480 | brace-expansion: 1.1.12 3481 | 3482 | minimatch@9.0.5: 3483 | dependencies: 3484 | brace-expansion: 2.0.2 3485 | 3486 | minimist@1.2.8: {} 3487 | 3488 | ms@2.1.3: {} 3489 | 3490 | mz@2.7.0: 3491 | dependencies: 3492 | any-promise: 1.3.0 3493 | object-assign: 4.1.1 3494 | thenify-all: 1.6.0 3495 | 3496 | nanoid@3.3.11: {} 3497 | 3498 | natural-compare@1.4.0: {} 3499 | 3500 | natural-orderby@5.0.0: {} 3501 | 3502 | normalize-path@3.0.0: {} 3503 | 3504 | object-assign@4.1.1: {} 3505 | 3506 | object-hash@3.0.0: {} 3507 | 3508 | object-inspect@1.13.4: {} 3509 | 3510 | object-keys@1.1.1: {} 3511 | 3512 | object.assign@4.1.7: 3513 | dependencies: 3514 | call-bind: 1.0.8 3515 | call-bound: 1.0.4 3516 | define-properties: 1.2.1 3517 | es-object-atoms: 1.1.1 3518 | has-symbols: 1.1.0 3519 | object-keys: 1.1.1 3520 | 3521 | object.entries@1.1.9: 3522 | dependencies: 3523 | call-bind: 1.0.8 3524 | call-bound: 1.0.4 3525 | define-properties: 1.2.1 3526 | es-object-atoms: 1.1.1 3527 | 3528 | object.fromentries@2.0.8: 3529 | dependencies: 3530 | call-bind: 1.0.8 3531 | define-properties: 1.2.1 3532 | es-abstract: 1.24.0 3533 | es-object-atoms: 1.1.1 3534 | 3535 | object.groupby@1.0.3: 3536 | dependencies: 3537 | call-bind: 1.0.8 3538 | define-properties: 1.2.1 3539 | es-abstract: 1.24.0 3540 | 3541 | object.values@1.2.1: 3542 | dependencies: 3543 | call-bind: 1.0.8 3544 | call-bound: 1.0.4 3545 | define-properties: 1.2.1 3546 | es-object-atoms: 1.1.1 3547 | 3548 | optionator@0.9.4: 3549 | dependencies: 3550 | deep-is: 0.1.4 3551 | fast-levenshtein: 2.0.6 3552 | levn: 0.4.1 3553 | prelude-ls: 1.2.1 3554 | type-check: 0.4.0 3555 | word-wrap: 1.2.5 3556 | 3557 | own-keys@1.0.1: 3558 | dependencies: 3559 | get-intrinsic: 1.3.0 3560 | object-keys: 1.1.1 3561 | safe-push-apply: 1.0.0 3562 | 3563 | p-limit@3.1.0: 3564 | dependencies: 3565 | yocto-queue: 0.1.0 3566 | 3567 | p-locate@5.0.0: 3568 | dependencies: 3569 | p-limit: 3.1.0 3570 | 3571 | parent-module@1.0.1: 3572 | dependencies: 3573 | callsites: 3.1.0 3574 | 3575 | path-exists@4.0.0: {} 3576 | 3577 | path-key@3.1.1: {} 3578 | 3579 | path-parse@1.0.7: {} 3580 | 3581 | path-to-regexp@6.3.0: {} 3582 | 3583 | pathe@2.0.3: {} 3584 | 3585 | picocolors@1.1.1: {} 3586 | 3587 | picomatch@2.3.1: {} 3588 | 3589 | picomatch@4.0.3: {} 3590 | 3591 | pify@2.3.0: {} 3592 | 3593 | pirates@4.0.7: {} 3594 | 3595 | possible-typed-array-names@1.1.0: {} 3596 | 3597 | postcss-import@15.1.0(postcss@8.5.6): 3598 | dependencies: 3599 | postcss: 8.5.6 3600 | postcss-value-parser: 4.2.0 3601 | read-cache: 1.0.0 3602 | resolve: 1.22.11 3603 | 3604 | postcss-js@4.1.0(postcss@8.5.6): 3605 | dependencies: 3606 | camelcase-css: 2.0.1 3607 | postcss: 8.5.6 3608 | 3609 | postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.6): 3610 | dependencies: 3611 | lilconfig: 3.1.3 3612 | optionalDependencies: 3613 | jiti: 1.21.7 3614 | postcss: 8.5.6 3615 | 3616 | postcss-nested@6.2.0(postcss@8.5.6): 3617 | dependencies: 3618 | postcss: 8.5.6 3619 | postcss-selector-parser: 6.1.2 3620 | 3621 | postcss-selector-parser@6.1.2: 3622 | dependencies: 3623 | cssesc: 3.0.0 3624 | util-deprecate: 1.0.2 3625 | 3626 | postcss-value-parser@4.2.0: {} 3627 | 3628 | postcss@8.5.6: 3629 | dependencies: 3630 | nanoid: 3.3.11 3631 | picocolors: 1.1.1 3632 | source-map-js: 1.2.1 3633 | 3634 | prelude-ls@1.2.1: {} 3635 | 3636 | prop-types@15.8.1: 3637 | dependencies: 3638 | loose-envify: 1.4.0 3639 | object-assign: 4.1.1 3640 | react-is: 16.13.1 3641 | 3642 | proxy-from-env@1.1.0: {} 3643 | 3644 | punycode@2.3.1: {} 3645 | 3646 | qs@6.14.0: 3647 | dependencies: 3648 | side-channel: 1.1.0 3649 | 3650 | queue-microtask@1.2.3: {} 3651 | 3652 | react-is@16.13.1: {} 3653 | 3654 | read-cache@1.0.0: 3655 | dependencies: 3656 | pify: 2.3.0 3657 | 3658 | readdirp@3.6.0: 3659 | dependencies: 3660 | picomatch: 2.3.1 3661 | 3662 | reflect.getprototypeof@1.0.10: 3663 | dependencies: 3664 | call-bind: 1.0.8 3665 | define-properties: 1.2.1 3666 | es-abstract: 1.24.0 3667 | es-errors: 1.3.0 3668 | es-object-atoms: 1.1.1 3669 | get-intrinsic: 1.3.0 3670 | get-proto: 1.0.1 3671 | which-builtin-type: 1.2.1 3672 | 3673 | regexp.prototype.flags@1.5.4: 3674 | dependencies: 3675 | call-bind: 1.0.8 3676 | define-properties: 1.2.1 3677 | es-errors: 1.3.0 3678 | get-proto: 1.0.1 3679 | gopd: 1.2.0 3680 | set-function-name: 2.0.2 3681 | 3682 | resolve-from@4.0.0: {} 3683 | 3684 | resolve@1.22.11: 3685 | dependencies: 3686 | is-core-module: 2.16.1 3687 | path-parse: 1.0.7 3688 | supports-preserve-symlinks-flag: 1.0.0 3689 | 3690 | resolve@2.0.0-next.5: 3691 | dependencies: 3692 | is-core-module: 2.16.1 3693 | path-parse: 1.0.7 3694 | supports-preserve-symlinks-flag: 1.0.0 3695 | 3696 | reusify@1.1.0: {} 3697 | 3698 | run-parallel@1.2.0: 3699 | dependencies: 3700 | queue-microtask: 1.2.3 3701 | 3702 | safe-array-concat@1.1.3: 3703 | dependencies: 3704 | call-bind: 1.0.8 3705 | call-bound: 1.0.4 3706 | get-intrinsic: 1.3.0 3707 | has-symbols: 1.1.0 3708 | isarray: 2.0.5 3709 | 3710 | safe-buffer@5.2.1: {} 3711 | 3712 | safe-push-apply@1.0.0: 3713 | dependencies: 3714 | es-errors: 1.3.0 3715 | isarray: 2.0.5 3716 | 3717 | safe-regex-test@1.1.0: 3718 | dependencies: 3719 | call-bound: 1.0.4 3720 | es-errors: 1.3.0 3721 | is-regex: 1.2.1 3722 | 3723 | scmp@2.1.0: {} 3724 | 3725 | semver@6.3.1: {} 3726 | 3727 | semver@7.7.3: {} 3728 | 3729 | set-function-length@1.2.2: 3730 | dependencies: 3731 | define-data-property: 1.1.4 3732 | es-errors: 1.3.0 3733 | function-bind: 1.1.2 3734 | get-intrinsic: 1.3.0 3735 | gopd: 1.2.0 3736 | has-property-descriptors: 1.0.2 3737 | 3738 | set-function-name@2.0.2: 3739 | dependencies: 3740 | define-data-property: 1.1.4 3741 | es-errors: 1.3.0 3742 | functions-have-names: 1.2.3 3743 | has-property-descriptors: 1.0.2 3744 | 3745 | set-proto@1.0.0: 3746 | dependencies: 3747 | dunder-proto: 1.0.1 3748 | es-errors: 1.3.0 3749 | es-object-atoms: 1.1.1 3750 | 3751 | sharp@0.33.5: 3752 | dependencies: 3753 | color: 4.2.3 3754 | detect-libc: 2.1.2 3755 | semver: 7.7.3 3756 | optionalDependencies: 3757 | '@img/sharp-darwin-arm64': 0.33.5 3758 | '@img/sharp-darwin-x64': 0.33.5 3759 | '@img/sharp-libvips-darwin-arm64': 1.0.4 3760 | '@img/sharp-libvips-darwin-x64': 1.0.4 3761 | '@img/sharp-libvips-linux-arm': 1.0.5 3762 | '@img/sharp-libvips-linux-arm64': 1.0.4 3763 | '@img/sharp-libvips-linux-s390x': 1.0.4 3764 | '@img/sharp-libvips-linux-x64': 1.0.4 3765 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 3766 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4 3767 | '@img/sharp-linux-arm': 0.33.5 3768 | '@img/sharp-linux-arm64': 0.33.5 3769 | '@img/sharp-linux-s390x': 0.33.5 3770 | '@img/sharp-linux-x64': 0.33.5 3771 | '@img/sharp-linuxmusl-arm64': 0.33.5 3772 | '@img/sharp-linuxmusl-x64': 0.33.5 3773 | '@img/sharp-wasm32': 0.33.5 3774 | '@img/sharp-win32-ia32': 0.33.5 3775 | '@img/sharp-win32-x64': 0.33.5 3776 | 3777 | shebang-command@2.0.0: 3778 | dependencies: 3779 | shebang-regex: 3.0.0 3780 | 3781 | shebang-regex@3.0.0: {} 3782 | 3783 | side-channel-list@1.0.0: 3784 | dependencies: 3785 | es-errors: 1.3.0 3786 | object-inspect: 1.13.4 3787 | 3788 | side-channel-map@1.0.1: 3789 | dependencies: 3790 | call-bound: 1.0.4 3791 | es-errors: 1.3.0 3792 | get-intrinsic: 1.3.0 3793 | object-inspect: 1.13.4 3794 | 3795 | side-channel-weakmap@1.0.2: 3796 | dependencies: 3797 | call-bound: 1.0.4 3798 | es-errors: 1.3.0 3799 | get-intrinsic: 1.3.0 3800 | object-inspect: 1.13.4 3801 | side-channel-map: 1.0.1 3802 | 3803 | side-channel@1.1.0: 3804 | dependencies: 3805 | es-errors: 1.3.0 3806 | object-inspect: 1.13.4 3807 | side-channel-list: 1.0.0 3808 | side-channel-map: 1.0.1 3809 | side-channel-weakmap: 1.0.2 3810 | 3811 | simple-swizzle@0.2.4: 3812 | dependencies: 3813 | is-arrayish: 0.3.4 3814 | 3815 | source-map-js@1.2.1: {} 3816 | 3817 | stop-iteration-iterator@1.1.0: 3818 | dependencies: 3819 | es-errors: 1.3.0 3820 | internal-slot: 1.1.0 3821 | 3822 | stoppable@1.1.0: {} 3823 | 3824 | string.prototype.matchall@4.0.12: 3825 | dependencies: 3826 | call-bind: 1.0.8 3827 | call-bound: 1.0.4 3828 | define-properties: 1.2.1 3829 | es-abstract: 1.24.0 3830 | es-errors: 1.3.0 3831 | es-object-atoms: 1.1.1 3832 | get-intrinsic: 1.3.0 3833 | gopd: 1.2.0 3834 | has-symbols: 1.1.0 3835 | internal-slot: 1.1.0 3836 | regexp.prototype.flags: 1.5.4 3837 | set-function-name: 2.0.2 3838 | side-channel: 1.1.0 3839 | 3840 | string.prototype.repeat@1.0.0: 3841 | dependencies: 3842 | define-properties: 1.2.1 3843 | es-abstract: 1.24.0 3844 | 3845 | string.prototype.trim@1.2.10: 3846 | dependencies: 3847 | call-bind: 1.0.8 3848 | call-bound: 1.0.4 3849 | define-data-property: 1.1.4 3850 | define-properties: 1.2.1 3851 | es-abstract: 1.24.0 3852 | es-object-atoms: 1.1.1 3853 | has-property-descriptors: 1.0.2 3854 | 3855 | string.prototype.trimend@1.0.9: 3856 | dependencies: 3857 | call-bind: 1.0.8 3858 | call-bound: 1.0.4 3859 | define-properties: 1.2.1 3860 | es-object-atoms: 1.1.1 3861 | 3862 | string.prototype.trimstart@1.0.8: 3863 | dependencies: 3864 | call-bind: 1.0.8 3865 | define-properties: 1.2.1 3866 | es-object-atoms: 1.1.1 3867 | 3868 | strip-bom@3.0.0: {} 3869 | 3870 | strip-json-comments@3.1.1: {} 3871 | 3872 | sucrase@3.35.1: 3873 | dependencies: 3874 | '@jridgewell/gen-mapping': 0.3.13 3875 | commander: 4.1.1 3876 | lines-and-columns: 1.2.4 3877 | mz: 2.7.0 3878 | pirates: 4.0.7 3879 | tinyglobby: 0.2.15 3880 | ts-interface-checker: 0.1.13 3881 | 3882 | supports-color@10.2.2: {} 3883 | 3884 | supports-color@7.2.0: 3885 | dependencies: 3886 | has-flag: 4.0.0 3887 | 3888 | supports-preserve-symlinks-flag@1.0.0: {} 3889 | 3890 | tailwindcss@3.4.18: 3891 | dependencies: 3892 | '@alloc/quick-lru': 5.2.0 3893 | arg: 5.0.2 3894 | chokidar: 3.6.0 3895 | didyoumean: 1.2.2 3896 | dlv: 1.1.3 3897 | fast-glob: 3.3.3 3898 | glob-parent: 6.0.2 3899 | is-glob: 4.0.3 3900 | jiti: 1.21.7 3901 | lilconfig: 3.1.3 3902 | micromatch: 4.0.8 3903 | normalize-path: 3.0.0 3904 | object-hash: 3.0.0 3905 | picocolors: 1.1.1 3906 | postcss: 8.5.6 3907 | postcss-import: 15.1.0(postcss@8.5.6) 3908 | postcss-js: 4.1.0(postcss@8.5.6) 3909 | postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.6) 3910 | postcss-nested: 6.2.0(postcss@8.5.6) 3911 | postcss-selector-parser: 6.1.2 3912 | resolve: 1.22.11 3913 | sucrase: 3.35.1 3914 | transitivePeerDependencies: 3915 | - tsx 3916 | - yaml 3917 | 3918 | thenify-all@1.6.0: 3919 | dependencies: 3920 | thenify: 3.3.1 3921 | 3922 | thenify@3.3.1: 3923 | dependencies: 3924 | any-promise: 1.3.0 3925 | 3926 | tinyglobby@0.2.15: 3927 | dependencies: 3928 | fdir: 6.5.0(picomatch@4.0.3) 3929 | picomatch: 4.0.3 3930 | 3931 | to-regex-range@5.0.1: 3932 | dependencies: 3933 | is-number: 7.0.0 3934 | 3935 | ts-api-utils@2.1.0(typescript@5.9.3): 3936 | dependencies: 3937 | typescript: 5.9.3 3938 | 3939 | ts-interface-checker@0.1.13: {} 3940 | 3941 | tsconfig-paths@3.15.0: 3942 | dependencies: 3943 | '@types/json5': 0.0.29 3944 | json5: 1.0.2 3945 | minimist: 1.2.8 3946 | strip-bom: 3.0.0 3947 | 3948 | tslib@2.8.1: 3949 | optional: true 3950 | 3951 | twilio@5.11.1: 3952 | dependencies: 3953 | axios: 1.13.2 3954 | dayjs: 1.11.19 3955 | https-proxy-agent: 5.0.1 3956 | jsonwebtoken: 9.0.2 3957 | qs: 6.14.0 3958 | scmp: 2.1.0 3959 | xmlbuilder: 13.0.2 3960 | transitivePeerDependencies: 3961 | - debug 3962 | - supports-color 3963 | 3964 | type-check@0.4.0: 3965 | dependencies: 3966 | prelude-ls: 1.2.1 3967 | 3968 | typed-array-buffer@1.0.3: 3969 | dependencies: 3970 | call-bound: 1.0.4 3971 | es-errors: 1.3.0 3972 | is-typed-array: 1.1.15 3973 | 3974 | typed-array-byte-length@1.0.3: 3975 | dependencies: 3976 | call-bind: 1.0.8 3977 | for-each: 0.3.5 3978 | gopd: 1.2.0 3979 | has-proto: 1.2.0 3980 | is-typed-array: 1.1.15 3981 | 3982 | typed-array-byte-offset@1.0.4: 3983 | dependencies: 3984 | available-typed-arrays: 1.0.7 3985 | call-bind: 1.0.8 3986 | for-each: 0.3.5 3987 | gopd: 1.2.0 3988 | has-proto: 1.2.0 3989 | is-typed-array: 1.1.15 3990 | reflect.getprototypeof: 1.0.10 3991 | 3992 | typed-array-length@1.0.7: 3993 | dependencies: 3994 | call-bind: 1.0.8 3995 | for-each: 0.3.5 3996 | gopd: 1.2.0 3997 | is-typed-array: 1.1.15 3998 | possible-typed-array-names: 1.1.0 3999 | reflect.getprototypeof: 1.0.10 4000 | 4001 | typescript@5.9.3: {} 4002 | 4003 | unbox-primitive@1.1.0: 4004 | dependencies: 4005 | call-bound: 1.0.4 4006 | has-bigints: 1.1.0 4007 | has-symbols: 1.1.0 4008 | which-boxed-primitive: 1.1.1 4009 | 4010 | undici-types@7.16.0: {} 4011 | 4012 | undici@7.14.0: {} 4013 | 4014 | unenv@2.0.0-rc.24: 4015 | dependencies: 4016 | pathe: 2.0.3 4017 | 4018 | uri-js@4.4.1: 4019 | dependencies: 4020 | punycode: 2.3.1 4021 | 4022 | util-deprecate@1.0.2: {} 4023 | 4024 | which-boxed-primitive@1.1.1: 4025 | dependencies: 4026 | is-bigint: 1.1.0 4027 | is-boolean-object: 1.2.2 4028 | is-number-object: 1.1.1 4029 | is-string: 1.1.1 4030 | is-symbol: 1.1.1 4031 | 4032 | which-builtin-type@1.2.1: 4033 | dependencies: 4034 | call-bound: 1.0.4 4035 | function.prototype.name: 1.1.8 4036 | has-tostringtag: 1.0.2 4037 | is-async-function: 2.1.1 4038 | is-date-object: 1.1.0 4039 | is-finalizationregistry: 1.1.1 4040 | is-generator-function: 1.1.2 4041 | is-regex: 1.2.1 4042 | is-weakref: 1.1.1 4043 | isarray: 2.0.5 4044 | which-boxed-primitive: 1.1.1 4045 | which-collection: 1.0.2 4046 | which-typed-array: 1.1.19 4047 | 4048 | which-collection@1.0.2: 4049 | dependencies: 4050 | is-map: 2.0.3 4051 | is-set: 2.0.3 4052 | is-weakmap: 2.0.2 4053 | is-weakset: 2.0.4 4054 | 4055 | which-typed-array@1.1.19: 4056 | dependencies: 4057 | available-typed-arrays: 1.0.7 4058 | call-bind: 1.0.8 4059 | call-bound: 1.0.4 4060 | for-each: 0.3.5 4061 | get-proto: 1.0.1 4062 | gopd: 1.2.0 4063 | has-tostringtag: 1.0.2 4064 | 4065 | which@2.0.2: 4066 | dependencies: 4067 | isexe: 2.0.0 4068 | 4069 | word-wrap@1.2.5: {} 4070 | 4071 | workerd@1.20251217.0: 4072 | optionalDependencies: 4073 | '@cloudflare/workerd-darwin-64': 1.20251217.0 4074 | '@cloudflare/workerd-darwin-arm64': 1.20251217.0 4075 | '@cloudflare/workerd-linux-64': 1.20251217.0 4076 | '@cloudflare/workerd-linux-arm64': 1.20251217.0 4077 | '@cloudflare/workerd-windows-64': 1.20251217.0 4078 | 4079 | wrangler@4.56.0(@cloudflare/workers-types@4.20251223.0): 4080 | dependencies: 4081 | '@cloudflare/kv-asset-handler': 0.4.1 4082 | '@cloudflare/unenv-preset': 2.7.13(unenv@2.0.0-rc.24)(workerd@1.20251217.0) 4083 | blake3-wasm: 2.1.5 4084 | esbuild: 0.27.0 4085 | miniflare: 4.20251217.0 4086 | path-to-regexp: 6.3.0 4087 | unenv: 2.0.0-rc.24 4088 | workerd: 1.20251217.0 4089 | optionalDependencies: 4090 | '@cloudflare/workers-types': 4.20251223.0 4091 | fsevents: 2.3.3 4092 | transitivePeerDependencies: 4093 | - bufferutil 4094 | - utf-8-validate 4095 | 4096 | ws@8.18.0: {} 4097 | 4098 | xmlbuilder@13.0.2: {} 4099 | 4100 | yocto-queue@0.1.0: {} 4101 | 4102 | youch-core@0.3.3: 4103 | dependencies: 4104 | '@poppinss/exception': 1.2.2 4105 | error-stack-parser-es: 1.0.5 4106 | 4107 | youch@4.1.0-beta.10: 4108 | dependencies: 4109 | '@poppinss/colors': 4.1.5 4110 | '@poppinss/dumper': 0.6.5 4111 | '@speed-highlight/core': 1.2.12 4112 | cookie: 1.1.1 4113 | youch-core: 0.3.3 4114 | 4115 | zod@3.22.3: {} 4116 | --------------------------------------------------------------------------------