youngtsai commited on
Commit
c3ad400
·
1 Parent(s): 56be84b
.gitignore ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Node.js
2
+ node_modules/
3
+ dist/
4
+ .env
5
+
6
+ # IDE
7
+ .vscode/
8
+ .idea/
9
+
10
+ # OS
11
+ .DS_Store
Dockerfile ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM node:18 as build
2
+ WORKDIR /app
3
+ COPY package.json .
4
+ COPY yarn.lock .
5
+ RUN yarn install
6
+ COPY . .
7
+ RUN yarn build
8
+
9
+ FROM python:3.10-slim
10
+ WORKDIR /app
11
+ COPY --from=build /app/dist ./dist
12
+ COPY requirements.txt .
13
+ COPY backend ./backend
14
+ COPY app.py .
15
+ RUN pip install -r requirements.txt
16
+ CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
README.md CHANGED
@@ -1,10 +1,18 @@
1
  ---
2
- title: Tai JY
3
- emoji: 🏃
4
- colorFrom: green
5
- colorTo: gray
6
  sdk: docker
7
  pinned: false
8
  ---
9
 
 
 
 
 
 
 
 
 
10
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: Knowledge Graph Learning System
3
+ emoji: 🌳
4
+ colorFrom: blue
5
+ colorTo: red
6
  sdk: docker
7
  pinned: false
8
  ---
9
 
10
+ # Knowledge Graph Learning System
11
+
12
+ 互動式知識圖譜學習系統,整合了:
13
+ - 知識節點的視覺化展示
14
+ - AI 輔助學習
15
+ - 練習與評量
16
+ - 學習進度追蹤
17
+
18
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
app.py ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI
2
+ from fastapi.middleware.cors import CORSMiddleware
3
+ from fastapi.staticfiles import StaticFiles
4
+ from backend.main import app as backend_app
5
+
6
+ app = FastAPI()
7
+
8
+ # 設定 CORS
9
+ app.add_middleware(
10
+ CORSMiddleware,
11
+ allow_origins=["*"],
12
+ allow_credentials=True,
13
+ allow_methods=["*"],
14
+ allow_headers=["*"],
15
+ )
16
+
17
+ # 掛載後端 API
18
+ app.mount("/api", backend_app)
19
+
20
+ # 掛載前端靜態檔案
21
+ app.mount("/", StaticFiles(directory="dist", html=True), name="static")
backend/__pycache__/main.cpython-310.pyc ADDED
Binary file (1.62 kB). View file
 
backend/knowledge_graphs/__init__.py ADDED
@@ -0,0 +1 @@
 
 
1
+ # 空檔案,用於將資料夾標記為 Python 套件
backend/knowledge_graphs/__pycache__/__init__.cpython-310.pyc ADDED
Binary file (157 Bytes). View file
 
backend/knowledge_graphs/__pycache__/data_structures.cpython-310.pyc ADDED
Binary file (488 Bytes). View file
 
backend/knowledge_graphs/__pycache__/fraud_prevention.cpython-310.pyc ADDED
Binary file (1.15 kB). View file
 
backend/knowledge_graphs/__pycache__/python_basics.cpython-310.pyc ADDED
Binary file (1.24 kB). View file
 
backend/knowledge_graphs/data_structures.py ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 建立資料結構的知識圖譜
2
+ knowledge_graph = {
3
+ "nodes": {
4
+ "1": {
5
+ "id": "1",
6
+ "title": "資料結構概述",
7
+ "content": "資料結構是電腦科學中的基礎概念...",
8
+ "type": "concept"
9
+ },
10
+ "2": {
11
+ "id": "2",
12
+ "title": "陣列",
13
+ "content": "陣列是最基本的資料結構...",
14
+ "type": "concept"
15
+ }
16
+ },
17
+ "edges": [
18
+ {
19
+ "source": "1",
20
+ "target": "2",
21
+ "type": "contains"
22
+ }
23
+ ]
24
+ }
backend/knowledge_graphs/fraud_prevention.py ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ knowledge_graph = {
2
+ "nodes": {
3
+ "1": {
4
+ "id": "1",
5
+ "title": "保險詐騙防範",
6
+ "content": "保險詐騙是一種常見的金融犯罪,了解其手法和防範方式非常重要...",
7
+ "type": "concept"
8
+ },
9
+ "2": {
10
+ "id": "2",
11
+ "title": "常見詐騙手法",
12
+ "content": "1. 假冒保險業務員<br>2. 偽造保單文件<br>3. 虛假理賠申請<br>4. 身分盜用",
13
+ "type": "warning"
14
+ },
15
+ "3": {
16
+ "id": "3",
17
+ "title": "防範措施",
18
+ "content": "1. 確認業務員身分<br>2. 核實保單文件<br>3. 保護個人資料<br>4. 定期查詢保單狀態",
19
+ "type": "solution"
20
+ },
21
+ "4": {
22
+ "id": "4",
23
+ "title": "通報管道",
24
+ "content": "發現可疑情況可以:<br>1. 撥打反詐騙專線 165<br>2. 聯絡保險公司客服<br>3. 向金管會檢舉",
25
+ "type": "action"
26
+ },
27
+ "5": {
28
+ "id": "5",
29
+ "title": "真實案例分析",
30
+ "content": "案例一:假冒業務員行騙...<br>案例二:保費詐騙案例...",
31
+ "type": "example"
32
+ }
33
+ },
34
+ "edges": [
35
+ {"source": "1", "target": "2", "type": "contains"},
36
+ {"source": "1", "target": "3", "type": "contains"},
37
+ {"source": "2", "target": "5", "type": "example"},
38
+ {"source": "3", "target": "4", "type": "related"},
39
+ {"source": "4", "target": "5", "type": "reference"}
40
+ ]
41
+ }
backend/knowledge_graphs/python_basics.py ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 建立一個基本的知識圖譜結構
2
+ knowledge_graph = {
3
+ "nodes": {
4
+ "1": {
5
+ "id": "1",
6
+ "title": "Python 基礎",
7
+ "content": "Python 是一種高級程式語言,特點是易讀易寫...",
8
+ "type": "concept"
9
+ },
10
+ "2": {
11
+ "id": "2",
12
+ "title": "變數與資料型別",
13
+ "content": "Python 中的基本資料型別包括:整數、浮點數、字串、布林值...",
14
+ "type": "concept"
15
+ },
16
+ "3": {
17
+ "id": "3",
18
+ "title": "流程控制",
19
+ "content": "包括 if-else 條件判斷、for 和 while 迴圈...",
20
+ "type": "concept"
21
+ },
22
+ "4": {
23
+ "id": "4",
24
+ "title": "函數",
25
+ "content": "函數是可重複使用的程式碼區塊...",
26
+ "type": "concept"
27
+ },
28
+ "5": {
29
+ "id": "5",
30
+ "title": "列表操作",
31
+ "content": "Python 列表是最常用的資料結構之一...",
32
+ "type": "concept"
33
+ },
34
+ "6": {
35
+ "id": "6",
36
+ "title": "字典操作",
37
+ "content": "字典是鍵值對的集合...",
38
+ "type": "concept"
39
+ },
40
+ "7": {
41
+ "id": "7",
42
+ "title": "檔案處理",
43
+ "content": "Python 提供了簡單的檔案讀寫操作...",
44
+ "type": "concept"
45
+ },
46
+ "8": {
47
+ "id": "8",
48
+ "title": "例外處理",
49
+ "content": "使用 try-except 來處理程式執行時的錯誤...",
50
+ "type": "concept"
51
+ }
52
+ },
53
+ "edges": [
54
+ {"source": "1", "target": "2", "type": "basic"},
55
+ {"source": "1", "target": "3", "type": "basic"},
56
+ {"source": "1", "target": "4", "type": "basic"},
57
+ {"source": "2", "target": "5", "type": "related"},
58
+ {"source": "2", "target": "6", "type": "related"},
59
+ {"source": "3", "target": "8", "type": "advanced"},
60
+ {"source": "4", "target": "7", "type": "advanced"},
61
+ {"source": "5", "target": "6", "type": "related"},
62
+ {"source": "7", "target": "8", "type": "related"}
63
+ ]
64
+ }
backend/main.py ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI
2
+ from fastapi.middleware.cors import CORSMiddleware
3
+ from typing import Dict
4
+ from .knowledge_graphs import python_basics, data_structures, fraud_prevention
5
+
6
+ app = FastAPI()
7
+
8
+ # 設定 CORS
9
+ app.add_middleware(
10
+ CORSMiddleware,
11
+ allow_origins=["*"], # 改為允許所有來源
12
+ allow_credentials=True,
13
+ allow_methods=["*"],
14
+ allow_headers=["*"],
15
+ )
16
+
17
+ # 知識圖譜集合
18
+ knowledge_graphs: Dict[str, dict] = {
19
+ "python_basics": {
20
+ "id": "python_basics",
21
+ "title": "Python 程式設計基礎",
22
+ "graph": python_basics.knowledge_graph
23
+ },
24
+ "data_structures": {
25
+ "id": "data_structures",
26
+ "title": "資料結構與演算法",
27
+ "graph": data_structures.knowledge_graph
28
+ },
29
+ "fraud_prevention": {
30
+ "id": "fraud_prevention",
31
+ "title": "保險詐騙防範知識",
32
+ "graph": fraud_prevention.knowledge_graph
33
+ }
34
+ }
35
+
36
+ @app.get("/api/graphs")
37
+ def list_graphs():
38
+ return {
39
+ "available_graphs": [
40
+ {
41
+ "id": graph_id,
42
+ "title": graph_data["title"]
43
+ }
44
+ for graph_id, graph_data in knowledge_graphs.items()
45
+ ]
46
+ }
47
+
48
+ @app.get("/api/graph/{graph_id}")
49
+ def get_graph(graph_id: str):
50
+ if graph_id not in knowledge_graphs:
51
+ return {"error": "Graph not found"}
52
+ return {"graph": knowledge_graphs[graph_id]["graph"]}
53
+
54
+ @app.get("/api/graph/{graph_id}/node/{node_id}")
55
+ def get_node(graph_id: str, node_id: str):
56
+ if graph_id not in knowledge_graphs:
57
+ return {"error": "Graph not found"}
58
+ return knowledge_graphs[graph_id]["graph"]["nodes"].get(node_id)
index.html ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Vite + React</title>
7
+ </head>
8
+ <body>
9
+ <div id="root"></div>
10
+ <script type="module" src="/src/main.jsx"></script>
11
+ </body>
12
+ </html>
package-lock.json ADDED
The diff for this file is too large to render. See raw diff
 
package.json ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "tai-jy",
3
+ "private": true,
4
+ "version": "0.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "NODE_NO_WARNINGS=1 vite",
8
+ "build": "vite build",
9
+ "preview": "vite preview"
10
+ },
11
+ "dependencies": {
12
+ "@emotion/react": "^11.11.3",
13
+ "@emotion/styled": "^11.11.0",
14
+ "@mui/icons-material": "^5.15.7",
15
+ "@mui/material": "^5.15.7",
16
+ "axios": "^1.6.7",
17
+ "dagre": "^0.8.5",
18
+ "react": "^18.3.1",
19
+ "react-dom": "^18.3.1",
20
+ "reactflow": "^11.10.1"
21
+ },
22
+ "devDependencies": {
23
+ "@types/react": "^18.2.15",
24
+ "@types/react-dom": "^18.2.7",
25
+ "@vitejs/plugin-react": "^4.4.0",
26
+ "vite": "^6.2.6"
27
+ }
28
+ }
requirements.txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ fastapi>=0.115.2
2
+ uvicorn==0.27.0
3
+ starlette>=0.40.0
4
+ python-multipart==0.0.6
5
+ pydantic==2.5.3
6
+ aiofiles==23.2.1 # 用於處理靜態檔案
src/App.jsx ADDED
@@ -0,0 +1,179 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import React, { useEffect, useState } from 'react'
2
+ import { Container, Grid, Paper, Box, Select, MenuItem, FormControl, InputLabel } from '@mui/material'
3
+ import axios from 'axios'
4
+ import KnowledgeGraph from './components/KnowledgeGraph/KnowledgeGraph'
5
+ import NodeContent from './components/NodeContent/NodeContent'
6
+
7
+ function App() {
8
+ const [availableGraphs, setAvailableGraphs] = useState([])
9
+ const [selectedGraphId, setSelectedGraphId] = useState('')
10
+ const [graphData, setGraphData] = useState(null)
11
+ const [selectedNode, setSelectedNode] = useState(null)
12
+ const [loading, setLoading] = useState(true)
13
+ const [error, setError] = useState(null)
14
+
15
+ useEffect(() => {
16
+ axios.get('/api/graphs')
17
+ .then(response => {
18
+ const graphs = response.data.available_graphs
19
+ setAvailableGraphs(graphs)
20
+ if (graphs.length > 0) {
21
+ setSelectedGraphId(graphs[0].id)
22
+ }
23
+ })
24
+ .catch(error => {
25
+ console.error('Error fetching graphs:', error)
26
+ setError('Error fetching available graphs')
27
+ })
28
+ }, [])
29
+
30
+ useEffect(() => {
31
+ if (!selectedGraphId) return
32
+
33
+ setLoading(true)
34
+ axios.get(`/api/graph/${selectedGraphId}`)
35
+ .then(response => {
36
+ setGraphData(response.data.graph)
37
+ setSelectedNode(null)
38
+ setLoading(false)
39
+ })
40
+ .catch(error => {
41
+ console.error('Error:', error)
42
+ setError('Error loading graph')
43
+ setLoading(false)
44
+ })
45
+ }, [selectedGraphId])
46
+
47
+ const handleNodeClick = async (nodeId) => {
48
+ try {
49
+ const response = await axios.get(`/api/graph/${selectedGraphId}/node/${nodeId}`)
50
+ setSelectedNode(response.data)
51
+ } catch (error) {
52
+ console.error('Error fetching node:', error)
53
+ }
54
+ }
55
+
56
+ if (loading) return <div>Loading...</div>
57
+ if (error) return <div>Error: {error}</div>
58
+ if (!graphData) return <div>No data</div>
59
+
60
+ return (
61
+ <Container maxWidth="xl" sx={{ height: '100vh', py: 2 }}>
62
+ {/* 圖譜選擇器 */}
63
+ <Box sx={{ mb: 2 }}>
64
+ <FormControl sx={{ minWidth: 200 }}>
65
+ <InputLabel>選擇知識圖譜</InputLabel>
66
+ <Select
67
+ value={selectedGraphId}
68
+ onChange={(e) => setSelectedGraphId(e.target.value)}
69
+ label="選擇知識圖譜"
70
+ >
71
+ {availableGraphs.map(graph => (
72
+ <MenuItem key={graph.id} value={graph.id}>
73
+ {graph.title}
74
+ </MenuItem>
75
+ ))}
76
+ </Select>
77
+ </FormControl>
78
+ </Box>
79
+
80
+ <Grid container spacing={2} sx={{ height: 'calc(100% - 60px)' }}>
81
+ {/* 左側區域 */}
82
+ <Grid item xs={6} sx={{ height: '100%' }}>
83
+ <Grid container spacing={2} sx={{ height: '100%' }}>
84
+ {/* 左上:知識圖譜 */}
85
+ <Grid item xs={12} sx={{ height: '50%' }}>
86
+ <Paper elevation={3} sx={{ height: '100%', p: 2 }}>
87
+ <KnowledgeGraph
88
+ nodes={Object.values(graphData.nodes)}
89
+ edges={graphData.edges}
90
+ onNodeClick={handleNodeClick}
91
+ selectedNodeId={selectedNode?.id}
92
+ />
93
+ </Paper>
94
+ </Grid>
95
+ {/* 左下:內容 */}
96
+ <Grid item xs={12} sx={{ height: '50%' }}>
97
+ <Paper elevation={3} sx={{ height: '100%', p: 2, overflow: 'auto' }}>
98
+ <Box sx={{ height: '100%' }}>
99
+ {selectedNode && (
100
+ <>
101
+ <h2>{selectedNode.title}</h2>
102
+ <div dangerouslySetInnerHTML={{ __html: selectedNode.content }} />
103
+ {selectedNode.resources && (
104
+ <div>
105
+ <h3>延伸資源</h3>
106
+ <ul>
107
+ {selectedNode.resources.map((resource, index) => (
108
+ <li key={index}>
109
+ <a href={resource.url} target="_blank" rel="noopener noreferrer">
110
+ {resource.type}: {resource.url}
111
+ </a>
112
+ </li>
113
+ ))}
114
+ </ul>
115
+ </div>
116
+ )}
117
+ </>
118
+ )}
119
+ </Box>
120
+ </Paper>
121
+ </Grid>
122
+ </Grid>
123
+ </Grid>
124
+
125
+ {/* 右側區域 */}
126
+ <Grid item xs={6} sx={{ height: '100%' }}>
127
+ <Grid container spacing={2} sx={{ height: '100%' }}>
128
+ {/* 右上:AI 對話 */}
129
+ <Grid item xs={12} sx={{ height: '50%' }}>
130
+ <Paper elevation={3} sx={{ height: '100%', p: 2, overflow: 'auto' }}>
131
+ <h2>AI 對話</h2>
132
+ {selectedNode?.aiChats && (
133
+ <div>
134
+ {selectedNode.aiChats.map((chat, index) => (
135
+ <div key={index} style={{ marginBottom: '1rem' }}>
136
+ <p><strong>Q: </strong>{chat.question}</p>
137
+ <p><strong>A: </strong>{chat.answer}</p>
138
+ </div>
139
+ ))}
140
+ </div>
141
+ )}
142
+ </Paper>
143
+ </Grid>
144
+ {/* 右下:練習 */}
145
+ <Grid item xs={12} sx={{ height: '50%' }}>
146
+ <Paper elevation={3} sx={{ height: '100%', p: 2, overflow: 'auto' }}>
147
+ <h2>練習</h2>
148
+ {selectedNode?.exercises && (
149
+ <div>
150
+ {selectedNode.exercises.map((exercise) => (
151
+ <div key={exercise.id} style={{ marginBottom: '1rem' }}>
152
+ <p><strong>{exercise.question}</strong></p>
153
+ {exercise.type === 'multiple_choice' && (
154
+ <div>
155
+ {exercise.options.map((option, index) => (
156
+ <div key={index}>
157
+ <input
158
+ type="radio"
159
+ name={exercise.id}
160
+ value={index}
161
+ /> {option}
162
+ </div>
163
+ ))}
164
+ </div>
165
+ )}
166
+ </div>
167
+ ))}
168
+ </div>
169
+ )}
170
+ </Paper>
171
+ </Grid>
172
+ </Grid>
173
+ </Grid>
174
+ </Grid>
175
+ </Container>
176
+ )
177
+ }
178
+
179
+ export default App
src/components/KnowledgeGraph/KnowledgeGraph.jsx ADDED
@@ -0,0 +1,175 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import React, { useCallback } from 'react';
2
+ import ReactFlow, {
3
+ Background,
4
+ Controls,
5
+ MiniMap,
6
+ ReactFlowProvider,
7
+ MarkerType
8
+ } from 'reactflow';
9
+ import dagre from 'dagre'; // 需要先安裝:npm install dagre
10
+ import 'reactflow/dist/style.css';
11
+
12
+ const getLayoutedElements = (nodes, edges) => {
13
+ const dagreGraph = new dagre.graphlib.Graph();
14
+ dagreGraph.setDefaultEdgeLabel(() => ({}));
15
+ dagreGraph.setGraph({
16
+ rankdir: 'TB',
17
+ nodesep: 150, // 增加節點間的水平間距
18
+ ranksep: 100 // 增加節點間的垂直間距
19
+ });
20
+
21
+ // 設置節點大小
22
+ nodes.forEach((node) => {
23
+ dagreGraph.setNode(node.id, { width: 150, height: 40 });
24
+ });
25
+
26
+ // 添加邊
27
+ edges.forEach((edge) => {
28
+ dagreGraph.setEdge(edge.source, edge.target);
29
+ });
30
+
31
+ // 計算布局
32
+ dagre.layout(dagreGraph);
33
+
34
+ // 獲取計算後的位置
35
+ const layoutedNodes = nodes.map(node => {
36
+ const nodeWithPosition = dagreGraph.node(node.id);
37
+ return {
38
+ ...node,
39
+ position: {
40
+ x: nodeWithPosition.x,
41
+ y: nodeWithPosition.y,
42
+ },
43
+ };
44
+ });
45
+
46
+ return layoutedNodes;
47
+ };
48
+
49
+ // 定義邊的類型樣式和中文標籤
50
+ const edgeTypes = {
51
+ 'basic': {
52
+ label: '基礎概念',
53
+ color: '#2196f3' // 藍色
54
+ },
55
+ 'advanced': {
56
+ label: '進階概念',
57
+ color: '#f44336' // 紅色
58
+ },
59
+ 'related': {
60
+ label: '相關概念',
61
+ color: '#4caf50' // 綠色
62
+ },
63
+ 'contains': {
64
+ label: '包含',
65
+ color: '#9c27b0' // 紫色
66
+ },
67
+ 'example': {
68
+ label: '案例',
69
+ color: '#ff9800' // 橙色
70
+ },
71
+ 'reference': {
72
+ label: '參考',
73
+ color: '#795548' // 棕色
74
+ }
75
+ };
76
+
77
+ const getEdgeStyle = (type) => {
78
+ const baseStyle = {
79
+ stroke: '#888',
80
+ strokeWidth: 2,
81
+ };
82
+
83
+ return {
84
+ ...baseStyle,
85
+ stroke: edgeTypes[type]?.color || baseStyle.stroke
86
+ };
87
+ };
88
+
89
+ function KnowledgeGraph({ nodes, edges, onNodeClick, selectedNodeId }) {
90
+ const flowNodes = getLayoutedElements(
91
+ nodes.map(node => ({
92
+ id: node.id,
93
+ data: { label: node.title },
94
+ position: { x: 0, y: 0 },
95
+ style: {
96
+ background: selectedNodeId === node.id ? '#ff0072' : '#fff',
97
+ border: '1px solid #777',
98
+ padding: 10,
99
+ width: 150,
100
+ borderRadius: 8,
101
+ fontSize: '14px'
102
+ }
103
+ })),
104
+ edges
105
+ );
106
+
107
+ // 修改邊的樣式設定
108
+ const styledEdges = edges.map(edge => ({
109
+ ...edge,
110
+ type: 'smoothstep',
111
+ animated: true,
112
+ style: getEdgeStyle(edge.type),
113
+ markerEnd: {
114
+ type: MarkerType.ArrowClosed,
115
+ width: 20,
116
+ height: 20,
117
+ color: edgeTypes[edge.type]?.color || '#888',
118
+ },
119
+ // 使用中文標籤
120
+ label: edgeTypes[edge.type]?.label || edge.type,
121
+ labelStyle: {
122
+ fill: '#888',
123
+ fontSize: 12,
124
+ fontWeight: 500,
125
+ background: '#ffffff',
126
+ padding: 4,
127
+ },
128
+ labelBgStyle: {
129
+ fill: '#ffffff',
130
+ fillOpacity: 0.8,
131
+ rx: 4, // 圓角
132
+ }
133
+ }));
134
+
135
+ return (
136
+ <div style={{ width: '100%', height: '100%' }}>
137
+ <ReactFlowProvider>
138
+ <ReactFlow
139
+ nodes={flowNodes}
140
+ edges={styledEdges}
141
+ onNodeClick={(_, node) => onNodeClick(node.id)}
142
+ fitView
143
+ fitViewOptions={{ padding: 0.2 }}
144
+ defaultViewport={{ zoom: 1 }}
145
+ minZoom={0.1}
146
+ maxZoom={4}
147
+ >
148
+ <Background
149
+ color="#aaa"
150
+ gap={16}
151
+ size={1}
152
+ />
153
+ <Controls />
154
+ <MiniMap
155
+ nodeStrokeColor={(n) => {
156
+ if (n.id === selectedNodeId) return '#ff0072';
157
+ return '#000';
158
+ }}
159
+ nodeColor={(n) => {
160
+ if (n.id === selectedNodeId) return '#ff0072';
161
+ return '#fff';
162
+ }}
163
+ maskColor="rgb(0, 0, 0, 0.1)"
164
+ style={{
165
+ height: 120,
166
+ width: 160,
167
+ }}
168
+ />
169
+ </ReactFlow>
170
+ </ReactFlowProvider>
171
+ </div>
172
+ );
173
+ }
174
+
175
+ export default KnowledgeGraph;
src/components/NodeContent/NodeContent.jsx ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import React from 'react';
2
+ import {
3
+ Card,
4
+ CardContent,
5
+ Typography,
6
+ Link,
7
+ Divider,
8
+ List,
9
+ ListItem,
10
+ ListItemText,
11
+ Radio,
12
+ RadioGroup,
13
+ FormControlLabel
14
+ } from '@mui/material';
15
+
16
+ function NodeContent({ node }) {
17
+ if (!node) return null;
18
+
19
+ return (
20
+ <Card>
21
+ <CardContent>
22
+ <Typography variant="h5" gutterBottom>
23
+ {node.title}
24
+ </Typography>
25
+ <Divider />
26
+
27
+ {/* 內容區 */}
28
+ <Typography variant="h6" gutterBottom sx={{ mt: 2 }}>
29
+ 內容
30
+ </Typography>
31
+ <div dangerouslySetInnerHTML={{ __html: node.content }} />
32
+
33
+ {/* 資源連結 */}
34
+ {node.resources && (
35
+ <>
36
+ <Typography variant="h6" gutterBottom sx={{ mt: 2 }}>
37
+ 延伸資源
38
+ </Typography>
39
+ <List>
40
+ {node.resources.map((resource, index) => (
41
+ <ListItem key={index}>
42
+ <ListItemText>
43
+ <Link href={resource.url} target="_blank" rel="noopener noreferrer">
44
+ {resource.type}: {resource.url}
45
+ </Link>
46
+ </ListItemText>
47
+ </ListItem>
48
+ ))}
49
+ </List>
50
+ </>
51
+ )}
52
+
53
+ {/* AI 對話記錄 */}
54
+ {node.aiChats && (
55
+ <>
56
+ <Typography variant="h6" gutterBottom sx={{ mt: 2 }}>
57
+ AI 對話記錄
58
+ </Typography>
59
+ <List>
60
+ {node.aiChats.map((chat, index) => (
61
+ <ListItem key={index}>
62
+ <ListItemText
63
+ primary={<strong>Q: {chat.question}</strong>}
64
+ secondary={`A: ${chat.answer}`}
65
+ />
66
+ </ListItem>
67
+ ))}
68
+ </List>
69
+ </>
70
+ )}
71
+
72
+ {/* 練習區 */}
73
+ {node.exercises && (
74
+ <>
75
+ <Typography variant="h6" gutterBottom sx={{ mt: 2 }}>
76
+ 練習題
77
+ </Typography>
78
+ {node.exercises.map((exercise) => (
79
+ <div key={exercise.id}>
80
+ <Typography variant="subtitle1" gutterBottom>
81
+ {exercise.question}
82
+ </Typography>
83
+ {exercise.type === 'multiple_choice' && (
84
+ <RadioGroup name={exercise.id}>
85
+ {exercise.options.map((option, index) => (
86
+ <FormControlLabel
87
+ key={index}
88
+ value={index.toString()}
89
+ control={<Radio />}
90
+ label={option}
91
+ />
92
+ ))}
93
+ </RadioGroup>
94
+ )}
95
+ </div>
96
+ ))}
97
+ </>
98
+ )}
99
+ </CardContent>
100
+ </Card>
101
+ );
102
+ }
103
+
104
+ export default NodeContent;
src/main.jsx ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import React from 'react'
2
+ import ReactDOM from 'react-dom/client'
3
+ import App from './App'
4
+
5
+ ReactDOM.createRoot(document.getElementById('root')).render(
6
+ <React.StrictMode>
7
+ <App />
8
+ </React.StrictMode>,
9
+ )
src/models/schema.js ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // 知識節點
2
+ const nodeSchema = {
3
+ id: 'string',
4
+ title: 'string',
5
+ content: 'string',
6
+ prerequisites: ['nodeId'],
7
+ relatedNodes: ['nodeId'],
8
+ exercises: ['exerciseId'],
9
+ difficulty: 'number'
10
+ };
11
+
12
+ // 練習
13
+ const exerciseSchema = {
14
+ id: 'string',
15
+ nodeId: 'string',
16
+ type: 'string', // multiple_choice, open_ended, etc
17
+ question: 'string',
18
+ options: ['string'], // for multiple choice
19
+ correctAnswer: 'string',
20
+ explanation: 'string'
21
+ };
22
+
23
+ // 使用者進度
24
+ const userProgressSchema = {
25
+ userId: 'string',
26
+ completedNodes: ['nodeId'],
27
+ exerciseResults: [{
28
+ exerciseId: 'string',
29
+ score: 'number',
30
+ attempts: 'number'
31
+ }],
32
+ skills: {
33
+ [skillName]: 'number' // 技能熟練度
34
+ }
35
+ };
style.css ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ body {
2
+ padding: 2rem;
3
+ font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
4
+ }
5
+
6
+ h1 {
7
+ font-size: 16px;
8
+ margin-top: 0;
9
+ }
10
+
11
+ p {
12
+ color: rgb(107, 114, 128);
13
+ font-size: 15px;
14
+ margin-bottom: 10px;
15
+ margin-top: 5px;
16
+ }
17
+
18
+ .card {
19
+ max-width: 620px;
20
+ margin: 0 auto;
21
+ padding: 16px;
22
+ border: 1px solid lightgray;
23
+ border-radius: 16px;
24
+ }
25
+
26
+ .card p:last-child {
27
+ margin-bottom: 0;
28
+ }
vite.config.js ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { defineConfig } from 'vite'
2
+ import react from '@vitejs/plugin-react'
3
+
4
+ export default defineConfig({
5
+ plugins: [react()],
6
+ server: {
7
+ proxy: {
8
+ '/api': {
9
+ target: 'http://localhost:8000', // 改為 8000 端口
10
+ changeOrigin: true,
11
+ }
12
+ }
13
+ }
14
+ })
yarn-error.log ADDED
@@ -0,0 +1,790 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Arguments:
2
+ /opt/homebrew/Cellar/node/22.9.0_1/bin/node /opt/homebrew/bin/yarn install
3
+
4
+ PATH:
5
+ /Users/young/.rvm/gems/ruby-3.0.0/bin:/Users/young/.rvm/gems/ruby-3.0.0@global/bin:/Users/young/.rvm/rubies/ruby-3.0.0/bin:/Users/young/.codeium/windsurf/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/young/.yarn/bin:/Users/young/.config/yarn/global/node_modules/.bin:/Users/young/.nvm/versions/node/v16.15.0/bin:/Users/young/.pyenv/shims:/Users/young/.pyenv/bin:/usr/local/opt/python@2/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Users/young/.rvm/bin
6
+
7
+ Yarn version:
8
+ 1.22.18
9
+
10
+ Node version:
11
+ 22.9.0
12
+
13
+ Platform:
14
+ darwin arm64
15
+
16
+ Trace:
17
+ Error: ENOTEMPTY: directory not empty, rmdir '/Users/young/Library/Caches/Yarn/v6/npm-@mui-icons-material-5.17.1-2b14832473d4d3738d8194665af359377eb91752-integrity/node_modules/@mui/icons-material'
18
+
19
+ npm manifest:
20
+ {
21
+ "name": "tai-jy",
22
+ "private": true,
23
+ "version": "0.0.0",
24
+ "type": "module",
25
+ "scripts": {
26
+ "dev": "vite",
27
+ "build": "vite build",
28
+ "preview": "vite preview"
29
+ },
30
+ "dependencies": {
31
+ "react": "^18.2.0",
32
+ "react-dom": "^18.2.0",
33
+ "axios": "^1.6.7",
34
+ "react-flow-renderer": "^10.3.17",
35
+ "@mui/material": "^5.15.7",
36
+ "@mui/icons-material": "^5.15.7",
37
+ "@emotion/react": "^11.11.3",
38
+ "@emotion/styled": "^11.11.0"
39
+ },
40
+ "devDependencies": {
41
+ "@types/react": "^18.2.15",
42
+ "@types/react-dom": "^18.2.7",
43
+ "@vitejs/plugin-react": "^4.0.3",
44
+ "vite": "^4.4.5"
45
+ }
46
+ }
47
+
48
+ yarn manifest:
49
+ No manifest
50
+
51
+ Lockfile:
52
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
53
+ # yarn lockfile v1
54
+
55
+
56
+ "@ampproject/remapping@^2.2.0":
57
+ version "2.3.0"
58
+ resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4"
59
+ integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==
60
+ dependencies:
61
+ "@jridgewell/gen-mapping" "^0.3.5"
62
+ "@jridgewell/trace-mapping" "^0.3.24"
63
+
64
+ "@babel/code-frame@^7.26.2":
65
+ version "7.26.2"
66
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85"
67
+ integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==
68
+ dependencies:
69
+ "@babel/helper-validator-identifier" "^7.25.9"
70
+ js-tokens "^4.0.0"
71
+ picocolors "^1.0.0"
72
+
73
+ "@babel/compat-data@^7.26.8":
74
+ version "7.26.8"
75
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.8.tgz#821c1d35641c355284d4a870b8a4a7b0c141e367"
76
+ integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==
77
+
78
+ "@babel/core@^7.26.10":
79
+ version "7.26.10"
80
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.10.tgz#5c876f83c8c4dcb233ee4b670c0606f2ac3000f9"
81
+ integrity sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==
82
+ dependencies:
83
+ "@ampproject/remapping" "^2.2.0"
84
+ "@babel/code-frame" "^7.26.2"
85
+ "@babel/generator" "^7.26.10"
86
+ "@babel/helper-compilation-targets" "^7.26.5"
87
+ "@babel/helper-module-transforms" "^7.26.0"
88
+ "@babel/helpers" "^7.26.10"
89
+ "@babel/parser" "^7.26.10"
90
+ "@babel/template" "^7.26.9"
91
+ "@babel/traverse" "^7.26.10"
92
+ "@babel/types" "^7.26.10"
93
+ convert-source-map "^2.0.0"
94
+ debug "^4.1.0"
95
+ gensync "^1.0.0-beta.2"
96
+ json5 "^2.2.3"
97
+ semver "^6.3.1"
98
+
99
+ "@babel/generator@^7.26.10", "@babel/generator@^7.27.0":
100
+ version "7.27.0"
101
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.0.tgz#764382b5392e5b9aff93cadb190d0745866cbc2c"
102
+ integrity sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==
103
+ dependencies:
104
+ "@babel/parser" "^7.27.0"
105
+ "@babel/types" "^7.27.0"
106
+ "@jridgewell/gen-mapping" "^0.3.5"
107
+ "@jridgewell/trace-mapping" "^0.3.25"
108
+ jsesc "^3.0.2"
109
+
110
+ "@babel/helper-compilation-targets@^7.26.5":
111
+ version "7.27.0"
112
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz#de0c753b1cd1d9ab55d473c5a5cf7170f0a81880"
113
+ integrity sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==
114
+ dependencies:
115
+ "@babel/compat-data" "^7.26.8"
116
+ "@babel/helper-validator-option" "^7.25.9"
117
+ browserslist "^4.24.0"
118
+ lru-cache "^5.1.1"
119
+ semver "^6.3.1"
120
+
121
+ "@babel/helper-module-imports@^7.25.9":
122
+ version "7.25.9"
123
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715"
124
+ integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==
125
+ dependencies:
126
+ "@babel/traverse" "^7.25.9"
127
+ "@babel/types" "^7.25.9"
128
+
129
+ "@babel/helper-module-transforms@^7.26.0":
130
+ version "7.26.0"
131
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae"
132
+ integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==
133
+ dependencies:
134
+ "@babel/helper-module-imports" "^7.25.9"
135
+ "@babel/helper-validator-identifier" "^7.25.9"
136
+ "@babel/traverse" "^7.25.9"
137
+
138
+ "@babel/helper-plugin-utils@^7.25.9":
139
+ version "7.26.5"
140
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz#18580d00c9934117ad719392c4f6585c9333cc35"
141
+ integrity sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==
142
+
143
+ "@babel/helper-string-parser@^7.25.9":
144
+ version "7.25.9"
145
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c"
146
+ integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==
147
+
148
+ "@babel/helper-validator-identifier@^7.25.9":
149
+ version "7.25.9"
150
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7"
151
+ integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==
152
+
153
+ "@babel/helper-validator-option@^7.25.9":
154
+ version "7.25.9"
155
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72"
156
+ integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==
157
+
158
+ "@babel/helpers@^7.26.10":
159
+ version "7.27.0"
160
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.27.0.tgz#53d156098defa8243eab0f32fa17589075a1b808"
161
+ integrity sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==
162
+ dependencies:
163
+ "@babel/template" "^7.27.0"
164
+ "@babel/types" "^7.27.0"
165
+
166
+ "@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.26.10", "@babel/parser@^7.27.0":
167
+ version "7.27.0"
168
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.0.tgz#3d7d6ee268e41d2600091cbd4e145ffee85a44ec"
169
+ integrity sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==
170
+ dependencies:
171
+ "@babel/types" "^7.27.0"
172
+
173
+ "@babel/plugin-transform-react-jsx-self@^7.25.9":
174
+ version "7.25.9"
175
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz#c0b6cae9c1b73967f7f9eb2fca9536ba2fad2858"
176
+ integrity sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==
177
+ dependencies:
178
+ "@babel/helper-plugin-utils" "^7.25.9"
179
+
180
+ "@babel/plugin-transform-react-jsx-source@^7.25.9":
181
+ version "7.25.9"
182
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz#4c6b8daa520b5f155b5fb55547d7c9fa91417503"
183
+ integrity sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==
184
+ dependencies:
185
+ "@babel/helper-plugin-utils" "^7.25.9"
186
+
187
+ "@babel/template@^7.26.9", "@babel/template@^7.27.0":
188
+ version "7.27.0"
189
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.0.tgz#b253e5406cc1df1c57dcd18f11760c2dbf40c0b4"
190
+ integrity sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==
191
+ dependencies:
192
+ "@babel/code-frame" "^7.26.2"
193
+ "@babel/parser" "^7.27.0"
194
+ "@babel/types" "^7.27.0"
195
+
196
+ "@babel/traverse@^7.25.9", "@babel/traverse@^7.26.10":
197
+ version "7.27.0"
198
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.0.tgz#11d7e644779e166c0442f9a07274d02cd91d4a70"
199
+ integrity sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==
200
+ dependencies:
201
+ "@babel/code-frame" "^7.26.2"
202
+ "@babel/generator" "^7.27.0"
203
+ "@babel/parser" "^7.27.0"
204
+ "@babel/template" "^7.27.0"
205
+ "@babel/types" "^7.27.0"
206
+ debug "^4.3.1"
207
+ globals "^11.1.0"
208
+
209
+ "@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.25.9", "@babel/types@^7.26.10", "@babel/types@^7.27.0":
210
+ version "7.27.0"
211
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.0.tgz#ef9acb6b06c3173f6632d993ecb6d4ae470b4559"
212
+ integrity sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==
213
+ dependencies:
214
+ "@babel/helper-string-parser" "^7.25.9"
215
+ "@babel/helper-validator-identifier" "^7.25.9"
216
+
217
+ "@esbuild/android-arm64@0.18.20":
218
+ version "0.18.20"
219
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622"
220
+ integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==
221
+
222
+ "@esbuild/android-arm@0.18.20":
223
+ version "0.18.20"
224
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682"
225
+ integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==
226
+
227
+ "@esbuild/android-x64@0.18.20":
228
+ version "0.18.20"
229
+ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2"
230
+ integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==
231
+
232
+ "@esbuild/darwin-arm64@0.18.20":
233
+ version "0.18.20"
234
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1"
235
+ integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==
236
+
237
+ "@esbuild/darwin-x64@0.18.20":
238
+ version "0.18.20"
239
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d"
240
+ integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==
241
+
242
+ "@esbuild/freebsd-arm64@0.18.20":
243
+ version "0.18.20"
244
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54"
245
+ integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==
246
+
247
+ "@esbuild/freebsd-x64@0.18.20":
248
+ version "0.18.20"
249
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e"
250
+ integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==
251
+
252
+ "@esbuild/linux-arm64@0.18.20":
253
+ version "0.18.20"
254
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0"
255
+ integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==
256
+
257
+ "@esbuild/linux-arm@0.18.20":
258
+ version "0.18.20"
259
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0"
260
+ integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==
261
+
262
+ "@esbuild/linux-ia32@0.18.20":
263
+ version "0.18.20"
264
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7"
265
+ integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==
266
+
267
+ "@esbuild/linux-loong64@0.18.20":
268
+ version "0.18.20"
269
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d"
270
+ integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==
271
+
272
+ "@esbuild/linux-mips64el@0.18.20":
273
+ version "0.18.20"
274
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231"
275
+ integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==
276
+
277
+ "@esbuild/linux-ppc64@0.18.20":
278
+ version "0.18.20"
279
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb"
280
+ integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==
281
+
282
+ "@esbuild/linux-riscv64@0.18.20":
283
+ version "0.18.20"
284
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6"
285
+ integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==
286
+
287
+ "@esbuild/linux-s390x@0.18.20":
288
+ version "0.18.20"
289
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071"
290
+ integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==
291
+
292
+ "@esbuild/linux-x64@0.18.20":
293
+ version "0.18.20"
294
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338"
295
+ integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==
296
+
297
+ "@esbuild/netbsd-x64@0.18.20":
298
+ version "0.18.20"
299
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1"
300
+ integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==
301
+
302
+ "@esbuild/openbsd-x64@0.18.20":
303
+ version "0.18.20"
304
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae"
305
+ integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==
306
+
307
+ "@esbuild/sunos-x64@0.18.20":
308
+ version "0.18.20"
309
+ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d"
310
+ integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==
311
+
312
+ "@esbuild/win32-arm64@0.18.20":
313
+ version "0.18.20"
314
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9"
315
+ integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==
316
+
317
+ "@esbuild/win32-ia32@0.18.20":
318
+ version "0.18.20"
319
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102"
320
+ integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==
321
+
322
+ "@esbuild/win32-x64@0.18.20":
323
+ version "0.18.20"
324
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d"
325
+ integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==
326
+
327
+ "@jridgewell/gen-mapping@^0.3.5":
328
+ version "0.3.8"
329
+ resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142"
330
+ integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==
331
+ dependencies:
332
+ "@jridgewell/set-array" "^1.2.1"
333
+ "@jridgewell/sourcemap-codec" "^1.4.10"
334
+ "@jridgewell/trace-mapping" "^0.3.24"
335
+
336
+ "@jridgewell/resolve-uri@^3.1.0":
337
+ version "3.1.2"
338
+ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6"
339
+ integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
340
+
341
+ "@jridgewell/set-array@^1.2.1":
342
+ version "1.2.1"
343
+ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280"
344
+ integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==
345
+
346
+ "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14":
347
+ version "1.5.0"
348
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a"
349
+ integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==
350
+
351
+ "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25":
352
+ version "0.3.25"
353
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0"
354
+ integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==
355
+ dependencies:
356
+ "@jridgewell/resolve-uri" "^3.1.0"
357
+ "@jridgewell/sourcemap-codec" "^1.4.14"
358
+
359
+ "@types/babel__core@^7.20.5":
360
+ version "7.20.5"
361
+ resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017"
362
+ integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==
363
+ dependencies:
364
+ "@babel/parser" "^7.20.7"
365
+ "@babel/types" "^7.20.7"
366
+ "@types/babel__generator" "*"
367
+ "@types/babel__template" "*"
368
+ "@types/babel__traverse" "*"
369
+
370
+ "@types/babel__generator@*":
371
+ version "7.27.0"
372
+ resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.27.0.tgz#b5819294c51179957afaec341442f9341e4108a9"
373
+ integrity sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==
374
+ dependencies:
375
+ "@babel/types" "^7.0.0"
376
+
377
+ "@types/babel__template@*":
378
+ version "7.4.4"
379
+ resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f"
380
+ integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==
381
+ dependencies:
382
+ "@babel/parser" "^7.1.0"
383
+ "@babel/types" "^7.0.0"
384
+
385
+ "@types/babel__traverse@*":
386
+ version "7.20.7"
387
+ resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.7.tgz#968cdc2366ec3da159f61166428ee40f370e56c2"
388
+ integrity sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==
389
+ dependencies:
390
+ "@babel/types" "^7.20.7"
391
+
392
+ "@types/prop-types@*":
393
+ version "15.7.14"
394
+ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.14.tgz#1433419d73b2a7ebfc6918dcefd2ec0d5cd698f2"
395
+ integrity sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==
396
+
397
+ "@types/react-dom@^18.2.7":
398
+ version "18.3.6"
399
+ resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.6.tgz#fa59a5e9a33499a792af6c1130f55921ef49d268"
400
+ integrity sha512-nf22//wEbKXusP6E9pfOCDwFdHAX4u172eaJI4YkDRQEZiorm6KfYnSC2SWLDMVWUOWPERmJnN0ujeAfTBLvrw==
401
+
402
+ "@types/react@^18.2.15":
403
+ version "18.3.20"
404
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.20.tgz#b0dccda9d2f1bc24d2a04b1d0cb5d0b9a3576ad3"
405
+ integrity sha512-IPaCZN7PShZK/3t6Q87pfTkRm6oLTd4vztyoj+cbHUF1g3FfVb2tFIL79uCRKEfv16AhqDMBywP2VW3KIZUvcg==
406
+ dependencies:
407
+ "@types/prop-types" "*"
408
+ csstype "^3.0.2"
409
+
410
+ "@vitejs/plugin-react@^4.0.3":
411
+ version "4.4.0"
412
+ resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.4.0.tgz#a658e563d08f3907dbceb3be1bca5272665e6372"
413
+ integrity sha512-x/EztcTKVj+TDeANY1WjNeYsvZjZdfWRMP/KXi5Yn8BoTzpa13ZltaQqKfvWYbX8CE10GOHHdC5v86jY9x8i/g==
414
+ dependencies:
415
+ "@babel/core" "^7.26.10"
416
+ "@babel/plugin-transform-react-jsx-self" "^7.25.9"
417
+ "@babel/plugin-transform-react-jsx-source" "^7.25.9"
418
+ "@types/babel__core" "^7.20.5"
419
+ react-refresh "^0.17.0"
420
+
421
+ asynckit@^0.4.0:
422
+ version "0.4.0"
423
+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
424
+ integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
425
+
426
+ axios@^1.6.7:
427
+ version "1.8.4"
428
+ resolved "https://registry.yarnpkg.com/axios/-/axios-1.8.4.tgz#78990bb4bc63d2cae072952d374835950a82f447"
429
+ integrity sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==
430
+ dependencies:
431
+ follow-redirects "^1.15.6"
432
+ form-data "^4.0.0"
433
+ proxy-from-env "^1.1.0"
434
+
435
+ browserslist@^4.24.0:
436
+ version "4.24.4"
437
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.4.tgz#c6b2865a3f08bcb860a0e827389003b9fe686e4b"
438
+ integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==
439
+ dependencies:
440
+ caniuse-lite "^1.0.30001688"
441
+ electron-to-chromium "^1.5.73"
442
+ node-releases "^2.0.19"
443
+ update-browserslist-db "^1.1.1"
444
+
445
+ call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2:
446
+ version "1.0.2"
447
+ resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6"
448
+ integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==
449
+ dependencies:
450
+ es-errors "^1.3.0"
451
+ function-bind "^1.1.2"
452
+
453
+ caniuse-lite@^1.0.30001688:
454
+ version "1.0.30001713"
455
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001713.tgz#6b33a8857e6c7dcb41a0caa2dd0f0489c823a52d"
456
+ integrity sha512-wCIWIg+A4Xr7NfhTuHdX+/FKh3+Op3LBbSp2N5Pfx6T/LhdQy3GTyoTg48BReaW/MyMNZAkTadsBtai3ldWK0Q==
457
+
458
+ combined-stream@^1.0.8:
459
+ version "1.0.8"
460
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
461
+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
462
+ dependencies:
463
+ delayed-stream "~1.0.0"
464
+
465
+ convert-source-map@^2.0.0:
466
+ version "2.0.0"
467
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
468
+ integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
469
+
470
+ csstype@^3.0.2:
471
+ version "3.1.3"
472
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
473
+ integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
474
+
475
+ debug@^4.1.0, debug@^4.3.1:
476
+ version "4.4.0"
477
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a"
478
+ integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==
479
+ dependencies:
480
+ ms "^2.1.3"
481
+
482
+ delayed-stream@~1.0.0:
483
+ version "1.0.0"
484
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
485
+ integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
486
+
487
+ dunder-proto@^1.0.1:
488
+ version "1.0.1"
489
+ resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a"
490
+ integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==
491
+ dependencies:
492
+ call-bind-apply-helpers "^1.0.1"
493
+ es-errors "^1.3.0"
494
+ gopd "^1.2.0"
495
+
496
+ electron-to-chromium@^1.5.73:
497
+ version "1.5.137"
498
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.137.tgz#53a7fef3ea9f7eb5fcf704454050ff930c43ed92"
499
+ integrity sha512-/QSJaU2JyIuTbbABAo/crOs+SuAZLS+fVVS10PVrIT9hrRkmZl8Hb0xPSkKRUUWHQtYzXHpQUW3Dy5hwMzGZkA==
500
+
501
+ es-define-property@^1.0.1:
502
+ version "1.0.1"
503
+ resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa"
504
+ integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==
505
+
506
+ es-errors@^1.3.0:
507
+ version "1.3.0"
508
+ resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
509
+ integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
510
+
511
+ es-object-atoms@^1.0.0, es-object-atoms@^1.1.1:
512
+ version "1.1.1"
513
+ resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1"
514
+ integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==
515
+ dependencies:
516
+ es-errors "^1.3.0"
517
+
518
+ es-set-tostringtag@^2.1.0:
519
+ version "2.1.0"
520
+ resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d"
521
+ integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==
522
+ dependencies:
523
+ es-errors "^1.3.0"
524
+ get-intrinsic "^1.2.6"
525
+ has-tostringtag "^1.0.2"
526
+ hasown "^2.0.2"
527
+
528
+ esbuild@^0.18.10:
529
+ version "0.18.20"
530
+ resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6"
531
+ integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==
532
+ optionalDependencies:
533
+ "@esbuild/android-arm" "0.18.20"
534
+ "@esbuild/android-arm64" "0.18.20"
535
+ "@esbuild/android-x64" "0.18.20"
536
+ "@esbuild/darwin-arm64" "0.18.20"
537
+ "@esbuild/darwin-x64" "0.18.20"
538
+ "@esbuild/freebsd-arm64" "0.18.20"
539
+ "@esbuild/freebsd-x64" "0.18.20"
540
+ "@esbuild/linux-arm" "0.18.20"
541
+ "@esbuild/linux-arm64" "0.18.20"
542
+ "@esbuild/linux-ia32" "0.18.20"
543
+ "@esbuild/linux-loong64" "0.18.20"
544
+ "@esbuild/linux-mips64el" "0.18.20"
545
+ "@esbuild/linux-ppc64" "0.18.20"
546
+ "@esbuild/linux-riscv64" "0.18.20"
547
+ "@esbuild/linux-s390x" "0.18.20"
548
+ "@esbuild/linux-x64" "0.18.20"
549
+ "@esbuild/netbsd-x64" "0.18.20"
550
+ "@esbuild/openbsd-x64" "0.18.20"
551
+ "@esbuild/sunos-x64" "0.18.20"
552
+ "@esbuild/win32-arm64" "0.18.20"
553
+ "@esbuild/win32-ia32" "0.18.20"
554
+ "@esbuild/win32-x64" "0.18.20"
555
+
556
+ escalade@^3.2.0:
557
+ version "3.2.0"
558
+ resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5"
559
+ integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==
560
+
561
+ follow-redirects@^1.15.6:
562
+ version "1.15.9"
563
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1"
564
+ integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==
565
+
566
+ form-data@^4.0.0:
567
+ version "4.0.2"
568
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.2.tgz#35cabbdd30c3ce73deb2c42d3c8d3ed9ca51794c"
569
+ integrity sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==
570
+ dependencies:
571
+ asynckit "^0.4.0"
572
+ combined-stream "^1.0.8"
573
+ es-set-tostringtag "^2.1.0"
574
+ mime-types "^2.1.12"
575
+
576
+ fsevents@~2.3.2:
577
+ version "2.3.3"
578
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
579
+ integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
580
+
581
+ function-bind@^1.1.2:
582
+ version "1.1.2"
583
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
584
+ integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
585
+
586
+ gensync@^1.0.0-beta.2:
587
+ version "1.0.0-beta.2"
588
+ resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
589
+ integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
590
+
591
+ get-intrinsic@^1.2.6:
592
+ version "1.3.0"
593
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01"
594
+ integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==
595
+ dependencies:
596
+ call-bind-apply-helpers "^1.0.2"
597
+ es-define-property "^1.0.1"
598
+ es-errors "^1.3.0"
599
+ es-object-atoms "^1.1.1"
600
+ function-bind "^1.1.2"
601
+ get-proto "^1.0.1"
602
+ gopd "^1.2.0"
603
+ has-symbols "^1.1.0"
604
+ hasown "^2.0.2"
605
+ math-intrinsics "^1.1.0"
606
+
607
+ get-proto@^1.0.1:
608
+ version "1.0.1"
609
+ resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1"
610
+ integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==
611
+ dependencies:
612
+ dunder-proto "^1.0.1"
613
+ es-object-atoms "^1.0.0"
614
+
615
+ globals@^11.1.0:
616
+ version "11.12.0"
617
+ resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
618
+ integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
619
+
620
+ gopd@^1.2.0:
621
+ version "1.2.0"
622
+ resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1"
623
+ integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==
624
+
625
+ has-symbols@^1.0.3, has-symbols@^1.1.0:
626
+ version "1.1.0"
627
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338"
628
+ integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==
629
+
630
+ has-tostringtag@^1.0.2:
631
+ version "1.0.2"
632
+ resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc"
633
+ integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==
634
+ dependencies:
635
+ has-symbols "^1.0.3"
636
+
637
+ hasown@^2.0.2:
638
+ version "2.0.2"
639
+ resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003"
640
+ integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
641
+ dependencies:
642
+ function-bind "^1.1.2"
643
+
644
+ "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
645
+ version "4.0.0"
646
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
647
+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
648
+
649
+ jsesc@^3.0.2:
650
+ version "3.1.0"
651
+ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d"
652
+ integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==
653
+
654
+ json5@^2.2.3:
655
+ version "2.2.3"
656
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
657
+ integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
658
+
659
+ loose-envify@^1.1.0:
660
+ version "1.4.0"
661
+ resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
662
+ integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
663
+ dependencies:
664
+ js-tokens "^3.0.0 || ^4.0.0"
665
+
666
+ lru-cache@^5.1.1:
667
+ version "5.1.1"
668
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
669
+ integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
670
+ dependencies:
671
+ yallist "^3.0.2"
672
+
673
+ math-intrinsics@^1.1.0:
674
+ version "1.1.0"
675
+ resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9"
676
+ integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
677
+
678
+ mime-db@1.52.0:
679
+ version "1.52.0"
680
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
681
+ integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
682
+
683
+ mime-types@^2.1.12:
684
+ version "2.1.35"
685
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
686
+ integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
687
+ dependencies:
688
+ mime-db "1.52.0"
689
+
690
+ ms@^2.1.3:
691
+ version "2.1.3"
692
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
693
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
694
+
695
+ nanoid@^3.3.8:
696
+ version "3.3.11"
697
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b"
698
+ integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==
699
+
700
+ node-releases@^2.0.19:
701
+ version "2.0.19"
702
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314"
703
+ integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==
704
+
705
+ picocolors@^1.0.0, picocolors@^1.1.1:
706
+ version "1.1.1"
707
+ resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
708
+ integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
709
+
710
+ postcss@^8.4.27:
711
+ version "8.5.3"
712
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.3.tgz#1463b6f1c7fb16fe258736cba29a2de35237eafb"
713
+ integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==
714
+ dependencies:
715
+ nanoid "^3.3.8"
716
+ picocolors "^1.1.1"
717
+ source-map-js "^1.2.1"
718
+
719
+ proxy-from-env@^1.1.0:
720
+ version "1.1.0"
721
+ resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
722
+ integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
723
+
724
+ react-dom@^18.2.0:
725
+ version "18.3.1"
726
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4"
727
+ integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==
728
+ dependencies:
729
+ loose-envify "^1.1.0"
730
+ scheduler "^0.23.2"
731
+
732
+ react-refresh@^0.17.0:
733
+ version "0.17.0"
734
+ resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.17.0.tgz#b7e579c3657f23d04eccbe4ad2e58a8ed51e7e53"
735
+ integrity sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==
736
+
737
+ react@^18.2.0:
738
+ version "18.3.1"
739
+ resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891"
740
+ integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==
741
+ dependencies:
742
+ loose-envify "^1.1.0"
743
+
744
+ rollup@^3.27.1:
745
+ version "3.29.5"
746
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.5.tgz#8a2e477a758b520fb78daf04bca4c522c1da8a54"
747
+ integrity sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==
748
+ optionalDependencies:
749
+ fsevents "~2.3.2"
750
+
751
+ scheduler@^0.23.2:
752
+ version "0.23.2"
753
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3"
754
+ integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==
755
+ dependencies:
756
+ loose-envify "^1.1.0"
757
+
758
+ semver@^6.3.1:
759
+ version "6.3.1"
760
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
761
+ integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
762
+
763
+ source-map-js@^1.2.1:
764
+ version "1.2.1"
765
+ resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
766
+ integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
767
+
768
+ update-browserslist-db@^1.1.1:
769
+ version "1.1.3"
770
+ resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420"
771
+ integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==
772
+ dependencies:
773
+ escalade "^3.2.0"
774
+ picocolors "^1.1.1"
775
+
776
+ vite@^4.4.5:
777
+ version "4.5.13"
778
+ resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.13.tgz#778534a947112c6c455e89737730fae5d458a294"
779
+ integrity sha512-Hgp8IF/yZDzKsN1hQWOuQZbrKiaFsbQud+07jJ8h9m9PaHWkpvZ5u55Xw5yYjWRXwRQ4jwFlJvY7T7FUJG9MCA==
780
+ dependencies:
781
+ esbuild "^0.18.10"
782
+ postcss "^8.4.27"
783
+ rollup "^3.27.1"
784
+ optionalDependencies:
785
+ fsevents "~2.3.2"
786
+
787
+ yallist@^3.0.2:
788
+ version "3.1.1"
789
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
790
+ integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
yarn.lock ADDED
@@ -0,0 +1,1472 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+ # yarn lockfile v1
3
+
4
+
5
+ "@ampproject/remapping@^2.2.0":
6
+ version "2.3.0"
7
+ resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz"
8
+ integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==
9
+ dependencies:
10
+ "@jridgewell/gen-mapping" "^0.3.5"
11
+ "@jridgewell/trace-mapping" "^0.3.24"
12
+
13
+ "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.26.2":
14
+ version "7.26.2"
15
+ resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz"
16
+ integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==
17
+ dependencies:
18
+ "@babel/helper-validator-identifier" "^7.25.9"
19
+ js-tokens "^4.0.0"
20
+ picocolors "^1.0.0"
21
+
22
+ "@babel/compat-data@^7.26.8":
23
+ version "7.26.8"
24
+ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz"
25
+ integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==
26
+
27
+ "@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.26.10":
28
+ version "7.26.10"
29
+ resolved "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz"
30
+ integrity sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==
31
+ dependencies:
32
+ "@ampproject/remapping" "^2.2.0"
33
+ "@babel/code-frame" "^7.26.2"
34
+ "@babel/generator" "^7.26.10"
35
+ "@babel/helper-compilation-targets" "^7.26.5"
36
+ "@babel/helper-module-transforms" "^7.26.0"
37
+ "@babel/helpers" "^7.26.10"
38
+ "@babel/parser" "^7.26.10"
39
+ "@babel/template" "^7.26.9"
40
+ "@babel/traverse" "^7.26.10"
41
+ "@babel/types" "^7.26.10"
42
+ convert-source-map "^2.0.0"
43
+ debug "^4.1.0"
44
+ gensync "^1.0.0-beta.2"
45
+ json5 "^2.2.3"
46
+ semver "^6.3.1"
47
+
48
+ "@babel/generator@^7.26.10", "@babel/generator@^7.27.0":
49
+ version "7.27.0"
50
+ resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.27.0.tgz"
51
+ integrity sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==
52
+ dependencies:
53
+ "@babel/parser" "^7.27.0"
54
+ "@babel/types" "^7.27.0"
55
+ "@jridgewell/gen-mapping" "^0.3.5"
56
+ "@jridgewell/trace-mapping" "^0.3.25"
57
+ jsesc "^3.0.2"
58
+
59
+ "@babel/helper-compilation-targets@^7.26.5":
60
+ version "7.27.0"
61
+ resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz"
62
+ integrity sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==
63
+ dependencies:
64
+ "@babel/compat-data" "^7.26.8"
65
+ "@babel/helper-validator-option" "^7.25.9"
66
+ browserslist "^4.24.0"
67
+ lru-cache "^5.1.1"
68
+ semver "^6.3.1"
69
+
70
+ "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.25.9":
71
+ version "7.25.9"
72
+ resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz"
73
+ integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==
74
+ dependencies:
75
+ "@babel/traverse" "^7.25.9"
76
+ "@babel/types" "^7.25.9"
77
+
78
+ "@babel/helper-module-transforms@^7.26.0":
79
+ version "7.26.0"
80
+ resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz"
81
+ integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==
82
+ dependencies:
83
+ "@babel/helper-module-imports" "^7.25.9"
84
+ "@babel/helper-validator-identifier" "^7.25.9"
85
+ "@babel/traverse" "^7.25.9"
86
+
87
+ "@babel/helper-plugin-utils@^7.25.9":
88
+ version "7.26.5"
89
+ resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz"
90
+ integrity sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==
91
+
92
+ "@babel/helper-string-parser@^7.25.9":
93
+ version "7.25.9"
94
+ resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz"
95
+ integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==
96
+
97
+ "@babel/helper-validator-identifier@^7.25.9":
98
+ version "7.25.9"
99
+ resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz"
100
+ integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==
101
+
102
+ "@babel/helper-validator-option@^7.25.9":
103
+ version "7.25.9"
104
+ resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz"
105
+ integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==
106
+
107
+ "@babel/helpers@^7.26.10":
108
+ version "7.27.0"
109
+ resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz"
110
+ integrity sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==
111
+ dependencies:
112
+ "@babel/template" "^7.27.0"
113
+ "@babel/types" "^7.27.0"
114
+
115
+ "@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.26.10", "@babel/parser@^7.27.0":
116
+ version "7.27.0"
117
+ resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz"
118
+ integrity sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==
119
+ dependencies:
120
+ "@babel/types" "^7.27.0"
121
+
122
+ "@babel/plugin-transform-react-jsx-self@^7.25.9":
123
+ version "7.25.9"
124
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz"
125
+ integrity sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==
126
+ dependencies:
127
+ "@babel/helper-plugin-utils" "^7.25.9"
128
+
129
+ "@babel/plugin-transform-react-jsx-source@^7.25.9":
130
+ version "7.25.9"
131
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz"
132
+ integrity sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==
133
+ dependencies:
134
+ "@babel/helper-plugin-utils" "^7.25.9"
135
+
136
+ "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.23.9", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7":
137
+ version "7.27.0"
138
+ resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz"
139
+ integrity sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==
140
+ dependencies:
141
+ regenerator-runtime "^0.14.0"
142
+
143
+ "@babel/template@^7.26.9", "@babel/template@^7.27.0":
144
+ version "7.27.0"
145
+ resolved "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz"
146
+ integrity sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==
147
+ dependencies:
148
+ "@babel/code-frame" "^7.26.2"
149
+ "@babel/parser" "^7.27.0"
150
+ "@babel/types" "^7.27.0"
151
+
152
+ "@babel/traverse@^7.25.9", "@babel/traverse@^7.26.10":
153
+ version "7.27.0"
154
+ resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.0.tgz"
155
+ integrity sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==
156
+ dependencies:
157
+ "@babel/code-frame" "^7.26.2"
158
+ "@babel/generator" "^7.27.0"
159
+ "@babel/parser" "^7.27.0"
160
+ "@babel/template" "^7.27.0"
161
+ "@babel/types" "^7.27.0"
162
+ debug "^4.3.1"
163
+ globals "^11.1.0"
164
+
165
+ "@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.25.9", "@babel/types@^7.26.10", "@babel/types@^7.27.0":
166
+ version "7.27.0"
167
+ resolved "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz"
168
+ integrity sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==
169
+ dependencies:
170
+ "@babel/helper-string-parser" "^7.25.9"
171
+ "@babel/helper-validator-identifier" "^7.25.9"
172
+
173
+ "@emotion/babel-plugin@^11.13.5":
174
+ version "11.13.5"
175
+ resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz"
176
+ integrity sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==
177
+ dependencies:
178
+ "@babel/helper-module-imports" "^7.16.7"
179
+ "@babel/runtime" "^7.18.3"
180
+ "@emotion/hash" "^0.9.2"
181
+ "@emotion/memoize" "^0.9.0"
182
+ "@emotion/serialize" "^1.3.3"
183
+ babel-plugin-macros "^3.1.0"
184
+ convert-source-map "^1.5.0"
185
+ escape-string-regexp "^4.0.0"
186
+ find-root "^1.1.0"
187
+ source-map "^0.5.7"
188
+ stylis "4.2.0"
189
+
190
+ "@emotion/cache@^11.13.5", "@emotion/cache@^11.14.0":
191
+ version "11.14.0"
192
+ resolved "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz"
193
+ integrity sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==
194
+ dependencies:
195
+ "@emotion/memoize" "^0.9.0"
196
+ "@emotion/sheet" "^1.4.0"
197
+ "@emotion/utils" "^1.4.2"
198
+ "@emotion/weak-memoize" "^0.4.0"
199
+ stylis "4.2.0"
200
+
201
+ "@emotion/hash@^0.9.2":
202
+ version "0.9.2"
203
+ resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz"
204
+ integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==
205
+
206
+ "@emotion/is-prop-valid@^1.3.0":
207
+ version "1.3.1"
208
+ resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz"
209
+ integrity sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==
210
+ dependencies:
211
+ "@emotion/memoize" "^0.9.0"
212
+
213
+ "@emotion/memoize@^0.9.0":
214
+ version "0.9.0"
215
+ resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz"
216
+ integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==
217
+
218
+ "@emotion/react@^11.0.0-rc.0", "@emotion/react@^11.11.3", "@emotion/react@^11.4.1", "@emotion/react@^11.5.0":
219
+ version "11.14.0"
220
+ resolved "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz"
221
+ integrity sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==
222
+ dependencies:
223
+ "@babel/runtime" "^7.18.3"
224
+ "@emotion/babel-plugin" "^11.13.5"
225
+ "@emotion/cache" "^11.14.0"
226
+ "@emotion/serialize" "^1.3.3"
227
+ "@emotion/use-insertion-effect-with-fallbacks" "^1.2.0"
228
+ "@emotion/utils" "^1.4.2"
229
+ "@emotion/weak-memoize" "^0.4.0"
230
+ hoist-non-react-statics "^3.3.1"
231
+
232
+ "@emotion/serialize@^1.3.3":
233
+ version "1.3.3"
234
+ resolved "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.3.tgz"
235
+ integrity sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==
236
+ dependencies:
237
+ "@emotion/hash" "^0.9.2"
238
+ "@emotion/memoize" "^0.9.0"
239
+ "@emotion/unitless" "^0.10.0"
240
+ "@emotion/utils" "^1.4.2"
241
+ csstype "^3.0.2"
242
+
243
+ "@emotion/sheet@^1.4.0":
244
+ version "1.4.0"
245
+ resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz"
246
+ integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==
247
+
248
+ "@emotion/styled@^11.11.0", "@emotion/styled@^11.3.0":
249
+ version "11.14.0"
250
+ resolved "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.0.tgz"
251
+ integrity sha512-XxfOnXFffatap2IyCeJyNov3kiDQWoR08gPUQxvbL7fxKryGBKUZUkG6Hz48DZwVrJSVh9sJboyV1Ds4OW6SgA==
252
+ dependencies:
253
+ "@babel/runtime" "^7.18.3"
254
+ "@emotion/babel-plugin" "^11.13.5"
255
+ "@emotion/is-prop-valid" "^1.3.0"
256
+ "@emotion/serialize" "^1.3.3"
257
+ "@emotion/use-insertion-effect-with-fallbacks" "^1.2.0"
258
+ "@emotion/utils" "^1.4.2"
259
+
260
+ "@emotion/unitless@^0.10.0":
261
+ version "0.10.0"
262
+ resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz"
263
+ integrity sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==
264
+
265
+ "@emotion/use-insertion-effect-with-fallbacks@^1.2.0":
266
+ version "1.2.0"
267
+ resolved "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz"
268
+ integrity sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==
269
+
270
+ "@emotion/utils@^1.4.2":
271
+ version "1.4.2"
272
+ resolved "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.2.tgz"
273
+ integrity sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==
274
+
275
+ "@emotion/weak-memoize@^0.4.0":
276
+ version "0.4.0"
277
+ resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz"
278
+ integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==
279
+
280
+ "@esbuild/darwin-arm64@0.25.2":
281
+ version "0.25.2"
282
+ resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz"
283
+ integrity sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==
284
+
285
+ "@jridgewell/gen-mapping@^0.3.5":
286
+ version "0.3.8"
287
+ resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz"
288
+ integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==
289
+ dependencies:
290
+ "@jridgewell/set-array" "^1.2.1"
291
+ "@jridgewell/sourcemap-codec" "^1.4.10"
292
+ "@jridgewell/trace-mapping" "^0.3.24"
293
+
294
+ "@jridgewell/resolve-uri@^3.1.0":
295
+ version "3.1.2"
296
+ resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz"
297
+ integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
298
+
299
+ "@jridgewell/set-array@^1.2.1":
300
+ version "1.2.1"
301
+ resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz"
302
+ integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==
303
+
304
+ "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14":
305
+ version "1.5.0"
306
+ resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz"
307
+ integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==
308
+
309
+ "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25":
310
+ version "0.3.25"
311
+ resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz"
312
+ integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==
313
+ dependencies:
314
+ "@jridgewell/resolve-uri" "^3.1.0"
315
+ "@jridgewell/sourcemap-codec" "^1.4.14"
316
+
317
+ "@mui/core-downloads-tracker@^5.17.1":
318
+ version "5.17.1"
319
+ resolved "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.17.1.tgz"
320
+ integrity sha512-OcZj+cs6EfUD39IoPBOgN61zf1XFVY+imsGoBDwXeSq2UHJZE3N59zzBOVjclck91Ne3e9gudONOeILvHCIhUA==
321
+
322
+ "@mui/icons-material@^5.15.7":
323
+ version "5.17.1"
324
+ resolved "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.17.1.tgz"
325
+ integrity sha512-CN86LocjkunFGG0yPlO4bgqHkNGgaEOEc3X/jG5Bzm401qYw79/SaLrofA7yAKCCXAGdIGnLoMHohc3+ubs95A==
326
+ dependencies:
327
+ "@babel/runtime" "^7.23.9"
328
+
329
+ "@mui/material@^5.0.0", "@mui/material@^5.15.7":
330
+ version "5.17.1"
331
+ resolved "https://registry.npmjs.org/@mui/material/-/material-5.17.1.tgz"
332
+ integrity sha512-2B33kQf+GmPnrvXXweWAx+crbiUEsxCdCN979QDYnlH9ox4pd+0/IBriWLV+l6ORoBF60w39cWjFnJYGFdzXcw==
333
+ dependencies:
334
+ "@babel/runtime" "^7.23.9"
335
+ "@mui/core-downloads-tracker" "^5.17.1"
336
+ "@mui/system" "^5.17.1"
337
+ "@mui/types" "~7.2.15"
338
+ "@mui/utils" "^5.17.1"
339
+ "@popperjs/core" "^2.11.8"
340
+ "@types/react-transition-group" "^4.4.10"
341
+ clsx "^2.1.0"
342
+ csstype "^3.1.3"
343
+ prop-types "^15.8.1"
344
+ react-is "^19.0.0"
345
+ react-transition-group "^4.4.5"
346
+
347
+ "@mui/private-theming@^5.17.1":
348
+ version "5.17.1"
349
+ resolved "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.17.1.tgz"
350
+ integrity sha512-XMxU0NTYcKqdsG8LRmSoxERPXwMbp16sIXPcLVgLGII/bVNagX0xaheWAwFv8+zDK7tI3ajllkuD3GZZE++ICQ==
351
+ dependencies:
352
+ "@babel/runtime" "^7.23.9"
353
+ "@mui/utils" "^5.17.1"
354
+ prop-types "^15.8.1"
355
+
356
+ "@mui/styled-engine@^5.16.14":
357
+ version "5.16.14"
358
+ resolved "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.16.14.tgz"
359
+ integrity sha512-UAiMPZABZ7p8mUW4akDV6O7N3+4DatStpXMZwPlt+H/dA0lt67qawN021MNND+4QTpjaiMYxbhKZeQcyWCbuKw==
360
+ dependencies:
361
+ "@babel/runtime" "^7.23.9"
362
+ "@emotion/cache" "^11.13.5"
363
+ csstype "^3.1.3"
364
+ prop-types "^15.8.1"
365
+
366
+ "@mui/system@^5.17.1":
367
+ version "5.17.1"
368
+ resolved "https://registry.npmjs.org/@mui/system/-/system-5.17.1.tgz"
369
+ integrity sha512-aJrmGfQpyF0U4D4xYwA6ueVtQcEMebET43CUmKMP7e7iFh3sMIF3sBR0l8Urb4pqx1CBjHAaWgB0ojpND4Q3Jg==
370
+ dependencies:
371
+ "@babel/runtime" "^7.23.9"
372
+ "@mui/private-theming" "^5.17.1"
373
+ "@mui/styled-engine" "^5.16.14"
374
+ "@mui/types" "~7.2.15"
375
+ "@mui/utils" "^5.17.1"
376
+ clsx "^2.1.0"
377
+ csstype "^3.1.3"
378
+ prop-types "^15.8.1"
379
+
380
+ "@mui/types@~7.2.15":
381
+ version "7.2.24"
382
+ resolved "https://registry.npmjs.org/@mui/types/-/types-7.2.24.tgz"
383
+ integrity sha512-3c8tRt/CbWZ+pEg7QpSwbdxOk36EfmhbKf6AGZsD1EcLDLTSZoxxJ86FVtcjxvjuhdyBiWKSTGZFaXCnidO2kw==
384
+
385
+ "@mui/utils@^5.17.1":
386
+ version "5.17.1"
387
+ resolved "https://registry.npmjs.org/@mui/utils/-/utils-5.17.1.tgz"
388
+ integrity sha512-jEZ8FTqInt2WzxDV8bhImWBqeQRD99c/id/fq83H0ER9tFl+sfZlaAoCdznGvbSQQ9ividMxqSV2c7cC1vBcQg==
389
+ dependencies:
390
+ "@babel/runtime" "^7.23.9"
391
+ "@mui/types" "~7.2.15"
392
+ "@types/prop-types" "^15.7.12"
393
+ clsx "^2.1.1"
394
+ prop-types "^15.8.1"
395
+ react-is "^19.0.0"
396
+
397
+ "@popperjs/core@^2.11.8":
398
+ version "2.11.8"
399
+ resolved "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz"
400
+ integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==
401
+
402
+ "@reactflow/background@11.3.14":
403
+ version "11.3.14"
404
+ resolved "https://registry.npmjs.org/@reactflow/background/-/background-11.3.14.tgz"
405
+ integrity sha512-Gewd7blEVT5Lh6jqrvOgd4G6Qk17eGKQfsDXgyRSqM+CTwDqRldG2LsWN4sNeno6sbqVIC2fZ+rAUBFA9ZEUDA==
406
+ dependencies:
407
+ "@reactflow/core" "11.11.4"
408
+ classcat "^5.0.3"
409
+ zustand "^4.4.1"
410
+
411
+ "@reactflow/controls@11.2.14":
412
+ version "11.2.14"
413
+ resolved "https://registry.npmjs.org/@reactflow/controls/-/controls-11.2.14.tgz"
414
+ integrity sha512-MiJp5VldFD7FrqaBNIrQ85dxChrG6ivuZ+dcFhPQUwOK3HfYgX2RHdBua+gx+40p5Vw5It3dVNp/my4Z3jF0dw==
415
+ dependencies:
416
+ "@reactflow/core" "11.11.4"
417
+ classcat "^5.0.3"
418
+ zustand "^4.4.1"
419
+
420
+ "@reactflow/core@11.11.4":
421
+ version "11.11.4"
422
+ resolved "https://registry.npmjs.org/@reactflow/core/-/core-11.11.4.tgz"
423
+ integrity sha512-H4vODklsjAq3AMq6Np4LE12i1I4Ta9PrDHuBR9GmL8uzTt2l2jh4CiQbEMpvMDcp7xi4be0hgXj+Ysodde/i7Q==
424
+ dependencies:
425
+ "@types/d3" "^7.4.0"
426
+ "@types/d3-drag" "^3.0.1"
427
+ "@types/d3-selection" "^3.0.3"
428
+ "@types/d3-zoom" "^3.0.1"
429
+ classcat "^5.0.3"
430
+ d3-drag "^3.0.0"
431
+ d3-selection "^3.0.0"
432
+ d3-zoom "^3.0.0"
433
+ zustand "^4.4.1"
434
+
435
+ "@reactflow/minimap@11.7.14":
436
+ version "11.7.14"
437
+ resolved "https://registry.npmjs.org/@reactflow/minimap/-/minimap-11.7.14.tgz"
438
+ integrity sha512-mpwLKKrEAofgFJdkhwR5UQ1JYWlcAAL/ZU/bctBkuNTT1yqV+y0buoNVImsRehVYhJwffSWeSHaBR5/GJjlCSQ==
439
+ dependencies:
440
+ "@reactflow/core" "11.11.4"
441
+ "@types/d3-selection" "^3.0.3"
442
+ "@types/d3-zoom" "^3.0.1"
443
+ classcat "^5.0.3"
444
+ d3-selection "^3.0.0"
445
+ d3-zoom "^3.0.0"
446
+ zustand "^4.4.1"
447
+
448
+ "@reactflow/node-resizer@2.2.14":
449
+ version "2.2.14"
450
+ resolved "https://registry.npmjs.org/@reactflow/node-resizer/-/node-resizer-2.2.14.tgz"
451
+ integrity sha512-fwqnks83jUlYr6OHcdFEedumWKChTHRGw/kbCxj0oqBd+ekfs+SIp4ddyNU0pdx96JIm5iNFS0oNrmEiJbbSaA==
452
+ dependencies:
453
+ "@reactflow/core" "11.11.4"
454
+ classcat "^5.0.4"
455
+ d3-drag "^3.0.0"
456
+ d3-selection "^3.0.0"
457
+ zustand "^4.4.1"
458
+
459
+ "@reactflow/node-toolbar@1.3.14":
460
+ version "1.3.14"
461
+ resolved "https://registry.npmjs.org/@reactflow/node-toolbar/-/node-toolbar-1.3.14.tgz"
462
+ integrity sha512-rbynXQnH/xFNu4P9H+hVqlEUafDCkEoCy0Dg9mG22Sg+rY/0ck6KkrAQrYrTgXusd+cEJOMK0uOOFCK2/5rSGQ==
463
+ dependencies:
464
+ "@reactflow/core" "11.11.4"
465
+ classcat "^5.0.3"
466
+ zustand "^4.4.1"
467
+
468
+ "@rollup/rollup-darwin-arm64@4.40.0":
469
+ version "4.40.0"
470
+ resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.0.tgz"
471
+ integrity sha512-GwYOcOakYHdfnjjKwqpTGgn5a6cUX7+Ra2HeNj/GdXvO2VJOOXCiYYlRFU4CubFM67EhbmzLOmACKEfvp3J1kQ==
472
+
473
+ "@types/babel__core@^7.20.5":
474
+ version "7.20.5"
475
+ resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz"
476
+ integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==
477
+ dependencies:
478
+ "@babel/parser" "^7.20.7"
479
+ "@babel/types" "^7.20.7"
480
+ "@types/babel__generator" "*"
481
+ "@types/babel__template" "*"
482
+ "@types/babel__traverse" "*"
483
+
484
+ "@types/babel__generator@*":
485
+ version "7.27.0"
486
+ resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz"
487
+ integrity sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==
488
+ dependencies:
489
+ "@babel/types" "^7.0.0"
490
+
491
+ "@types/babel__template@*":
492
+ version "7.4.4"
493
+ resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz"
494
+ integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==
495
+ dependencies:
496
+ "@babel/parser" "^7.1.0"
497
+ "@babel/types" "^7.0.0"
498
+
499
+ "@types/babel__traverse@*":
500
+ version "7.20.7"
501
+ resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz"
502
+ integrity sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==
503
+ dependencies:
504
+ "@babel/types" "^7.20.7"
505
+
506
+ "@types/d3-array@*":
507
+ version "3.2.1"
508
+ resolved "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz"
509
+ integrity sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==
510
+
511
+ "@types/d3-axis@*":
512
+ version "3.0.6"
513
+ resolved "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz"
514
+ integrity sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==
515
+ dependencies:
516
+ "@types/d3-selection" "*"
517
+
518
+ "@types/d3-brush@*":
519
+ version "3.0.6"
520
+ resolved "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz"
521
+ integrity sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==
522
+ dependencies:
523
+ "@types/d3-selection" "*"
524
+
525
+ "@types/d3-chord@*":
526
+ version "3.0.6"
527
+ resolved "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz"
528
+ integrity sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==
529
+
530
+ "@types/d3-color@*":
531
+ version "3.1.3"
532
+ resolved "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz"
533
+ integrity sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==
534
+
535
+ "@types/d3-contour@*":
536
+ version "3.0.6"
537
+ resolved "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz"
538
+ integrity sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==
539
+ dependencies:
540
+ "@types/d3-array" "*"
541
+ "@types/geojson" "*"
542
+
543
+ "@types/d3-delaunay@*":
544
+ version "6.0.4"
545
+ resolved "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz"
546
+ integrity sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==
547
+
548
+ "@types/d3-dispatch@*":
549
+ version "3.0.6"
550
+ resolved "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.6.tgz"
551
+ integrity sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==
552
+
553
+ "@types/d3-drag@*", "@types/d3-drag@^3.0.1":
554
+ version "3.0.7"
555
+ resolved "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz"
556
+ integrity sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==
557
+ dependencies:
558
+ "@types/d3-selection" "*"
559
+
560
+ "@types/d3-dsv@*":
561
+ version "3.0.7"
562
+ resolved "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz"
563
+ integrity sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==
564
+
565
+ "@types/d3-ease@*":
566
+ version "3.0.2"
567
+ resolved "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz"
568
+ integrity sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==
569
+
570
+ "@types/d3-fetch@*":
571
+ version "3.0.7"
572
+ resolved "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz"
573
+ integrity sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==
574
+ dependencies:
575
+ "@types/d3-dsv" "*"
576
+
577
+ "@types/d3-force@*":
578
+ version "3.0.10"
579
+ resolved "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.10.tgz"
580
+ integrity sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==
581
+
582
+ "@types/d3-format@*":
583
+ version "3.0.4"
584
+ resolved "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz"
585
+ integrity sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==
586
+
587
+ "@types/d3-geo@*":
588
+ version "3.1.0"
589
+ resolved "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz"
590
+ integrity sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==
591
+ dependencies:
592
+ "@types/geojson" "*"
593
+
594
+ "@types/d3-hierarchy@*":
595
+ version "3.1.7"
596
+ resolved "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz"
597
+ integrity sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==
598
+
599
+ "@types/d3-interpolate@*":
600
+ version "3.0.4"
601
+ resolved "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz"
602
+ integrity sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==
603
+ dependencies:
604
+ "@types/d3-color" "*"
605
+
606
+ "@types/d3-path@*":
607
+ version "3.1.1"
608
+ resolved "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz"
609
+ integrity sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==
610
+
611
+ "@types/d3-polygon@*":
612
+ version "3.0.2"
613
+ resolved "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz"
614
+ integrity sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==
615
+
616
+ "@types/d3-quadtree@*":
617
+ version "3.0.6"
618
+ resolved "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz"
619
+ integrity sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==
620
+
621
+ "@types/d3-random@*":
622
+ version "3.0.3"
623
+ resolved "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz"
624
+ integrity sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==
625
+
626
+ "@types/d3-scale-chromatic@*":
627
+ version "3.1.0"
628
+ resolved "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz"
629
+ integrity sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==
630
+
631
+ "@types/d3-scale@*":
632
+ version "4.0.9"
633
+ resolved "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz"
634
+ integrity sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==
635
+ dependencies:
636
+ "@types/d3-time" "*"
637
+
638
+ "@types/d3-selection@*", "@types/d3-selection@^3.0.3":
639
+ version "3.0.11"
640
+ resolved "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.11.tgz"
641
+ integrity sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==
642
+
643
+ "@types/d3-shape@*":
644
+ version "3.1.7"
645
+ resolved "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.7.tgz"
646
+ integrity sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==
647
+ dependencies:
648
+ "@types/d3-path" "*"
649
+
650
+ "@types/d3-time-format@*":
651
+ version "4.0.3"
652
+ resolved "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz"
653
+ integrity sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==
654
+
655
+ "@types/d3-time@*":
656
+ version "3.0.4"
657
+ resolved "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz"
658
+ integrity sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==
659
+
660
+ "@types/d3-timer@*":
661
+ version "3.0.2"
662
+ resolved "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz"
663
+ integrity sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==
664
+
665
+ "@types/d3-transition@*":
666
+ version "3.0.9"
667
+ resolved "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.9.tgz"
668
+ integrity sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==
669
+ dependencies:
670
+ "@types/d3-selection" "*"
671
+
672
+ "@types/d3-zoom@*", "@types/d3-zoom@^3.0.1":
673
+ version "3.0.8"
674
+ resolved "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz"
675
+ integrity sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==
676
+ dependencies:
677
+ "@types/d3-interpolate" "*"
678
+ "@types/d3-selection" "*"
679
+
680
+ "@types/d3@^7.4.0":
681
+ version "7.4.3"
682
+ resolved "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz"
683
+ integrity sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==
684
+ dependencies:
685
+ "@types/d3-array" "*"
686
+ "@types/d3-axis" "*"
687
+ "@types/d3-brush" "*"
688
+ "@types/d3-chord" "*"
689
+ "@types/d3-color" "*"
690
+ "@types/d3-contour" "*"
691
+ "@types/d3-delaunay" "*"
692
+ "@types/d3-dispatch" "*"
693
+ "@types/d3-drag" "*"
694
+ "@types/d3-dsv" "*"
695
+ "@types/d3-ease" "*"
696
+ "@types/d3-fetch" "*"
697
+ "@types/d3-force" "*"
698
+ "@types/d3-format" "*"
699
+ "@types/d3-geo" "*"
700
+ "@types/d3-hierarchy" "*"
701
+ "@types/d3-interpolate" "*"
702
+ "@types/d3-path" "*"
703
+ "@types/d3-polygon" "*"
704
+ "@types/d3-quadtree" "*"
705
+ "@types/d3-random" "*"
706
+ "@types/d3-scale" "*"
707
+ "@types/d3-scale-chromatic" "*"
708
+ "@types/d3-selection" "*"
709
+ "@types/d3-shape" "*"
710
+ "@types/d3-time" "*"
711
+ "@types/d3-time-format" "*"
712
+ "@types/d3-timer" "*"
713
+ "@types/d3-transition" "*"
714
+ "@types/d3-zoom" "*"
715
+
716
+ "@types/estree@1.0.7":
717
+ version "1.0.7"
718
+ resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz"
719
+ integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==
720
+
721
+ "@types/geojson@*":
722
+ version "7946.0.16"
723
+ resolved "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz"
724
+ integrity sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==
725
+
726
+ "@types/parse-json@^4.0.0":
727
+ version "4.0.2"
728
+ resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz"
729
+ integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==
730
+
731
+ "@types/prop-types@*", "@types/prop-types@^15.7.12":
732
+ version "15.7.14"
733
+ resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz"
734
+ integrity sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==
735
+
736
+ "@types/react-dom@^18.2.7":
737
+ version "18.3.6"
738
+ resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.6.tgz"
739
+ integrity sha512-nf22//wEbKXusP6E9pfOCDwFdHAX4u172eaJI4YkDRQEZiorm6KfYnSC2SWLDMVWUOWPERmJnN0ujeAfTBLvrw==
740
+
741
+ "@types/react-transition-group@^4.4.10":
742
+ version "4.4.12"
743
+ resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz"
744
+ integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==
745
+
746
+ "@types/react@*", "@types/react@^17.0.0 || ^18.0.0 || ^19.0.0", "@types/react@^18.0.0", "@types/react@^18.2.15", "@types/react@>=16.8":
747
+ version "18.3.20"
748
+ resolved "https://registry.npmjs.org/@types/react/-/react-18.3.20.tgz"
749
+ integrity sha512-IPaCZN7PShZK/3t6Q87pfTkRm6oLTd4vztyoj+cbHUF1g3FfVb2tFIL79uCRKEfv16AhqDMBywP2VW3KIZUvcg==
750
+ dependencies:
751
+ "@types/prop-types" "*"
752
+ csstype "^3.0.2"
753
+
754
+ "@vitejs/plugin-react@^4.4.0":
755
+ version "4.4.0"
756
+ resolved "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.4.0.tgz"
757
+ integrity sha512-x/EztcTKVj+TDeANY1WjNeYsvZjZdfWRMP/KXi5Yn8BoTzpa13ZltaQqKfvWYbX8CE10GOHHdC5v86jY9x8i/g==
758
+ dependencies:
759
+ "@babel/core" "^7.26.10"
760
+ "@babel/plugin-transform-react-jsx-self" "^7.25.9"
761
+ "@babel/plugin-transform-react-jsx-source" "^7.25.9"
762
+ "@types/babel__core" "^7.20.5"
763
+ react-refresh "^0.17.0"
764
+
765
+ asynckit@^0.4.0:
766
+ version "0.4.0"
767
+ resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"
768
+ integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
769
+
770
+ axios@^1.6.7:
771
+ version "1.8.4"
772
+ resolved "https://registry.npmjs.org/axios/-/axios-1.8.4.tgz"
773
+ integrity sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==
774
+ dependencies:
775
+ follow-redirects "^1.15.6"
776
+ form-data "^4.0.0"
777
+ proxy-from-env "^1.1.0"
778
+
779
+ babel-plugin-macros@^3.1.0:
780
+ version "3.1.0"
781
+ resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz"
782
+ integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==
783
+ dependencies:
784
+ "@babel/runtime" "^7.12.5"
785
+ cosmiconfig "^7.0.0"
786
+ resolve "^1.19.0"
787
+
788
+ browserslist@^4.24.0, "browserslist@>= 4.21.0":
789
+ version "4.24.4"
790
+ resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz"
791
+ integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==
792
+ dependencies:
793
+ caniuse-lite "^1.0.30001688"
794
+ electron-to-chromium "^1.5.73"
795
+ node-releases "^2.0.19"
796
+ update-browserslist-db "^1.1.1"
797
+
798
+ call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2:
799
+ version "1.0.2"
800
+ resolved "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz"
801
+ integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==
802
+ dependencies:
803
+ es-errors "^1.3.0"
804
+ function-bind "^1.1.2"
805
+
806
+ callsites@^3.0.0:
807
+ version "3.1.0"
808
+ resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz"
809
+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
810
+
811
+ caniuse-lite@^1.0.30001688:
812
+ version "1.0.30001713"
813
+ resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001713.tgz"
814
+ integrity sha512-wCIWIg+A4Xr7NfhTuHdX+/FKh3+Op3LBbSp2N5Pfx6T/LhdQy3GTyoTg48BReaW/MyMNZAkTadsBtai3ldWK0Q==
815
+
816
+ classcat@^5.0.3, classcat@^5.0.4:
817
+ version "5.0.5"
818
+ resolved "https://registry.npmjs.org/classcat/-/classcat-5.0.5.tgz"
819
+ integrity sha512-JhZUT7JFcQy/EzW605k/ktHtncoo9vnyW/2GspNYwFlN1C/WmjuV/xtS04e9SOkL2sTdw0VAZ2UGCcQ9lR6p6w==
820
+
821
+ clsx@^2.1.0, clsx@^2.1.1:
822
+ version "2.1.1"
823
+ resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz"
824
+ integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==
825
+
826
+ combined-stream@^1.0.8:
827
+ version "1.0.8"
828
+ resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"
829
+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
830
+ dependencies:
831
+ delayed-stream "~1.0.0"
832
+
833
+ convert-source-map@^1.5.0:
834
+ version "1.9.0"
835
+ resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz"
836
+ integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
837
+
838
+ convert-source-map@^2.0.0:
839
+ version "2.0.0"
840
+ resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz"
841
+ integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
842
+
843
+ cosmiconfig@^7.0.0:
844
+ version "7.1.0"
845
+ resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz"
846
+ integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==
847
+ dependencies:
848
+ "@types/parse-json" "^4.0.0"
849
+ import-fresh "^3.2.1"
850
+ parse-json "^5.0.0"
851
+ path-type "^4.0.0"
852
+ yaml "^1.10.0"
853
+
854
+ csstype@^3.0.2, csstype@^3.1.3:
855
+ version "3.1.3"
856
+ resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz"
857
+ integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
858
+
859
+ "d3-color@1 - 3":
860
+ version "3.1.0"
861
+ resolved "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz"
862
+ integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==
863
+
864
+ "d3-dispatch@1 - 3":
865
+ version "3.0.1"
866
+ resolved "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz"
867
+ integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==
868
+
869
+ d3-drag@^3.0.0, "d3-drag@2 - 3":
870
+ version "3.0.0"
871
+ resolved "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz"
872
+ integrity sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==
873
+ dependencies:
874
+ d3-dispatch "1 - 3"
875
+ d3-selection "3"
876
+
877
+ "d3-ease@1 - 3":
878
+ version "3.0.1"
879
+ resolved "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz"
880
+ integrity sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==
881
+
882
+ "d3-interpolate@1 - 3":
883
+ version "3.0.1"
884
+ resolved "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz"
885
+ integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==
886
+ dependencies:
887
+ d3-color "1 - 3"
888
+
889
+ d3-selection@^3.0.0, "d3-selection@2 - 3", d3-selection@3:
890
+ version "3.0.0"
891
+ resolved "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz"
892
+ integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==
893
+
894
+ "d3-timer@1 - 3":
895
+ version "3.0.1"
896
+ resolved "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz"
897
+ integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==
898
+
899
+ "d3-transition@2 - 3":
900
+ version "3.0.1"
901
+ resolved "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz"
902
+ integrity sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==
903
+ dependencies:
904
+ d3-color "1 - 3"
905
+ d3-dispatch "1 - 3"
906
+ d3-ease "1 - 3"
907
+ d3-interpolate "1 - 3"
908
+ d3-timer "1 - 3"
909
+
910
+ d3-zoom@^3.0.0:
911
+ version "3.0.0"
912
+ resolved "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz"
913
+ integrity sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==
914
+ dependencies:
915
+ d3-dispatch "1 - 3"
916
+ d3-drag "2 - 3"
917
+ d3-interpolate "1 - 3"
918
+ d3-selection "2 - 3"
919
+ d3-transition "2 - 3"
920
+
921
+ dagre@^0.8.5:
922
+ version "0.8.5"
923
+ resolved "https://registry.npmjs.org/dagre/-/dagre-0.8.5.tgz"
924
+ integrity sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==
925
+ dependencies:
926
+ graphlib "^2.1.8"
927
+ lodash "^4.17.15"
928
+
929
+ debug@^4.1.0, debug@^4.3.1:
930
+ version "4.4.0"
931
+ resolved "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz"
932
+ integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==
933
+ dependencies:
934
+ ms "^2.1.3"
935
+
936
+ delayed-stream@~1.0.0:
937
+ version "1.0.0"
938
+ resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
939
+ integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
940
+
941
+ dom-helpers@^5.0.1:
942
+ version "5.2.1"
943
+ resolved "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz"
944
+ integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==
945
+ dependencies:
946
+ "@babel/runtime" "^7.8.7"
947
+ csstype "^3.0.2"
948
+
949
+ dunder-proto@^1.0.1:
950
+ version "1.0.1"
951
+ resolved "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz"
952
+ integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==
953
+ dependencies:
954
+ call-bind-apply-helpers "^1.0.1"
955
+ es-errors "^1.3.0"
956
+ gopd "^1.2.0"
957
+
958
+ electron-to-chromium@^1.5.73:
959
+ version "1.5.137"
960
+ resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.137.tgz"
961
+ integrity sha512-/QSJaU2JyIuTbbABAo/crOs+SuAZLS+fVVS10PVrIT9hrRkmZl8Hb0xPSkKRUUWHQtYzXHpQUW3Dy5hwMzGZkA==
962
+
963
+ error-ex@^1.3.1:
964
+ version "1.3.2"
965
+ resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz"
966
+ integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
967
+ dependencies:
968
+ is-arrayish "^0.2.1"
969
+
970
+ es-define-property@^1.0.1:
971
+ version "1.0.1"
972
+ resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz"
973
+ integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==
974
+
975
+ es-errors@^1.3.0:
976
+ version "1.3.0"
977
+ resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz"
978
+ integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
979
+
980
+ es-object-atoms@^1.0.0, es-object-atoms@^1.1.1:
981
+ version "1.1.1"
982
+ resolved "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz"
983
+ integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==
984
+ dependencies:
985
+ es-errors "^1.3.0"
986
+
987
+ es-set-tostringtag@^2.1.0:
988
+ version "2.1.0"
989
+ resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz"
990
+ integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==
991
+ dependencies:
992
+ es-errors "^1.3.0"
993
+ get-intrinsic "^1.2.6"
994
+ has-tostringtag "^1.0.2"
995
+ hasown "^2.0.2"
996
+
997
+ esbuild@^0.25.0:
998
+ version "0.25.2"
999
+ resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz"
1000
+ integrity sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==
1001
+ optionalDependencies:
1002
+ "@esbuild/aix-ppc64" "0.25.2"
1003
+ "@esbuild/android-arm" "0.25.2"
1004
+ "@esbuild/android-arm64" "0.25.2"
1005
+ "@esbuild/android-x64" "0.25.2"
1006
+ "@esbuild/darwin-arm64" "0.25.2"
1007
+ "@esbuild/darwin-x64" "0.25.2"
1008
+ "@esbuild/freebsd-arm64" "0.25.2"
1009
+ "@esbuild/freebsd-x64" "0.25.2"
1010
+ "@esbuild/linux-arm" "0.25.2"
1011
+ "@esbuild/linux-arm64" "0.25.2"
1012
+ "@esbuild/linux-ia32" "0.25.2"
1013
+ "@esbuild/linux-loong64" "0.25.2"
1014
+ "@esbuild/linux-mips64el" "0.25.2"
1015
+ "@esbuild/linux-ppc64" "0.25.2"
1016
+ "@esbuild/linux-riscv64" "0.25.2"
1017
+ "@esbuild/linux-s390x" "0.25.2"
1018
+ "@esbuild/linux-x64" "0.25.2"
1019
+ "@esbuild/netbsd-arm64" "0.25.2"
1020
+ "@esbuild/netbsd-x64" "0.25.2"
1021
+ "@esbuild/openbsd-arm64" "0.25.2"
1022
+ "@esbuild/openbsd-x64" "0.25.2"
1023
+ "@esbuild/sunos-x64" "0.25.2"
1024
+ "@esbuild/win32-arm64" "0.25.2"
1025
+ "@esbuild/win32-ia32" "0.25.2"
1026
+ "@esbuild/win32-x64" "0.25.2"
1027
+
1028
+ escalade@^3.2.0:
1029
+ version "3.2.0"
1030
+ resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz"
1031
+ integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==
1032
+
1033
+ escape-string-regexp@^4.0.0:
1034
+ version "4.0.0"
1035
+ resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz"
1036
+ integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
1037
+
1038
+ find-root@^1.1.0:
1039
+ version "1.1.0"
1040
+ resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz"
1041
+ integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
1042
+
1043
+ follow-redirects@^1.15.6:
1044
+ version "1.15.9"
1045
+ resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz"
1046
+ integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==
1047
+
1048
+ form-data@^4.0.0:
1049
+ version "4.0.2"
1050
+ resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz"
1051
+ integrity sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==
1052
+ dependencies:
1053
+ asynckit "^0.4.0"
1054
+ combined-stream "^1.0.8"
1055
+ es-set-tostringtag "^2.1.0"
1056
+ mime-types "^2.1.12"
1057
+
1058
+ fsevents@~2.3.2, fsevents@~2.3.3:
1059
+ version "2.3.3"
1060
+ resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz"
1061
+ integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
1062
+
1063
+ function-bind@^1.1.2:
1064
+ version "1.1.2"
1065
+ resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
1066
+ integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
1067
+
1068
+ gensync@^1.0.0-beta.2:
1069
+ version "1.0.0-beta.2"
1070
+ resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz"
1071
+ integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
1072
+
1073
+ get-intrinsic@^1.2.6:
1074
+ version "1.3.0"
1075
+ resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz"
1076
+ integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==
1077
+ dependencies:
1078
+ call-bind-apply-helpers "^1.0.2"
1079
+ es-define-property "^1.0.1"
1080
+ es-errors "^1.3.0"
1081
+ es-object-atoms "^1.1.1"
1082
+ function-bind "^1.1.2"
1083
+ get-proto "^1.0.1"
1084
+ gopd "^1.2.0"
1085
+ has-symbols "^1.1.0"
1086
+ hasown "^2.0.2"
1087
+ math-intrinsics "^1.1.0"
1088
+
1089
+ get-proto@^1.0.1:
1090
+ version "1.0.1"
1091
+ resolved "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz"
1092
+ integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==
1093
+ dependencies:
1094
+ dunder-proto "^1.0.1"
1095
+ es-object-atoms "^1.0.0"
1096
+
1097
+ globals@^11.1.0:
1098
+ version "11.12.0"
1099
+ resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz"
1100
+ integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
1101
+
1102
+ gopd@^1.2.0:
1103
+ version "1.2.0"
1104
+ resolved "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz"
1105
+ integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==
1106
+
1107
+ graphlib@^2.1.8:
1108
+ version "2.1.8"
1109
+ resolved "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz"
1110
+ integrity sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==
1111
+ dependencies:
1112
+ lodash "^4.17.15"
1113
+
1114
+ has-symbols@^1.0.3, has-symbols@^1.1.0:
1115
+ version "1.1.0"
1116
+ resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz"
1117
+ integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==
1118
+
1119
+ has-tostringtag@^1.0.2:
1120
+ version "1.0.2"
1121
+ resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz"
1122
+ integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==
1123
+ dependencies:
1124
+ has-symbols "^1.0.3"
1125
+
1126
+ hasown@^2.0.2:
1127
+ version "2.0.2"
1128
+ resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz"
1129
+ integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
1130
+ dependencies:
1131
+ function-bind "^1.1.2"
1132
+
1133
+ hoist-non-react-statics@^3.3.1:
1134
+ version "3.3.2"
1135
+ resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz"
1136
+ integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
1137
+ dependencies:
1138
+ react-is "^16.7.0"
1139
+
1140
+ import-fresh@^3.2.1:
1141
+ version "3.3.1"
1142
+ resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz"
1143
+ integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==
1144
+ dependencies:
1145
+ parent-module "^1.0.0"
1146
+ resolve-from "^4.0.0"
1147
+
1148
+ is-arrayish@^0.2.1:
1149
+ version "0.2.1"
1150
+ resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"
1151
+ integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
1152
+
1153
+ is-core-module@^2.16.0:
1154
+ version "2.16.1"
1155
+ resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz"
1156
+ integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==
1157
+ dependencies:
1158
+ hasown "^2.0.2"
1159
+
1160
+ "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
1161
+ version "4.0.0"
1162
+ resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
1163
+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
1164
+
1165
+ jsesc@^3.0.2:
1166
+ version "3.1.0"
1167
+ resolved "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz"
1168
+ integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==
1169
+
1170
+ json-parse-even-better-errors@^2.3.0:
1171
+ version "2.3.1"
1172
+ resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz"
1173
+ integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
1174
+
1175
+ json5@^2.2.3:
1176
+ version "2.2.3"
1177
+ resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz"
1178
+ integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
1179
+
1180
+ lines-and-columns@^1.1.6:
1181
+ version "1.2.4"
1182
+ resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz"
1183
+ integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
1184
+
1185
+ lodash@^4.17.15:
1186
+ version "4.17.21"
1187
+ resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
1188
+ integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
1189
+
1190
+ loose-envify@^1.1.0, loose-envify@^1.4.0:
1191
+ version "1.4.0"
1192
+ resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz"
1193
+ integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
1194
+ dependencies:
1195
+ js-tokens "^3.0.0 || ^4.0.0"
1196
+
1197
+ lru-cache@^5.1.1:
1198
+ version "5.1.1"
1199
+ resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz"
1200
+ integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
1201
+ dependencies:
1202
+ yallist "^3.0.2"
1203
+
1204
+ math-intrinsics@^1.1.0:
1205
+ version "1.1.0"
1206
+ resolved "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz"
1207
+ integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
1208
+
1209
+ mime-db@1.52.0:
1210
+ version "1.52.0"
1211
+ resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
1212
+ integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
1213
+
1214
+ mime-types@^2.1.12:
1215
+ version "2.1.35"
1216
+ resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz"
1217
+ integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
1218
+ dependencies:
1219
+ mime-db "1.52.0"
1220
+
1221
+ ms@^2.1.3:
1222
+ version "2.1.3"
1223
+ resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
1224
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
1225
+
1226
+ nanoid@^3.3.8:
1227
+ version "3.3.11"
1228
+ resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz"
1229
+ integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==
1230
+
1231
+ node-releases@^2.0.19:
1232
+ version "2.0.19"
1233
+ resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz"
1234
+ integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==
1235
+
1236
+ object-assign@^4.1.1:
1237
+ version "4.1.1"
1238
+ resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
1239
+ integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
1240
+
1241
+ parent-module@^1.0.0:
1242
+ version "1.0.1"
1243
+ resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz"
1244
+ integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
1245
+ dependencies:
1246
+ callsites "^3.0.0"
1247
+
1248
+ parse-json@^5.0.0:
1249
+ version "5.2.0"
1250
+ resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz"
1251
+ integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
1252
+ dependencies:
1253
+ "@babel/code-frame" "^7.0.0"
1254
+ error-ex "^1.3.1"
1255
+ json-parse-even-better-errors "^2.3.0"
1256
+ lines-and-columns "^1.1.6"
1257
+
1258
+ path-parse@^1.0.7:
1259
+ version "1.0.7"
1260
+ resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
1261
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
1262
+
1263
+ path-type@^4.0.0:
1264
+ version "4.0.0"
1265
+ resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
1266
+ integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
1267
+
1268
+ picocolors@^1.0.0, picocolors@^1.1.1:
1269
+ version "1.1.1"
1270
+ resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz"
1271
+ integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
1272
+
1273
+ postcss@^8.5.3:
1274
+ version "8.5.3"
1275
+ resolved "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz"
1276
+ integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==
1277
+ dependencies:
1278
+ nanoid "^3.3.8"
1279
+ picocolors "^1.1.1"
1280
+ source-map-js "^1.2.1"
1281
+
1282
+ prop-types@^15.6.2, prop-types@^15.8.1:
1283
+ version "15.8.1"
1284
+ resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz"
1285
+ integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
1286
+ dependencies:
1287
+ loose-envify "^1.4.0"
1288
+ object-assign "^4.1.1"
1289
+ react-is "^16.13.1"
1290
+
1291
+ proxy-from-env@^1.1.0:
1292
+ version "1.1.0"
1293
+ resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz"
1294
+ integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
1295
+
1296
+ "react-dom@^17.0.0 || ^18.0.0 || ^19.0.0", react-dom@^18.3.1, react-dom@>=16.6.0, react-dom@>=17:
1297
+ version "18.3.1"
1298
+ resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz"
1299
+ integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==
1300
+ dependencies:
1301
+ loose-envify "^1.1.0"
1302
+ scheduler "^0.23.2"
1303
+
1304
+ react-is@^16.13.1, react-is@^16.7.0:
1305
+ version "16.13.1"
1306
+ resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
1307
+ integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
1308
+
1309
+ react-is@^19.0.0:
1310
+ version "19.1.0"
1311
+ resolved "https://registry.npmjs.org/react-is/-/react-is-19.1.0.tgz"
1312
+ integrity sha512-Oe56aUPnkHyyDxxkvqtd7KkdQP5uIUfHxd5XTb3wE9d/kRnZLmKbDB0GWk919tdQ+mxxPtG6EAs6RMT6i1qtHg==
1313
+
1314
+ react-refresh@^0.17.0:
1315
+ version "0.17.0"
1316
+ resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz"
1317
+ integrity sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==
1318
+
1319
+ react-transition-group@^4.4.5:
1320
+ version "4.4.5"
1321
+ resolved "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz"
1322
+ integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==
1323
+ dependencies:
1324
+ "@babel/runtime" "^7.5.5"
1325
+ dom-helpers "^5.0.1"
1326
+ loose-envify "^1.4.0"
1327
+ prop-types "^15.6.2"
1328
+
1329
+ "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^17.0.0 || ^18.0.0 || ^19.0.0", react@^18.3.1, react@>=16.6.0, react@>=16.8, react@>=16.8.0, react@>=17:
1330
+ version "18.3.1"
1331
+ resolved "https://registry.npmjs.org/react/-/react-18.3.1.tgz"
1332
+ integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==
1333
+ dependencies:
1334
+ loose-envify "^1.1.0"
1335
+
1336
+ reactflow@^11.10.1:
1337
+ version "11.11.4"
1338
+ resolved "https://registry.npmjs.org/reactflow/-/reactflow-11.11.4.tgz"
1339
+ integrity sha512-70FOtJkUWH3BAOsN+LU9lCrKoKbtOPnz2uq0CV2PLdNSwxTXOhCbsZr50GmZ+Rtw3jx8Uv7/vBFtCGixLfd4Og==
1340
+ dependencies:
1341
+ "@reactflow/background" "11.3.14"
1342
+ "@reactflow/controls" "11.2.14"
1343
+ "@reactflow/core" "11.11.4"
1344
+ "@reactflow/minimap" "11.7.14"
1345
+ "@reactflow/node-resizer" "2.2.14"
1346
+ "@reactflow/node-toolbar" "1.3.14"
1347
+
1348
+ regenerator-runtime@^0.14.0:
1349
+ version "0.14.1"
1350
+ resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz"
1351
+ integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==
1352
+
1353
+ resolve-from@^4.0.0:
1354
+ version "4.0.0"
1355
+ resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz"
1356
+ integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
1357
+
1358
+ resolve@^1.19.0:
1359
+ version "1.22.10"
1360
+ resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz"
1361
+ integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==
1362
+ dependencies:
1363
+ is-core-module "^2.16.0"
1364
+ path-parse "^1.0.7"
1365
+ supports-preserve-symlinks-flag "^1.0.0"
1366
+
1367
+ rollup@^4.30.1:
1368
+ version "4.40.0"
1369
+ resolved "https://registry.npmjs.org/rollup/-/rollup-4.40.0.tgz"
1370
+ integrity sha512-Noe455xmA96nnqH5piFtLobsGbCij7Tu+tb3c1vYjNbTkfzGqXqQXG3wJaYXkRZuQ0vEYN4bhwg7QnIrqB5B+w==
1371
+ dependencies:
1372
+ "@types/estree" "1.0.7"
1373
+ optionalDependencies:
1374
+ "@rollup/rollup-android-arm-eabi" "4.40.0"
1375
+ "@rollup/rollup-android-arm64" "4.40.0"
1376
+ "@rollup/rollup-darwin-arm64" "4.40.0"
1377
+ "@rollup/rollup-darwin-x64" "4.40.0"
1378
+ "@rollup/rollup-freebsd-arm64" "4.40.0"
1379
+ "@rollup/rollup-freebsd-x64" "4.40.0"
1380
+ "@rollup/rollup-linux-arm-gnueabihf" "4.40.0"
1381
+ "@rollup/rollup-linux-arm-musleabihf" "4.40.0"
1382
+ "@rollup/rollup-linux-arm64-gnu" "4.40.0"
1383
+ "@rollup/rollup-linux-arm64-musl" "4.40.0"
1384
+ "@rollup/rollup-linux-loongarch64-gnu" "4.40.0"
1385
+ "@rollup/rollup-linux-powerpc64le-gnu" "4.40.0"
1386
+ "@rollup/rollup-linux-riscv64-gnu" "4.40.0"
1387
+ "@rollup/rollup-linux-riscv64-musl" "4.40.0"
1388
+ "@rollup/rollup-linux-s390x-gnu" "4.40.0"
1389
+ "@rollup/rollup-linux-x64-gnu" "4.40.0"
1390
+ "@rollup/rollup-linux-x64-musl" "4.40.0"
1391
+ "@rollup/rollup-win32-arm64-msvc" "4.40.0"
1392
+ "@rollup/rollup-win32-ia32-msvc" "4.40.0"
1393
+ "@rollup/rollup-win32-x64-msvc" "4.40.0"
1394
+ fsevents "~2.3.2"
1395
+
1396
+ scheduler@^0.23.2:
1397
+ version "0.23.2"
1398
+ resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz"
1399
+ integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==
1400
+ dependencies:
1401
+ loose-envify "^1.1.0"
1402
+
1403
+ semver@^6.3.1:
1404
+ version "6.3.1"
1405
+ resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
1406
+ integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
1407
+
1408
+ source-map-js@^1.2.1:
1409
+ version "1.2.1"
1410
+ resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz"
1411
+ integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
1412
+
1413
+ source-map@^0.5.7:
1414
+ version "0.5.7"
1415
+ resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
1416
+ integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==
1417
+
1418
+ stylis@4.2.0:
1419
+ version "4.2.0"
1420
+ resolved "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz"
1421
+ integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==
1422
+
1423
+ supports-preserve-symlinks-flag@^1.0.0:
1424
+ version "1.0.0"
1425
+ resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz"
1426
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
1427
+
1428
+ update-browserslist-db@^1.1.1:
1429
+ version "1.1.3"
1430
+ resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz"
1431
+ integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==
1432
+ dependencies:
1433
+ escalade "^3.2.0"
1434
+ picocolors "^1.1.1"
1435
+
1436
+ use-sync-external-store@^1.2.2:
1437
+ version "1.5.0"
1438
+ resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz"
1439
+ integrity sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==
1440
+
1441
+ "vite@^4.2.0 || ^5.0.0 || ^6.0.0", vite@^6.2.6:
1442
+ version "6.2.6"
1443
+ resolved "https://registry.npmjs.org/vite/-/vite-6.2.6.tgz"
1444
+ integrity sha512-9xpjNl3kR4rVDZgPNdTL0/c6ao4km69a/2ihNQbcANz8RuCOK3hQBmLSJf3bRKVQjVMda+YvizNE8AwvogcPbw==
1445
+ dependencies:
1446
+ esbuild "^0.25.0"
1447
+ postcss "^8.5.3"
1448
+ rollup "^4.30.1"
1449
+ optionalDependencies:
1450
+ fsevents "~2.3.3"
1451
+
1452
+ yallist@^3.0.2:
1453
+ version "3.1.1"
1454
+ resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz"
1455
+ integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
1456
+
1457
+ yaml@^1.10.0:
1458
+ version "1.10.2"
1459
+ resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz"
1460
+ integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
1461
+
1462
+ yaml@^2.4.2:
1463
+ version "2.7.1"
1464
+ resolved "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz"
1465
+ integrity sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==
1466
+
1467
+ zustand@^4.4.1:
1468
+ version "4.5.6"
1469
+ resolved "https://registry.npmjs.org/zustand/-/zustand-4.5.6.tgz"
1470
+ integrity sha512-ibr/n1hBzLLj5Y+yUcU7dYw8p6WnIVzdJbnX+1YpaScvZVF2ziugqHs+LAmHw4lWO9c/zRj+K1ncgWDQuthEdQ==
1471
+ dependencies:
1472
+ use-sync-external-store "^1.2.2"