├── .env.example ├── .gitignore ├── .prettierrc ├── LICENSE ├── README.md ├── client ├── assets │ └── openai-logomark.svg ├── base.css ├── components │ ├── App.jsx │ ├── Button.jsx │ ├── EventLog.jsx │ ├── SessionControls.jsx │ └── ToolPanel.jsx ├── entry-client.jsx ├── entry-server.jsx ├── index.html ├── index.js └── pages │ └── index.jsx ├── package-lock.json ├── package.json ├── postcss.config.cjs ├── server.js ├── tailwind.config.js └── vite.config.js /.env.example: -------------------------------------------------------------------------------- 1 | OPENAI_API_KEY="" -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # build output 2 | dist/ 3 | 4 | # dependencies 5 | node_modules/ 6 | 7 | # logs 8 | npm-debug.log* 9 | yarn-debug.log* 10 | yarn-error.log* 11 | pnpm-debug.log* 12 | 13 | # environment variables 14 | .env 15 | .env.production 16 | 17 | # macOS-specific files 18 | .DS_Store 19 | 20 | # jetbrains setting folder 21 | .idea/ 22 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "tabWidth": 2, 3 | "useTabs": false, 4 | "singleQuote": false, 5 | "trailingComma": "all", 6 | "semi": true, 7 | "quoteProps": "as-needed", 8 | "arrowParens": "always", 9 | "endOfLine": "auto", 10 | "bracketSpacing": true 11 | } 12 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 OpenAI 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. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # OpenAI Realtime Console 2 | 3 | This is an example application showing how to use the [OpenAI Realtime API](https://platform.openai.com/docs/guides/realtime) with [WebRTC](https://platform.openai.com/docs/guides/realtime-webrtc). 4 | 5 | ## Installation and usage 6 | 7 | Before you begin, you'll need an OpenAI API key - [create one in the dashboard here](https://platform.openai.com/settings/api-keys). Create a `.env` file from the example file and set your API key in there: 8 | 9 | ```bash 10 | cp .env.example .env 11 | ``` 12 | 13 | Running this application locally requires [Node.js](https://nodejs.org/) to be installed. Install dependencies for the application with: 14 | 15 | ```bash 16 | npm install 17 | ``` 18 | 19 | Start the application server with: 20 | 21 | ```bash 22 | npm run dev 23 | ``` 24 | 25 | This should start the console application on [http://localhost:3000](http://localhost:3000). 26 | 27 | This application is a minimal template that uses [express](https://expressjs.com/) to serve the React frontend contained in the [`/client`](./client) folder. The server is configured to use [vite](https://vitejs.dev/) to build the React frontend. 28 | 29 | This application shows how to send and receive Realtime API events over the WebRTC data channel and configure client-side function calling. You can also view the JSON payloads for client and server events using the logging panel in the UI. 30 | 31 | For a more comprehensive example, see the [OpenAI Realtime Agents](https://github.com/openai/openai-realtime-agents) demo built with Next.js, using an agentic architecture inspired by [OpenAI Swarm](https://github.com/openai/swarm). 32 | 33 | ## Previous WebSockets version 34 | 35 | The previous version of this application that used WebSockets on the client (not recommended in browsers) [can be found here](https://github.com/openai/openai-realtime-console/tree/websockets). 36 | 37 | ## License 38 | 39 | MIT 40 | -------------------------------------------------------------------------------- /client/assets/openai-logomark.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/base.css: -------------------------------------------------------------------------------- 1 | /* 2 | @tailwind base; adds base styles to all elements: 3 | https://tailwindcss.com/docs/preflight 4 | */ 5 | @tailwind base; 6 | @tailwind components; 7 | @tailwind utilities; 8 | 9 | :root { 10 | --color-base: #efefef; 11 | --color-highlight: #ff80ff; 12 | } 13 | 14 | html, 15 | body { 16 | height: 100%; 17 | width: 100%; 18 | margin: 0; 19 | padding: 0; 20 | overflow: hidden; 21 | font-family: "Consolas", "Andale Mono", monospace; 22 | font-size: 0.9rem; 23 | background-color: var(--color-base); 24 | } 25 | -------------------------------------------------------------------------------- /client/components/App.jsx: -------------------------------------------------------------------------------- 1 | import { useEffect, useRef, useState } from "react"; 2 | import logo from "/assets/openai-logomark.svg"; 3 | import EventLog from "./EventLog"; 4 | import SessionControls from "./SessionControls"; 5 | import ToolPanel from "./ToolPanel"; 6 | 7 | export default function App() { 8 | const [isSessionActive, setIsSessionActive] = useState(false); 9 | const [events, setEvents] = useState([]); 10 | const [dataChannel, setDataChannel] = useState(null); 11 | const peerConnection = useRef(null); 12 | const audioElement = useRef(null); 13 | 14 | async function startSession() { 15 | // Get a session token for OpenAI Realtime API 16 | const tokenResponse = await fetch("/token"); 17 | const data = await tokenResponse.json(); 18 | const EPHEMERAL_KEY = data.client_secret.value; 19 | 20 | // Create a peer connection 21 | const pc = new RTCPeerConnection(); 22 | 23 | // Set up to play remote audio from the model 24 | audioElement.current = document.createElement("audio"); 25 | audioElement.current.autoplay = true; 26 | pc.ontrack = (e) => (audioElement.current.srcObject = e.streams[0]); 27 | 28 | // Add local audio track for microphone input in the browser 29 | const ms = await navigator.mediaDevices.getUserMedia({ 30 | audio: true, 31 | }); 32 | pc.addTrack(ms.getTracks()[0]); 33 | 34 | // Set up data channel for sending and receiving events 35 | const dc = pc.createDataChannel("oai-events"); 36 | setDataChannel(dc); 37 | 38 | // Start the session using the Session Description Protocol (SDP) 39 | const offer = await pc.createOffer(); 40 | await pc.setLocalDescription(offer); 41 | 42 | const baseUrl = "https://api.openai.com/v1/realtime"; 43 | const model = "gpt-4o-realtime-preview-2024-12-17"; 44 | const sdpResponse = await fetch(`${baseUrl}?model=${model}`, { 45 | method: "POST", 46 | body: offer.sdp, 47 | headers: { 48 | Authorization: `Bearer ${EPHEMERAL_KEY}`, 49 | "Content-Type": "application/sdp", 50 | }, 51 | }); 52 | 53 | const answer = { 54 | type: "answer", 55 | sdp: await sdpResponse.text(), 56 | }; 57 | await pc.setRemoteDescription(answer); 58 | 59 | peerConnection.current = pc; 60 | } 61 | 62 | // Stop current session, clean up peer connection and data channel 63 | function stopSession() { 64 | if (dataChannel) { 65 | dataChannel.close(); 66 | } 67 | 68 | peerConnection.current.getSenders().forEach((sender) => { 69 | if (sender.track) { 70 | sender.track.stop(); 71 | } 72 | }); 73 | 74 | if (peerConnection.current) { 75 | peerConnection.current.close(); 76 | } 77 | 78 | setIsSessionActive(false); 79 | setDataChannel(null); 80 | peerConnection.current = null; 81 | } 82 | 83 | // Send a message to the model 84 | function sendClientEvent(message) { 85 | if (dataChannel) { 86 | const timestamp = new Date().toLocaleTimeString(); 87 | message.event_id = message.event_id || crypto.randomUUID(); 88 | 89 | // send event before setting timestamp since the backend peer doesn't expect this field 90 | dataChannel.send(JSON.stringify(message)); 91 | 92 | // if guard just in case the timestamp exists by miracle 93 | if (!message.timestamp) { 94 | message.timestamp = timestamp; 95 | } 96 | setEvents((prev) => [message, ...prev]); 97 | } else { 98 | console.error( 99 | "Failed to send message - no data channel available", 100 | message, 101 | ); 102 | } 103 | } 104 | 105 | // Send a text message to the model 106 | function sendTextMessage(message) { 107 | const event = { 108 | type: "conversation.item.create", 109 | item: { 110 | type: "message", 111 | role: "user", 112 | content: [ 113 | { 114 | type: "input_text", 115 | text: message, 116 | }, 117 | ], 118 | }, 119 | }; 120 | 121 | sendClientEvent(event); 122 | sendClientEvent({ type: "response.create" }); 123 | } 124 | 125 | // Attach event listeners to the data channel when a new one is created 126 | useEffect(() => { 127 | if (dataChannel) { 128 | // Append new server events to the list 129 | dataChannel.addEventListener("message", (e) => { 130 | const event = JSON.parse(e.data); 131 | if (!event.timestamp) { 132 | event.timestamp = new Date().toLocaleTimeString(); 133 | } 134 | 135 | setEvents((prev) => [event, ...prev]); 136 | }); 137 | 138 | // Set session active when the data channel is opened 139 | dataChannel.addEventListener("open", () => { 140 | setIsSessionActive(true); 141 | setEvents([]); 142 | }); 143 | } 144 | }, [dataChannel]); 145 | 146 | return ( 147 | <> 148 | 154 |
155 |
156 |
157 | 158 |
159 |
160 | 168 |
169 |
170 |
171 | 177 |
178 |
179 | 180 | ); 181 | } 182 | -------------------------------------------------------------------------------- /client/components/Button.jsx: -------------------------------------------------------------------------------- 1 | export default function Button({ icon, children, onClick, className }) { 2 | return ( 3 | 10 | ); 11 | } 12 | -------------------------------------------------------------------------------- /client/components/EventLog.jsx: -------------------------------------------------------------------------------- 1 | import { ArrowUp, ArrowDown } from "react-feather"; 2 | import { useState } from "react"; 3 | 4 | function Event({ event, timestamp }) { 5 | const [isExpanded, setIsExpanded] = useState(false); 6 | 7 | const isClient = event.event_id && !event.event_id.startsWith("event_"); 8 | 9 | return ( 10 |
11 |
setIsExpanded(!isExpanded)} 14 | > 15 | {isClient ? ( 16 | 17 | ) : ( 18 | 19 | )} 20 |
21 | {isClient ? "client:" : "server:"} 22 |  {event.type} | {timestamp} 23 |
24 |
25 |
30 |
{JSON.stringify(event, null, 2)}
31 |
32 |
33 | ); 34 | } 35 | 36 | export default function EventLog({ events }) { 37 | const eventsToDisplay = []; 38 | let deltaEvents = {}; 39 | 40 | events.forEach((event) => { 41 | if (event.type.endsWith("delta")) { 42 | if (deltaEvents[event.type]) { 43 | // for now just log a single event per render pass 44 | return; 45 | } else { 46 | deltaEvents[event.type] = event; 47 | } 48 | } 49 | 50 | eventsToDisplay.push( 51 | , 52 | ); 53 | }); 54 | 55 | return ( 56 |
57 | {events.length === 0 ? ( 58 |
Awaiting events...
59 | ) : ( 60 | eventsToDisplay 61 | )} 62 |
63 | ); 64 | } 65 | -------------------------------------------------------------------------------- /client/components/SessionControls.jsx: -------------------------------------------------------------------------------- 1 | import { useState } from "react"; 2 | import { CloudLightning, CloudOff, MessageSquare } from "react-feather"; 3 | import Button from "./Button"; 4 | 5 | function SessionStopped({ startSession }) { 6 | const [isActivating, setIsActivating] = useState(false); 7 | 8 | function handleStartSession() { 9 | if (isActivating) return; 10 | 11 | setIsActivating(true); 12 | startSession(); 13 | } 14 | 15 | return ( 16 |
17 | 24 |
25 | ); 26 | } 27 | 28 | function SessionActive({ stopSession, sendTextMessage }) { 29 | const [message, setMessage] = useState(""); 30 | 31 | function handleSendClientEvent() { 32 | sendTextMessage(message); 33 | setMessage(""); 34 | } 35 | 36 | return ( 37 |
38 | { 40 | if (e.key === "Enter" && message.trim()) { 41 | handleSendClientEvent(); 42 | } 43 | }} 44 | type="text" 45 | placeholder="send a text message..." 46 | className="border border-gray-200 rounded-full p-4 flex-1" 47 | value={message} 48 | onChange={(e) => setMessage(e.target.value)} 49 | /> 50 | 61 | 64 |
65 | ); 66 | } 67 | 68 | export default function SessionControls({ 69 | startSession, 70 | stopSession, 71 | sendClientEvent, 72 | sendTextMessage, 73 | serverEvents, 74 | isSessionActive, 75 | }) { 76 | return ( 77 |
78 | {isSessionActive ? ( 79 | 85 | ) : ( 86 | 87 | )} 88 |
89 | ); 90 | } 91 | -------------------------------------------------------------------------------- /client/components/ToolPanel.jsx: -------------------------------------------------------------------------------- 1 | import { useEffect, useState } from "react"; 2 | 3 | const functionDescription = ` 4 | Call this function when a user asks for a color palette. 5 | `; 6 | 7 | const sessionUpdate = { 8 | type: "session.update", 9 | session: { 10 | tools: [ 11 | { 12 | type: "function", 13 | name: "display_color_palette", 14 | description: functionDescription, 15 | parameters: { 16 | type: "object", 17 | strict: true, 18 | properties: { 19 | theme: { 20 | type: "string", 21 | description: "Description of the theme for the color scheme.", 22 | }, 23 | colors: { 24 | type: "array", 25 | description: "Array of five hex color codes based on the theme.", 26 | items: { 27 | type: "string", 28 | description: "Hex color code", 29 | }, 30 | }, 31 | }, 32 | required: ["theme", "colors"], 33 | }, 34 | }, 35 | ], 36 | tool_choice: "auto", 37 | }, 38 | }; 39 | 40 | function FunctionCallOutput({ functionCallOutput }) { 41 | const { theme, colors } = JSON.parse(functionCallOutput.arguments); 42 | 43 | const colorBoxes = colors.map((color) => ( 44 |
49 |

50 | {color} 51 |

52 |
53 | )); 54 | 55 | return ( 56 |
57 |

Theme: {theme}

58 | {colorBoxes} 59 |
 60 |         {JSON.stringify(functionCallOutput, null, 2)}
 61 |       
62 |
63 | ); 64 | } 65 | 66 | export default function ToolPanel({ 67 | isSessionActive, 68 | sendClientEvent, 69 | events, 70 | }) { 71 | const [functionAdded, setFunctionAdded] = useState(false); 72 | const [functionCallOutput, setFunctionCallOutput] = useState(null); 73 | 74 | useEffect(() => { 75 | if (!events || events.length === 0) return; 76 | 77 | const firstEvent = events[events.length - 1]; 78 | if (!functionAdded && firstEvent.type === "session.created") { 79 | sendClientEvent(sessionUpdate); 80 | setFunctionAdded(true); 81 | } 82 | 83 | const mostRecentEvent = events[0]; 84 | if ( 85 | mostRecentEvent.type === "response.done" && 86 | mostRecentEvent.response.output 87 | ) { 88 | mostRecentEvent.response.output.forEach((output) => { 89 | if ( 90 | output.type === "function_call" && 91 | output.name === "display_color_palette" 92 | ) { 93 | setFunctionCallOutput(output); 94 | setTimeout(() => { 95 | sendClientEvent({ 96 | type: "response.create", 97 | response: { 98 | instructions: ` 99 | ask for feedback about the color palette - don't repeat 100 | the colors, just ask if they like the colors. 101 | `, 102 | }, 103 | }); 104 | }, 500); 105 | } 106 | }); 107 | } 108 | }, [events]); 109 | 110 | useEffect(() => { 111 | if (!isSessionActive) { 112 | setFunctionAdded(false); 113 | setFunctionCallOutput(null); 114 | } 115 | }, [isSessionActive]); 116 | 117 | return ( 118 |
119 |
120 |

Color Palette Tool

121 | {isSessionActive ? ( 122 | functionCallOutput ? ( 123 | 124 | ) : ( 125 |

Ask for advice on a color palette...

126 | ) 127 | ) : ( 128 |

Start the session to use this tool...

129 | )} 130 |
131 |
132 | ); 133 | } 134 | -------------------------------------------------------------------------------- /client/entry-client.jsx: -------------------------------------------------------------------------------- 1 | import { StrictMode } from "react"; 2 | import ReactDOM from "react-dom/client"; 3 | import App from "./components/App"; 4 | import "./base.css"; 5 | 6 | ReactDOM.hydrateRoot( 7 | document.getElementById("root"), 8 | 9 | 10 | , 11 | ); 12 | -------------------------------------------------------------------------------- /client/entry-server.jsx: -------------------------------------------------------------------------------- 1 | import { StrictMode } from "react"; 2 | import { renderToString } from "react-dom/server"; 3 | import App from "./components/App"; 4 | 5 | export function render() { 6 | const html = renderToString( 7 | 8 | 9 | , 10 | ); 11 | return { html }; 12 | } 13 | -------------------------------------------------------------------------------- /client/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | OpenAI Realtime Console 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /client/index.js: -------------------------------------------------------------------------------- 1 | import routes from "/:routes.js"; 2 | import create from "/:create.jsx"; 3 | 4 | export default { 5 | context: import("/:context.js"), 6 | routes, 7 | create, 8 | }; 9 | -------------------------------------------------------------------------------- /client/pages/index.jsx: -------------------------------------------------------------------------------- 1 | import App from "../components/App"; 2 | 3 | export default function Index() { 4 | return ; 5 | } 6 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "openai-realtime-console", 3 | "lockfileVersion": 3, 4 | "requires": true, 5 | "packages": { 6 | "": { 7 | "dependencies": { 8 | "dotenv": "^16.4.7", 9 | "express": "^4.21.2", 10 | "history": "^5.3.0", 11 | "minipass": "^7.0.4", 12 | "react": "^18.2.0", 13 | "react-dom": "^18.2.0", 14 | "react-feather": "^2.0.10", 15 | "react-router-dom": "^6.20.0" 16 | }, 17 | "devDependencies": { 18 | "@vitejs/plugin-react": "^4.3.4", 19 | "postcss": "^8.4.31", 20 | "postcss-nesting": "^12.0.2", 21 | "postcss-preset-env": "^7.7.1", 22 | "tailwindcss": "^3.4.1", 23 | "vite": "^5.0.2" 24 | } 25 | }, 26 | "node_modules/@alloc/quick-lru": { 27 | "version": "5.2.0", 28 | "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", 29 | "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", 30 | "dev": true, 31 | "license": "MIT", 32 | "engines": { 33 | "node": ">=10" 34 | }, 35 | "funding": { 36 | "url": "https://github.com/sponsors/sindresorhus" 37 | } 38 | }, 39 | "node_modules/@ampproject/remapping": { 40 | "version": "2.3.0", 41 | "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", 42 | "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", 43 | "dev": true, 44 | "license": "Apache-2.0", 45 | "dependencies": { 46 | "@jridgewell/gen-mapping": "^0.3.5", 47 | "@jridgewell/trace-mapping": "^0.3.24" 48 | }, 49 | "engines": { 50 | "node": ">=6.0.0" 51 | } 52 | }, 53 | "node_modules/@babel/code-frame": { 54 | "version": "7.26.2", 55 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", 56 | "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", 57 | "dev": true, 58 | "license": "MIT", 59 | "dependencies": { 60 | "@babel/helper-validator-identifier": "^7.25.9", 61 | "js-tokens": "^4.0.0", 62 | "picocolors": "^1.0.0" 63 | }, 64 | "engines": { 65 | "node": ">=6.9.0" 66 | } 67 | }, 68 | "node_modules/@babel/compat-data": { 69 | "version": "7.26.3", 70 | "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.3.tgz", 71 | "integrity": "sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==", 72 | "dev": true, 73 | "license": "MIT", 74 | "engines": { 75 | "node": ">=6.9.0" 76 | } 77 | }, 78 | "node_modules/@babel/core": { 79 | "version": "7.26.0", 80 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", 81 | "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", 82 | "dev": true, 83 | "license": "MIT", 84 | "dependencies": { 85 | "@ampproject/remapping": "^2.2.0", 86 | "@babel/code-frame": "^7.26.0", 87 | "@babel/generator": "^7.26.0", 88 | "@babel/helper-compilation-targets": "^7.25.9", 89 | "@babel/helper-module-transforms": "^7.26.0", 90 | "@babel/helpers": "^7.26.0", 91 | "@babel/parser": "^7.26.0", 92 | "@babel/template": "^7.25.9", 93 | "@babel/traverse": "^7.25.9", 94 | "@babel/types": "^7.26.0", 95 | "convert-source-map": "^2.0.0", 96 | "debug": "^4.1.0", 97 | "gensync": "^1.0.0-beta.2", 98 | "json5": "^2.2.3", 99 | "semver": "^6.3.1" 100 | }, 101 | "engines": { 102 | "node": ">=6.9.0" 103 | }, 104 | "funding": { 105 | "type": "opencollective", 106 | "url": "https://opencollective.com/babel" 107 | } 108 | }, 109 | "node_modules/@babel/generator": { 110 | "version": "7.26.3", 111 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz", 112 | "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==", 113 | "dev": true, 114 | "license": "MIT", 115 | "dependencies": { 116 | "@babel/parser": "^7.26.3", 117 | "@babel/types": "^7.26.3", 118 | "@jridgewell/gen-mapping": "^0.3.5", 119 | "@jridgewell/trace-mapping": "^0.3.25", 120 | "jsesc": "^3.0.2" 121 | }, 122 | "engines": { 123 | "node": ">=6.9.0" 124 | } 125 | }, 126 | "node_modules/@babel/helper-compilation-targets": { 127 | "version": "7.25.9", 128 | "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", 129 | "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", 130 | "dev": true, 131 | "license": "MIT", 132 | "dependencies": { 133 | "@babel/compat-data": "^7.25.9", 134 | "@babel/helper-validator-option": "^7.25.9", 135 | "browserslist": "^4.24.0", 136 | "lru-cache": "^5.1.1", 137 | "semver": "^6.3.1" 138 | }, 139 | "engines": { 140 | "node": ">=6.9.0" 141 | } 142 | }, 143 | "node_modules/@babel/helper-module-imports": { 144 | "version": "7.25.9", 145 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", 146 | "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", 147 | "dev": true, 148 | "license": "MIT", 149 | "dependencies": { 150 | "@babel/traverse": "^7.25.9", 151 | "@babel/types": "^7.25.9" 152 | }, 153 | "engines": { 154 | "node": ">=6.9.0" 155 | } 156 | }, 157 | "node_modules/@babel/helper-module-transforms": { 158 | "version": "7.26.0", 159 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", 160 | "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", 161 | "dev": true, 162 | "license": "MIT", 163 | "dependencies": { 164 | "@babel/helper-module-imports": "^7.25.9", 165 | "@babel/helper-validator-identifier": "^7.25.9", 166 | "@babel/traverse": "^7.25.9" 167 | }, 168 | "engines": { 169 | "node": ">=6.9.0" 170 | }, 171 | "peerDependencies": { 172 | "@babel/core": "^7.0.0" 173 | } 174 | }, 175 | "node_modules/@babel/helper-plugin-utils": { 176 | "version": "7.25.9", 177 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", 178 | "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", 179 | "dev": true, 180 | "license": "MIT", 181 | "engines": { 182 | "node": ">=6.9.0" 183 | } 184 | }, 185 | "node_modules/@babel/helper-string-parser": { 186 | "version": "7.25.9", 187 | "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", 188 | "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", 189 | "dev": true, 190 | "license": "MIT", 191 | "engines": { 192 | "node": ">=6.9.0" 193 | } 194 | }, 195 | "node_modules/@babel/helper-validator-identifier": { 196 | "version": "7.25.9", 197 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", 198 | "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", 199 | "dev": true, 200 | "license": "MIT", 201 | "engines": { 202 | "node": ">=6.9.0" 203 | } 204 | }, 205 | "node_modules/@babel/helper-validator-option": { 206 | "version": "7.25.9", 207 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", 208 | "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", 209 | "dev": true, 210 | "license": "MIT", 211 | "engines": { 212 | "node": ">=6.9.0" 213 | } 214 | }, 215 | "node_modules/@babel/helpers": { 216 | "version": "7.26.0", 217 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", 218 | "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", 219 | "dev": true, 220 | "license": "MIT", 221 | "dependencies": { 222 | "@babel/template": "^7.25.9", 223 | "@babel/types": "^7.26.0" 224 | }, 225 | "engines": { 226 | "node": ">=6.9.0" 227 | } 228 | }, 229 | "node_modules/@babel/parser": { 230 | "version": "7.26.3", 231 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz", 232 | "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==", 233 | "dev": true, 234 | "license": "MIT", 235 | "dependencies": { 236 | "@babel/types": "^7.26.3" 237 | }, 238 | "bin": { 239 | "parser": "bin/babel-parser.js" 240 | }, 241 | "engines": { 242 | "node": ">=6.0.0" 243 | } 244 | }, 245 | "node_modules/@babel/plugin-transform-react-jsx-self": { 246 | "version": "7.25.9", 247 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", 248 | "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", 249 | "dev": true, 250 | "license": "MIT", 251 | "dependencies": { 252 | "@babel/helper-plugin-utils": "^7.25.9" 253 | }, 254 | "engines": { 255 | "node": ">=6.9.0" 256 | }, 257 | "peerDependencies": { 258 | "@babel/core": "^7.0.0-0" 259 | } 260 | }, 261 | "node_modules/@babel/plugin-transform-react-jsx-source": { 262 | "version": "7.25.9", 263 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", 264 | "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", 265 | "dev": true, 266 | "license": "MIT", 267 | "dependencies": { 268 | "@babel/helper-plugin-utils": "^7.25.9" 269 | }, 270 | "engines": { 271 | "node": ">=6.9.0" 272 | }, 273 | "peerDependencies": { 274 | "@babel/core": "^7.0.0-0" 275 | } 276 | }, 277 | "node_modules/@babel/runtime": { 278 | "version": "7.26.7", 279 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.7.tgz", 280 | "integrity": "sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==", 281 | "license": "MIT", 282 | "dependencies": { 283 | "regenerator-runtime": "^0.14.0" 284 | }, 285 | "engines": { 286 | "node": ">=6.9.0" 287 | } 288 | }, 289 | "node_modules/@babel/template": { 290 | "version": "7.25.9", 291 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", 292 | "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", 293 | "dev": true, 294 | "license": "MIT", 295 | "dependencies": { 296 | "@babel/code-frame": "^7.25.9", 297 | "@babel/parser": "^7.25.9", 298 | "@babel/types": "^7.25.9" 299 | }, 300 | "engines": { 301 | "node": ">=6.9.0" 302 | } 303 | }, 304 | "node_modules/@babel/traverse": { 305 | "version": "7.26.4", 306 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz", 307 | "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==", 308 | "dev": true, 309 | "license": "MIT", 310 | "dependencies": { 311 | "@babel/code-frame": "^7.26.2", 312 | "@babel/generator": "^7.26.3", 313 | "@babel/parser": "^7.26.3", 314 | "@babel/template": "^7.25.9", 315 | "@babel/types": "^7.26.3", 316 | "debug": "^4.3.1", 317 | "globals": "^11.1.0" 318 | }, 319 | "engines": { 320 | "node": ">=6.9.0" 321 | } 322 | }, 323 | "node_modules/@babel/types": { 324 | "version": "7.26.3", 325 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz", 326 | "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==", 327 | "dev": true, 328 | "license": "MIT", 329 | "dependencies": { 330 | "@babel/helper-string-parser": "^7.25.9", 331 | "@babel/helper-validator-identifier": "^7.25.9" 332 | }, 333 | "engines": { 334 | "node": ">=6.9.0" 335 | } 336 | }, 337 | "node_modules/@csstools/postcss-cascade-layers": { 338 | "version": "1.1.1", 339 | "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", 340 | "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", 341 | "dev": true, 342 | "license": "CC0-1.0", 343 | "dependencies": { 344 | "@csstools/selector-specificity": "^2.0.2", 345 | "postcss-selector-parser": "^6.0.10" 346 | }, 347 | "engines": { 348 | "node": "^12 || ^14 || >=16" 349 | }, 350 | "funding": { 351 | "type": "opencollective", 352 | "url": "https://opencollective.com/csstools" 353 | }, 354 | "peerDependencies": { 355 | "postcss": "^8.2" 356 | } 357 | }, 358 | "node_modules/@csstools/postcss-cascade-layers/node_modules/@csstools/selector-specificity": { 359 | "version": "2.2.0", 360 | "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", 361 | "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", 362 | "dev": true, 363 | "license": "CC0-1.0", 364 | "engines": { 365 | "node": "^14 || ^16 || >=18" 366 | }, 367 | "funding": { 368 | "type": "opencollective", 369 | "url": "https://opencollective.com/csstools" 370 | }, 371 | "peerDependencies": { 372 | "postcss-selector-parser": "^6.0.10" 373 | } 374 | }, 375 | "node_modules/@csstools/postcss-color-function": { 376 | "version": "1.1.1", 377 | "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", 378 | "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", 379 | "dev": true, 380 | "license": "CC0-1.0", 381 | "dependencies": { 382 | "@csstools/postcss-progressive-custom-properties": "^1.1.0", 383 | "postcss-value-parser": "^4.2.0" 384 | }, 385 | "engines": { 386 | "node": "^12 || ^14 || >=16" 387 | }, 388 | "funding": { 389 | "type": "opencollective", 390 | "url": "https://opencollective.com/csstools" 391 | }, 392 | "peerDependencies": { 393 | "postcss": "^8.2" 394 | } 395 | }, 396 | "node_modules/@csstools/postcss-font-format-keywords": { 397 | "version": "1.0.1", 398 | "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", 399 | "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", 400 | "dev": true, 401 | "license": "CC0-1.0", 402 | "dependencies": { 403 | "postcss-value-parser": "^4.2.0" 404 | }, 405 | "engines": { 406 | "node": "^12 || ^14 || >=16" 407 | }, 408 | "funding": { 409 | "type": "opencollective", 410 | "url": "https://opencollective.com/csstools" 411 | }, 412 | "peerDependencies": { 413 | "postcss": "^8.2" 414 | } 415 | }, 416 | "node_modules/@csstools/postcss-hwb-function": { 417 | "version": "1.0.2", 418 | "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", 419 | "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", 420 | "dev": true, 421 | "license": "CC0-1.0", 422 | "dependencies": { 423 | "postcss-value-parser": "^4.2.0" 424 | }, 425 | "engines": { 426 | "node": "^12 || ^14 || >=16" 427 | }, 428 | "funding": { 429 | "type": "opencollective", 430 | "url": "https://opencollective.com/csstools" 431 | }, 432 | "peerDependencies": { 433 | "postcss": "^8.2" 434 | } 435 | }, 436 | "node_modules/@csstools/postcss-ic-unit": { 437 | "version": "1.0.1", 438 | "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", 439 | "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", 440 | "dev": true, 441 | "license": "CC0-1.0", 442 | "dependencies": { 443 | "@csstools/postcss-progressive-custom-properties": "^1.1.0", 444 | "postcss-value-parser": "^4.2.0" 445 | }, 446 | "engines": { 447 | "node": "^12 || ^14 || >=16" 448 | }, 449 | "funding": { 450 | "type": "opencollective", 451 | "url": "https://opencollective.com/csstools" 452 | }, 453 | "peerDependencies": { 454 | "postcss": "^8.2" 455 | } 456 | }, 457 | "node_modules/@csstools/postcss-is-pseudo-class": { 458 | "version": "2.0.7", 459 | "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", 460 | "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", 461 | "dev": true, 462 | "license": "CC0-1.0", 463 | "dependencies": { 464 | "@csstools/selector-specificity": "^2.0.0", 465 | "postcss-selector-parser": "^6.0.10" 466 | }, 467 | "engines": { 468 | "node": "^12 || ^14 || >=16" 469 | }, 470 | "funding": { 471 | "type": "opencollective", 472 | "url": "https://opencollective.com/csstools" 473 | }, 474 | "peerDependencies": { 475 | "postcss": "^8.2" 476 | } 477 | }, 478 | "node_modules/@csstools/postcss-is-pseudo-class/node_modules/@csstools/selector-specificity": { 479 | "version": "2.2.0", 480 | "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", 481 | "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", 482 | "dev": true, 483 | "license": "CC0-1.0", 484 | "engines": { 485 | "node": "^14 || ^16 || >=18" 486 | }, 487 | "funding": { 488 | "type": "opencollective", 489 | "url": "https://opencollective.com/csstools" 490 | }, 491 | "peerDependencies": { 492 | "postcss-selector-parser": "^6.0.10" 493 | } 494 | }, 495 | "node_modules/@csstools/postcss-nested-calc": { 496 | "version": "1.0.0", 497 | "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", 498 | "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", 499 | "dev": true, 500 | "license": "CC0-1.0", 501 | "dependencies": { 502 | "postcss-value-parser": "^4.2.0" 503 | }, 504 | "engines": { 505 | "node": "^12 || ^14 || >=16" 506 | }, 507 | "funding": { 508 | "type": "opencollective", 509 | "url": "https://opencollective.com/csstools" 510 | }, 511 | "peerDependencies": { 512 | "postcss": "^8.2" 513 | } 514 | }, 515 | "node_modules/@csstools/postcss-normalize-display-values": { 516 | "version": "1.0.1", 517 | "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", 518 | "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", 519 | "dev": true, 520 | "license": "CC0-1.0", 521 | "dependencies": { 522 | "postcss-value-parser": "^4.2.0" 523 | }, 524 | "engines": { 525 | "node": "^12 || ^14 || >=16" 526 | }, 527 | "funding": { 528 | "type": "opencollective", 529 | "url": "https://opencollective.com/csstools" 530 | }, 531 | "peerDependencies": { 532 | "postcss": "^8.2" 533 | } 534 | }, 535 | "node_modules/@csstools/postcss-oklab-function": { 536 | "version": "1.1.1", 537 | "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", 538 | "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", 539 | "dev": true, 540 | "license": "CC0-1.0", 541 | "dependencies": { 542 | "@csstools/postcss-progressive-custom-properties": "^1.1.0", 543 | "postcss-value-parser": "^4.2.0" 544 | }, 545 | "engines": { 546 | "node": "^12 || ^14 || >=16" 547 | }, 548 | "funding": { 549 | "type": "opencollective", 550 | "url": "https://opencollective.com/csstools" 551 | }, 552 | "peerDependencies": { 553 | "postcss": "^8.2" 554 | } 555 | }, 556 | "node_modules/@csstools/postcss-progressive-custom-properties": { 557 | "version": "1.3.0", 558 | "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", 559 | "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", 560 | "dev": true, 561 | "license": "CC0-1.0", 562 | "dependencies": { 563 | "postcss-value-parser": "^4.2.0" 564 | }, 565 | "engines": { 566 | "node": "^12 || ^14 || >=16" 567 | }, 568 | "peerDependencies": { 569 | "postcss": "^8.3" 570 | } 571 | }, 572 | "node_modules/@csstools/postcss-stepped-value-functions": { 573 | "version": "1.0.1", 574 | "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", 575 | "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", 576 | "dev": true, 577 | "license": "CC0-1.0", 578 | "dependencies": { 579 | "postcss-value-parser": "^4.2.0" 580 | }, 581 | "engines": { 582 | "node": "^12 || ^14 || >=16" 583 | }, 584 | "funding": { 585 | "type": "opencollective", 586 | "url": "https://opencollective.com/csstools" 587 | }, 588 | "peerDependencies": { 589 | "postcss": "^8.2" 590 | } 591 | }, 592 | "node_modules/@csstools/postcss-text-decoration-shorthand": { 593 | "version": "1.0.0", 594 | "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", 595 | "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", 596 | "dev": true, 597 | "license": "CC0-1.0", 598 | "dependencies": { 599 | "postcss-value-parser": "^4.2.0" 600 | }, 601 | "engines": { 602 | "node": "^12 || ^14 || >=16" 603 | }, 604 | "funding": { 605 | "type": "opencollective", 606 | "url": "https://opencollective.com/csstools" 607 | }, 608 | "peerDependencies": { 609 | "postcss": "^8.2" 610 | } 611 | }, 612 | "node_modules/@csstools/postcss-trigonometric-functions": { 613 | "version": "1.0.2", 614 | "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", 615 | "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", 616 | "dev": true, 617 | "license": "CC0-1.0", 618 | "dependencies": { 619 | "postcss-value-parser": "^4.2.0" 620 | }, 621 | "engines": { 622 | "node": "^14 || >=16" 623 | }, 624 | "funding": { 625 | "type": "opencollective", 626 | "url": "https://opencollective.com/csstools" 627 | }, 628 | "peerDependencies": { 629 | "postcss": "^8.2" 630 | } 631 | }, 632 | "node_modules/@csstools/postcss-unset-value": { 633 | "version": "1.0.2", 634 | "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", 635 | "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", 636 | "dev": true, 637 | "license": "CC0-1.0", 638 | "engines": { 639 | "node": "^12 || ^14 || >=16" 640 | }, 641 | "funding": { 642 | "type": "opencollective", 643 | "url": "https://opencollective.com/csstools" 644 | }, 645 | "peerDependencies": { 646 | "postcss": "^8.2" 647 | } 648 | }, 649 | "node_modules/@csstools/selector-resolve-nested": { 650 | "version": "1.1.0", 651 | "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-1.1.0.tgz", 652 | "integrity": "sha512-uWvSaeRcHyeNenKg8tp17EVDRkpflmdyvbE0DHo6D/GdBb6PDnCYYU6gRpXhtICMGMcahQmj2zGxwFM/WC8hCg==", 653 | "dev": true, 654 | "funding": [ 655 | { 656 | "type": "github", 657 | "url": "https://github.com/sponsors/csstools" 658 | }, 659 | { 660 | "type": "opencollective", 661 | "url": "https://opencollective.com/csstools" 662 | } 663 | ], 664 | "license": "MIT-0", 665 | "engines": { 666 | "node": "^14 || ^16 || >=18" 667 | }, 668 | "peerDependencies": { 669 | "postcss-selector-parser": "^6.0.13" 670 | } 671 | }, 672 | "node_modules/@csstools/selector-specificity": { 673 | "version": "3.1.1", 674 | "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.1.1.tgz", 675 | "integrity": "sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==", 676 | "dev": true, 677 | "funding": [ 678 | { 679 | "type": "github", 680 | "url": "https://github.com/sponsors/csstools" 681 | }, 682 | { 683 | "type": "opencollective", 684 | "url": "https://opencollective.com/csstools" 685 | } 686 | ], 687 | "license": "MIT-0", 688 | "engines": { 689 | "node": "^14 || ^16 || >=18" 690 | }, 691 | "peerDependencies": { 692 | "postcss-selector-parser": "^6.0.13" 693 | } 694 | }, 695 | "node_modules/@esbuild/aix-ppc64": { 696 | "version": "0.21.5", 697 | "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", 698 | "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", 699 | "cpu": [ 700 | "ppc64" 701 | ], 702 | "dev": true, 703 | "license": "MIT", 704 | "optional": true, 705 | "os": [ 706 | "aix" 707 | ], 708 | "engines": { 709 | "node": ">=12" 710 | } 711 | }, 712 | "node_modules/@esbuild/android-arm": { 713 | "version": "0.21.5", 714 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", 715 | "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", 716 | "cpu": [ 717 | "arm" 718 | ], 719 | "dev": true, 720 | "license": "MIT", 721 | "optional": true, 722 | "os": [ 723 | "android" 724 | ], 725 | "engines": { 726 | "node": ">=12" 727 | } 728 | }, 729 | "node_modules/@esbuild/android-arm64": { 730 | "version": "0.21.5", 731 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", 732 | "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", 733 | "cpu": [ 734 | "arm64" 735 | ], 736 | "dev": true, 737 | "license": "MIT", 738 | "optional": true, 739 | "os": [ 740 | "android" 741 | ], 742 | "engines": { 743 | "node": ">=12" 744 | } 745 | }, 746 | "node_modules/@esbuild/android-x64": { 747 | "version": "0.21.5", 748 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", 749 | "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", 750 | "cpu": [ 751 | "x64" 752 | ], 753 | "dev": true, 754 | "license": "MIT", 755 | "optional": true, 756 | "os": [ 757 | "android" 758 | ], 759 | "engines": { 760 | "node": ">=12" 761 | } 762 | }, 763 | "node_modules/@esbuild/darwin-arm64": { 764 | "version": "0.21.5", 765 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", 766 | "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", 767 | "cpu": [ 768 | "arm64" 769 | ], 770 | "dev": true, 771 | "license": "MIT", 772 | "optional": true, 773 | "os": [ 774 | "darwin" 775 | ], 776 | "engines": { 777 | "node": ">=12" 778 | } 779 | }, 780 | "node_modules/@esbuild/darwin-x64": { 781 | "version": "0.21.5", 782 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", 783 | "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", 784 | "cpu": [ 785 | "x64" 786 | ], 787 | "dev": true, 788 | "license": "MIT", 789 | "optional": true, 790 | "os": [ 791 | "darwin" 792 | ], 793 | "engines": { 794 | "node": ">=12" 795 | } 796 | }, 797 | "node_modules/@esbuild/freebsd-arm64": { 798 | "version": "0.21.5", 799 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", 800 | "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", 801 | "cpu": [ 802 | "arm64" 803 | ], 804 | "dev": true, 805 | "license": "MIT", 806 | "optional": true, 807 | "os": [ 808 | "freebsd" 809 | ], 810 | "engines": { 811 | "node": ">=12" 812 | } 813 | }, 814 | "node_modules/@esbuild/freebsd-x64": { 815 | "version": "0.21.5", 816 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", 817 | "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", 818 | "cpu": [ 819 | "x64" 820 | ], 821 | "dev": true, 822 | "license": "MIT", 823 | "optional": true, 824 | "os": [ 825 | "freebsd" 826 | ], 827 | "engines": { 828 | "node": ">=12" 829 | } 830 | }, 831 | "node_modules/@esbuild/linux-arm": { 832 | "version": "0.21.5", 833 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", 834 | "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", 835 | "cpu": [ 836 | "arm" 837 | ], 838 | "dev": true, 839 | "license": "MIT", 840 | "optional": true, 841 | "os": [ 842 | "linux" 843 | ], 844 | "engines": { 845 | "node": ">=12" 846 | } 847 | }, 848 | "node_modules/@esbuild/linux-arm64": { 849 | "version": "0.21.5", 850 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", 851 | "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", 852 | "cpu": [ 853 | "arm64" 854 | ], 855 | "dev": true, 856 | "license": "MIT", 857 | "optional": true, 858 | "os": [ 859 | "linux" 860 | ], 861 | "engines": { 862 | "node": ">=12" 863 | } 864 | }, 865 | "node_modules/@esbuild/linux-ia32": { 866 | "version": "0.21.5", 867 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", 868 | "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", 869 | "cpu": [ 870 | "ia32" 871 | ], 872 | "dev": true, 873 | "license": "MIT", 874 | "optional": true, 875 | "os": [ 876 | "linux" 877 | ], 878 | "engines": { 879 | "node": ">=12" 880 | } 881 | }, 882 | "node_modules/@esbuild/linux-loong64": { 883 | "version": "0.21.5", 884 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", 885 | "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", 886 | "cpu": [ 887 | "loong64" 888 | ], 889 | "dev": true, 890 | "license": "MIT", 891 | "optional": true, 892 | "os": [ 893 | "linux" 894 | ], 895 | "engines": { 896 | "node": ">=12" 897 | } 898 | }, 899 | "node_modules/@esbuild/linux-mips64el": { 900 | "version": "0.21.5", 901 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", 902 | "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", 903 | "cpu": [ 904 | "mips64el" 905 | ], 906 | "dev": true, 907 | "license": "MIT", 908 | "optional": true, 909 | "os": [ 910 | "linux" 911 | ], 912 | "engines": { 913 | "node": ">=12" 914 | } 915 | }, 916 | "node_modules/@esbuild/linux-ppc64": { 917 | "version": "0.21.5", 918 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", 919 | "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", 920 | "cpu": [ 921 | "ppc64" 922 | ], 923 | "dev": true, 924 | "license": "MIT", 925 | "optional": true, 926 | "os": [ 927 | "linux" 928 | ], 929 | "engines": { 930 | "node": ">=12" 931 | } 932 | }, 933 | "node_modules/@esbuild/linux-riscv64": { 934 | "version": "0.21.5", 935 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", 936 | "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", 937 | "cpu": [ 938 | "riscv64" 939 | ], 940 | "dev": true, 941 | "license": "MIT", 942 | "optional": true, 943 | "os": [ 944 | "linux" 945 | ], 946 | "engines": { 947 | "node": ">=12" 948 | } 949 | }, 950 | "node_modules/@esbuild/linux-s390x": { 951 | "version": "0.21.5", 952 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", 953 | "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", 954 | "cpu": [ 955 | "s390x" 956 | ], 957 | "dev": true, 958 | "license": "MIT", 959 | "optional": true, 960 | "os": [ 961 | "linux" 962 | ], 963 | "engines": { 964 | "node": ">=12" 965 | } 966 | }, 967 | "node_modules/@esbuild/linux-x64": { 968 | "version": "0.21.5", 969 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", 970 | "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", 971 | "cpu": [ 972 | "x64" 973 | ], 974 | "dev": true, 975 | "license": "MIT", 976 | "optional": true, 977 | "os": [ 978 | "linux" 979 | ], 980 | "engines": { 981 | "node": ">=12" 982 | } 983 | }, 984 | "node_modules/@esbuild/netbsd-x64": { 985 | "version": "0.21.5", 986 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", 987 | "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", 988 | "cpu": [ 989 | "x64" 990 | ], 991 | "dev": true, 992 | "license": "MIT", 993 | "optional": true, 994 | "os": [ 995 | "netbsd" 996 | ], 997 | "engines": { 998 | "node": ">=12" 999 | } 1000 | }, 1001 | "node_modules/@esbuild/openbsd-x64": { 1002 | "version": "0.21.5", 1003 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", 1004 | "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", 1005 | "cpu": [ 1006 | "x64" 1007 | ], 1008 | "dev": true, 1009 | "license": "MIT", 1010 | "optional": true, 1011 | "os": [ 1012 | "openbsd" 1013 | ], 1014 | "engines": { 1015 | "node": ">=12" 1016 | } 1017 | }, 1018 | "node_modules/@esbuild/sunos-x64": { 1019 | "version": "0.21.5", 1020 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", 1021 | "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", 1022 | "cpu": [ 1023 | "x64" 1024 | ], 1025 | "dev": true, 1026 | "license": "MIT", 1027 | "optional": true, 1028 | "os": [ 1029 | "sunos" 1030 | ], 1031 | "engines": { 1032 | "node": ">=12" 1033 | } 1034 | }, 1035 | "node_modules/@esbuild/win32-arm64": { 1036 | "version": "0.21.5", 1037 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", 1038 | "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", 1039 | "cpu": [ 1040 | "arm64" 1041 | ], 1042 | "dev": true, 1043 | "license": "MIT", 1044 | "optional": true, 1045 | "os": [ 1046 | "win32" 1047 | ], 1048 | "engines": { 1049 | "node": ">=12" 1050 | } 1051 | }, 1052 | "node_modules/@esbuild/win32-ia32": { 1053 | "version": "0.21.5", 1054 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", 1055 | "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", 1056 | "cpu": [ 1057 | "ia32" 1058 | ], 1059 | "dev": true, 1060 | "license": "MIT", 1061 | "optional": true, 1062 | "os": [ 1063 | "win32" 1064 | ], 1065 | "engines": { 1066 | "node": ">=12" 1067 | } 1068 | }, 1069 | "node_modules/@esbuild/win32-x64": { 1070 | "version": "0.21.5", 1071 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", 1072 | "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", 1073 | "cpu": [ 1074 | "x64" 1075 | ], 1076 | "dev": true, 1077 | "license": "MIT", 1078 | "optional": true, 1079 | "os": [ 1080 | "win32" 1081 | ], 1082 | "engines": { 1083 | "node": ">=12" 1084 | } 1085 | }, 1086 | "node_modules/@isaacs/cliui": { 1087 | "version": "8.0.2", 1088 | "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", 1089 | "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", 1090 | "dev": true, 1091 | "license": "ISC", 1092 | "dependencies": { 1093 | "string-width": "^5.1.2", 1094 | "string-width-cjs": "npm:string-width@^4.2.0", 1095 | "strip-ansi": "^7.0.1", 1096 | "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", 1097 | "wrap-ansi": "^8.1.0", 1098 | "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" 1099 | }, 1100 | "engines": { 1101 | "node": ">=12" 1102 | } 1103 | }, 1104 | "node_modules/@jridgewell/gen-mapping": { 1105 | "version": "0.3.8", 1106 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", 1107 | "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", 1108 | "dev": true, 1109 | "license": "MIT", 1110 | "dependencies": { 1111 | "@jridgewell/set-array": "^1.2.1", 1112 | "@jridgewell/sourcemap-codec": "^1.4.10", 1113 | "@jridgewell/trace-mapping": "^0.3.24" 1114 | }, 1115 | "engines": { 1116 | "node": ">=6.0.0" 1117 | } 1118 | }, 1119 | "node_modules/@jridgewell/resolve-uri": { 1120 | "version": "3.1.2", 1121 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 1122 | "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 1123 | "dev": true, 1124 | "license": "MIT", 1125 | "engines": { 1126 | "node": ">=6.0.0" 1127 | } 1128 | }, 1129 | "node_modules/@jridgewell/set-array": { 1130 | "version": "1.2.1", 1131 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", 1132 | "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", 1133 | "dev": true, 1134 | "license": "MIT", 1135 | "engines": { 1136 | "node": ">=6.0.0" 1137 | } 1138 | }, 1139 | "node_modules/@jridgewell/sourcemap-codec": { 1140 | "version": "1.5.0", 1141 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", 1142 | "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", 1143 | "dev": true, 1144 | "license": "MIT" 1145 | }, 1146 | "node_modules/@jridgewell/trace-mapping": { 1147 | "version": "0.3.25", 1148 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", 1149 | "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", 1150 | "dev": true, 1151 | "license": "MIT", 1152 | "dependencies": { 1153 | "@jridgewell/resolve-uri": "^3.1.0", 1154 | "@jridgewell/sourcemap-codec": "^1.4.14" 1155 | } 1156 | }, 1157 | "node_modules/@nodelib/fs.scandir": { 1158 | "version": "2.1.5", 1159 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 1160 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 1161 | "dev": true, 1162 | "license": "MIT", 1163 | "dependencies": { 1164 | "@nodelib/fs.stat": "2.0.5", 1165 | "run-parallel": "^1.1.9" 1166 | }, 1167 | "engines": { 1168 | "node": ">= 8" 1169 | } 1170 | }, 1171 | "node_modules/@nodelib/fs.stat": { 1172 | "version": "2.0.5", 1173 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 1174 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 1175 | "dev": true, 1176 | "license": "MIT", 1177 | "engines": { 1178 | "node": ">= 8" 1179 | } 1180 | }, 1181 | "node_modules/@nodelib/fs.walk": { 1182 | "version": "1.2.8", 1183 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 1184 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 1185 | "dev": true, 1186 | "license": "MIT", 1187 | "dependencies": { 1188 | "@nodelib/fs.scandir": "2.1.5", 1189 | "fastq": "^1.6.0" 1190 | }, 1191 | "engines": { 1192 | "node": ">= 8" 1193 | } 1194 | }, 1195 | "node_modules/@pkgjs/parseargs": { 1196 | "version": "0.11.0", 1197 | "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", 1198 | "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", 1199 | "dev": true, 1200 | "license": "MIT", 1201 | "optional": true, 1202 | "engines": { 1203 | "node": ">=14" 1204 | } 1205 | }, 1206 | "node_modules/@remix-run/router": { 1207 | "version": "1.21.0", 1208 | "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.21.0.tgz", 1209 | "integrity": "sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA==", 1210 | "license": "MIT", 1211 | "engines": { 1212 | "node": ">=14.0.0" 1213 | } 1214 | }, 1215 | "node_modules/@rollup/rollup-android-arm-eabi": { 1216 | "version": "4.28.1", 1217 | "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.28.1.tgz", 1218 | "integrity": "sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==", 1219 | "cpu": [ 1220 | "arm" 1221 | ], 1222 | "dev": true, 1223 | "license": "MIT", 1224 | "optional": true, 1225 | "os": [ 1226 | "android" 1227 | ] 1228 | }, 1229 | "node_modules/@rollup/rollup-android-arm64": { 1230 | "version": "4.28.1", 1231 | "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.28.1.tgz", 1232 | "integrity": "sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==", 1233 | "cpu": [ 1234 | "arm64" 1235 | ], 1236 | "dev": true, 1237 | "license": "MIT", 1238 | "optional": true, 1239 | "os": [ 1240 | "android" 1241 | ] 1242 | }, 1243 | "node_modules/@rollup/rollup-darwin-arm64": { 1244 | "version": "4.28.1", 1245 | "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.28.1.tgz", 1246 | "integrity": "sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==", 1247 | "cpu": [ 1248 | "arm64" 1249 | ], 1250 | "dev": true, 1251 | "license": "MIT", 1252 | "optional": true, 1253 | "os": [ 1254 | "darwin" 1255 | ] 1256 | }, 1257 | "node_modules/@rollup/rollup-darwin-x64": { 1258 | "version": "4.28.1", 1259 | "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.28.1.tgz", 1260 | "integrity": "sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==", 1261 | "cpu": [ 1262 | "x64" 1263 | ], 1264 | "dev": true, 1265 | "license": "MIT", 1266 | "optional": true, 1267 | "os": [ 1268 | "darwin" 1269 | ] 1270 | }, 1271 | "node_modules/@rollup/rollup-freebsd-arm64": { 1272 | "version": "4.28.1", 1273 | "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.28.1.tgz", 1274 | "integrity": "sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA==", 1275 | "cpu": [ 1276 | "arm64" 1277 | ], 1278 | "dev": true, 1279 | "license": "MIT", 1280 | "optional": true, 1281 | "os": [ 1282 | "freebsd" 1283 | ] 1284 | }, 1285 | "node_modules/@rollup/rollup-freebsd-x64": { 1286 | "version": "4.28.1", 1287 | "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.28.1.tgz", 1288 | "integrity": "sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ==", 1289 | "cpu": [ 1290 | "x64" 1291 | ], 1292 | "dev": true, 1293 | "license": "MIT", 1294 | "optional": true, 1295 | "os": [ 1296 | "freebsd" 1297 | ] 1298 | }, 1299 | "node_modules/@rollup/rollup-linux-arm-gnueabihf": { 1300 | "version": "4.28.1", 1301 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.28.1.tgz", 1302 | "integrity": "sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==", 1303 | "cpu": [ 1304 | "arm" 1305 | ], 1306 | "dev": true, 1307 | "license": "MIT", 1308 | "optional": true, 1309 | "os": [ 1310 | "linux" 1311 | ] 1312 | }, 1313 | "node_modules/@rollup/rollup-linux-arm-musleabihf": { 1314 | "version": "4.28.1", 1315 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.28.1.tgz", 1316 | "integrity": "sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==", 1317 | "cpu": [ 1318 | "arm" 1319 | ], 1320 | "dev": true, 1321 | "license": "MIT", 1322 | "optional": true, 1323 | "os": [ 1324 | "linux" 1325 | ] 1326 | }, 1327 | "node_modules/@rollup/rollup-linux-arm64-gnu": { 1328 | "version": "4.28.1", 1329 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.28.1.tgz", 1330 | "integrity": "sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==", 1331 | "cpu": [ 1332 | "arm64" 1333 | ], 1334 | "dev": true, 1335 | "license": "MIT", 1336 | "optional": true, 1337 | "os": [ 1338 | "linux" 1339 | ] 1340 | }, 1341 | "node_modules/@rollup/rollup-linux-arm64-musl": { 1342 | "version": "4.28.1", 1343 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.28.1.tgz", 1344 | "integrity": "sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==", 1345 | "cpu": [ 1346 | "arm64" 1347 | ], 1348 | "dev": true, 1349 | "license": "MIT", 1350 | "optional": true, 1351 | "os": [ 1352 | "linux" 1353 | ] 1354 | }, 1355 | "node_modules/@rollup/rollup-linux-loongarch64-gnu": { 1356 | "version": "4.28.1", 1357 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.28.1.tgz", 1358 | "integrity": "sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA==", 1359 | "cpu": [ 1360 | "loong64" 1361 | ], 1362 | "dev": true, 1363 | "license": "MIT", 1364 | "optional": true, 1365 | "os": [ 1366 | "linux" 1367 | ] 1368 | }, 1369 | "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { 1370 | "version": "4.28.1", 1371 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.28.1.tgz", 1372 | "integrity": "sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==", 1373 | "cpu": [ 1374 | "ppc64" 1375 | ], 1376 | "dev": true, 1377 | "license": "MIT", 1378 | "optional": true, 1379 | "os": [ 1380 | "linux" 1381 | ] 1382 | }, 1383 | "node_modules/@rollup/rollup-linux-riscv64-gnu": { 1384 | "version": "4.28.1", 1385 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.28.1.tgz", 1386 | "integrity": "sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==", 1387 | "cpu": [ 1388 | "riscv64" 1389 | ], 1390 | "dev": true, 1391 | "license": "MIT", 1392 | "optional": true, 1393 | "os": [ 1394 | "linux" 1395 | ] 1396 | }, 1397 | "node_modules/@rollup/rollup-linux-s390x-gnu": { 1398 | "version": "4.28.1", 1399 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.28.1.tgz", 1400 | "integrity": "sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==", 1401 | "cpu": [ 1402 | "s390x" 1403 | ], 1404 | "dev": true, 1405 | "license": "MIT", 1406 | "optional": true, 1407 | "os": [ 1408 | "linux" 1409 | ] 1410 | }, 1411 | "node_modules/@rollup/rollup-linux-x64-gnu": { 1412 | "version": "4.28.1", 1413 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.28.1.tgz", 1414 | "integrity": "sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==", 1415 | "cpu": [ 1416 | "x64" 1417 | ], 1418 | "dev": true, 1419 | "license": "MIT", 1420 | "optional": true, 1421 | "os": [ 1422 | "linux" 1423 | ] 1424 | }, 1425 | "node_modules/@rollup/rollup-linux-x64-musl": { 1426 | "version": "4.28.1", 1427 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.28.1.tgz", 1428 | "integrity": "sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==", 1429 | "cpu": [ 1430 | "x64" 1431 | ], 1432 | "dev": true, 1433 | "license": "MIT", 1434 | "optional": true, 1435 | "os": [ 1436 | "linux" 1437 | ] 1438 | }, 1439 | "node_modules/@rollup/rollup-win32-arm64-msvc": { 1440 | "version": "4.28.1", 1441 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.28.1.tgz", 1442 | "integrity": "sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==", 1443 | "cpu": [ 1444 | "arm64" 1445 | ], 1446 | "dev": true, 1447 | "license": "MIT", 1448 | "optional": true, 1449 | "os": [ 1450 | "win32" 1451 | ] 1452 | }, 1453 | "node_modules/@rollup/rollup-win32-ia32-msvc": { 1454 | "version": "4.28.1", 1455 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.28.1.tgz", 1456 | "integrity": "sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==", 1457 | "cpu": [ 1458 | "ia32" 1459 | ], 1460 | "dev": true, 1461 | "license": "MIT", 1462 | "optional": true, 1463 | "os": [ 1464 | "win32" 1465 | ] 1466 | }, 1467 | "node_modules/@rollup/rollup-win32-x64-msvc": { 1468 | "version": "4.28.1", 1469 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.28.1.tgz", 1470 | "integrity": "sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==", 1471 | "cpu": [ 1472 | "x64" 1473 | ], 1474 | "dev": true, 1475 | "license": "MIT", 1476 | "optional": true, 1477 | "os": [ 1478 | "win32" 1479 | ] 1480 | }, 1481 | "node_modules/@types/babel__core": { 1482 | "version": "7.20.5", 1483 | "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", 1484 | "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", 1485 | "dev": true, 1486 | "license": "MIT", 1487 | "dependencies": { 1488 | "@babel/parser": "^7.20.7", 1489 | "@babel/types": "^7.20.7", 1490 | "@types/babel__generator": "*", 1491 | "@types/babel__template": "*", 1492 | "@types/babel__traverse": "*" 1493 | } 1494 | }, 1495 | "node_modules/@types/babel__generator": { 1496 | "version": "7.6.8", 1497 | "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", 1498 | "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", 1499 | "dev": true, 1500 | "license": "MIT", 1501 | "dependencies": { 1502 | "@babel/types": "^7.0.0" 1503 | } 1504 | }, 1505 | "node_modules/@types/babel__template": { 1506 | "version": "7.4.4", 1507 | "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", 1508 | "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", 1509 | "dev": true, 1510 | "license": "MIT", 1511 | "dependencies": { 1512 | "@babel/parser": "^7.1.0", 1513 | "@babel/types": "^7.0.0" 1514 | } 1515 | }, 1516 | "node_modules/@types/babel__traverse": { 1517 | "version": "7.20.6", 1518 | "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", 1519 | "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", 1520 | "dev": true, 1521 | "license": "MIT", 1522 | "dependencies": { 1523 | "@babel/types": "^7.20.7" 1524 | } 1525 | }, 1526 | "node_modules/@types/estree": { 1527 | "version": "1.0.6", 1528 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", 1529 | "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", 1530 | "dev": true, 1531 | "license": "MIT" 1532 | }, 1533 | "node_modules/@vitejs/plugin-react": { 1534 | "version": "4.3.4", 1535 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", 1536 | "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==", 1537 | "dev": true, 1538 | "license": "MIT", 1539 | "dependencies": { 1540 | "@babel/core": "^7.26.0", 1541 | "@babel/plugin-transform-react-jsx-self": "^7.25.9", 1542 | "@babel/plugin-transform-react-jsx-source": "^7.25.9", 1543 | "@types/babel__core": "^7.20.5", 1544 | "react-refresh": "^0.14.2" 1545 | }, 1546 | "engines": { 1547 | "node": "^14.18.0 || >=16.0.0" 1548 | }, 1549 | "peerDependencies": { 1550 | "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" 1551 | } 1552 | }, 1553 | "node_modules/accepts": { 1554 | "version": "1.3.8", 1555 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", 1556 | "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", 1557 | "license": "MIT", 1558 | "dependencies": { 1559 | "mime-types": "~2.1.34", 1560 | "negotiator": "0.6.3" 1561 | }, 1562 | "engines": { 1563 | "node": ">= 0.6" 1564 | } 1565 | }, 1566 | "node_modules/ansi-regex": { 1567 | "version": "6.1.0", 1568 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", 1569 | "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", 1570 | "dev": true, 1571 | "license": "MIT", 1572 | "engines": { 1573 | "node": ">=12" 1574 | }, 1575 | "funding": { 1576 | "url": "https://github.com/chalk/ansi-regex?sponsor=1" 1577 | } 1578 | }, 1579 | "node_modules/ansi-styles": { 1580 | "version": "6.2.1", 1581 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", 1582 | "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", 1583 | "dev": true, 1584 | "license": "MIT", 1585 | "engines": { 1586 | "node": ">=12" 1587 | }, 1588 | "funding": { 1589 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 1590 | } 1591 | }, 1592 | "node_modules/any-promise": { 1593 | "version": "1.3.0", 1594 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 1595 | "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", 1596 | "dev": true, 1597 | "license": "MIT" 1598 | }, 1599 | "node_modules/anymatch": { 1600 | "version": "3.1.3", 1601 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 1602 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 1603 | "dev": true, 1604 | "license": "ISC", 1605 | "dependencies": { 1606 | "normalize-path": "^3.0.0", 1607 | "picomatch": "^2.0.4" 1608 | }, 1609 | "engines": { 1610 | "node": ">= 8" 1611 | } 1612 | }, 1613 | "node_modules/arg": { 1614 | "version": "5.0.2", 1615 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", 1616 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", 1617 | "dev": true, 1618 | "license": "MIT" 1619 | }, 1620 | "node_modules/array-flatten": { 1621 | "version": "1.1.1", 1622 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 1623 | "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", 1624 | "license": "MIT" 1625 | }, 1626 | "node_modules/autoprefixer": { 1627 | "version": "10.4.20", 1628 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", 1629 | "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", 1630 | "dev": true, 1631 | "funding": [ 1632 | { 1633 | "type": "opencollective", 1634 | "url": "https://opencollective.com/postcss/" 1635 | }, 1636 | { 1637 | "type": "tidelift", 1638 | "url": "https://tidelift.com/funding/github/npm/autoprefixer" 1639 | }, 1640 | { 1641 | "type": "github", 1642 | "url": "https://github.com/sponsors/ai" 1643 | } 1644 | ], 1645 | "license": "MIT", 1646 | "dependencies": { 1647 | "browserslist": "^4.23.3", 1648 | "caniuse-lite": "^1.0.30001646", 1649 | "fraction.js": "^4.3.7", 1650 | "normalize-range": "^0.1.2", 1651 | "picocolors": "^1.0.1", 1652 | "postcss-value-parser": "^4.2.0" 1653 | }, 1654 | "bin": { 1655 | "autoprefixer": "bin/autoprefixer" 1656 | }, 1657 | "engines": { 1658 | "node": "^10 || ^12 || >=14" 1659 | }, 1660 | "peerDependencies": { 1661 | "postcss": "^8.1.0" 1662 | } 1663 | }, 1664 | "node_modules/balanced-match": { 1665 | "version": "1.0.2", 1666 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1667 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 1668 | "dev": true, 1669 | "license": "MIT" 1670 | }, 1671 | "node_modules/binary-extensions": { 1672 | "version": "2.3.0", 1673 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", 1674 | "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", 1675 | "dev": true, 1676 | "license": "MIT", 1677 | "engines": { 1678 | "node": ">=8" 1679 | }, 1680 | "funding": { 1681 | "url": "https://github.com/sponsors/sindresorhus" 1682 | } 1683 | }, 1684 | "node_modules/body-parser": { 1685 | "version": "1.20.3", 1686 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", 1687 | "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", 1688 | "license": "MIT", 1689 | "dependencies": { 1690 | "bytes": "3.1.2", 1691 | "content-type": "~1.0.5", 1692 | "debug": "2.6.9", 1693 | "depd": "2.0.0", 1694 | "destroy": "1.2.0", 1695 | "http-errors": "2.0.0", 1696 | "iconv-lite": "0.4.24", 1697 | "on-finished": "2.4.1", 1698 | "qs": "6.13.0", 1699 | "raw-body": "2.5.2", 1700 | "type-is": "~1.6.18", 1701 | "unpipe": "1.0.0" 1702 | }, 1703 | "engines": { 1704 | "node": ">= 0.8", 1705 | "npm": "1.2.8000 || >= 1.4.16" 1706 | } 1707 | }, 1708 | "node_modules/body-parser/node_modules/debug": { 1709 | "version": "2.6.9", 1710 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 1711 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 1712 | "license": "MIT", 1713 | "dependencies": { 1714 | "ms": "2.0.0" 1715 | } 1716 | }, 1717 | "node_modules/body-parser/node_modules/ms": { 1718 | "version": "2.0.0", 1719 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1720 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", 1721 | "license": "MIT" 1722 | }, 1723 | "node_modules/brace-expansion": { 1724 | "version": "2.0.1", 1725 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 1726 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 1727 | "dev": true, 1728 | "license": "MIT", 1729 | "dependencies": { 1730 | "balanced-match": "^1.0.0" 1731 | } 1732 | }, 1733 | "node_modules/braces": { 1734 | "version": "3.0.3", 1735 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 1736 | "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 1737 | "dev": true, 1738 | "license": "MIT", 1739 | "dependencies": { 1740 | "fill-range": "^7.1.1" 1741 | }, 1742 | "engines": { 1743 | "node": ">=8" 1744 | } 1745 | }, 1746 | "node_modules/browserslist": { 1747 | "version": "4.24.3", 1748 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.3.tgz", 1749 | "integrity": "sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==", 1750 | "dev": true, 1751 | "funding": [ 1752 | { 1753 | "type": "opencollective", 1754 | "url": "https://opencollective.com/browserslist" 1755 | }, 1756 | { 1757 | "type": "tidelift", 1758 | "url": "https://tidelift.com/funding/github/npm/browserslist" 1759 | }, 1760 | { 1761 | "type": "github", 1762 | "url": "https://github.com/sponsors/ai" 1763 | } 1764 | ], 1765 | "license": "MIT", 1766 | "dependencies": { 1767 | "caniuse-lite": "^1.0.30001688", 1768 | "electron-to-chromium": "^1.5.73", 1769 | "node-releases": "^2.0.19", 1770 | "update-browserslist-db": "^1.1.1" 1771 | }, 1772 | "bin": { 1773 | "browserslist": "cli.js" 1774 | }, 1775 | "engines": { 1776 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 1777 | } 1778 | }, 1779 | "node_modules/bytes": { 1780 | "version": "3.1.2", 1781 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", 1782 | "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", 1783 | "license": "MIT", 1784 | "engines": { 1785 | "node": ">= 0.8" 1786 | } 1787 | }, 1788 | "node_modules/call-bind-apply-helpers": { 1789 | "version": "1.0.1", 1790 | "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", 1791 | "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", 1792 | "license": "MIT", 1793 | "dependencies": { 1794 | "es-errors": "^1.3.0", 1795 | "function-bind": "^1.1.2" 1796 | }, 1797 | "engines": { 1798 | "node": ">= 0.4" 1799 | } 1800 | }, 1801 | "node_modules/call-bound": { 1802 | "version": "1.0.3", 1803 | "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", 1804 | "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", 1805 | "license": "MIT", 1806 | "dependencies": { 1807 | "call-bind-apply-helpers": "^1.0.1", 1808 | "get-intrinsic": "^1.2.6" 1809 | }, 1810 | "engines": { 1811 | "node": ">= 0.4" 1812 | }, 1813 | "funding": { 1814 | "url": "https://github.com/sponsors/ljharb" 1815 | } 1816 | }, 1817 | "node_modules/camelcase-css": { 1818 | "version": "2.0.1", 1819 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 1820 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 1821 | "dev": true, 1822 | "license": "MIT", 1823 | "engines": { 1824 | "node": ">= 6" 1825 | } 1826 | }, 1827 | "node_modules/caniuse-lite": { 1828 | "version": "1.0.30001690", 1829 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz", 1830 | "integrity": "sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==", 1831 | "dev": true, 1832 | "funding": [ 1833 | { 1834 | "type": "opencollective", 1835 | "url": "https://opencollective.com/browserslist" 1836 | }, 1837 | { 1838 | "type": "tidelift", 1839 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 1840 | }, 1841 | { 1842 | "type": "github", 1843 | "url": "https://github.com/sponsors/ai" 1844 | } 1845 | ], 1846 | "license": "CC-BY-4.0" 1847 | }, 1848 | "node_modules/chokidar": { 1849 | "version": "3.6.0", 1850 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", 1851 | "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", 1852 | "dev": true, 1853 | "license": "MIT", 1854 | "dependencies": { 1855 | "anymatch": "~3.1.2", 1856 | "braces": "~3.0.2", 1857 | "glob-parent": "~5.1.2", 1858 | "is-binary-path": "~2.1.0", 1859 | "is-glob": "~4.0.1", 1860 | "normalize-path": "~3.0.0", 1861 | "readdirp": "~3.6.0" 1862 | }, 1863 | "engines": { 1864 | "node": ">= 8.10.0" 1865 | }, 1866 | "funding": { 1867 | "url": "https://paulmillr.com/funding/" 1868 | }, 1869 | "optionalDependencies": { 1870 | "fsevents": "~2.3.2" 1871 | } 1872 | }, 1873 | "node_modules/chokidar/node_modules/glob-parent": { 1874 | "version": "5.1.2", 1875 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1876 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1877 | "dev": true, 1878 | "license": "ISC", 1879 | "dependencies": { 1880 | "is-glob": "^4.0.1" 1881 | }, 1882 | "engines": { 1883 | "node": ">= 6" 1884 | } 1885 | }, 1886 | "node_modules/color-convert": { 1887 | "version": "2.0.1", 1888 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1889 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1890 | "dev": true, 1891 | "license": "MIT", 1892 | "dependencies": { 1893 | "color-name": "~1.1.4" 1894 | }, 1895 | "engines": { 1896 | "node": ">=7.0.0" 1897 | } 1898 | }, 1899 | "node_modules/color-name": { 1900 | "version": "1.1.4", 1901 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1902 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1903 | "dev": true, 1904 | "license": "MIT" 1905 | }, 1906 | "node_modules/commander": { 1907 | "version": "4.1.1", 1908 | "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 1909 | "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 1910 | "dev": true, 1911 | "license": "MIT", 1912 | "engines": { 1913 | "node": ">= 6" 1914 | } 1915 | }, 1916 | "node_modules/content-disposition": { 1917 | "version": "0.5.4", 1918 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", 1919 | "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", 1920 | "license": "MIT", 1921 | "dependencies": { 1922 | "safe-buffer": "5.2.1" 1923 | }, 1924 | "engines": { 1925 | "node": ">= 0.6" 1926 | } 1927 | }, 1928 | "node_modules/content-type": { 1929 | "version": "1.0.5", 1930 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", 1931 | "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", 1932 | "license": "MIT", 1933 | "engines": { 1934 | "node": ">= 0.6" 1935 | } 1936 | }, 1937 | "node_modules/convert-source-map": { 1938 | "version": "2.0.0", 1939 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", 1940 | "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", 1941 | "dev": true, 1942 | "license": "MIT" 1943 | }, 1944 | "node_modules/cookie-signature": { 1945 | "version": "1.0.6", 1946 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 1947 | "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", 1948 | "license": "MIT" 1949 | }, 1950 | "node_modules/cross-spawn": { 1951 | "version": "7.0.6", 1952 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", 1953 | "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", 1954 | "dev": true, 1955 | "license": "MIT", 1956 | "dependencies": { 1957 | "path-key": "^3.1.0", 1958 | "shebang-command": "^2.0.0", 1959 | "which": "^2.0.1" 1960 | }, 1961 | "engines": { 1962 | "node": ">= 8" 1963 | } 1964 | }, 1965 | "node_modules/css-blank-pseudo": { 1966 | "version": "3.0.3", 1967 | "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", 1968 | "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", 1969 | "dev": true, 1970 | "license": "CC0-1.0", 1971 | "dependencies": { 1972 | "postcss-selector-parser": "^6.0.9" 1973 | }, 1974 | "bin": { 1975 | "css-blank-pseudo": "dist/cli.cjs" 1976 | }, 1977 | "engines": { 1978 | "node": "^12 || ^14 || >=16" 1979 | }, 1980 | "peerDependencies": { 1981 | "postcss": "^8.4" 1982 | } 1983 | }, 1984 | "node_modules/css-has-pseudo": { 1985 | "version": "3.0.4", 1986 | "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", 1987 | "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", 1988 | "dev": true, 1989 | "license": "CC0-1.0", 1990 | "dependencies": { 1991 | "postcss-selector-parser": "^6.0.9" 1992 | }, 1993 | "bin": { 1994 | "css-has-pseudo": "dist/cli.cjs" 1995 | }, 1996 | "engines": { 1997 | "node": "^12 || ^14 || >=16" 1998 | }, 1999 | "peerDependencies": { 2000 | "postcss": "^8.4" 2001 | } 2002 | }, 2003 | "node_modules/css-prefers-color-scheme": { 2004 | "version": "6.0.3", 2005 | "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", 2006 | "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", 2007 | "dev": true, 2008 | "license": "CC0-1.0", 2009 | "bin": { 2010 | "css-prefers-color-scheme": "dist/cli.cjs" 2011 | }, 2012 | "engines": { 2013 | "node": "^12 || ^14 || >=16" 2014 | }, 2015 | "peerDependencies": { 2016 | "postcss": "^8.4" 2017 | } 2018 | }, 2019 | "node_modules/cssdb": { 2020 | "version": "7.11.2", 2021 | "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.11.2.tgz", 2022 | "integrity": "sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A==", 2023 | "dev": true, 2024 | "funding": [ 2025 | { 2026 | "type": "opencollective", 2027 | "url": "https://opencollective.com/csstools" 2028 | }, 2029 | { 2030 | "type": "github", 2031 | "url": "https://github.com/sponsors/csstools" 2032 | } 2033 | ], 2034 | "license": "CC0-1.0" 2035 | }, 2036 | "node_modules/cssesc": { 2037 | "version": "3.0.0", 2038 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 2039 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 2040 | "dev": true, 2041 | "license": "MIT", 2042 | "bin": { 2043 | "cssesc": "bin/cssesc" 2044 | }, 2045 | "engines": { 2046 | "node": ">=4" 2047 | } 2048 | }, 2049 | "node_modules/debug": { 2050 | "version": "4.4.0", 2051 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", 2052 | "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", 2053 | "dev": true, 2054 | "license": "MIT", 2055 | "dependencies": { 2056 | "ms": "^2.1.3" 2057 | }, 2058 | "engines": { 2059 | "node": ">=6.0" 2060 | }, 2061 | "peerDependenciesMeta": { 2062 | "supports-color": { 2063 | "optional": true 2064 | } 2065 | } 2066 | }, 2067 | "node_modules/depd": { 2068 | "version": "2.0.0", 2069 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", 2070 | "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", 2071 | "license": "MIT", 2072 | "engines": { 2073 | "node": ">= 0.8" 2074 | } 2075 | }, 2076 | "node_modules/destroy": { 2077 | "version": "1.2.0", 2078 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", 2079 | "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", 2080 | "license": "MIT", 2081 | "engines": { 2082 | "node": ">= 0.8", 2083 | "npm": "1.2.8000 || >= 1.4.16" 2084 | } 2085 | }, 2086 | "node_modules/didyoumean": { 2087 | "version": "1.2.2", 2088 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 2089 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", 2090 | "dev": true, 2091 | "license": "Apache-2.0" 2092 | }, 2093 | "node_modules/dlv": { 2094 | "version": "1.1.3", 2095 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 2096 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", 2097 | "dev": true, 2098 | "license": "MIT" 2099 | }, 2100 | "node_modules/dotenv": { 2101 | "version": "16.4.7", 2102 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", 2103 | "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", 2104 | "license": "BSD-2-Clause", 2105 | "engines": { 2106 | "node": ">=12" 2107 | }, 2108 | "funding": { 2109 | "url": "https://dotenvx.com" 2110 | } 2111 | }, 2112 | "node_modules/dunder-proto": { 2113 | "version": "1.0.1", 2114 | "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", 2115 | "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", 2116 | "license": "MIT", 2117 | "dependencies": { 2118 | "call-bind-apply-helpers": "^1.0.1", 2119 | "es-errors": "^1.3.0", 2120 | "gopd": "^1.2.0" 2121 | }, 2122 | "engines": { 2123 | "node": ">= 0.4" 2124 | } 2125 | }, 2126 | "node_modules/eastasianwidth": { 2127 | "version": "0.2.0", 2128 | "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", 2129 | "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", 2130 | "dev": true, 2131 | "license": "MIT" 2132 | }, 2133 | "node_modules/ee-first": { 2134 | "version": "1.1.1", 2135 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 2136 | "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", 2137 | "license": "MIT" 2138 | }, 2139 | "node_modules/electron-to-chromium": { 2140 | "version": "1.5.74", 2141 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.74.tgz", 2142 | "integrity": "sha512-ck3//9RC+6oss/1Bh9tiAVFy5vfSKbRHAFh7Z3/eTRkEqJeWgymloShB17Vg3Z4nmDNp35vAd1BZ6CMW4Wt6Iw==", 2143 | "dev": true, 2144 | "license": "ISC" 2145 | }, 2146 | "node_modules/emoji-regex": { 2147 | "version": "9.2.2", 2148 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 2149 | "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", 2150 | "dev": true, 2151 | "license": "MIT" 2152 | }, 2153 | "node_modules/encodeurl": { 2154 | "version": "2.0.0", 2155 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", 2156 | "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", 2157 | "license": "MIT", 2158 | "engines": { 2159 | "node": ">= 0.8" 2160 | } 2161 | }, 2162 | "node_modules/es-define-property": { 2163 | "version": "1.0.1", 2164 | "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", 2165 | "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", 2166 | "license": "MIT", 2167 | "engines": { 2168 | "node": ">= 0.4" 2169 | } 2170 | }, 2171 | "node_modules/es-errors": { 2172 | "version": "1.3.0", 2173 | "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", 2174 | "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", 2175 | "license": "MIT", 2176 | "engines": { 2177 | "node": ">= 0.4" 2178 | } 2179 | }, 2180 | "node_modules/es-object-atoms": { 2181 | "version": "1.1.1", 2182 | "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", 2183 | "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", 2184 | "license": "MIT", 2185 | "dependencies": { 2186 | "es-errors": "^1.3.0" 2187 | }, 2188 | "engines": { 2189 | "node": ">= 0.4" 2190 | } 2191 | }, 2192 | "node_modules/esbuild": { 2193 | "version": "0.21.5", 2194 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", 2195 | "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", 2196 | "dev": true, 2197 | "hasInstallScript": true, 2198 | "license": "MIT", 2199 | "bin": { 2200 | "esbuild": "bin/esbuild" 2201 | }, 2202 | "engines": { 2203 | "node": ">=12" 2204 | }, 2205 | "optionalDependencies": { 2206 | "@esbuild/aix-ppc64": "0.21.5", 2207 | "@esbuild/android-arm": "0.21.5", 2208 | "@esbuild/android-arm64": "0.21.5", 2209 | "@esbuild/android-x64": "0.21.5", 2210 | "@esbuild/darwin-arm64": "0.21.5", 2211 | "@esbuild/darwin-x64": "0.21.5", 2212 | "@esbuild/freebsd-arm64": "0.21.5", 2213 | "@esbuild/freebsd-x64": "0.21.5", 2214 | "@esbuild/linux-arm": "0.21.5", 2215 | "@esbuild/linux-arm64": "0.21.5", 2216 | "@esbuild/linux-ia32": "0.21.5", 2217 | "@esbuild/linux-loong64": "0.21.5", 2218 | "@esbuild/linux-mips64el": "0.21.5", 2219 | "@esbuild/linux-ppc64": "0.21.5", 2220 | "@esbuild/linux-riscv64": "0.21.5", 2221 | "@esbuild/linux-s390x": "0.21.5", 2222 | "@esbuild/linux-x64": "0.21.5", 2223 | "@esbuild/netbsd-x64": "0.21.5", 2224 | "@esbuild/openbsd-x64": "0.21.5", 2225 | "@esbuild/sunos-x64": "0.21.5", 2226 | "@esbuild/win32-arm64": "0.21.5", 2227 | "@esbuild/win32-ia32": "0.21.5", 2228 | "@esbuild/win32-x64": "0.21.5" 2229 | } 2230 | }, 2231 | "node_modules/escalade": { 2232 | "version": "3.2.0", 2233 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", 2234 | "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", 2235 | "dev": true, 2236 | "license": "MIT", 2237 | "engines": { 2238 | "node": ">=6" 2239 | } 2240 | }, 2241 | "node_modules/escape-html": { 2242 | "version": "1.0.3", 2243 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 2244 | "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", 2245 | "license": "MIT" 2246 | }, 2247 | "node_modules/etag": { 2248 | "version": "1.8.1", 2249 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 2250 | "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", 2251 | "license": "MIT", 2252 | "engines": { 2253 | "node": ">= 0.6" 2254 | } 2255 | }, 2256 | "node_modules/express": { 2257 | "version": "4.21.2", 2258 | "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", 2259 | "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", 2260 | "license": "MIT", 2261 | "dependencies": { 2262 | "accepts": "~1.3.8", 2263 | "array-flatten": "1.1.1", 2264 | "body-parser": "1.20.3", 2265 | "content-disposition": "0.5.4", 2266 | "content-type": "~1.0.4", 2267 | "cookie": "0.7.1", 2268 | "cookie-signature": "1.0.6", 2269 | "debug": "2.6.9", 2270 | "depd": "2.0.0", 2271 | "encodeurl": "~2.0.0", 2272 | "escape-html": "~1.0.3", 2273 | "etag": "~1.8.1", 2274 | "finalhandler": "1.3.1", 2275 | "fresh": "0.5.2", 2276 | "http-errors": "2.0.0", 2277 | "merge-descriptors": "1.0.3", 2278 | "methods": "~1.1.2", 2279 | "on-finished": "2.4.1", 2280 | "parseurl": "~1.3.3", 2281 | "path-to-regexp": "0.1.12", 2282 | "proxy-addr": "~2.0.7", 2283 | "qs": "6.13.0", 2284 | "range-parser": "~1.2.1", 2285 | "safe-buffer": "5.2.1", 2286 | "send": "0.19.0", 2287 | "serve-static": "1.16.2", 2288 | "setprototypeof": "1.2.0", 2289 | "statuses": "2.0.1", 2290 | "type-is": "~1.6.18", 2291 | "utils-merge": "1.0.1", 2292 | "vary": "~1.1.2" 2293 | }, 2294 | "engines": { 2295 | "node": ">= 0.10.0" 2296 | }, 2297 | "funding": { 2298 | "type": "opencollective", 2299 | "url": "https://opencollective.com/express" 2300 | } 2301 | }, 2302 | "node_modules/express/node_modules/cookie": { 2303 | "version": "0.7.1", 2304 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", 2305 | "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", 2306 | "license": "MIT", 2307 | "engines": { 2308 | "node": ">= 0.6" 2309 | } 2310 | }, 2311 | "node_modules/express/node_modules/debug": { 2312 | "version": "2.6.9", 2313 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 2314 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 2315 | "license": "MIT", 2316 | "dependencies": { 2317 | "ms": "2.0.0" 2318 | } 2319 | }, 2320 | "node_modules/express/node_modules/ms": { 2321 | "version": "2.0.0", 2322 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2323 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", 2324 | "license": "MIT" 2325 | }, 2326 | "node_modules/express/node_modules/path-to-regexp": { 2327 | "version": "0.1.12", 2328 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", 2329 | "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", 2330 | "license": "MIT" 2331 | }, 2332 | "node_modules/fast-glob": { 2333 | "version": "3.3.2", 2334 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", 2335 | "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", 2336 | "dev": true, 2337 | "license": "MIT", 2338 | "dependencies": { 2339 | "@nodelib/fs.stat": "^2.0.2", 2340 | "@nodelib/fs.walk": "^1.2.3", 2341 | "glob-parent": "^5.1.2", 2342 | "merge2": "^1.3.0", 2343 | "micromatch": "^4.0.4" 2344 | }, 2345 | "engines": { 2346 | "node": ">=8.6.0" 2347 | } 2348 | }, 2349 | "node_modules/fast-glob/node_modules/glob-parent": { 2350 | "version": "5.1.2", 2351 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 2352 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 2353 | "dev": true, 2354 | "license": "ISC", 2355 | "dependencies": { 2356 | "is-glob": "^4.0.1" 2357 | }, 2358 | "engines": { 2359 | "node": ">= 6" 2360 | } 2361 | }, 2362 | "node_modules/fastq": { 2363 | "version": "1.17.1", 2364 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", 2365 | "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", 2366 | "dev": true, 2367 | "license": "ISC", 2368 | "dependencies": { 2369 | "reusify": "^1.0.4" 2370 | } 2371 | }, 2372 | "node_modules/fill-range": { 2373 | "version": "7.1.1", 2374 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 2375 | "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 2376 | "dev": true, 2377 | "license": "MIT", 2378 | "dependencies": { 2379 | "to-regex-range": "^5.0.1" 2380 | }, 2381 | "engines": { 2382 | "node": ">=8" 2383 | } 2384 | }, 2385 | "node_modules/finalhandler": { 2386 | "version": "1.3.1", 2387 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", 2388 | "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", 2389 | "license": "MIT", 2390 | "dependencies": { 2391 | "debug": "2.6.9", 2392 | "encodeurl": "~2.0.0", 2393 | "escape-html": "~1.0.3", 2394 | "on-finished": "2.4.1", 2395 | "parseurl": "~1.3.3", 2396 | "statuses": "2.0.1", 2397 | "unpipe": "~1.0.0" 2398 | }, 2399 | "engines": { 2400 | "node": ">= 0.8" 2401 | } 2402 | }, 2403 | "node_modules/finalhandler/node_modules/debug": { 2404 | "version": "2.6.9", 2405 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 2406 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 2407 | "license": "MIT", 2408 | "dependencies": { 2409 | "ms": "2.0.0" 2410 | } 2411 | }, 2412 | "node_modules/finalhandler/node_modules/ms": { 2413 | "version": "2.0.0", 2414 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2415 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", 2416 | "license": "MIT" 2417 | }, 2418 | "node_modules/foreground-child": { 2419 | "version": "3.3.0", 2420 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", 2421 | "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", 2422 | "dev": true, 2423 | "license": "ISC", 2424 | "dependencies": { 2425 | "cross-spawn": "^7.0.0", 2426 | "signal-exit": "^4.0.1" 2427 | }, 2428 | "engines": { 2429 | "node": ">=14" 2430 | }, 2431 | "funding": { 2432 | "url": "https://github.com/sponsors/isaacs" 2433 | } 2434 | }, 2435 | "node_modules/forwarded": { 2436 | "version": "0.2.0", 2437 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", 2438 | "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", 2439 | "license": "MIT", 2440 | "engines": { 2441 | "node": ">= 0.6" 2442 | } 2443 | }, 2444 | "node_modules/fraction.js": { 2445 | "version": "4.3.7", 2446 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", 2447 | "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", 2448 | "dev": true, 2449 | "license": "MIT", 2450 | "engines": { 2451 | "node": "*" 2452 | }, 2453 | "funding": { 2454 | "type": "patreon", 2455 | "url": "https://github.com/sponsors/rawify" 2456 | } 2457 | }, 2458 | "node_modules/fresh": { 2459 | "version": "0.5.2", 2460 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 2461 | "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", 2462 | "license": "MIT", 2463 | "engines": { 2464 | "node": ">= 0.6" 2465 | } 2466 | }, 2467 | "node_modules/fsevents": { 2468 | "version": "2.3.3", 2469 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 2470 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 2471 | "dev": true, 2472 | "hasInstallScript": true, 2473 | "license": "MIT", 2474 | "optional": true, 2475 | "os": [ 2476 | "darwin" 2477 | ], 2478 | "engines": { 2479 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 2480 | } 2481 | }, 2482 | "node_modules/function-bind": { 2483 | "version": "1.1.2", 2484 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 2485 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 2486 | "license": "MIT", 2487 | "funding": { 2488 | "url": "https://github.com/sponsors/ljharb" 2489 | } 2490 | }, 2491 | "node_modules/gensync": { 2492 | "version": "1.0.0-beta.2", 2493 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", 2494 | "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", 2495 | "dev": true, 2496 | "license": "MIT", 2497 | "engines": { 2498 | "node": ">=6.9.0" 2499 | } 2500 | }, 2501 | "node_modules/get-intrinsic": { 2502 | "version": "1.2.7", 2503 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", 2504 | "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", 2505 | "license": "MIT", 2506 | "dependencies": { 2507 | "call-bind-apply-helpers": "^1.0.1", 2508 | "es-define-property": "^1.0.1", 2509 | "es-errors": "^1.3.0", 2510 | "es-object-atoms": "^1.0.0", 2511 | "function-bind": "^1.1.2", 2512 | "get-proto": "^1.0.0", 2513 | "gopd": "^1.2.0", 2514 | "has-symbols": "^1.1.0", 2515 | "hasown": "^2.0.2", 2516 | "math-intrinsics": "^1.1.0" 2517 | }, 2518 | "engines": { 2519 | "node": ">= 0.4" 2520 | }, 2521 | "funding": { 2522 | "url": "https://github.com/sponsors/ljharb" 2523 | } 2524 | }, 2525 | "node_modules/get-proto": { 2526 | "version": "1.0.1", 2527 | "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", 2528 | "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", 2529 | "license": "MIT", 2530 | "dependencies": { 2531 | "dunder-proto": "^1.0.1", 2532 | "es-object-atoms": "^1.0.0" 2533 | }, 2534 | "engines": { 2535 | "node": ">= 0.4" 2536 | } 2537 | }, 2538 | "node_modules/glob-parent": { 2539 | "version": "6.0.2", 2540 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 2541 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 2542 | "dev": true, 2543 | "license": "ISC", 2544 | "dependencies": { 2545 | "is-glob": "^4.0.3" 2546 | }, 2547 | "engines": { 2548 | "node": ">=10.13.0" 2549 | } 2550 | }, 2551 | "node_modules/globals": { 2552 | "version": "11.12.0", 2553 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 2554 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 2555 | "dev": true, 2556 | "license": "MIT", 2557 | "engines": { 2558 | "node": ">=4" 2559 | } 2560 | }, 2561 | "node_modules/gopd": { 2562 | "version": "1.2.0", 2563 | "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", 2564 | "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", 2565 | "license": "MIT", 2566 | "engines": { 2567 | "node": ">= 0.4" 2568 | }, 2569 | "funding": { 2570 | "url": "https://github.com/sponsors/ljharb" 2571 | } 2572 | }, 2573 | "node_modules/has-symbols": { 2574 | "version": "1.1.0", 2575 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", 2576 | "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", 2577 | "license": "MIT", 2578 | "engines": { 2579 | "node": ">= 0.4" 2580 | }, 2581 | "funding": { 2582 | "url": "https://github.com/sponsors/ljharb" 2583 | } 2584 | }, 2585 | "node_modules/hasown": { 2586 | "version": "2.0.2", 2587 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 2588 | "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 2589 | "license": "MIT", 2590 | "dependencies": { 2591 | "function-bind": "^1.1.2" 2592 | }, 2593 | "engines": { 2594 | "node": ">= 0.4" 2595 | } 2596 | }, 2597 | "node_modules/history": { 2598 | "version": "5.3.0", 2599 | "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz", 2600 | "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==", 2601 | "license": "MIT", 2602 | "dependencies": { 2603 | "@babel/runtime": "^7.7.6" 2604 | } 2605 | }, 2606 | "node_modules/http-errors": { 2607 | "version": "2.0.0", 2608 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", 2609 | "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", 2610 | "license": "MIT", 2611 | "dependencies": { 2612 | "depd": "2.0.0", 2613 | "inherits": "2.0.4", 2614 | "setprototypeof": "1.2.0", 2615 | "statuses": "2.0.1", 2616 | "toidentifier": "1.0.1" 2617 | }, 2618 | "engines": { 2619 | "node": ">= 0.8" 2620 | } 2621 | }, 2622 | "node_modules/iconv-lite": { 2623 | "version": "0.4.24", 2624 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 2625 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 2626 | "license": "MIT", 2627 | "dependencies": { 2628 | "safer-buffer": ">= 2.1.2 < 3" 2629 | }, 2630 | "engines": { 2631 | "node": ">=0.10.0" 2632 | } 2633 | }, 2634 | "node_modules/inherits": { 2635 | "version": "2.0.4", 2636 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 2637 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 2638 | "license": "ISC" 2639 | }, 2640 | "node_modules/ipaddr.js": { 2641 | "version": "1.9.1", 2642 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 2643 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", 2644 | "license": "MIT", 2645 | "engines": { 2646 | "node": ">= 0.10" 2647 | } 2648 | }, 2649 | "node_modules/is-binary-path": { 2650 | "version": "2.1.0", 2651 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 2652 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 2653 | "dev": true, 2654 | "license": "MIT", 2655 | "dependencies": { 2656 | "binary-extensions": "^2.0.0" 2657 | }, 2658 | "engines": { 2659 | "node": ">=8" 2660 | } 2661 | }, 2662 | "node_modules/is-core-module": { 2663 | "version": "2.16.0", 2664 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.0.tgz", 2665 | "integrity": "sha512-urTSINYfAYgcbLb0yDQ6egFm6h3Mo1DcF9EkyXSRjjzdHbsulg01qhwWuXdOoUBuTkbQ80KDboXa0vFJ+BDH+g==", 2666 | "dev": true, 2667 | "license": "MIT", 2668 | "dependencies": { 2669 | "hasown": "^2.0.2" 2670 | }, 2671 | "engines": { 2672 | "node": ">= 0.4" 2673 | }, 2674 | "funding": { 2675 | "url": "https://github.com/sponsors/ljharb" 2676 | } 2677 | }, 2678 | "node_modules/is-extglob": { 2679 | "version": "2.1.1", 2680 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2681 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 2682 | "dev": true, 2683 | "license": "MIT", 2684 | "engines": { 2685 | "node": ">=0.10.0" 2686 | } 2687 | }, 2688 | "node_modules/is-fullwidth-code-point": { 2689 | "version": "3.0.0", 2690 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 2691 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 2692 | "dev": true, 2693 | "license": "MIT", 2694 | "engines": { 2695 | "node": ">=8" 2696 | } 2697 | }, 2698 | "node_modules/is-glob": { 2699 | "version": "4.0.3", 2700 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 2701 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 2702 | "dev": true, 2703 | "license": "MIT", 2704 | "dependencies": { 2705 | "is-extglob": "^2.1.1" 2706 | }, 2707 | "engines": { 2708 | "node": ">=0.10.0" 2709 | } 2710 | }, 2711 | "node_modules/is-number": { 2712 | "version": "7.0.0", 2713 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 2714 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 2715 | "dev": true, 2716 | "license": "MIT", 2717 | "engines": { 2718 | "node": ">=0.12.0" 2719 | } 2720 | }, 2721 | "node_modules/isexe": { 2722 | "version": "2.0.0", 2723 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 2724 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 2725 | "dev": true, 2726 | "license": "ISC" 2727 | }, 2728 | "node_modules/jackspeak": { 2729 | "version": "3.4.3", 2730 | "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", 2731 | "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", 2732 | "dev": true, 2733 | "license": "BlueOak-1.0.0", 2734 | "dependencies": { 2735 | "@isaacs/cliui": "^8.0.2" 2736 | }, 2737 | "funding": { 2738 | "url": "https://github.com/sponsors/isaacs" 2739 | }, 2740 | "optionalDependencies": { 2741 | "@pkgjs/parseargs": "^0.11.0" 2742 | } 2743 | }, 2744 | "node_modules/jiti": { 2745 | "version": "1.21.7", 2746 | "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", 2747 | "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", 2748 | "dev": true, 2749 | "license": "MIT", 2750 | "bin": { 2751 | "jiti": "bin/jiti.js" 2752 | } 2753 | }, 2754 | "node_modules/js-tokens": { 2755 | "version": "4.0.0", 2756 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 2757 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 2758 | "license": "MIT" 2759 | }, 2760 | "node_modules/jsesc": { 2761 | "version": "3.1.0", 2762 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", 2763 | "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", 2764 | "dev": true, 2765 | "license": "MIT", 2766 | "bin": { 2767 | "jsesc": "bin/jsesc" 2768 | }, 2769 | "engines": { 2770 | "node": ">=6" 2771 | } 2772 | }, 2773 | "node_modules/json5": { 2774 | "version": "2.2.3", 2775 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", 2776 | "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", 2777 | "dev": true, 2778 | "license": "MIT", 2779 | "bin": { 2780 | "json5": "lib/cli.js" 2781 | }, 2782 | "engines": { 2783 | "node": ">=6" 2784 | } 2785 | }, 2786 | "node_modules/lilconfig": { 2787 | "version": "3.1.3", 2788 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", 2789 | "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", 2790 | "dev": true, 2791 | "license": "MIT", 2792 | "engines": { 2793 | "node": ">=14" 2794 | }, 2795 | "funding": { 2796 | "url": "https://github.com/sponsors/antonk52" 2797 | } 2798 | }, 2799 | "node_modules/lines-and-columns": { 2800 | "version": "1.2.4", 2801 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 2802 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", 2803 | "dev": true, 2804 | "license": "MIT" 2805 | }, 2806 | "node_modules/loose-envify": { 2807 | "version": "1.4.0", 2808 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 2809 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 2810 | "license": "MIT", 2811 | "dependencies": { 2812 | "js-tokens": "^3.0.0 || ^4.0.0" 2813 | }, 2814 | "bin": { 2815 | "loose-envify": "cli.js" 2816 | } 2817 | }, 2818 | "node_modules/lru-cache": { 2819 | "version": "5.1.1", 2820 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", 2821 | "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", 2822 | "dev": true, 2823 | "license": "ISC", 2824 | "dependencies": { 2825 | "yallist": "^3.0.2" 2826 | } 2827 | }, 2828 | "node_modules/math-intrinsics": { 2829 | "version": "1.1.0", 2830 | "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", 2831 | "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", 2832 | "license": "MIT", 2833 | "engines": { 2834 | "node": ">= 0.4" 2835 | } 2836 | }, 2837 | "node_modules/media-typer": { 2838 | "version": "0.3.0", 2839 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 2840 | "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", 2841 | "license": "MIT", 2842 | "engines": { 2843 | "node": ">= 0.6" 2844 | } 2845 | }, 2846 | "node_modules/merge-descriptors": { 2847 | "version": "1.0.3", 2848 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", 2849 | "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", 2850 | "license": "MIT", 2851 | "funding": { 2852 | "url": "https://github.com/sponsors/sindresorhus" 2853 | } 2854 | }, 2855 | "node_modules/merge2": { 2856 | "version": "1.4.1", 2857 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 2858 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 2859 | "dev": true, 2860 | "license": "MIT", 2861 | "engines": { 2862 | "node": ">= 8" 2863 | } 2864 | }, 2865 | "node_modules/methods": { 2866 | "version": "1.1.2", 2867 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", 2868 | "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", 2869 | "license": "MIT", 2870 | "engines": { 2871 | "node": ">= 0.6" 2872 | } 2873 | }, 2874 | "node_modules/micromatch": { 2875 | "version": "4.0.8", 2876 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", 2877 | "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", 2878 | "dev": true, 2879 | "license": "MIT", 2880 | "dependencies": { 2881 | "braces": "^3.0.3", 2882 | "picomatch": "^2.3.1" 2883 | }, 2884 | "engines": { 2885 | "node": ">=8.6" 2886 | } 2887 | }, 2888 | "node_modules/mime-db": { 2889 | "version": "1.52.0", 2890 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 2891 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 2892 | "license": "MIT", 2893 | "engines": { 2894 | "node": ">= 0.6" 2895 | } 2896 | }, 2897 | "node_modules/mime-types": { 2898 | "version": "2.1.35", 2899 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 2900 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 2901 | "license": "MIT", 2902 | "dependencies": { 2903 | "mime-db": "1.52.0" 2904 | }, 2905 | "engines": { 2906 | "node": ">= 0.6" 2907 | } 2908 | }, 2909 | "node_modules/minipass": { 2910 | "version": "7.1.2", 2911 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", 2912 | "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", 2913 | "license": "ISC", 2914 | "engines": { 2915 | "node": ">=16 || 14 >=14.17" 2916 | } 2917 | }, 2918 | "node_modules/ms": { 2919 | "version": "2.1.3", 2920 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 2921 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 2922 | "license": "MIT" 2923 | }, 2924 | "node_modules/mz": { 2925 | "version": "2.7.0", 2926 | "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 2927 | "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 2928 | "dev": true, 2929 | "license": "MIT", 2930 | "dependencies": { 2931 | "any-promise": "^1.0.0", 2932 | "object-assign": "^4.0.1", 2933 | "thenify-all": "^1.0.0" 2934 | } 2935 | }, 2936 | "node_modules/nanoid": { 2937 | "version": "3.3.8", 2938 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", 2939 | "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", 2940 | "dev": true, 2941 | "funding": [ 2942 | { 2943 | "type": "github", 2944 | "url": "https://github.com/sponsors/ai" 2945 | } 2946 | ], 2947 | "license": "MIT", 2948 | "bin": { 2949 | "nanoid": "bin/nanoid.cjs" 2950 | }, 2951 | "engines": { 2952 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 2953 | } 2954 | }, 2955 | "node_modules/negotiator": { 2956 | "version": "0.6.3", 2957 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", 2958 | "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", 2959 | "license": "MIT", 2960 | "engines": { 2961 | "node": ">= 0.6" 2962 | } 2963 | }, 2964 | "node_modules/node-releases": { 2965 | "version": "2.0.19", 2966 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", 2967 | "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", 2968 | "dev": true, 2969 | "license": "MIT" 2970 | }, 2971 | "node_modules/normalize-path": { 2972 | "version": "3.0.0", 2973 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 2974 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 2975 | "dev": true, 2976 | "license": "MIT", 2977 | "engines": { 2978 | "node": ">=0.10.0" 2979 | } 2980 | }, 2981 | "node_modules/normalize-range": { 2982 | "version": "0.1.2", 2983 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 2984 | "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", 2985 | "dev": true, 2986 | "license": "MIT", 2987 | "engines": { 2988 | "node": ">=0.10.0" 2989 | } 2990 | }, 2991 | "node_modules/object-assign": { 2992 | "version": "4.1.1", 2993 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2994 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 2995 | "license": "MIT", 2996 | "engines": { 2997 | "node": ">=0.10.0" 2998 | } 2999 | }, 3000 | "node_modules/object-hash": { 3001 | "version": "3.0.0", 3002 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", 3003 | "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", 3004 | "dev": true, 3005 | "license": "MIT", 3006 | "engines": { 3007 | "node": ">= 6" 3008 | } 3009 | }, 3010 | "node_modules/object-inspect": { 3011 | "version": "1.13.4", 3012 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", 3013 | "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", 3014 | "license": "MIT", 3015 | "engines": { 3016 | "node": ">= 0.4" 3017 | }, 3018 | "funding": { 3019 | "url": "https://github.com/sponsors/ljharb" 3020 | } 3021 | }, 3022 | "node_modules/on-finished": { 3023 | "version": "2.4.1", 3024 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", 3025 | "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", 3026 | "license": "MIT", 3027 | "dependencies": { 3028 | "ee-first": "1.1.1" 3029 | }, 3030 | "engines": { 3031 | "node": ">= 0.8" 3032 | } 3033 | }, 3034 | "node_modules/package-json-from-dist": { 3035 | "version": "1.0.1", 3036 | "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", 3037 | "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", 3038 | "dev": true, 3039 | "license": "BlueOak-1.0.0" 3040 | }, 3041 | "node_modules/parseurl": { 3042 | "version": "1.3.3", 3043 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 3044 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", 3045 | "license": "MIT", 3046 | "engines": { 3047 | "node": ">= 0.8" 3048 | } 3049 | }, 3050 | "node_modules/path-key": { 3051 | "version": "3.1.1", 3052 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 3053 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 3054 | "dev": true, 3055 | "license": "MIT", 3056 | "engines": { 3057 | "node": ">=8" 3058 | } 3059 | }, 3060 | "node_modules/path-parse": { 3061 | "version": "1.0.7", 3062 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 3063 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 3064 | "dev": true, 3065 | "license": "MIT" 3066 | }, 3067 | "node_modules/path-scurry": { 3068 | "version": "1.11.1", 3069 | "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", 3070 | "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", 3071 | "dev": true, 3072 | "license": "BlueOak-1.0.0", 3073 | "dependencies": { 3074 | "lru-cache": "^10.2.0", 3075 | "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" 3076 | }, 3077 | "engines": { 3078 | "node": ">=16 || 14 >=14.18" 3079 | }, 3080 | "funding": { 3081 | "url": "https://github.com/sponsors/isaacs" 3082 | } 3083 | }, 3084 | "node_modules/path-scurry/node_modules/lru-cache": { 3085 | "version": "10.4.3", 3086 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", 3087 | "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", 3088 | "dev": true, 3089 | "license": "ISC" 3090 | }, 3091 | "node_modules/picocolors": { 3092 | "version": "1.1.1", 3093 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 3094 | "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", 3095 | "dev": true, 3096 | "license": "ISC" 3097 | }, 3098 | "node_modules/picomatch": { 3099 | "version": "2.3.1", 3100 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 3101 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 3102 | "dev": true, 3103 | "license": "MIT", 3104 | "engines": { 3105 | "node": ">=8.6" 3106 | }, 3107 | "funding": { 3108 | "url": "https://github.com/sponsors/jonschlinkert" 3109 | } 3110 | }, 3111 | "node_modules/pify": { 3112 | "version": "2.3.0", 3113 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 3114 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 3115 | "dev": true, 3116 | "license": "MIT", 3117 | "engines": { 3118 | "node": ">=0.10.0" 3119 | } 3120 | }, 3121 | "node_modules/pirates": { 3122 | "version": "4.0.6", 3123 | "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", 3124 | "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", 3125 | "dev": true, 3126 | "license": "MIT", 3127 | "engines": { 3128 | "node": ">= 6" 3129 | } 3130 | }, 3131 | "node_modules/postcss": { 3132 | "version": "8.4.49", 3133 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", 3134 | "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", 3135 | "dev": true, 3136 | "funding": [ 3137 | { 3138 | "type": "opencollective", 3139 | "url": "https://opencollective.com/postcss/" 3140 | }, 3141 | { 3142 | "type": "tidelift", 3143 | "url": "https://tidelift.com/funding/github/npm/postcss" 3144 | }, 3145 | { 3146 | "type": "github", 3147 | "url": "https://github.com/sponsors/ai" 3148 | } 3149 | ], 3150 | "license": "MIT", 3151 | "dependencies": { 3152 | "nanoid": "^3.3.7", 3153 | "picocolors": "^1.1.1", 3154 | "source-map-js": "^1.2.1" 3155 | }, 3156 | "engines": { 3157 | "node": "^10 || ^12 || >=14" 3158 | } 3159 | }, 3160 | "node_modules/postcss-attribute-case-insensitive": { 3161 | "version": "5.0.2", 3162 | "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", 3163 | "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", 3164 | "dev": true, 3165 | "license": "MIT", 3166 | "dependencies": { 3167 | "postcss-selector-parser": "^6.0.10" 3168 | }, 3169 | "engines": { 3170 | "node": "^12 || ^14 || >=16" 3171 | }, 3172 | "funding": { 3173 | "type": "opencollective", 3174 | "url": "https://opencollective.com/csstools" 3175 | }, 3176 | "peerDependencies": { 3177 | "postcss": "^8.2" 3178 | } 3179 | }, 3180 | "node_modules/postcss-clamp": { 3181 | "version": "4.1.0", 3182 | "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", 3183 | "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", 3184 | "dev": true, 3185 | "license": "MIT", 3186 | "dependencies": { 3187 | "postcss-value-parser": "^4.2.0" 3188 | }, 3189 | "engines": { 3190 | "node": ">=7.6.0" 3191 | }, 3192 | "peerDependencies": { 3193 | "postcss": "^8.4.6" 3194 | } 3195 | }, 3196 | "node_modules/postcss-color-functional-notation": { 3197 | "version": "4.2.4", 3198 | "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", 3199 | "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", 3200 | "dev": true, 3201 | "license": "CC0-1.0", 3202 | "dependencies": { 3203 | "postcss-value-parser": "^4.2.0" 3204 | }, 3205 | "engines": { 3206 | "node": "^12 || ^14 || >=16" 3207 | }, 3208 | "funding": { 3209 | "type": "opencollective", 3210 | "url": "https://opencollective.com/csstools" 3211 | }, 3212 | "peerDependencies": { 3213 | "postcss": "^8.2" 3214 | } 3215 | }, 3216 | "node_modules/postcss-color-hex-alpha": { 3217 | "version": "8.0.4", 3218 | "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", 3219 | "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", 3220 | "dev": true, 3221 | "license": "MIT", 3222 | "dependencies": { 3223 | "postcss-value-parser": "^4.2.0" 3224 | }, 3225 | "engines": { 3226 | "node": "^12 || ^14 || >=16" 3227 | }, 3228 | "funding": { 3229 | "type": "opencollective", 3230 | "url": "https://opencollective.com/csstools" 3231 | }, 3232 | "peerDependencies": { 3233 | "postcss": "^8.4" 3234 | } 3235 | }, 3236 | "node_modules/postcss-color-rebeccapurple": { 3237 | "version": "7.1.1", 3238 | "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", 3239 | "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", 3240 | "dev": true, 3241 | "license": "CC0-1.0", 3242 | "dependencies": { 3243 | "postcss-value-parser": "^4.2.0" 3244 | }, 3245 | "engines": { 3246 | "node": "^12 || ^14 || >=16" 3247 | }, 3248 | "funding": { 3249 | "type": "opencollective", 3250 | "url": "https://opencollective.com/csstools" 3251 | }, 3252 | "peerDependencies": { 3253 | "postcss": "^8.2" 3254 | } 3255 | }, 3256 | "node_modules/postcss-custom-media": { 3257 | "version": "8.0.2", 3258 | "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", 3259 | "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", 3260 | "dev": true, 3261 | "license": "MIT", 3262 | "dependencies": { 3263 | "postcss-value-parser": "^4.2.0" 3264 | }, 3265 | "engines": { 3266 | "node": "^12 || ^14 || >=16" 3267 | }, 3268 | "funding": { 3269 | "type": "opencollective", 3270 | "url": "https://opencollective.com/csstools" 3271 | }, 3272 | "peerDependencies": { 3273 | "postcss": "^8.3" 3274 | } 3275 | }, 3276 | "node_modules/postcss-custom-properties": { 3277 | "version": "12.1.11", 3278 | "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", 3279 | "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", 3280 | "dev": true, 3281 | "license": "MIT", 3282 | "dependencies": { 3283 | "postcss-value-parser": "^4.2.0" 3284 | }, 3285 | "engines": { 3286 | "node": "^12 || ^14 || >=16" 3287 | }, 3288 | "funding": { 3289 | "type": "opencollective", 3290 | "url": "https://opencollective.com/csstools" 3291 | }, 3292 | "peerDependencies": { 3293 | "postcss": "^8.2" 3294 | } 3295 | }, 3296 | "node_modules/postcss-custom-selectors": { 3297 | "version": "6.0.3", 3298 | "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", 3299 | "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", 3300 | "dev": true, 3301 | "license": "MIT", 3302 | "dependencies": { 3303 | "postcss-selector-parser": "^6.0.4" 3304 | }, 3305 | "engines": { 3306 | "node": "^12 || ^14 || >=16" 3307 | }, 3308 | "funding": { 3309 | "type": "opencollective", 3310 | "url": "https://opencollective.com/csstools" 3311 | }, 3312 | "peerDependencies": { 3313 | "postcss": "^8.3" 3314 | } 3315 | }, 3316 | "node_modules/postcss-dir-pseudo-class": { 3317 | "version": "6.0.5", 3318 | "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", 3319 | "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", 3320 | "dev": true, 3321 | "license": "CC0-1.0", 3322 | "dependencies": { 3323 | "postcss-selector-parser": "^6.0.10" 3324 | }, 3325 | "engines": { 3326 | "node": "^12 || ^14 || >=16" 3327 | }, 3328 | "funding": { 3329 | "type": "opencollective", 3330 | "url": "https://opencollective.com/csstools" 3331 | }, 3332 | "peerDependencies": { 3333 | "postcss": "^8.2" 3334 | } 3335 | }, 3336 | "node_modules/postcss-double-position-gradients": { 3337 | "version": "3.1.2", 3338 | "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", 3339 | "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", 3340 | "dev": true, 3341 | "license": "CC0-1.0", 3342 | "dependencies": { 3343 | "@csstools/postcss-progressive-custom-properties": "^1.1.0", 3344 | "postcss-value-parser": "^4.2.0" 3345 | }, 3346 | "engines": { 3347 | "node": "^12 || ^14 || >=16" 3348 | }, 3349 | "funding": { 3350 | "type": "opencollective", 3351 | "url": "https://opencollective.com/csstools" 3352 | }, 3353 | "peerDependencies": { 3354 | "postcss": "^8.2" 3355 | } 3356 | }, 3357 | "node_modules/postcss-env-function": { 3358 | "version": "4.0.6", 3359 | "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", 3360 | "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", 3361 | "dev": true, 3362 | "license": "CC0-1.0", 3363 | "dependencies": { 3364 | "postcss-value-parser": "^4.2.0" 3365 | }, 3366 | "engines": { 3367 | "node": "^12 || ^14 || >=16" 3368 | }, 3369 | "peerDependencies": { 3370 | "postcss": "^8.4" 3371 | } 3372 | }, 3373 | "node_modules/postcss-focus-visible": { 3374 | "version": "6.0.4", 3375 | "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", 3376 | "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", 3377 | "dev": true, 3378 | "license": "CC0-1.0", 3379 | "dependencies": { 3380 | "postcss-selector-parser": "^6.0.9" 3381 | }, 3382 | "engines": { 3383 | "node": "^12 || ^14 || >=16" 3384 | }, 3385 | "peerDependencies": { 3386 | "postcss": "^8.4" 3387 | } 3388 | }, 3389 | "node_modules/postcss-focus-within": { 3390 | "version": "5.0.4", 3391 | "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", 3392 | "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", 3393 | "dev": true, 3394 | "license": "CC0-1.0", 3395 | "dependencies": { 3396 | "postcss-selector-parser": "^6.0.9" 3397 | }, 3398 | "engines": { 3399 | "node": "^12 || ^14 || >=16" 3400 | }, 3401 | "peerDependencies": { 3402 | "postcss": "^8.4" 3403 | } 3404 | }, 3405 | "node_modules/postcss-font-variant": { 3406 | "version": "5.0.0", 3407 | "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", 3408 | "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", 3409 | "dev": true, 3410 | "license": "MIT", 3411 | "peerDependencies": { 3412 | "postcss": "^8.1.0" 3413 | } 3414 | }, 3415 | "node_modules/postcss-gap-properties": { 3416 | "version": "3.0.5", 3417 | "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", 3418 | "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", 3419 | "dev": true, 3420 | "license": "CC0-1.0", 3421 | "engines": { 3422 | "node": "^12 || ^14 || >=16" 3423 | }, 3424 | "funding": { 3425 | "type": "opencollective", 3426 | "url": "https://opencollective.com/csstools" 3427 | }, 3428 | "peerDependencies": { 3429 | "postcss": "^8.2" 3430 | } 3431 | }, 3432 | "node_modules/postcss-image-set-function": { 3433 | "version": "4.0.7", 3434 | "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", 3435 | "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", 3436 | "dev": true, 3437 | "license": "CC0-1.0", 3438 | "dependencies": { 3439 | "postcss-value-parser": "^4.2.0" 3440 | }, 3441 | "engines": { 3442 | "node": "^12 || ^14 || >=16" 3443 | }, 3444 | "funding": { 3445 | "type": "opencollective", 3446 | "url": "https://opencollective.com/csstools" 3447 | }, 3448 | "peerDependencies": { 3449 | "postcss": "^8.2" 3450 | } 3451 | }, 3452 | "node_modules/postcss-import": { 3453 | "version": "15.1.0", 3454 | "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", 3455 | "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", 3456 | "dev": true, 3457 | "license": "MIT", 3458 | "dependencies": { 3459 | "postcss-value-parser": "^4.0.0", 3460 | "read-cache": "^1.0.0", 3461 | "resolve": "^1.1.7" 3462 | }, 3463 | "engines": { 3464 | "node": ">=14.0.0" 3465 | }, 3466 | "peerDependencies": { 3467 | "postcss": "^8.0.0" 3468 | } 3469 | }, 3470 | "node_modules/postcss-initial": { 3471 | "version": "4.0.1", 3472 | "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", 3473 | "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", 3474 | "dev": true, 3475 | "license": "MIT", 3476 | "peerDependencies": { 3477 | "postcss": "^8.0.0" 3478 | } 3479 | }, 3480 | "node_modules/postcss-js": { 3481 | "version": "4.0.1", 3482 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", 3483 | "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", 3484 | "dev": true, 3485 | "license": "MIT", 3486 | "dependencies": { 3487 | "camelcase-css": "^2.0.1" 3488 | }, 3489 | "engines": { 3490 | "node": "^12 || ^14 || >= 16" 3491 | }, 3492 | "funding": { 3493 | "type": "opencollective", 3494 | "url": "https://opencollective.com/postcss/" 3495 | }, 3496 | "peerDependencies": { 3497 | "postcss": "^8.4.21" 3498 | } 3499 | }, 3500 | "node_modules/postcss-lab-function": { 3501 | "version": "4.2.1", 3502 | "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", 3503 | "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", 3504 | "dev": true, 3505 | "license": "CC0-1.0", 3506 | "dependencies": { 3507 | "@csstools/postcss-progressive-custom-properties": "^1.1.0", 3508 | "postcss-value-parser": "^4.2.0" 3509 | }, 3510 | "engines": { 3511 | "node": "^12 || ^14 || >=16" 3512 | }, 3513 | "funding": { 3514 | "type": "opencollective", 3515 | "url": "https://opencollective.com/csstools" 3516 | }, 3517 | "peerDependencies": { 3518 | "postcss": "^8.2" 3519 | } 3520 | }, 3521 | "node_modules/postcss-load-config": { 3522 | "version": "4.0.2", 3523 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", 3524 | "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", 3525 | "dev": true, 3526 | "funding": [ 3527 | { 3528 | "type": "opencollective", 3529 | "url": "https://opencollective.com/postcss/" 3530 | }, 3531 | { 3532 | "type": "github", 3533 | "url": "https://github.com/sponsors/ai" 3534 | } 3535 | ], 3536 | "license": "MIT", 3537 | "dependencies": { 3538 | "lilconfig": "^3.0.0", 3539 | "yaml": "^2.3.4" 3540 | }, 3541 | "engines": { 3542 | "node": ">= 14" 3543 | }, 3544 | "peerDependencies": { 3545 | "postcss": ">=8.0.9", 3546 | "ts-node": ">=9.0.0" 3547 | }, 3548 | "peerDependenciesMeta": { 3549 | "postcss": { 3550 | "optional": true 3551 | }, 3552 | "ts-node": { 3553 | "optional": true 3554 | } 3555 | } 3556 | }, 3557 | "node_modules/postcss-logical": { 3558 | "version": "5.0.4", 3559 | "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", 3560 | "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", 3561 | "dev": true, 3562 | "license": "CC0-1.0", 3563 | "engines": { 3564 | "node": "^12 || ^14 || >=16" 3565 | }, 3566 | "peerDependencies": { 3567 | "postcss": "^8.4" 3568 | } 3569 | }, 3570 | "node_modules/postcss-media-minmax": { 3571 | "version": "5.0.0", 3572 | "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", 3573 | "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", 3574 | "dev": true, 3575 | "license": "MIT", 3576 | "engines": { 3577 | "node": ">=10.0.0" 3578 | }, 3579 | "peerDependencies": { 3580 | "postcss": "^8.1.0" 3581 | } 3582 | }, 3583 | "node_modules/postcss-nested": { 3584 | "version": "6.2.0", 3585 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", 3586 | "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", 3587 | "dev": true, 3588 | "funding": [ 3589 | { 3590 | "type": "opencollective", 3591 | "url": "https://opencollective.com/postcss/" 3592 | }, 3593 | { 3594 | "type": "github", 3595 | "url": "https://github.com/sponsors/ai" 3596 | } 3597 | ], 3598 | "license": "MIT", 3599 | "dependencies": { 3600 | "postcss-selector-parser": "^6.1.1" 3601 | }, 3602 | "engines": { 3603 | "node": ">=12.0" 3604 | }, 3605 | "peerDependencies": { 3606 | "postcss": "^8.2.14" 3607 | } 3608 | }, 3609 | "node_modules/postcss-nesting": { 3610 | "version": "12.1.5", 3611 | "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-12.1.5.tgz", 3612 | "integrity": "sha512-N1NgI1PDCiAGWPTYrwqm8wpjv0bgDmkYHH72pNsqTCv9CObxjxftdYu6AKtGN+pnJa7FQjMm3v4sp8QJbFsYdQ==", 3613 | "dev": true, 3614 | "funding": [ 3615 | { 3616 | "type": "github", 3617 | "url": "https://github.com/sponsors/csstools" 3618 | }, 3619 | { 3620 | "type": "opencollective", 3621 | "url": "https://opencollective.com/csstools" 3622 | } 3623 | ], 3624 | "license": "MIT-0", 3625 | "dependencies": { 3626 | "@csstools/selector-resolve-nested": "^1.1.0", 3627 | "@csstools/selector-specificity": "^3.1.1", 3628 | "postcss-selector-parser": "^6.1.0" 3629 | }, 3630 | "engines": { 3631 | "node": "^14 || ^16 || >=18" 3632 | }, 3633 | "peerDependencies": { 3634 | "postcss": "^8.4" 3635 | } 3636 | }, 3637 | "node_modules/postcss-opacity-percentage": { 3638 | "version": "1.1.3", 3639 | "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", 3640 | "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", 3641 | "dev": true, 3642 | "funding": [ 3643 | { 3644 | "type": "kofi", 3645 | "url": "https://ko-fi.com/mrcgrtz" 3646 | }, 3647 | { 3648 | "type": "liberapay", 3649 | "url": "https://liberapay.com/mrcgrtz" 3650 | } 3651 | ], 3652 | "license": "MIT", 3653 | "engines": { 3654 | "node": "^12 || ^14 || >=16" 3655 | }, 3656 | "peerDependencies": { 3657 | "postcss": "^8.2" 3658 | } 3659 | }, 3660 | "node_modules/postcss-overflow-shorthand": { 3661 | "version": "3.0.4", 3662 | "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", 3663 | "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", 3664 | "dev": true, 3665 | "license": "CC0-1.0", 3666 | "dependencies": { 3667 | "postcss-value-parser": "^4.2.0" 3668 | }, 3669 | "engines": { 3670 | "node": "^12 || ^14 || >=16" 3671 | }, 3672 | "funding": { 3673 | "type": "opencollective", 3674 | "url": "https://opencollective.com/csstools" 3675 | }, 3676 | "peerDependencies": { 3677 | "postcss": "^8.2" 3678 | } 3679 | }, 3680 | "node_modules/postcss-page-break": { 3681 | "version": "3.0.4", 3682 | "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", 3683 | "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", 3684 | "dev": true, 3685 | "license": "MIT", 3686 | "peerDependencies": { 3687 | "postcss": "^8" 3688 | } 3689 | }, 3690 | "node_modules/postcss-place": { 3691 | "version": "7.0.5", 3692 | "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", 3693 | "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", 3694 | "dev": true, 3695 | "license": "CC0-1.0", 3696 | "dependencies": { 3697 | "postcss-value-parser": "^4.2.0" 3698 | }, 3699 | "engines": { 3700 | "node": "^12 || ^14 || >=16" 3701 | }, 3702 | "funding": { 3703 | "type": "opencollective", 3704 | "url": "https://opencollective.com/csstools" 3705 | }, 3706 | "peerDependencies": { 3707 | "postcss": "^8.2" 3708 | } 3709 | }, 3710 | "node_modules/postcss-preset-env": { 3711 | "version": "7.8.3", 3712 | "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", 3713 | "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", 3714 | "dev": true, 3715 | "license": "CC0-1.0", 3716 | "dependencies": { 3717 | "@csstools/postcss-cascade-layers": "^1.1.1", 3718 | "@csstools/postcss-color-function": "^1.1.1", 3719 | "@csstools/postcss-font-format-keywords": "^1.0.1", 3720 | "@csstools/postcss-hwb-function": "^1.0.2", 3721 | "@csstools/postcss-ic-unit": "^1.0.1", 3722 | "@csstools/postcss-is-pseudo-class": "^2.0.7", 3723 | "@csstools/postcss-nested-calc": "^1.0.0", 3724 | "@csstools/postcss-normalize-display-values": "^1.0.1", 3725 | "@csstools/postcss-oklab-function": "^1.1.1", 3726 | "@csstools/postcss-progressive-custom-properties": "^1.3.0", 3727 | "@csstools/postcss-stepped-value-functions": "^1.0.1", 3728 | "@csstools/postcss-text-decoration-shorthand": "^1.0.0", 3729 | "@csstools/postcss-trigonometric-functions": "^1.0.2", 3730 | "@csstools/postcss-unset-value": "^1.0.2", 3731 | "autoprefixer": "^10.4.13", 3732 | "browserslist": "^4.21.4", 3733 | "css-blank-pseudo": "^3.0.3", 3734 | "css-has-pseudo": "^3.0.4", 3735 | "css-prefers-color-scheme": "^6.0.3", 3736 | "cssdb": "^7.1.0", 3737 | "postcss-attribute-case-insensitive": "^5.0.2", 3738 | "postcss-clamp": "^4.1.0", 3739 | "postcss-color-functional-notation": "^4.2.4", 3740 | "postcss-color-hex-alpha": "^8.0.4", 3741 | "postcss-color-rebeccapurple": "^7.1.1", 3742 | "postcss-custom-media": "^8.0.2", 3743 | "postcss-custom-properties": "^12.1.10", 3744 | "postcss-custom-selectors": "^6.0.3", 3745 | "postcss-dir-pseudo-class": "^6.0.5", 3746 | "postcss-double-position-gradients": "^3.1.2", 3747 | "postcss-env-function": "^4.0.6", 3748 | "postcss-focus-visible": "^6.0.4", 3749 | "postcss-focus-within": "^5.0.4", 3750 | "postcss-font-variant": "^5.0.0", 3751 | "postcss-gap-properties": "^3.0.5", 3752 | "postcss-image-set-function": "^4.0.7", 3753 | "postcss-initial": "^4.0.1", 3754 | "postcss-lab-function": "^4.2.1", 3755 | "postcss-logical": "^5.0.4", 3756 | "postcss-media-minmax": "^5.0.0", 3757 | "postcss-nesting": "^10.2.0", 3758 | "postcss-opacity-percentage": "^1.1.2", 3759 | "postcss-overflow-shorthand": "^3.0.4", 3760 | "postcss-page-break": "^3.0.4", 3761 | "postcss-place": "^7.0.5", 3762 | "postcss-pseudo-class-any-link": "^7.1.6", 3763 | "postcss-replace-overflow-wrap": "^4.0.0", 3764 | "postcss-selector-not": "^6.0.1", 3765 | "postcss-value-parser": "^4.2.0" 3766 | }, 3767 | "engines": { 3768 | "node": "^12 || ^14 || >=16" 3769 | }, 3770 | "funding": { 3771 | "type": "opencollective", 3772 | "url": "https://opencollective.com/csstools" 3773 | }, 3774 | "peerDependencies": { 3775 | "postcss": "^8.2" 3776 | } 3777 | }, 3778 | "node_modules/postcss-preset-env/node_modules/@csstools/selector-specificity": { 3779 | "version": "2.2.0", 3780 | "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", 3781 | "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", 3782 | "dev": true, 3783 | "license": "CC0-1.0", 3784 | "engines": { 3785 | "node": "^14 || ^16 || >=18" 3786 | }, 3787 | "funding": { 3788 | "type": "opencollective", 3789 | "url": "https://opencollective.com/csstools" 3790 | }, 3791 | "peerDependencies": { 3792 | "postcss-selector-parser": "^6.0.10" 3793 | } 3794 | }, 3795 | "node_modules/postcss-preset-env/node_modules/postcss-nesting": { 3796 | "version": "10.2.0", 3797 | "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", 3798 | "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", 3799 | "dev": true, 3800 | "license": "CC0-1.0", 3801 | "dependencies": { 3802 | "@csstools/selector-specificity": "^2.0.0", 3803 | "postcss-selector-parser": "^6.0.10" 3804 | }, 3805 | "engines": { 3806 | "node": "^12 || ^14 || >=16" 3807 | }, 3808 | "funding": { 3809 | "type": "opencollective", 3810 | "url": "https://opencollective.com/csstools" 3811 | }, 3812 | "peerDependencies": { 3813 | "postcss": "^8.2" 3814 | } 3815 | }, 3816 | "node_modules/postcss-pseudo-class-any-link": { 3817 | "version": "7.1.6", 3818 | "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", 3819 | "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", 3820 | "dev": true, 3821 | "license": "CC0-1.0", 3822 | "dependencies": { 3823 | "postcss-selector-parser": "^6.0.10" 3824 | }, 3825 | "engines": { 3826 | "node": "^12 || ^14 || >=16" 3827 | }, 3828 | "funding": { 3829 | "type": "opencollective", 3830 | "url": "https://opencollective.com/csstools" 3831 | }, 3832 | "peerDependencies": { 3833 | "postcss": "^8.2" 3834 | } 3835 | }, 3836 | "node_modules/postcss-replace-overflow-wrap": { 3837 | "version": "4.0.0", 3838 | "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", 3839 | "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", 3840 | "dev": true, 3841 | "license": "MIT", 3842 | "peerDependencies": { 3843 | "postcss": "^8.0.3" 3844 | } 3845 | }, 3846 | "node_modules/postcss-selector-not": { 3847 | "version": "6.0.1", 3848 | "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", 3849 | "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", 3850 | "dev": true, 3851 | "license": "MIT", 3852 | "dependencies": { 3853 | "postcss-selector-parser": "^6.0.10" 3854 | }, 3855 | "engines": { 3856 | "node": "^12 || ^14 || >=16" 3857 | }, 3858 | "funding": { 3859 | "type": "opencollective", 3860 | "url": "https://opencollective.com/csstools" 3861 | }, 3862 | "peerDependencies": { 3863 | "postcss": "^8.2" 3864 | } 3865 | }, 3866 | "node_modules/postcss-selector-parser": { 3867 | "version": "6.1.2", 3868 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", 3869 | "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", 3870 | "dev": true, 3871 | "license": "MIT", 3872 | "dependencies": { 3873 | "cssesc": "^3.0.0", 3874 | "util-deprecate": "^1.0.2" 3875 | }, 3876 | "engines": { 3877 | "node": ">=4" 3878 | } 3879 | }, 3880 | "node_modules/postcss-value-parser": { 3881 | "version": "4.2.0", 3882 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 3883 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 3884 | "dev": true, 3885 | "license": "MIT" 3886 | }, 3887 | "node_modules/prop-types": { 3888 | "version": "15.8.1", 3889 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", 3890 | "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", 3891 | "license": "MIT", 3892 | "dependencies": { 3893 | "loose-envify": "^1.4.0", 3894 | "object-assign": "^4.1.1", 3895 | "react-is": "^16.13.1" 3896 | } 3897 | }, 3898 | "node_modules/proxy-addr": { 3899 | "version": "2.0.7", 3900 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", 3901 | "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", 3902 | "license": "MIT", 3903 | "dependencies": { 3904 | "forwarded": "0.2.0", 3905 | "ipaddr.js": "1.9.1" 3906 | }, 3907 | "engines": { 3908 | "node": ">= 0.10" 3909 | } 3910 | }, 3911 | "node_modules/qs": { 3912 | "version": "6.13.0", 3913 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", 3914 | "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", 3915 | "license": "BSD-3-Clause", 3916 | "dependencies": { 3917 | "side-channel": "^1.0.6" 3918 | }, 3919 | "engines": { 3920 | "node": ">=0.6" 3921 | }, 3922 | "funding": { 3923 | "url": "https://github.com/sponsors/ljharb" 3924 | } 3925 | }, 3926 | "node_modules/queue-microtask": { 3927 | "version": "1.2.3", 3928 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 3929 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 3930 | "dev": true, 3931 | "funding": [ 3932 | { 3933 | "type": "github", 3934 | "url": "https://github.com/sponsors/feross" 3935 | }, 3936 | { 3937 | "type": "patreon", 3938 | "url": "https://www.patreon.com/feross" 3939 | }, 3940 | { 3941 | "type": "consulting", 3942 | "url": "https://feross.org/support" 3943 | } 3944 | ], 3945 | "license": "MIT" 3946 | }, 3947 | "node_modules/range-parser": { 3948 | "version": "1.2.1", 3949 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 3950 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", 3951 | "license": "MIT", 3952 | "engines": { 3953 | "node": ">= 0.6" 3954 | } 3955 | }, 3956 | "node_modules/raw-body": { 3957 | "version": "2.5.2", 3958 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", 3959 | "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", 3960 | "license": "MIT", 3961 | "dependencies": { 3962 | "bytes": "3.1.2", 3963 | "http-errors": "2.0.0", 3964 | "iconv-lite": "0.4.24", 3965 | "unpipe": "1.0.0" 3966 | }, 3967 | "engines": { 3968 | "node": ">= 0.8" 3969 | } 3970 | }, 3971 | "node_modules/react": { 3972 | "version": "18.3.1", 3973 | "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", 3974 | "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", 3975 | "license": "MIT", 3976 | "dependencies": { 3977 | "loose-envify": "^1.1.0" 3978 | }, 3979 | "engines": { 3980 | "node": ">=0.10.0" 3981 | } 3982 | }, 3983 | "node_modules/react-dom": { 3984 | "version": "18.3.1", 3985 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", 3986 | "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", 3987 | "license": "MIT", 3988 | "dependencies": { 3989 | "loose-envify": "^1.1.0", 3990 | "scheduler": "^0.23.2" 3991 | }, 3992 | "peerDependencies": { 3993 | "react": "^18.3.1" 3994 | } 3995 | }, 3996 | "node_modules/react-feather": { 3997 | "version": "2.0.10", 3998 | "resolved": "https://registry.npmjs.org/react-feather/-/react-feather-2.0.10.tgz", 3999 | "integrity": "sha512-BLhukwJ+Z92Nmdcs+EMw6dy1Z/VLiJTzEQACDUEnWMClhYnFykJCGWQx+NmwP/qQHGX/5CzQ+TGi8ofg2+HzVQ==", 4000 | "license": "MIT", 4001 | "dependencies": { 4002 | "prop-types": "^15.7.2" 4003 | }, 4004 | "peerDependencies": { 4005 | "react": ">=16.8.6" 4006 | } 4007 | }, 4008 | "node_modules/react-is": { 4009 | "version": "16.13.1", 4010 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", 4011 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", 4012 | "license": "MIT" 4013 | }, 4014 | "node_modules/react-refresh": { 4015 | "version": "0.14.2", 4016 | "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", 4017 | "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", 4018 | "dev": true, 4019 | "license": "MIT", 4020 | "engines": { 4021 | "node": ">=0.10.0" 4022 | } 4023 | }, 4024 | "node_modules/react-router": { 4025 | "version": "6.28.0", 4026 | "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.28.0.tgz", 4027 | "integrity": "sha512-HrYdIFqdrnhDw0PqG/AKjAqEqM7AvxCz0DQ4h2W8k6nqmc5uRBYDag0SBxx9iYz5G8gnuNVLzUe13wl9eAsXXg==", 4028 | "license": "MIT", 4029 | "dependencies": { 4030 | "@remix-run/router": "1.21.0" 4031 | }, 4032 | "engines": { 4033 | "node": ">=14.0.0" 4034 | }, 4035 | "peerDependencies": { 4036 | "react": ">=16.8" 4037 | } 4038 | }, 4039 | "node_modules/react-router-dom": { 4040 | "version": "6.28.0", 4041 | "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.28.0.tgz", 4042 | "integrity": "sha512-kQ7Unsl5YdyOltsPGl31zOjLrDv+m2VcIEcIHqYYD3Lp0UppLjrzcfJqDJwXxFw3TH/yvapbnUvPlAj7Kx5nbg==", 4043 | "license": "MIT", 4044 | "dependencies": { 4045 | "@remix-run/router": "1.21.0", 4046 | "react-router": "6.28.0" 4047 | }, 4048 | "engines": { 4049 | "node": ">=14.0.0" 4050 | }, 4051 | "peerDependencies": { 4052 | "react": ">=16.8", 4053 | "react-dom": ">=16.8" 4054 | } 4055 | }, 4056 | "node_modules/read-cache": { 4057 | "version": "1.0.0", 4058 | "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 4059 | "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", 4060 | "dev": true, 4061 | "license": "MIT", 4062 | "dependencies": { 4063 | "pify": "^2.3.0" 4064 | } 4065 | }, 4066 | "node_modules/readdirp": { 4067 | "version": "3.6.0", 4068 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 4069 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 4070 | "dev": true, 4071 | "license": "MIT", 4072 | "dependencies": { 4073 | "picomatch": "^2.2.1" 4074 | }, 4075 | "engines": { 4076 | "node": ">=8.10.0" 4077 | } 4078 | }, 4079 | "node_modules/regenerator-runtime": { 4080 | "version": "0.14.1", 4081 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", 4082 | "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", 4083 | "license": "MIT" 4084 | }, 4085 | "node_modules/resolve": { 4086 | "version": "1.22.9", 4087 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.9.tgz", 4088 | "integrity": "sha512-QxrmX1DzraFIi9PxdG5VkRfRwIgjwyud+z/iBwfRRrVmHc+P9Q7u2lSSpQ6bjr2gy5lrqIiU9vb6iAeGf2400A==", 4089 | "dev": true, 4090 | "license": "MIT", 4091 | "dependencies": { 4092 | "is-core-module": "^2.16.0", 4093 | "path-parse": "^1.0.7", 4094 | "supports-preserve-symlinks-flag": "^1.0.0" 4095 | }, 4096 | "bin": { 4097 | "resolve": "bin/resolve" 4098 | }, 4099 | "funding": { 4100 | "url": "https://github.com/sponsors/ljharb" 4101 | } 4102 | }, 4103 | "node_modules/reusify": { 4104 | "version": "1.0.4", 4105 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 4106 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 4107 | "dev": true, 4108 | "license": "MIT", 4109 | "engines": { 4110 | "iojs": ">=1.0.0", 4111 | "node": ">=0.10.0" 4112 | } 4113 | }, 4114 | "node_modules/rollup": { 4115 | "version": "4.28.1", 4116 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.28.1.tgz", 4117 | "integrity": "sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==", 4118 | "dev": true, 4119 | "license": "MIT", 4120 | "dependencies": { 4121 | "@types/estree": "1.0.6" 4122 | }, 4123 | "bin": { 4124 | "rollup": "dist/bin/rollup" 4125 | }, 4126 | "engines": { 4127 | "node": ">=18.0.0", 4128 | "npm": ">=8.0.0" 4129 | }, 4130 | "optionalDependencies": { 4131 | "@rollup/rollup-android-arm-eabi": "4.28.1", 4132 | "@rollup/rollup-android-arm64": "4.28.1", 4133 | "@rollup/rollup-darwin-arm64": "4.28.1", 4134 | "@rollup/rollup-darwin-x64": "4.28.1", 4135 | "@rollup/rollup-freebsd-arm64": "4.28.1", 4136 | "@rollup/rollup-freebsd-x64": "4.28.1", 4137 | "@rollup/rollup-linux-arm-gnueabihf": "4.28.1", 4138 | "@rollup/rollup-linux-arm-musleabihf": "4.28.1", 4139 | "@rollup/rollup-linux-arm64-gnu": "4.28.1", 4140 | "@rollup/rollup-linux-arm64-musl": "4.28.1", 4141 | "@rollup/rollup-linux-loongarch64-gnu": "4.28.1", 4142 | "@rollup/rollup-linux-powerpc64le-gnu": "4.28.1", 4143 | "@rollup/rollup-linux-riscv64-gnu": "4.28.1", 4144 | "@rollup/rollup-linux-s390x-gnu": "4.28.1", 4145 | "@rollup/rollup-linux-x64-gnu": "4.28.1", 4146 | "@rollup/rollup-linux-x64-musl": "4.28.1", 4147 | "@rollup/rollup-win32-arm64-msvc": "4.28.1", 4148 | "@rollup/rollup-win32-ia32-msvc": "4.28.1", 4149 | "@rollup/rollup-win32-x64-msvc": "4.28.1", 4150 | "fsevents": "~2.3.2" 4151 | } 4152 | }, 4153 | "node_modules/run-parallel": { 4154 | "version": "1.2.0", 4155 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 4156 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 4157 | "dev": true, 4158 | "funding": [ 4159 | { 4160 | "type": "github", 4161 | "url": "https://github.com/sponsors/feross" 4162 | }, 4163 | { 4164 | "type": "patreon", 4165 | "url": "https://www.patreon.com/feross" 4166 | }, 4167 | { 4168 | "type": "consulting", 4169 | "url": "https://feross.org/support" 4170 | } 4171 | ], 4172 | "license": "MIT", 4173 | "dependencies": { 4174 | "queue-microtask": "^1.2.2" 4175 | } 4176 | }, 4177 | "node_modules/safe-buffer": { 4178 | "version": "5.2.1", 4179 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 4180 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 4181 | "funding": [ 4182 | { 4183 | "type": "github", 4184 | "url": "https://github.com/sponsors/feross" 4185 | }, 4186 | { 4187 | "type": "patreon", 4188 | "url": "https://www.patreon.com/feross" 4189 | }, 4190 | { 4191 | "type": "consulting", 4192 | "url": "https://feross.org/support" 4193 | } 4194 | ], 4195 | "license": "MIT" 4196 | }, 4197 | "node_modules/safer-buffer": { 4198 | "version": "2.1.2", 4199 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 4200 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 4201 | "license": "MIT" 4202 | }, 4203 | "node_modules/scheduler": { 4204 | "version": "0.23.2", 4205 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", 4206 | "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", 4207 | "license": "MIT", 4208 | "dependencies": { 4209 | "loose-envify": "^1.1.0" 4210 | } 4211 | }, 4212 | "node_modules/semver": { 4213 | "version": "6.3.1", 4214 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 4215 | "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 4216 | "dev": true, 4217 | "license": "ISC", 4218 | "bin": { 4219 | "semver": "bin/semver.js" 4220 | } 4221 | }, 4222 | "node_modules/send": { 4223 | "version": "0.19.0", 4224 | "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", 4225 | "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", 4226 | "license": "MIT", 4227 | "dependencies": { 4228 | "debug": "2.6.9", 4229 | "depd": "2.0.0", 4230 | "destroy": "1.2.0", 4231 | "encodeurl": "~1.0.2", 4232 | "escape-html": "~1.0.3", 4233 | "etag": "~1.8.1", 4234 | "fresh": "0.5.2", 4235 | "http-errors": "2.0.0", 4236 | "mime": "1.6.0", 4237 | "ms": "2.1.3", 4238 | "on-finished": "2.4.1", 4239 | "range-parser": "~1.2.1", 4240 | "statuses": "2.0.1" 4241 | }, 4242 | "engines": { 4243 | "node": ">= 0.8.0" 4244 | } 4245 | }, 4246 | "node_modules/send/node_modules/debug": { 4247 | "version": "2.6.9", 4248 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 4249 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 4250 | "license": "MIT", 4251 | "dependencies": { 4252 | "ms": "2.0.0" 4253 | } 4254 | }, 4255 | "node_modules/send/node_modules/debug/node_modules/ms": { 4256 | "version": "2.0.0", 4257 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 4258 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", 4259 | "license": "MIT" 4260 | }, 4261 | "node_modules/send/node_modules/encodeurl": { 4262 | "version": "1.0.2", 4263 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 4264 | "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", 4265 | "license": "MIT", 4266 | "engines": { 4267 | "node": ">= 0.8" 4268 | } 4269 | }, 4270 | "node_modules/send/node_modules/mime": { 4271 | "version": "1.6.0", 4272 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 4273 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", 4274 | "license": "MIT", 4275 | "bin": { 4276 | "mime": "cli.js" 4277 | }, 4278 | "engines": { 4279 | "node": ">=4" 4280 | } 4281 | }, 4282 | "node_modules/serve-static": { 4283 | "version": "1.16.2", 4284 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", 4285 | "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", 4286 | "license": "MIT", 4287 | "dependencies": { 4288 | "encodeurl": "~2.0.0", 4289 | "escape-html": "~1.0.3", 4290 | "parseurl": "~1.3.3", 4291 | "send": "0.19.0" 4292 | }, 4293 | "engines": { 4294 | "node": ">= 0.8.0" 4295 | } 4296 | }, 4297 | "node_modules/setprototypeof": { 4298 | "version": "1.2.0", 4299 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 4300 | "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", 4301 | "license": "ISC" 4302 | }, 4303 | "node_modules/shebang-command": { 4304 | "version": "2.0.0", 4305 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 4306 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 4307 | "dev": true, 4308 | "license": "MIT", 4309 | "dependencies": { 4310 | "shebang-regex": "^3.0.0" 4311 | }, 4312 | "engines": { 4313 | "node": ">=8" 4314 | } 4315 | }, 4316 | "node_modules/shebang-regex": { 4317 | "version": "3.0.0", 4318 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 4319 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 4320 | "dev": true, 4321 | "license": "MIT", 4322 | "engines": { 4323 | "node": ">=8" 4324 | } 4325 | }, 4326 | "node_modules/side-channel": { 4327 | "version": "1.1.0", 4328 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", 4329 | "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", 4330 | "license": "MIT", 4331 | "dependencies": { 4332 | "es-errors": "^1.3.0", 4333 | "object-inspect": "^1.13.3", 4334 | "side-channel-list": "^1.0.0", 4335 | "side-channel-map": "^1.0.1", 4336 | "side-channel-weakmap": "^1.0.2" 4337 | }, 4338 | "engines": { 4339 | "node": ">= 0.4" 4340 | }, 4341 | "funding": { 4342 | "url": "https://github.com/sponsors/ljharb" 4343 | } 4344 | }, 4345 | "node_modules/side-channel-list": { 4346 | "version": "1.0.0", 4347 | "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", 4348 | "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", 4349 | "license": "MIT", 4350 | "dependencies": { 4351 | "es-errors": "^1.3.0", 4352 | "object-inspect": "^1.13.3" 4353 | }, 4354 | "engines": { 4355 | "node": ">= 0.4" 4356 | }, 4357 | "funding": { 4358 | "url": "https://github.com/sponsors/ljharb" 4359 | } 4360 | }, 4361 | "node_modules/side-channel-map": { 4362 | "version": "1.0.1", 4363 | "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", 4364 | "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", 4365 | "license": "MIT", 4366 | "dependencies": { 4367 | "call-bound": "^1.0.2", 4368 | "es-errors": "^1.3.0", 4369 | "get-intrinsic": "^1.2.5", 4370 | "object-inspect": "^1.13.3" 4371 | }, 4372 | "engines": { 4373 | "node": ">= 0.4" 4374 | }, 4375 | "funding": { 4376 | "url": "https://github.com/sponsors/ljharb" 4377 | } 4378 | }, 4379 | "node_modules/side-channel-weakmap": { 4380 | "version": "1.0.2", 4381 | "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", 4382 | "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", 4383 | "license": "MIT", 4384 | "dependencies": { 4385 | "call-bound": "^1.0.2", 4386 | "es-errors": "^1.3.0", 4387 | "get-intrinsic": "^1.2.5", 4388 | "object-inspect": "^1.13.3", 4389 | "side-channel-map": "^1.0.1" 4390 | }, 4391 | "engines": { 4392 | "node": ">= 0.4" 4393 | }, 4394 | "funding": { 4395 | "url": "https://github.com/sponsors/ljharb" 4396 | } 4397 | }, 4398 | "node_modules/signal-exit": { 4399 | "version": "4.1.0", 4400 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 4401 | "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 4402 | "dev": true, 4403 | "license": "ISC", 4404 | "engines": { 4405 | "node": ">=14" 4406 | }, 4407 | "funding": { 4408 | "url": "https://github.com/sponsors/isaacs" 4409 | } 4410 | }, 4411 | "node_modules/source-map-js": { 4412 | "version": "1.2.1", 4413 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 4414 | "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 4415 | "dev": true, 4416 | "license": "BSD-3-Clause", 4417 | "engines": { 4418 | "node": ">=0.10.0" 4419 | } 4420 | }, 4421 | "node_modules/statuses": { 4422 | "version": "2.0.1", 4423 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", 4424 | "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", 4425 | "license": "MIT", 4426 | "engines": { 4427 | "node": ">= 0.8" 4428 | } 4429 | }, 4430 | "node_modules/string-width": { 4431 | "version": "5.1.2", 4432 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", 4433 | "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", 4434 | "dev": true, 4435 | "license": "MIT", 4436 | "dependencies": { 4437 | "eastasianwidth": "^0.2.0", 4438 | "emoji-regex": "^9.2.2", 4439 | "strip-ansi": "^7.0.1" 4440 | }, 4441 | "engines": { 4442 | "node": ">=12" 4443 | }, 4444 | "funding": { 4445 | "url": "https://github.com/sponsors/sindresorhus" 4446 | } 4447 | }, 4448 | "node_modules/string-width-cjs": { 4449 | "name": "string-width", 4450 | "version": "4.2.3", 4451 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 4452 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 4453 | "dev": true, 4454 | "license": "MIT", 4455 | "dependencies": { 4456 | "emoji-regex": "^8.0.0", 4457 | "is-fullwidth-code-point": "^3.0.0", 4458 | "strip-ansi": "^6.0.1" 4459 | }, 4460 | "engines": { 4461 | "node": ">=8" 4462 | } 4463 | }, 4464 | "node_modules/string-width-cjs/node_modules/ansi-regex": { 4465 | "version": "5.0.1", 4466 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 4467 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 4468 | "dev": true, 4469 | "license": "MIT", 4470 | "engines": { 4471 | "node": ">=8" 4472 | } 4473 | }, 4474 | "node_modules/string-width-cjs/node_modules/emoji-regex": { 4475 | "version": "8.0.0", 4476 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 4477 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 4478 | "dev": true, 4479 | "license": "MIT" 4480 | }, 4481 | "node_modules/string-width-cjs/node_modules/strip-ansi": { 4482 | "version": "6.0.1", 4483 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 4484 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 4485 | "dev": true, 4486 | "license": "MIT", 4487 | "dependencies": { 4488 | "ansi-regex": "^5.0.1" 4489 | }, 4490 | "engines": { 4491 | "node": ">=8" 4492 | } 4493 | }, 4494 | "node_modules/strip-ansi": { 4495 | "version": "7.1.0", 4496 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", 4497 | "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", 4498 | "dev": true, 4499 | "license": "MIT", 4500 | "dependencies": { 4501 | "ansi-regex": "^6.0.1" 4502 | }, 4503 | "engines": { 4504 | "node": ">=12" 4505 | }, 4506 | "funding": { 4507 | "url": "https://github.com/chalk/strip-ansi?sponsor=1" 4508 | } 4509 | }, 4510 | "node_modules/strip-ansi-cjs": { 4511 | "name": "strip-ansi", 4512 | "version": "6.0.1", 4513 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 4514 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 4515 | "dev": true, 4516 | "license": "MIT", 4517 | "dependencies": { 4518 | "ansi-regex": "^5.0.1" 4519 | }, 4520 | "engines": { 4521 | "node": ">=8" 4522 | } 4523 | }, 4524 | "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { 4525 | "version": "5.0.1", 4526 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 4527 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 4528 | "dev": true, 4529 | "license": "MIT", 4530 | "engines": { 4531 | "node": ">=8" 4532 | } 4533 | }, 4534 | "node_modules/sucrase": { 4535 | "version": "3.35.0", 4536 | "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", 4537 | "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", 4538 | "dev": true, 4539 | "license": "MIT", 4540 | "dependencies": { 4541 | "@jridgewell/gen-mapping": "^0.3.2", 4542 | "commander": "^4.0.0", 4543 | "glob": "^10.3.10", 4544 | "lines-and-columns": "^1.1.6", 4545 | "mz": "^2.7.0", 4546 | "pirates": "^4.0.1", 4547 | "ts-interface-checker": "^0.1.9" 4548 | }, 4549 | "bin": { 4550 | "sucrase": "bin/sucrase", 4551 | "sucrase-node": "bin/sucrase-node" 4552 | }, 4553 | "engines": { 4554 | "node": ">=16 || 14 >=14.17" 4555 | } 4556 | }, 4557 | "node_modules/sucrase/node_modules/glob": { 4558 | "version": "10.4.5", 4559 | "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", 4560 | "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", 4561 | "dev": true, 4562 | "license": "ISC", 4563 | "dependencies": { 4564 | "foreground-child": "^3.1.0", 4565 | "jackspeak": "^3.1.2", 4566 | "minimatch": "^9.0.4", 4567 | "minipass": "^7.1.2", 4568 | "package-json-from-dist": "^1.0.0", 4569 | "path-scurry": "^1.11.1" 4570 | }, 4571 | "bin": { 4572 | "glob": "dist/esm/bin.mjs" 4573 | }, 4574 | "funding": { 4575 | "url": "https://github.com/sponsors/isaacs" 4576 | } 4577 | }, 4578 | "node_modules/sucrase/node_modules/minimatch": { 4579 | "version": "9.0.5", 4580 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 4581 | "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 4582 | "dev": true, 4583 | "license": "ISC", 4584 | "dependencies": { 4585 | "brace-expansion": "^2.0.1" 4586 | }, 4587 | "engines": { 4588 | "node": ">=16 || 14 >=14.17" 4589 | }, 4590 | "funding": { 4591 | "url": "https://github.com/sponsors/isaacs" 4592 | } 4593 | }, 4594 | "node_modules/supports-preserve-symlinks-flag": { 4595 | "version": "1.0.0", 4596 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 4597 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 4598 | "dev": true, 4599 | "license": "MIT", 4600 | "engines": { 4601 | "node": ">= 0.4" 4602 | }, 4603 | "funding": { 4604 | "url": "https://github.com/sponsors/ljharb" 4605 | } 4606 | }, 4607 | "node_modules/tailwindcss": { 4608 | "version": "3.4.17", 4609 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", 4610 | "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", 4611 | "dev": true, 4612 | "license": "MIT", 4613 | "dependencies": { 4614 | "@alloc/quick-lru": "^5.2.0", 4615 | "arg": "^5.0.2", 4616 | "chokidar": "^3.6.0", 4617 | "didyoumean": "^1.2.2", 4618 | "dlv": "^1.1.3", 4619 | "fast-glob": "^3.3.2", 4620 | "glob-parent": "^6.0.2", 4621 | "is-glob": "^4.0.3", 4622 | "jiti": "^1.21.6", 4623 | "lilconfig": "^3.1.3", 4624 | "micromatch": "^4.0.8", 4625 | "normalize-path": "^3.0.0", 4626 | "object-hash": "^3.0.0", 4627 | "picocolors": "^1.1.1", 4628 | "postcss": "^8.4.47", 4629 | "postcss-import": "^15.1.0", 4630 | "postcss-js": "^4.0.1", 4631 | "postcss-load-config": "^4.0.2", 4632 | "postcss-nested": "^6.2.0", 4633 | "postcss-selector-parser": "^6.1.2", 4634 | "resolve": "^1.22.8", 4635 | "sucrase": "^3.35.0" 4636 | }, 4637 | "bin": { 4638 | "tailwind": "lib/cli.js", 4639 | "tailwindcss": "lib/cli.js" 4640 | }, 4641 | "engines": { 4642 | "node": ">=14.0.0" 4643 | } 4644 | }, 4645 | "node_modules/thenify": { 4646 | "version": "3.3.1", 4647 | "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", 4648 | "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", 4649 | "dev": true, 4650 | "license": "MIT", 4651 | "dependencies": { 4652 | "any-promise": "^1.0.0" 4653 | } 4654 | }, 4655 | "node_modules/thenify-all": { 4656 | "version": "1.6.0", 4657 | "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 4658 | "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", 4659 | "dev": true, 4660 | "license": "MIT", 4661 | "dependencies": { 4662 | "thenify": ">= 3.1.0 < 4" 4663 | }, 4664 | "engines": { 4665 | "node": ">=0.8" 4666 | } 4667 | }, 4668 | "node_modules/to-regex-range": { 4669 | "version": "5.0.1", 4670 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 4671 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 4672 | "dev": true, 4673 | "license": "MIT", 4674 | "dependencies": { 4675 | "is-number": "^7.0.0" 4676 | }, 4677 | "engines": { 4678 | "node": ">=8.0" 4679 | } 4680 | }, 4681 | "node_modules/toidentifier": { 4682 | "version": "1.0.1", 4683 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", 4684 | "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", 4685 | "license": "MIT", 4686 | "engines": { 4687 | "node": ">=0.6" 4688 | } 4689 | }, 4690 | "node_modules/ts-interface-checker": { 4691 | "version": "0.1.13", 4692 | "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", 4693 | "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", 4694 | "dev": true, 4695 | "license": "Apache-2.0" 4696 | }, 4697 | "node_modules/type-is": { 4698 | "version": "1.6.18", 4699 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", 4700 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", 4701 | "license": "MIT", 4702 | "dependencies": { 4703 | "media-typer": "0.3.0", 4704 | "mime-types": "~2.1.24" 4705 | }, 4706 | "engines": { 4707 | "node": ">= 0.6" 4708 | } 4709 | }, 4710 | "node_modules/unpipe": { 4711 | "version": "1.0.0", 4712 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 4713 | "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", 4714 | "license": "MIT", 4715 | "engines": { 4716 | "node": ">= 0.8" 4717 | } 4718 | }, 4719 | "node_modules/update-browserslist-db": { 4720 | "version": "1.1.1", 4721 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", 4722 | "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", 4723 | "dev": true, 4724 | "funding": [ 4725 | { 4726 | "type": "opencollective", 4727 | "url": "https://opencollective.com/browserslist" 4728 | }, 4729 | { 4730 | "type": "tidelift", 4731 | "url": "https://tidelift.com/funding/github/npm/browserslist" 4732 | }, 4733 | { 4734 | "type": "github", 4735 | "url": "https://github.com/sponsors/ai" 4736 | } 4737 | ], 4738 | "license": "MIT", 4739 | "dependencies": { 4740 | "escalade": "^3.2.0", 4741 | "picocolors": "^1.1.0" 4742 | }, 4743 | "bin": { 4744 | "update-browserslist-db": "cli.js" 4745 | }, 4746 | "peerDependencies": { 4747 | "browserslist": ">= 4.21.0" 4748 | } 4749 | }, 4750 | "node_modules/util-deprecate": { 4751 | "version": "1.0.2", 4752 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 4753 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 4754 | "dev": true, 4755 | "license": "MIT" 4756 | }, 4757 | "node_modules/utils-merge": { 4758 | "version": "1.0.1", 4759 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 4760 | "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", 4761 | "license": "MIT", 4762 | "engines": { 4763 | "node": ">= 0.4.0" 4764 | } 4765 | }, 4766 | "node_modules/vary": { 4767 | "version": "1.1.2", 4768 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 4769 | "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", 4770 | "license": "MIT", 4771 | "engines": { 4772 | "node": ">= 0.8" 4773 | } 4774 | }, 4775 | "node_modules/vite": { 4776 | "version": "5.4.11", 4777 | "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.11.tgz", 4778 | "integrity": "sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==", 4779 | "dev": true, 4780 | "license": "MIT", 4781 | "dependencies": { 4782 | "esbuild": "^0.21.3", 4783 | "postcss": "^8.4.43", 4784 | "rollup": "^4.20.0" 4785 | }, 4786 | "bin": { 4787 | "vite": "bin/vite.js" 4788 | }, 4789 | "engines": { 4790 | "node": "^18.0.0 || >=20.0.0" 4791 | }, 4792 | "funding": { 4793 | "url": "https://github.com/vitejs/vite?sponsor=1" 4794 | }, 4795 | "optionalDependencies": { 4796 | "fsevents": "~2.3.3" 4797 | }, 4798 | "peerDependencies": { 4799 | "@types/node": "^18.0.0 || >=20.0.0", 4800 | "less": "*", 4801 | "lightningcss": "^1.21.0", 4802 | "sass": "*", 4803 | "sass-embedded": "*", 4804 | "stylus": "*", 4805 | "sugarss": "*", 4806 | "terser": "^5.4.0" 4807 | }, 4808 | "peerDependenciesMeta": { 4809 | "@types/node": { 4810 | "optional": true 4811 | }, 4812 | "less": { 4813 | "optional": true 4814 | }, 4815 | "lightningcss": { 4816 | "optional": true 4817 | }, 4818 | "sass": { 4819 | "optional": true 4820 | }, 4821 | "sass-embedded": { 4822 | "optional": true 4823 | }, 4824 | "stylus": { 4825 | "optional": true 4826 | }, 4827 | "sugarss": { 4828 | "optional": true 4829 | }, 4830 | "terser": { 4831 | "optional": true 4832 | } 4833 | } 4834 | }, 4835 | "node_modules/which": { 4836 | "version": "2.0.2", 4837 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 4838 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 4839 | "dev": true, 4840 | "license": "ISC", 4841 | "dependencies": { 4842 | "isexe": "^2.0.0" 4843 | }, 4844 | "bin": { 4845 | "node-which": "bin/node-which" 4846 | }, 4847 | "engines": { 4848 | "node": ">= 8" 4849 | } 4850 | }, 4851 | "node_modules/wrap-ansi": { 4852 | "version": "8.1.0", 4853 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", 4854 | "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", 4855 | "dev": true, 4856 | "license": "MIT", 4857 | "dependencies": { 4858 | "ansi-styles": "^6.1.0", 4859 | "string-width": "^5.0.1", 4860 | "strip-ansi": "^7.0.1" 4861 | }, 4862 | "engines": { 4863 | "node": ">=12" 4864 | }, 4865 | "funding": { 4866 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 4867 | } 4868 | }, 4869 | "node_modules/wrap-ansi-cjs": { 4870 | "name": "wrap-ansi", 4871 | "version": "7.0.0", 4872 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 4873 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 4874 | "dev": true, 4875 | "license": "MIT", 4876 | "dependencies": { 4877 | "ansi-styles": "^4.0.0", 4878 | "string-width": "^4.1.0", 4879 | "strip-ansi": "^6.0.0" 4880 | }, 4881 | "engines": { 4882 | "node": ">=10" 4883 | }, 4884 | "funding": { 4885 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 4886 | } 4887 | }, 4888 | "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { 4889 | "version": "5.0.1", 4890 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 4891 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 4892 | "dev": true, 4893 | "license": "MIT", 4894 | "engines": { 4895 | "node": ">=8" 4896 | } 4897 | }, 4898 | "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { 4899 | "version": "4.3.0", 4900 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 4901 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 4902 | "dev": true, 4903 | "license": "MIT", 4904 | "dependencies": { 4905 | "color-convert": "^2.0.1" 4906 | }, 4907 | "engines": { 4908 | "node": ">=8" 4909 | }, 4910 | "funding": { 4911 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 4912 | } 4913 | }, 4914 | "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { 4915 | "version": "8.0.0", 4916 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 4917 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 4918 | "dev": true, 4919 | "license": "MIT" 4920 | }, 4921 | "node_modules/wrap-ansi-cjs/node_modules/string-width": { 4922 | "version": "4.2.3", 4923 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 4924 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 4925 | "dev": true, 4926 | "license": "MIT", 4927 | "dependencies": { 4928 | "emoji-regex": "^8.0.0", 4929 | "is-fullwidth-code-point": "^3.0.0", 4930 | "strip-ansi": "^6.0.1" 4931 | }, 4932 | "engines": { 4933 | "node": ">=8" 4934 | } 4935 | }, 4936 | "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { 4937 | "version": "6.0.1", 4938 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 4939 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 4940 | "dev": true, 4941 | "license": "MIT", 4942 | "dependencies": { 4943 | "ansi-regex": "^5.0.1" 4944 | }, 4945 | "engines": { 4946 | "node": ">=8" 4947 | } 4948 | }, 4949 | "node_modules/yallist": { 4950 | "version": "3.1.1", 4951 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 4952 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", 4953 | "dev": true, 4954 | "license": "ISC" 4955 | }, 4956 | "node_modules/yaml": { 4957 | "version": "2.6.1", 4958 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", 4959 | "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", 4960 | "dev": true, 4961 | "license": "ISC", 4962 | "bin": { 4963 | "yaml": "bin.mjs" 4964 | }, 4965 | "engines": { 4966 | "node": ">= 14" 4967 | } 4968 | } 4969 | } 4970 | } 4971 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module", 3 | "scripts": { 4 | "dev": "node server.js --dev", 5 | "start": "node server.js", 6 | "build": "npm run build:client && npm run build:server", 7 | "build:client": "vite build --outDir dist/client --ssrManifest", 8 | "build:server": "vite build --outDir dist/server --ssr /index.js", 9 | "devinstall": "zx ../../devinstall.mjs -- node server.js --dev", 10 | "lint": "eslint . --ext .js,.jsx --fix" 11 | }, 12 | "dependencies": { 13 | "dotenv": "^16.4.7", 14 | "express": "^4.21.2", 15 | "history": "^5.3.0", 16 | "minipass": "^7.0.4", 17 | "react": "^18.2.0", 18 | "react-dom": "^18.2.0", 19 | "react-feather": "^2.0.10", 20 | "react-router-dom": "^6.20.0" 21 | }, 22 | "devDependencies": { 23 | "@vitejs/plugin-react": "^4.3.4", 24 | "postcss": "^8.4.31", 25 | "postcss-nesting": "^12.0.2", 26 | "postcss-preset-env": "^7.7.1", 27 | "tailwindcss": "^3.4.1", 28 | "vite": "^5.0.2" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /postcss.config.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | "tailwindcss/nesting": "postcss-nesting", 4 | tailwindcss: {}, 5 | "postcss-preset-env": { 6 | stage: 1, 7 | features: { 8 | // Let Tailwind handle it 9 | "nesting-rules": false, 10 | }, 11 | }, 12 | }, 13 | }; 14 | -------------------------------------------------------------------------------- /server.js: -------------------------------------------------------------------------------- 1 | import express from "express"; 2 | import fs from "fs"; 3 | import { createServer as createViteServer } from "vite"; 4 | import "dotenv/config"; 5 | 6 | const app = express(); 7 | const port = process.env.PORT || 3000; 8 | const apiKey = process.env.OPENAI_API_KEY; 9 | 10 | // Configure Vite middleware for React client 11 | const vite = await createViteServer({ 12 | server: { middlewareMode: true }, 13 | appType: "custom", 14 | }); 15 | app.use(vite.middlewares); 16 | 17 | // API route for token generation 18 | app.get("/token", async (req, res) => { 19 | try { 20 | const response = await fetch( 21 | "https://api.openai.com/v1/realtime/sessions", 22 | { 23 | method: "POST", 24 | headers: { 25 | Authorization: `Bearer ${apiKey}`, 26 | "Content-Type": "application/json", 27 | }, 28 | body: JSON.stringify({ 29 | model: "gpt-4o-realtime-preview-2024-12-17", 30 | voice: "verse", 31 | }), 32 | }, 33 | ); 34 | 35 | const data = await response.json(); 36 | res.json(data); 37 | } catch (error) { 38 | console.error("Token generation error:", error); 39 | res.status(500).json({ error: "Failed to generate token" }); 40 | } 41 | }); 42 | 43 | // Render the React client 44 | app.use("*", async (req, res, next) => { 45 | const url = req.originalUrl; 46 | 47 | try { 48 | const template = await vite.transformIndexHtml( 49 | url, 50 | fs.readFileSync("./client/index.html", "utf-8"), 51 | ); 52 | const { render } = await vite.ssrLoadModule("./client/entry-server.jsx"); 53 | const appHtml = await render(url); 54 | const html = template.replace(``, appHtml?.html); 55 | res.status(200).set({ "Content-Type": "text/html" }).end(html); 56 | } catch (e) { 57 | vite.ssrFixStacktrace(e); 58 | next(e); 59 | } 60 | }); 61 | 62 | app.listen(port, () => { 63 | console.log(`Express server running on *:${port}`); 64 | }); 65 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | export default { 3 | content: ["./client/index.html", "./client/**/*.{jsx,tsx}"], 4 | theme: { 5 | extend: {}, 6 | }, 7 | plugins: [], 8 | }; 9 | -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import { join, dirname, resolve } from "path"; 2 | import { fileURLToPath } from "url"; 3 | import react from "@vitejs/plugin-react"; 4 | 5 | const path = fileURLToPath(import.meta.url); 6 | 7 | export default { 8 | root: join(dirname(path), "client"), 9 | plugins: [react()], 10 | }; 11 | --------------------------------------------------------------------------------