Spaces:
Paused
Paused
Commit
·
ddaa426
1
Parent(s):
6a52c11
fullstack solution chatface
Browse files- .gitignore +25 -0
- BuildingAChainlitApp.md +25 -23
- Dockerfile +31 -10
- README.md +65 -24
- __pycache__/app.cpython-313.pyc +0 -0
- __pycache__/chatface.cpython-313.pyc +0 -0
- __pycache__/server.cpython-313.pyc +0 -0
- chainlit.md +0 -3
- app.py → chainlit.py +0 -0
- eslint.config.js +28 -0
- index.html +14 -0
- package.json +30 -0
- public/assets/index-B3Y9MGSu.js +0 -0
- public/index.html +14 -0
- public/vite.svg +16 -0
- pyproject.toml +4 -0
- server.py +160 -0
- src/components/App.tsx +251 -0
- src/components/FileUpload.tsx +100 -0
- src/main.tsx +9 -0
- src/vite-env.d.ts +1 -0
- tsconfig.app.json +26 -0
- tsconfig.json +7 -0
- tsconfig.node.json +24 -0
- uv.lock +565 -2
- vite.config.ts +15 -0
- yarn.lock +1517 -0
.gitignore
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Logs
|
2 |
+
logs
|
3 |
+
*.log
|
4 |
+
npm-debug.log*
|
5 |
+
yarn-debug.log*
|
6 |
+
yarn-error.log*
|
7 |
+
pnpm-debug.log*
|
8 |
+
lerna-debug.log*
|
9 |
+
|
10 |
+
node_modules
|
11 |
+
dist
|
12 |
+
dist-ssr
|
13 |
+
*.local
|
14 |
+
|
15 |
+
# Editor directories and files
|
16 |
+
.vscode/*
|
17 |
+
!.vscode/extensions.json
|
18 |
+
.idea
|
19 |
+
.DS_Store
|
20 |
+
*.suo
|
21 |
+
*.ntvs*
|
22 |
+
*.njsproj
|
23 |
+
*.sln
|
24 |
+
*.sw?
|
25 |
+
.env
|
BuildingAChainlitApp.md
CHANGED
@@ -10,7 +10,7 @@ Well - we'll cover exactly that here!
|
|
10 |
|
11 |
The primary method of customizing and interacting with the Chainlit UI is through a few critical [decorators](https://blog.hubspot.com/website/decorators-in-python).
|
12 |
|
13 |
-
> NOTE: Simply put, the decorators (in Chainlit) are just ways we can "plug-in" to the functionality in Chainlit.
|
14 |
|
15 |
We'll be concerning ourselves with three main scopes:
|
16 |
|
@@ -22,7 +22,7 @@ Let's dig into each scope and see what we're doing!
|
|
22 |
|
23 |
## On Application Start:
|
24 |
|
25 |
-
The first thing you'll notice is that we have the traditional "wall of imports" this is to ensure we have everything we need to run our application.
|
26 |
|
27 |
```python
|
28 |
import os
|
@@ -40,7 +40,7 @@ from aimakerspace.openai_utils.chatmodel import ChatOpenAI
|
|
40 |
import chainlit as cl
|
41 |
```
|
42 |
|
43 |
-
Next up, we have some prompt templates. As all sessions will use the same prompt templates without modification, and we don't need these templates to be specific per template - we can set them up here - at the application scope.
|
44 |
|
45 |
```python
|
46 |
system_template = """\
|
@@ -59,7 +59,7 @@ user_role_prompt = UserRolePrompt(user_prompt_template)
|
|
59 |
|
60 |
> NOTE: You'll notice that these are the exact same prompt templates we used from the Pythonic RAG Notebook in Week 1 Day 2!
|
61 |
|
62 |
-
Following that - we can create the Python Class definition for our RAG pipeline - or
|
63 |
|
64 |
Let's look at the definition first:
|
65 |
|
@@ -93,12 +93,12 @@ class RetrievalAugmentedQAPipeline:
|
|
93 |
|
94 |
Notice a few things:
|
95 |
|
96 |
-
1. We have modified this `RetrievalAugmentedQAPipeline` from the initial notebook to support streaming.
|
97 |
-
2. In essence, our pipeline is
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
3. We are using a lot of `async` again!
|
103 |
|
104 |
Now, we're going to create a helper function for processing uploaded text files.
|
@@ -131,13 +131,16 @@ Simply put, this downloads the file as a temp file, we load it in with `TextFile
|
|
131 |
|
132 |
#### QUESTION #1:
|
133 |
|
134 |
-
Why do we want to support streaming?
|
|
|
|
|
|
|
135 |
|
136 |
## On Chat Start:
|
137 |
|
138 |
The next scope is where "the magic happens". On Chat Start is when a user begins a chat session. This will happen whenever a user opens a new chat window, or refreshes an existing chat window.
|
139 |
|
140 |
-
You'll see that our code is set-up to immediately show the user a chat box requesting them to upload a file.
|
141 |
|
142 |
```python
|
143 |
while files == None:
|
@@ -169,11 +172,15 @@ retrieval_augmented_qa_pipeline = RetrievalAugmentedQAPipeline(
|
|
169 |
|
170 |
Now, we'll save that into our user session!
|
171 |
|
172 |
-
> NOTE: Chainlit has some great documentation about [User Session](https://docs.chainlit.io/concepts/user-session).
|
|
|
|
|
173 |
|
174 |
-
|
|
|
|
|
175 |
|
176 |
-
|
177 |
|
178 |
## On Message
|
179 |
|
@@ -203,12 +210,7 @@ For an extra challenge - modify the behaviour of your applciation by integrating
|
|
203 |
|
204 |
If you're still looking for a challenge, or didn't make any modifications to your Pythonic RAG notebook:
|
205 |
|
206 |
-
1
|
207 |
-
2
|
208 |
-
|
209 |
-
> NOTE: The motivation for these challenges is simple - the beginning of the course is extremely information dense, and people come from all kinds of different technical backgrounds. In order to ensure that all learners are able to engage with the content confidently and comfortably, we want to focus on the basic units of technical competency required. This leads to a situation where some learners, who came in with more robust technical skills, find the introductory material to be too simple - and these open-ended challenges help us do this!
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
|
|
|
|
10 |
|
11 |
The primary method of customizing and interacting with the Chainlit UI is through a few critical [decorators](https://blog.hubspot.com/website/decorators-in-python).
|
12 |
|
13 |
+
> NOTE: Simply put, the decorators (in Chainlit) are just ways we can "plug-in" to the functionality in Chainlit.
|
14 |
|
15 |
We'll be concerning ourselves with three main scopes:
|
16 |
|
|
|
22 |
|
23 |
## On Application Start:
|
24 |
|
25 |
+
The first thing you'll notice is that we have the traditional "wall of imports" this is to ensure we have everything we need to run our application.
|
26 |
|
27 |
```python
|
28 |
import os
|
|
|
40 |
import chainlit as cl
|
41 |
```
|
42 |
|
43 |
+
Next up, we have some prompt templates. As all sessions will use the same prompt templates without modification, and we don't need these templates to be specific per template - we can set them up here - at the application scope.
|
44 |
|
45 |
```python
|
46 |
system_template = """\
|
|
|
59 |
|
60 |
> NOTE: You'll notice that these are the exact same prompt templates we used from the Pythonic RAG Notebook in Week 1 Day 2!
|
61 |
|
62 |
+
Following that - we can create the Python Class definition for our RAG pipeline - or _chain_, as we'll refer to it in the rest of this walkthrough.
|
63 |
|
64 |
Let's look at the definition first:
|
65 |
|
|
|
93 |
|
94 |
Notice a few things:
|
95 |
|
96 |
+
1. We have modified this `RetrievalAugmentedQAPipeline` from the initial notebook to support streaming.
|
97 |
+
2. In essence, our pipeline is _chaining_ a few events together:
|
98 |
+
1. We take our user query, and chain it into our Vector Database to collect related chunks
|
99 |
+
2. We take those contexts and our user's questions and chain them into the prompt templates
|
100 |
+
3. We take that prompt template and chain it into our LLM call
|
101 |
+
4. We chain the response of the LLM call to the user
|
102 |
3. We are using a lot of `async` again!
|
103 |
|
104 |
Now, we're going to create a helper function for processing uploaded text files.
|
|
|
131 |
|
132 |
#### QUESTION #1:
|
133 |
|
134 |
+
Why do we want to support streaming?
|
135 |
+
What about streaming is important, or useful?
|
136 |
+
|
137 |
+
A: Perceived performance. If we didn't have streaming, the user would have to wait for the LLM to finish processing the request before they could see the response. This would be a very slow experience.
|
138 |
|
139 |
## On Chat Start:
|
140 |
|
141 |
The next scope is where "the magic happens". On Chat Start is when a user begins a chat session. This will happen whenever a user opens a new chat window, or refreshes an existing chat window.
|
142 |
|
143 |
+
You'll see that our code is set-up to immediately show the user a chat box requesting them to upload a file.
|
144 |
|
145 |
```python
|
146 |
while files == None:
|
|
|
172 |
|
173 |
Now, we'll save that into our user session!
|
174 |
|
175 |
+
> NOTE: Chainlit has some great documentation about [User Session](https://docs.chainlit.io/concepts/user-session).
|
176 |
+
|
177 |
+
### QUESTION #2:
|
178 |
|
179 |
+
Why are we using User Session here?
|
180 |
+
What about Python makes us need to use this?
|
181 |
+
Why not just store everything in a global variable?
|
182 |
|
183 |
+
A: User Session allows us to store a user's conversation independently of each other. This enables users to have separate conversations with an LLM using different documents. It also prevents confidential information from being leaked to other users.
|
184 |
|
185 |
## On Message
|
186 |
|
|
|
210 |
|
211 |
If you're still looking for a challenge, or didn't make any modifications to your Pythonic RAG notebook:
|
212 |
|
213 |
+
1. Allow users to upload PDFs (this will require you to build a PDF parser as well)
|
214 |
+
2. Modify the VectorStore to leverage [Qdrant](https://python-client.qdrant.tech/)
|
|
|
|
|
|
|
|
|
|
|
|
|
215 |
|
216 |
+
> NOTE: The motivation for these challenges is simple - the beginning of the course is extremely information dense, and people come from all kinds of different technical backgrounds. In order to ensure that all learners are able to engage with the content confidently and comfortably, we want to focus on the basic units of technical competency required. This leads to a situation where some learners, who came in with more robust technical skills, find the introductory material to be too simple - and these open-ended challenges help us do this!
|
Dockerfile
CHANGED
@@ -1,31 +1,52 @@
|
|
1 |
-
|
2 |
# Get a distribution that has uv already installed
|
3 |
FROM ghcr.io/astral-sh/uv:python3.13-bookworm-slim
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
# Add user - this is the user that will run the app
|
6 |
-
# If you do not set user, the app will run as root (undesirable)
|
7 |
RUN useradd -m -u 1000 user
|
8 |
USER user
|
9 |
|
10 |
# Set the home directory and path
|
11 |
ENV HOME=/home/user \
|
12 |
-
PATH=/home/user/.local/bin:$PATH
|
|
|
|
|
13 |
|
14 |
-
|
|
|
|
|
|
|
15 |
|
|
|
|
|
16 |
|
17 |
# Set the working directory
|
18 |
WORKDIR $HOME/app
|
19 |
|
20 |
-
# Copy
|
21 |
-
COPY --chown=user .
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
23 |
-
# Install
|
24 |
-
|
25 |
-
RUN
|
26 |
|
27 |
# Expose the port
|
28 |
EXPOSE 7860
|
29 |
|
30 |
# Run the app
|
31 |
-
CMD
|
|
|
|
|
1 |
# Get a distribution that has uv already installed
|
2 |
FROM ghcr.io/astral-sh/uv:python3.13-bookworm-slim
|
3 |
|
4 |
+
# Install system dependencies
|
5 |
+
RUN apt-get update && apt-get install -y \
|
6 |
+
curl \
|
7 |
+
build-essential \
|
8 |
+
&& curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
|
9 |
+
&& apt-get install -y nodejs \
|
10 |
+
&& npm install -g yarn \
|
11 |
+
&& apt-get clean \
|
12 |
+
&& rm -rf /var/lib/apt/lists/*
|
13 |
+
|
14 |
# Add user - this is the user that will run the app
|
|
|
15 |
RUN useradd -m -u 1000 user
|
16 |
USER user
|
17 |
|
18 |
# Set the home directory and path
|
19 |
ENV HOME=/home/user \
|
20 |
+
PATH=/home/user/.local/bin:/home/user/.cargo/bin:$PATH \
|
21 |
+
PATH=$HOME/app/node_modules/.bin:$PATH \
|
22 |
+
PATH=$HOME/app/.venv/bin:$PATH
|
23 |
|
24 |
+
# Install Rust for the user and set up shell
|
25 |
+
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y \
|
26 |
+
&& echo 'source $HOME/.cargo/env' >> $HOME/.bashrc \
|
27 |
+
&& /bin/bash -c 'source $HOME/.cargo/env'
|
28 |
|
29 |
+
# Use bash as the default shell
|
30 |
+
SHELL ["/bin/bash", "-c"]
|
31 |
|
32 |
# Set the working directory
|
33 |
WORKDIR $HOME/app
|
34 |
|
35 |
+
# Copy package files first
|
36 |
+
COPY --chown=user package.json yarn.lock ./
|
37 |
+
|
38 |
+
# Install dependencies
|
39 |
+
RUN yarn install
|
40 |
+
|
41 |
+
# Copy the rest of the app
|
42 |
+
COPY --chown=user . .
|
43 |
|
44 |
+
# Install Python dependencies
|
45 |
+
RUN source $HOME/.cargo/env && uv sync --frozen
|
46 |
+
RUN source .venv/bin/activate
|
47 |
|
48 |
# Expose the port
|
49 |
EXPOSE 7860
|
50 |
|
51 |
# Run the app
|
52 |
+
CMD yarn build && uv run uvicorn server:app --host 0.0.0.0 --port 7860
|
README.md
CHANGED
@@ -12,7 +12,7 @@ license: apache-2.0
|
|
12 |
|
13 |
In today's breakout rooms, we will be following the process that you saw during the challenge.
|
14 |
|
15 |
-
Today, we will repeat the same process - but powered by our Pythonic RAG implementation we created last week.
|
16 |
|
17 |
You'll notice a few differences in the `app.py` logic - as well as a few changes to the `aimakerspace` package to get things working smoothly with Chainlit.
|
18 |
|
@@ -28,7 +28,7 @@ You'll notice a few differences in the `app.py` logic - as well as a few changes
|
|
28 |
|
29 |
The primary method of customizing and interacting with the Chainlit UI is through a few critical [decorators](https://blog.hubspot.com/website/decorators-in-python).
|
30 |
|
31 |
-
> NOTE: Simply put, the decorators (in Chainlit) are just ways we can "plug-in" to the functionality in Chainlit.
|
32 |
|
33 |
We'll be concerning ourselves with three main scopes:
|
34 |
|
@@ -40,7 +40,7 @@ Let's dig into each scope and see what we're doing!
|
|
40 |
|
41 |
### On Application Start:
|
42 |
|
43 |
-
The first thing you'll notice is that we have the traditional "wall of imports" this is to ensure we have everything we need to run our application.
|
44 |
|
45 |
```python
|
46 |
import os
|
@@ -58,7 +58,7 @@ from aimakerspace.openai_utils.chatmodel import ChatOpenAI
|
|
58 |
import chainlit as cl
|
59 |
```
|
60 |
|
61 |
-
Next up, we have some prompt templates. As all sessions will use the same prompt templates without modification, and we don't need these templates to be specific per template - we can set them up here - at the application scope.
|
62 |
|
63 |
```python
|
64 |
system_template = """\
|
@@ -77,7 +77,7 @@ user_role_prompt = UserRolePrompt(user_prompt_template)
|
|
77 |
|
78 |
> NOTE: You'll notice that these are the exact same prompt templates we used from the Pythonic RAG Notebook in Week 1 Day 2!
|
79 |
|
80 |
-
Following that - we can create the Python Class definition for our RAG pipeline - or
|
81 |
|
82 |
Let's look at the definition first:
|
83 |
|
@@ -111,12 +111,12 @@ class RetrievalAugmentedQAPipeline:
|
|
111 |
|
112 |
Notice a few things:
|
113 |
|
114 |
-
1. We have modified this `RetrievalAugmentedQAPipeline` from the initial notebook to support streaming.
|
115 |
-
2. In essence, our pipeline is
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
3. We are using a lot of `async` again!
|
121 |
|
122 |
Now, we're going to create a helper function for processing uploaded text files.
|
@@ -133,22 +133,22 @@ Now we can define our helper.
|
|
133 |
def process_file(file: AskFileResponse):
|
134 |
import tempfile
|
135 |
import shutil
|
136 |
-
|
137 |
print(f"Processing file: {file.name}")
|
138 |
-
|
139 |
# Create a temporary file with the correct extension
|
140 |
suffix = f".{file.name.split('.')[-1]}"
|
141 |
with tempfile.NamedTemporaryFile(delete=False, suffix=suffix) as temp_file:
|
142 |
# Copy the uploaded file content to the temporary file
|
143 |
shutil.copyfile(file.path, temp_file.name)
|
144 |
print(f"Created temporary file at: {temp_file.name}")
|
145 |
-
|
146 |
# Create appropriate loader
|
147 |
if file.name.lower().endswith('.pdf'):
|
148 |
loader = PDFLoader(temp_file.name)
|
149 |
else:
|
150 |
loader = TextFileLoader(temp_file.name)
|
151 |
-
|
152 |
try:
|
153 |
# Load and process the documents
|
154 |
documents = loader.load_documents()
|
@@ -168,11 +168,13 @@ Simply put, this downloads the file as a temp file, we load it in with `TextFile
|
|
168 |
|
169 |
Why do we want to support streaming? What about streaming is important, or useful?
|
170 |
|
|
|
|
|
171 |
### On Chat Start:
|
172 |
|
173 |
The next scope is where "the magic happens". On Chat Start is when a user begins a chat session. This will happen whenever a user opens a new chat window, or refreshes an existing chat window.
|
174 |
|
175 |
-
You'll see that our code is set-up to immediately show the user a chat box requesting them to upload a file.
|
176 |
|
177 |
```python
|
178 |
while files == None:
|
@@ -204,12 +206,14 @@ retrieval_augmented_qa_pipeline = RetrievalAugmentedQAPipeline(
|
|
204 |
|
205 |
Now, we'll save that into our user session!
|
206 |
|
207 |
-
> NOTE: Chainlit has some great documentation about [User Session](https://docs.chainlit.io/concepts/user-session).
|
208 |
|
209 |
-
#### ❓ QUESTION #2:
|
210 |
|
211 |
Why are we using User Session here? What about Python makes us need to use this? Why not just store everything in a global variable?
|
212 |
|
|
|
|
|
213 |
### On Message
|
214 |
|
215 |
First, we load our chain from the user session:
|
@@ -258,7 +262,7 @@ Due to the way the repository is created - it should be straightforward to deplo
|
|
258 |
<details>
|
259 |
<summary>Adding this Repository to the Newly Created Space</summary>
|
260 |
|
261 |
-
1. Collect the SSH address from the newly created Space.
|
262 |
|
263 |

|
264 |
|
@@ -276,9 +280,9 @@ git remote add hf HF_SPACE_SSH_ADDRESS_HERE
|
|
276 |
git pull hf main --no-rebase --allow-unrelated-histories -X ours
|
277 |
```
|
278 |
|
279 |
-
4. Use the command:
|
280 |
|
281 |
-
```bash
|
282 |
git add .
|
283 |
```
|
284 |
|
@@ -288,7 +292,7 @@ git add .
|
|
288 |
git commit -m "Deploying Pythonic RAG"
|
289 |
```
|
290 |
|
291 |
-
6. Use the command:
|
292 |
|
293 |
```bash
|
294 |
git push hf main
|
@@ -307,7 +311,7 @@ git push hf main
|
|
307 |
|
308 |

|
309 |
|
310 |
-
2. Navigate to `Variables and secrets` on the Settings page and click `New secret`:
|
311 |
|
312 |

|
313 |
|
@@ -330,10 +334,47 @@ Try uploading a text file and asking some questions!
|
|
330 |
Upload a PDF file of the recent DeepSeek-R1 paper and ask the following questions:
|
331 |
|
332 |
1. What is RL and how does it help reasoning?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
333 |
2. What is the difference between DeepSeek-R1 and DeepSeek-R1-Zero?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
334 |
3. What is this paper about?
|
335 |
|
336 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
337 |
|
338 |
## 🚧 CHALLENGE MODE 🚧
|
339 |
|
|
|
12 |
|
13 |
In today's breakout rooms, we will be following the process that you saw during the challenge.
|
14 |
|
15 |
+
Today, we will repeat the same process - but powered by our Pythonic RAG implementation we created last week.
|
16 |
|
17 |
You'll notice a few differences in the `app.py` logic - as well as a few changes to the `aimakerspace` package to get things working smoothly with Chainlit.
|
18 |
|
|
|
28 |
|
29 |
The primary method of customizing and interacting with the Chainlit UI is through a few critical [decorators](https://blog.hubspot.com/website/decorators-in-python).
|
30 |
|
31 |
+
> NOTE: Simply put, the decorators (in Chainlit) are just ways we can "plug-in" to the functionality in Chainlit.
|
32 |
|
33 |
We'll be concerning ourselves with three main scopes:
|
34 |
|
|
|
40 |
|
41 |
### On Application Start:
|
42 |
|
43 |
+
The first thing you'll notice is that we have the traditional "wall of imports" this is to ensure we have everything we need to run our application.
|
44 |
|
45 |
```python
|
46 |
import os
|
|
|
58 |
import chainlit as cl
|
59 |
```
|
60 |
|
61 |
+
Next up, we have some prompt templates. As all sessions will use the same prompt templates without modification, and we don't need these templates to be specific per template - we can set them up here - at the application scope.
|
62 |
|
63 |
```python
|
64 |
system_template = """\
|
|
|
77 |
|
78 |
> NOTE: You'll notice that these are the exact same prompt templates we used from the Pythonic RAG Notebook in Week 1 Day 2!
|
79 |
|
80 |
+
Following that - we can create the Python Class definition for our RAG pipeline - or _chain_, as we'll refer to it in the rest of this walkthrough.
|
81 |
|
82 |
Let's look at the definition first:
|
83 |
|
|
|
111 |
|
112 |
Notice a few things:
|
113 |
|
114 |
+
1. We have modified this `RetrievalAugmentedQAPipeline` from the initial notebook to support streaming.
|
115 |
+
2. In essence, our pipeline is _chaining_ a few events together:
|
116 |
+
1. We take our user query, and chain it into our Vector Database to collect related chunks
|
117 |
+
2. We take those contexts and our user's questions and chain them into the prompt templates
|
118 |
+
3. We take that prompt template and chain it into our LLM call
|
119 |
+
4. We chain the response of the LLM call to the user
|
120 |
3. We are using a lot of `async` again!
|
121 |
|
122 |
Now, we're going to create a helper function for processing uploaded text files.
|
|
|
133 |
def process_file(file: AskFileResponse):
|
134 |
import tempfile
|
135 |
import shutil
|
136 |
+
|
137 |
print(f"Processing file: {file.name}")
|
138 |
+
|
139 |
# Create a temporary file with the correct extension
|
140 |
suffix = f".{file.name.split('.')[-1]}"
|
141 |
with tempfile.NamedTemporaryFile(delete=False, suffix=suffix) as temp_file:
|
142 |
# Copy the uploaded file content to the temporary file
|
143 |
shutil.copyfile(file.path, temp_file.name)
|
144 |
print(f"Created temporary file at: {temp_file.name}")
|
145 |
+
|
146 |
# Create appropriate loader
|
147 |
if file.name.lower().endswith('.pdf'):
|
148 |
loader = PDFLoader(temp_file.name)
|
149 |
else:
|
150 |
loader = TextFileLoader(temp_file.name)
|
151 |
+
|
152 |
try:
|
153 |
# Load and process the documents
|
154 |
documents = loader.load_documents()
|
|
|
168 |
|
169 |
Why do we want to support streaming? What about streaming is important, or useful?
|
170 |
|
171 |
+
A: Perceived performance. If we didn't have streaming, the user would have to wait for the LLM to finish processing the request before they could see the response. This would be a very slow experience and there is a chance the user might leave before the response is returned.
|
172 |
+
|
173 |
### On Chat Start:
|
174 |
|
175 |
The next scope is where "the magic happens". On Chat Start is when a user begins a chat session. This will happen whenever a user opens a new chat window, or refreshes an existing chat window.
|
176 |
|
177 |
+
You'll see that our code is set-up to immediately show the user a chat box requesting them to upload a file.
|
178 |
|
179 |
```python
|
180 |
while files == None:
|
|
|
206 |
|
207 |
Now, we'll save that into our user session!
|
208 |
|
209 |
+
> NOTE: Chainlit has some great documentation about [User Session](https://docs.chainlit.io/concepts/user-session).
|
210 |
|
211 |
+
#### ❓ QUESTION #2:
|
212 |
|
213 |
Why are we using User Session here? What about Python makes us need to use this? Why not just store everything in a global variable?
|
214 |
|
215 |
+
A: User Session allows us to store a user's conversation independently of each other. This enables users to have separate conversations with an LLM using different documents. It also prevents confidential information from being leaked to other users.
|
216 |
+
|
217 |
### On Message
|
218 |
|
219 |
First, we load our chain from the user session:
|
|
|
262 |
<details>
|
263 |
<summary>Adding this Repository to the Newly Created Space</summary>
|
264 |
|
265 |
+
1. Collect the SSH address from the newly created Space.
|
266 |
|
267 |

|
268 |
|
|
|
280 |
git pull hf main --no-rebase --allow-unrelated-histories -X ours
|
281 |
```
|
282 |
|
283 |
+
4. Use the command:
|
284 |
|
285 |
+
```bash
|
286 |
git add .
|
287 |
```
|
288 |
|
|
|
292 |
git commit -m "Deploying Pythonic RAG"
|
293 |
```
|
294 |
|
295 |
+
6. Use the command:
|
296 |
|
297 |
```bash
|
298 |
git push hf main
|
|
|
311 |
|
312 |

|
313 |
|
314 |
+
2. Navigate to `Variables and secrets` on the Settings page and click `New secret`:
|
315 |
|
316 |

|
317 |
|
|
|
334 |
Upload a PDF file of the recent DeepSeek-R1 paper and ask the following questions:
|
335 |
|
336 |
1. What is RL and how does it help reasoning?
|
337 |
+
|
338 |
+
A: Reinforcement Learning (RL) is a type of machine learning technique where an agent learns to make decisions by interacting with an environment. The agent takes actions in the environment and receives feedback in the form of rewards or penalties based on the actions it takes. The goal of the agent is to learn the optimal strategy or policy that maximizes the cumulative reward over time.
|
339 |
+
|
340 |
+
In the context of reasoning tasks, RL can help improve reasoning capabilities in language models by allowing the model to learn through trial and error without the need for large amounts of supervised data. By using RL, the model can explore different reasoning behaviors and strategies, gradually improving its performance on reasoning tasks. RL enables the model to adapt and learn from its interactions with the environment, leading to the development of more sophisticated reasoning capabilities over time.
|
341 |
+
|
342 |
+
In the research mentioned, RL is used to train language models like DeepSeek-R1-Zero and DeepSeek-R1 to enhance their reasoning abilities. By applying RL directly to the base model or starting from a fine-tuned checkpoint, the models are able to exhibit powerful reasoning behaviors and achieve performance comparable to state-of-the-art models like OpenAI-o1 series. RL helps the models to evolve and improve their reasoning skills through self-learning and exploration, ultimately enhancing their performance on reasoning tasks.
|
343 |
+
|
344 |
2. What is the difference between DeepSeek-R1 and DeepSeek-R1-Zero?
|
345 |
+
|
346 |
+
A: The main difference between DeepSeek-R1 and DeepSeek-R1-Zero lies in their approach to reasoning tasks and the use of data.
|
347 |
+
|
348 |
+
##### DeepSeek-R1-Zero:
|
349 |
+
|
350 |
+
- DeepSeek-R1-Zero is a model that autonomously develops reasoning behaviors using reinforcement learning.
|
351 |
+
- It struggles with challenges like poor readability and language mixing.
|
352 |
+
- It undergoes a self-evolution process driven by RL, improving its reasoning capabilities autonomously.
|
353 |
+
- It achieves competitive performance on reasoning tasks, surpassing OpenAI-o1-0912.
|
354 |
+
- It demonstrates expert-level performance in code competition tasks and excels in benchmarks like MMLU, MMLU-Pro, and GPQA Diamond.
|
355 |
+
|
356 |
+
##### DeepSeek-R1:
|
357 |
+
|
358 |
+
- DeepSeek-R1 is a method that utilizes reinforcement learning with human-friendly cold-start data.
|
359 |
+
- It aims to make reasoning processes more readable and share them with the open community.
|
360 |
+
- It explores the incorporation of a small amount of high-quality data as a cold start to potentially improve reasoning performance and accelerate convergence.
|
361 |
+
- It outperforms DeepSeek-V3 in engineering-related tasks and achieves outstanding results on benchmarks like MMLU, MMLU-Pro, and GPQA Diamond.
|
362 |
+
|
363 |
+
In summary, DeepSeek-R1-Zero focuses on autonomous reasoning behavior development through RL, while DeepSeek-R1 emphasizes the use of human-friendly cold-start data to enhance reasoning processes.
|
364 |
+
|
365 |
3. What is this paper about?
|
366 |
|
367 |
+
The paper is about a specific topic or research area related to language models, mathematical reasoning, reinforcement learning, or other related fields. To determine the exact topic of the paper, we need to carefully read the title, abstract, introduction, and key sections of the paper. By analyzing the content, methodology, results, and conclusions presented in the paper, we can identify the main focus and contribution of the research.
|
368 |
+
|
369 |
+
Does this application pass your vibe check?
|
370 |
+
|
371 |
+
A: Yes. It does very well at answering specific questions about the paper.
|
372 |
+
|
373 |
+
Are there any immediate pitfalls you're noticing?
|
374 |
+
|
375 |
+
A: It does not do well at answering general or summary type questions about the paper. I believe this is because it is answering with only the context provided through the vector store retriever. So unless the paper contains a summary section and those embeddings are returned and provided to the LLM, it will not be able to answer these kinds of questions without a different approach.
|
376 |
+
|
377 |
+
One approach would be to identify these kinds of general or summary type questions and opt out of retrieving embeddings from a vector store and instead, either feed the LLM the entire document if there's enough context room or, split the document into several large chunks and summarize each chunk and then summarize the summaries.
|
378 |
|
379 |
## 🚧 CHALLENGE MODE 🚧
|
380 |
|
__pycache__/app.cpython-313.pyc
ADDED
Binary file (7 kB). View file
|
|
__pycache__/chatface.cpython-313.pyc
ADDED
Binary file (6.17 kB). View file
|
|
__pycache__/server.cpython-313.pyc
ADDED
Binary file (7.2 kB). View file
|
|
chainlit.md
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
# Welcome to Chat with Your Text File
|
2 |
-
|
3 |
-
With this application, you can chat with an uploaded text file that is smaller than 2MB!
|
|
|
|
|
|
|
|
app.py → chainlit.py
RENAMED
File without changes
|
eslint.config.js
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import js from '@eslint/js'
|
2 |
+
import globals from 'globals'
|
3 |
+
import reactHooks from 'eslint-plugin-react-hooks'
|
4 |
+
import reactRefresh from 'eslint-plugin-react-refresh'
|
5 |
+
import tseslint from 'typescript-eslint'
|
6 |
+
|
7 |
+
export default tseslint.config(
|
8 |
+
{ ignores: ['dist'] },
|
9 |
+
{
|
10 |
+
extends: [js.configs.recommended, ...tseslint.configs.recommended],
|
11 |
+
files: ['**/*.{ts,tsx}'],
|
12 |
+
languageOptions: {
|
13 |
+
ecmaVersion: 2020,
|
14 |
+
globals: globals.browser,
|
15 |
+
},
|
16 |
+
plugins: {
|
17 |
+
'react-hooks': reactHooks,
|
18 |
+
'react-refresh': reactRefresh,
|
19 |
+
},
|
20 |
+
rules: {
|
21 |
+
...reactHooks.configs.recommended.rules,
|
22 |
+
'react-refresh/only-export-components': [
|
23 |
+
'warn',
|
24 |
+
{ allowConstantExport: true },
|
25 |
+
],
|
26 |
+
},
|
27 |
+
},
|
28 |
+
)
|
index.html
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en">
|
3 |
+
<head>
|
4 |
+
<meta charset="UTF-8" />
|
5 |
+
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
6 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
7 |
+
<title>Vite + React + TS</title>
|
8 |
+
<script src="https://unpkg.com/@tailwindcss/browser@4"></script>
|
9 |
+
</head>
|
10 |
+
<body class="bg-gray-100">
|
11 |
+
<div id="root"></div>
|
12 |
+
<script type="module" src="/src/main.tsx"></script>
|
13 |
+
</body>
|
14 |
+
</html>
|
package.json
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"name": "chatface",
|
3 |
+
"private": true,
|
4 |
+
"version": "0.0.0",
|
5 |
+
"type": "module",
|
6 |
+
"scripts": {
|
7 |
+
"dev": "vite & uvicorn server:app --reload",
|
8 |
+
"build": "tsc -b && vite build",
|
9 |
+
"lint": "eslint .",
|
10 |
+
"preview": "vite preview"
|
11 |
+
},
|
12 |
+
"dependencies": {
|
13 |
+
"react": "^18.3.1",
|
14 |
+
"react-dom": "^18.3.1"
|
15 |
+
},
|
16 |
+
"devDependencies": {
|
17 |
+
"@eslint/js": "^9.17.0",
|
18 |
+
"@types/react": "^18.3.18",
|
19 |
+
"@types/react-dom": "^18.3.5",
|
20 |
+
"@vitejs/plugin-react": "^4.3.4",
|
21 |
+
"eslint": "^9.17.0",
|
22 |
+
"eslint-plugin-react-hooks": "^5.0.0",
|
23 |
+
"eslint-plugin-react-refresh": "^0.4.16",
|
24 |
+
"globals": "^15.14.0",
|
25 |
+
"tsc": "^2.0.4",
|
26 |
+
"typescript": "~5.6.2",
|
27 |
+
"typescript-eslint": "^8.18.2",
|
28 |
+
"vite": "^6.0.5"
|
29 |
+
}
|
30 |
+
}
|
public/assets/index-B3Y9MGSu.js
ADDED
The diff for this file is too large to render.
See raw diff
|
|
public/index.html
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en">
|
3 |
+
<head>
|
4 |
+
<meta charset="UTF-8" />
|
5 |
+
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
6 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
7 |
+
<title>Vite + React + TS</title>
|
8 |
+
<script src="https://unpkg.com/@tailwindcss/browser@4"></script>
|
9 |
+
<script type="module" crossorigin src="/assets/index-B3Y9MGSu.js"></script>
|
10 |
+
</head>
|
11 |
+
<body class="bg-gray-100">
|
12 |
+
<div id="root"></div>
|
13 |
+
</body>
|
14 |
+
</html>
|
public/vite.svg
ADDED
|
pyproject.toml
CHANGED
@@ -6,9 +6,13 @@ readme = "README.md"
|
|
6 |
requires-python = ">=3.13"
|
7 |
dependencies = [
|
8 |
"chainlit>=2.0.4",
|
|
|
|
|
9 |
"numpy>=2.2.2",
|
10 |
"openai>=1.59.9",
|
11 |
"pydantic==2.10.1",
|
12 |
"pypdf2>=3.0.1",
|
|
|
|
|
13 |
"websockets>=14.2",
|
14 |
]
|
|
|
6 |
requires-python = ">=3.13"
|
7 |
dependencies = [
|
8 |
"chainlit>=2.0.4",
|
9 |
+
"fastapi[standard]>=0.115.6",
|
10 |
+
"fastembed>=0.5.1",
|
11 |
"numpy>=2.2.2",
|
12 |
"openai>=1.59.9",
|
13 |
"pydantic==2.10.1",
|
14 |
"pypdf2>=3.0.1",
|
15 |
+
"qdrant-client>=1.13.2",
|
16 |
+
"uvicorn>=0.34.0",
|
17 |
"websockets>=14.2",
|
18 |
]
|
server.py
ADDED
@@ -0,0 +1,160 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import os
|
2 |
+
import uvicorn
|
3 |
+
import tempfile
|
4 |
+
from openai import AsyncOpenAI
|
5 |
+
from fastapi import FastAPI, Body, UploadFile, File, Depends, HTTPException
|
6 |
+
from fastapi.staticfiles import StaticFiles
|
7 |
+
from fastapi.responses import StreamingResponse, JSONResponse
|
8 |
+
from aimakerspace.openai_utils.prompts import (
|
9 |
+
UserRolePrompt,
|
10 |
+
SystemRolePrompt,
|
11 |
+
)
|
12 |
+
from aimakerspace.text_utils import CharacterTextSplitter, TextFileLoader, PDFLoader
|
13 |
+
from qdrant_client import QdrantClient
|
14 |
+
from fastapi.security import APIKeyHeader
|
15 |
+
import uuid
|
16 |
+
from typing import Dict, Optional
|
17 |
+
|
18 |
+
system_template = """\
|
19 |
+
Use the following context to answer a users question.
|
20 |
+
If you cannot find the answer in the context, say you don't know the answer.
|
21 |
+
"""
|
22 |
+
system_role_prompt = SystemRolePrompt(system_template)
|
23 |
+
|
24 |
+
user_prompt_template = """\
|
25 |
+
Context:
|
26 |
+
{context}
|
27 |
+
|
28 |
+
Question:
|
29 |
+
{question}
|
30 |
+
"""
|
31 |
+
user_role_prompt = UserRolePrompt(user_prompt_template)
|
32 |
+
|
33 |
+
app = FastAPI()
|
34 |
+
openai = AsyncOpenAI()
|
35 |
+
vector_db = QdrantClient(":memory:")
|
36 |
+
text_splitter = CharacterTextSplitter()
|
37 |
+
|
38 |
+
sessions: Dict[str, dict] = {}
|
39 |
+
api_key_header = APIKeyHeader(name="X-Session-ID", auto_error=False)
|
40 |
+
|
41 |
+
async def get_session(session_id: Optional[str] = Depends(api_key_header)):
|
42 |
+
if not session_id:
|
43 |
+
# Create new session
|
44 |
+
session_id = str(uuid.uuid4())
|
45 |
+
sessions[session_id] = {
|
46 |
+
"vector_db": None,
|
47 |
+
"vector_db_retriever": None,
|
48 |
+
}
|
49 |
+
elif session_id not in sessions:
|
50 |
+
raise HTTPException(status_code=404, detail="Session not found")
|
51 |
+
return session_id, sessions[session_id]
|
52 |
+
|
53 |
+
def process_file(file: UploadFile):
|
54 |
+
print(f"Processing file: {file.filename}")
|
55 |
+
|
56 |
+
# Create a temporary file with the correct extension
|
57 |
+
suffix = f".{file.filename.split('.')[-1]}"
|
58 |
+
with tempfile.NamedTemporaryFile(delete=False, suffix=suffix) as temp_file:
|
59 |
+
# Write the uploaded file content to the temporary file
|
60 |
+
content = file.file.read()
|
61 |
+
temp_file.write(content)
|
62 |
+
temp_file.flush()
|
63 |
+
print(f"Created temporary file at: {temp_file.name}")
|
64 |
+
|
65 |
+
# Create appropriate loader
|
66 |
+
if file.filename.lower().endswith('.pdf'):
|
67 |
+
loader = PDFLoader(temp_file.name)
|
68 |
+
else:
|
69 |
+
loader = TextFileLoader(temp_file.name)
|
70 |
+
|
71 |
+
try:
|
72 |
+
# Load and process the documents
|
73 |
+
documents = loader.load_documents()
|
74 |
+
texts = text_splitter.split_texts(documents)
|
75 |
+
return texts
|
76 |
+
finally:
|
77 |
+
# Clean up the temporary file
|
78 |
+
try:
|
79 |
+
os.unlink(temp_file.name)
|
80 |
+
except Exception as e:
|
81 |
+
print(f"Error cleaning up temporary file: {e}")
|
82 |
+
|
83 |
+
async def get_response(msg: str, session_id: str, vector_db: QdrantClient):
|
84 |
+
context_list = vector_db.query(
|
85 |
+
collection_name=session_id,
|
86 |
+
query_text=msg,
|
87 |
+
limit=4,
|
88 |
+
)
|
89 |
+
|
90 |
+
context_prompt = ""
|
91 |
+
for context in context_list:
|
92 |
+
context_prompt += context.document + "\n"
|
93 |
+
|
94 |
+
formatted_system_prompt = system_role_prompt.create_message()
|
95 |
+
formatted_user_prompt = user_role_prompt.create_message(question=msg, context=context_prompt)
|
96 |
+
|
97 |
+
openai_stream = await openai.chat.completions.create(
|
98 |
+
model="gpt-3.5-turbo",
|
99 |
+
messages=[
|
100 |
+
formatted_system_prompt,
|
101 |
+
formatted_user_prompt,
|
102 |
+
],
|
103 |
+
temperature=0.0,
|
104 |
+
stream=True,
|
105 |
+
)
|
106 |
+
|
107 |
+
async def generate_response():
|
108 |
+
async for chunk in openai_stream:
|
109 |
+
if chunk.choices[0].delta.content is not None:
|
110 |
+
yield chunk.choices[0].delta.content
|
111 |
+
yield ""
|
112 |
+
|
113 |
+
return StreamingResponse(generate_response(), media_type="text/event-stream")
|
114 |
+
|
115 |
+
@app.post("/api/chat")
|
116 |
+
async def get_bot_response(
|
117 |
+
msg: str = Body(...),
|
118 |
+
session_data: tuple = Depends(get_session)
|
119 |
+
):
|
120 |
+
session_id, _ = session_data
|
121 |
+
print(f"Session ID: {session_id}")
|
122 |
+
|
123 |
+
response = await get_response(msg, session_id, vector_db)
|
124 |
+
return response
|
125 |
+
|
126 |
+
@app.post("/api/file")
|
127 |
+
async def get_file_response(
|
128 |
+
file: UploadFile = File(..., description="A text file to process"),
|
129 |
+
session_data: tuple = Depends(get_session)
|
130 |
+
):
|
131 |
+
session_id, _ = session_data
|
132 |
+
|
133 |
+
print(f"Session ID: {session_id}")
|
134 |
+
|
135 |
+
if not file.filename:
|
136 |
+
return {"error": "No file uploaded"}
|
137 |
+
|
138 |
+
try:
|
139 |
+
chunks = process_file(file)
|
140 |
+
vector_db.add(
|
141 |
+
collection_name=session_id,
|
142 |
+
documents=chunks,
|
143 |
+
)
|
144 |
+
|
145 |
+
return {
|
146 |
+
"message": "File processed successfully",
|
147 |
+
"session_id": session_id
|
148 |
+
}
|
149 |
+
|
150 |
+
except Exception as e:
|
151 |
+
return JSONResponse(
|
152 |
+
status_code=422,
|
153 |
+
content={"detail": str(e)}
|
154 |
+
)
|
155 |
+
|
156 |
+
app.mount("/", StaticFiles(directory="dist", html=True), name="static")
|
157 |
+
app.get("/")(StaticFiles(directory="dist", html=True))
|
158 |
+
|
159 |
+
if __name__ == "__main__":
|
160 |
+
uvicorn.run("server:app")
|
src/components/App.tsx
ADDED
@@ -0,0 +1,251 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { useEffect, useRef, useState } from "react";
|
2 |
+
import { FileUpload } from "./FileUpload";
|
3 |
+
|
4 |
+
function Message({ message, role }: Message) {
|
5 |
+
return (
|
6 |
+
<pre
|
7 |
+
className={`p-4 mb-4 rounded-3xl shadow-md whitespace-pre-wrap ${
|
8 |
+
role === "user"
|
9 |
+
? "bg-blue-200 text-blue-800 ml-20 self-end"
|
10 |
+
: "bg-green-200 text-green-800 mr-20 self-start"
|
11 |
+
}`}
|
12 |
+
>
|
13 |
+
{message}
|
14 |
+
</pre>
|
15 |
+
);
|
16 |
+
}
|
17 |
+
|
18 |
+
interface Message {
|
19 |
+
message: string;
|
20 |
+
role: "user" | "assistant";
|
21 |
+
}
|
22 |
+
|
23 |
+
function App() {
|
24 |
+
const scrollUpRef = useRef(false);
|
25 |
+
const [result, setResult] = useState("");
|
26 |
+
const [error, setError] = useState("");
|
27 |
+
const [isStreaming, setIsStreaming] = useState(false);
|
28 |
+
const [messages, setMessages] = useState<Message[]>([]);
|
29 |
+
const [isFileUploaded, setIsFileUploaded] = useState(false);
|
30 |
+
|
31 |
+
useEffect(() => {
|
32 |
+
function handleWheel(event: WheelEvent) {
|
33 |
+
if (isStreaming && event.deltaY < 0) {
|
34 |
+
scrollUpRef.current = true;
|
35 |
+
}
|
36 |
+
}
|
37 |
+
|
38 |
+
document.body.addEventListener("wheel", handleWheel);
|
39 |
+
|
40 |
+
return () => {
|
41 |
+
document.body.removeEventListener("wheel", handleWheel);
|
42 |
+
};
|
43 |
+
}, [isStreaming]);
|
44 |
+
|
45 |
+
const onKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {
|
46 |
+
if (e.key === "Enter" && !e.shiftKey) {
|
47 |
+
e.preventDefault();
|
48 |
+
e.currentTarget.form?.requestSubmit();
|
49 |
+
}
|
50 |
+
};
|
51 |
+
|
52 |
+
async function onSubmit(e: React.FormEvent<HTMLFormElement>) {
|
53 |
+
e.preventDefault();
|
54 |
+
const form = e.currentTarget;
|
55 |
+
const formData = new FormData(form);
|
56 |
+
const msg = formData.get("msg") as string;
|
57 |
+
const scrollingElement = document.scrollingElement;
|
58 |
+
|
59 |
+
if (msg.trim() === "") return;
|
60 |
+
|
61 |
+
scrollUpRef.current = false;
|
62 |
+
scrollingElement?.scrollTo({
|
63 |
+
behavior: "smooth",
|
64 |
+
top: scrollingElement?.scrollHeight,
|
65 |
+
});
|
66 |
+
|
67 |
+
setIsStreaming(true);
|
68 |
+
setMessages((prev) => [
|
69 |
+
...prev,
|
70 |
+
{
|
71 |
+
message: msg,
|
72 |
+
role: "user",
|
73 |
+
},
|
74 |
+
]);
|
75 |
+
|
76 |
+
try {
|
77 |
+
const session_id = sessionStorage.getItem("session_id");
|
78 |
+
const response = await fetch(form.action, {
|
79 |
+
method: "POST",
|
80 |
+
headers: session_id
|
81 |
+
? {
|
82 |
+
"X-Session-ID": session_id,
|
83 |
+
}
|
84 |
+
: undefined,
|
85 |
+
body: msg,
|
86 |
+
});
|
87 |
+
|
88 |
+
let result = "";
|
89 |
+
const reader = response.body?.getReader();
|
90 |
+
const decoder = new TextDecoder();
|
91 |
+
|
92 |
+
form.msg.value = "";
|
93 |
+
|
94 |
+
await reader?.read().then(function processText(msg): Promise<void> {
|
95 |
+
const { value, done } = msg;
|
96 |
+
const chunk = decoder.decode(value, { stream: true });
|
97 |
+
const scrollingElement = document.scrollingElement;
|
98 |
+
|
99 |
+
if (done) {
|
100 |
+
setResult("");
|
101 |
+
setMessages((prev) => [
|
102 |
+
...prev,
|
103 |
+
{
|
104 |
+
message: result,
|
105 |
+
role: "assistant",
|
106 |
+
},
|
107 |
+
]);
|
108 |
+
|
109 |
+
if (scrollingElement) {
|
110 |
+
scrollingElement.scrollTop = scrollingElement?.scrollHeight;
|
111 |
+
}
|
112 |
+
|
113 |
+
return Promise.resolve();
|
114 |
+
}
|
115 |
+
|
116 |
+
result += chunk;
|
117 |
+
setResult(result);
|
118 |
+
|
119 |
+
if (!scrollUpRef.current && scrollingElement) {
|
120 |
+
scrollingElement.scrollTop = scrollingElement.scrollHeight;
|
121 |
+
}
|
122 |
+
|
123 |
+
// Read some more, and call this function again
|
124 |
+
return reader.read().then(processText);
|
125 |
+
});
|
126 |
+
} catch (error) {
|
127 |
+
setError("Error submitting message");
|
128 |
+
console.error("Error submitting message", error);
|
129 |
+
} finally {
|
130 |
+
setIsStreaming(false);
|
131 |
+
}
|
132 |
+
}
|
133 |
+
|
134 |
+
return (
|
135 |
+
<div className="max-w-prose flex flex-col items-center justify-end min-h-screen pb-4 mx-auto">
|
136 |
+
{!isFileUploaded && (
|
137 |
+
<div className="w-full min-h-screen flex flex-col items-center justify-center">
|
138 |
+
<h1 className="text-5xl font-bold mb-2">DocTalk</h1>
|
139 |
+
<p className="text-xl text-gray-500 mb-10 text-center">
|
140 |
+
Talk to your documents.
|
141 |
+
</p>
|
142 |
+
<FileUpload
|
143 |
+
isFileUploaded={isFileUploaded}
|
144 |
+
setIsFileUploaded={setIsFileUploaded}
|
145 |
+
/>
|
146 |
+
<div className="text-xs text-center text-gray-500 mt-4">
|
147 |
+
Built with{" "}
|
148 |
+
<a
|
149 |
+
target="_blank"
|
150 |
+
href="https://openai.com/"
|
151 |
+
rel="noopener noreferrer"
|
152 |
+
className="underline text-blue-500"
|
153 |
+
>
|
154 |
+
OpenAI
|
155 |
+
</a>
|
156 |
+
,{" "}
|
157 |
+
<a
|
158 |
+
target="_blank"
|
159 |
+
href="https://fastapi.tiangolo.com/"
|
160 |
+
rel="noopener noreferrer"
|
161 |
+
className="underline text-blue-500"
|
162 |
+
>
|
163 |
+
FastAPI
|
164 |
+
</a>
|
165 |
+
,{" "}
|
166 |
+
<a
|
167 |
+
target="_blank"
|
168 |
+
href="https://qdrant.tech/"
|
169 |
+
rel="noopener noreferrer"
|
170 |
+
className="underline text-blue-500"
|
171 |
+
>
|
172 |
+
Qdrant
|
173 |
+
</a>
|
174 |
+
,{" "}
|
175 |
+
<a
|
176 |
+
target="_blank"
|
177 |
+
href="https://react.dev/"
|
178 |
+
rel="noopener noreferrer"
|
179 |
+
className="underline text-blue-500"
|
180 |
+
>
|
181 |
+
React
|
182 |
+
</a>
|
183 |
+
,{" "}
|
184 |
+
<a
|
185 |
+
target="_blank"
|
186 |
+
href="https://vitejs.dev/"
|
187 |
+
rel="noopener noreferrer"
|
188 |
+
className="underline text-blue-500"
|
189 |
+
>
|
190 |
+
Vite
|
191 |
+
</a>
|
192 |
+
, and{" "}
|
193 |
+
<a
|
194 |
+
target="_blank"
|
195 |
+
href="https://tailwindcss.com/"
|
196 |
+
rel="noopener noreferrer"
|
197 |
+
className="underline text-blue-500"
|
198 |
+
>
|
199 |
+
TailwindCSS
|
200 |
+
</a>
|
201 |
+
</div>
|
202 |
+
</div>
|
203 |
+
)}
|
204 |
+
|
205 |
+
<div className="w-full flex flex-col justify-end">
|
206 |
+
{messages.map(({ message, role }) => (
|
207 |
+
<Message message={message} role={role} key={`${message}-${role}`} />
|
208 |
+
))}
|
209 |
+
{result && <Message message={result} role="assistant" />}
|
210 |
+
{error && <p className="text-red-500 text-center mb-4">{error}</p>}
|
211 |
+
</div>
|
212 |
+
|
213 |
+
{isFileUploaded && (
|
214 |
+
<form
|
215 |
+
method="post"
|
216 |
+
action="/api/chat"
|
217 |
+
onSubmit={onSubmit}
|
218 |
+
className="relative w-full"
|
219 |
+
>
|
220 |
+
<textarea
|
221 |
+
id="msg"
|
222 |
+
name="msg"
|
223 |
+
rows={3}
|
224 |
+
onKeyDown={onKeyDown}
|
225 |
+
disabled={isStreaming}
|
226 |
+
placeholder="Ask me anything about the document's contents..."
|
227 |
+
className="block bg-white w-full p-4 pr-20 m-0 rounded-3xl shadow-md text-xl disabled:opacity-50 disabled:cursor-not-allowed resize-none"
|
228 |
+
></textarea>
|
229 |
+
|
230 |
+
<button
|
231 |
+
type="submit"
|
232 |
+
disabled={isStreaming}
|
233 |
+
aria-label="Send message"
|
234 |
+
className="absolute right-0 bottom-0 bg-blue-500 text-white p-2 m-2 rounded-full shadow-md hover:bg-blue-600 focus:bg-blue-600 cursor-pointer transition-colors duration-300 disabled:opacity-50 disabled:cursor-not-allowed"
|
235 |
+
>
|
236 |
+
<svg
|
237 |
+
xmlns="http://www.w3.org/2000/svg"
|
238 |
+
viewBox="0 0 24 24"
|
239 |
+
fill="currentColor"
|
240 |
+
className="w-6 h-6"
|
241 |
+
>
|
242 |
+
<path d="M3.478 2.404a.75.75 0 0 0-.926.941l2.432 7.905H13.5a.75.75 0 0 1 0 1.5H4.984l-2.432 7.905a.75.75 0 0 0 .926.94 60.519 60.519 0 0 0 18.445-8.986.75.75 0 0 0 0-1.218A60.517 60.517 0 0 0 3.478 2.404Z" />
|
243 |
+
</svg>
|
244 |
+
</button>
|
245 |
+
</form>
|
246 |
+
)}
|
247 |
+
</div>
|
248 |
+
);
|
249 |
+
}
|
250 |
+
|
251 |
+
export default App;
|
src/components/FileUpload.tsx
ADDED
@@ -0,0 +1,100 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { useState } from "react";
|
2 |
+
|
3 |
+
interface FileUploadProps {
|
4 |
+
isFileUploaded: boolean;
|
5 |
+
setIsFileUploaded: (isFileUploaded: boolean) => void;
|
6 |
+
}
|
7 |
+
|
8 |
+
function FileUpload({ isFileUploaded, setIsFileUploaded }: FileUploadProps) {
|
9 |
+
const [error, setError] = useState("");
|
10 |
+
const [isLoading, setIsLoading] = useState(false);
|
11 |
+
|
12 |
+
const onSubmitFile = async (e: React.FormEvent<HTMLFormElement>) => {
|
13 |
+
e.preventDefault();
|
14 |
+
|
15 |
+
const form = e.currentTarget;
|
16 |
+
const formData = new FormData(form);
|
17 |
+
const file = formData.get("file") as File;
|
18 |
+
|
19 |
+
if (!file) {
|
20 |
+
setError("Please choose a file");
|
21 |
+
return;
|
22 |
+
}
|
23 |
+
|
24 |
+
// if file is not a text or pdf file, set error
|
25 |
+
if (!file.name.endsWith(".txt") && !file.name.endsWith(".pdf")) {
|
26 |
+
setError("Please choose a text or PDF file");
|
27 |
+
return;
|
28 |
+
}
|
29 |
+
|
30 |
+
setIsLoading(true);
|
31 |
+
|
32 |
+
try {
|
33 |
+
const response = await fetch(form.action, {
|
34 |
+
method: "POST",
|
35 |
+
body: formData,
|
36 |
+
});
|
37 |
+
|
38 |
+
if (!response.ok) {
|
39 |
+
throw new Error(`HTTP error! status: ${response.status}`);
|
40 |
+
}
|
41 |
+
|
42 |
+
const data = await response.json();
|
43 |
+
|
44 |
+
if (data.session_id) {
|
45 |
+
sessionStorage.setItem("session_id", data.session_id);
|
46 |
+
}
|
47 |
+
|
48 |
+
console.log("response", response);
|
49 |
+
setIsFileUploaded(true);
|
50 |
+
} catch (error) {
|
51 |
+
setError("Error uploading file");
|
52 |
+
console.error("Error uploading file", error);
|
53 |
+
} finally {
|
54 |
+
form.reset();
|
55 |
+
setIsLoading(false);
|
56 |
+
}
|
57 |
+
};
|
58 |
+
|
59 |
+
const onChangeFile = (e: React.ChangeEvent<HTMLInputElement>) => {
|
60 |
+
e.currentTarget.form?.requestSubmit();
|
61 |
+
};
|
62 |
+
|
63 |
+
return !isFileUploaded ? (
|
64 |
+
<>
|
65 |
+
{isLoading && (
|
66 |
+
<div className="flex flex-col items-center justify-center w-full">
|
67 |
+
<p className="text-gray-500 text-center mb-4">Loading...</p>
|
68 |
+
<div className="w-40 h-40 border-4 border-gray-300 border-t-blue-500 rounded-full animate-spin"></div>
|
69 |
+
</div>
|
70 |
+
)}
|
71 |
+
{!isLoading && (
|
72 |
+
<form
|
73 |
+
method="post"
|
74 |
+
action="/api/file"
|
75 |
+
onSubmit={onSubmitFile}
|
76 |
+
encType="multipart/form-data"
|
77 |
+
className="w-full"
|
78 |
+
>
|
79 |
+
{error && <p className="text-red-500 text-center mb-4">{error}</p>}
|
80 |
+
<div className="bg-white relative w-full h-40 flex items-center justify-center text-gray-500 rounded-3xl relative border border-transparent hover:border-blue-500 hover:text-blue-500 transition-colors duration-300 shadow-md">
|
81 |
+
<input
|
82 |
+
type="file"
|
83 |
+
name="file"
|
84 |
+
onChange={onChangeFile}
|
85 |
+
placeholder="Upload a file"
|
86 |
+
className="absolute inset-0 opacity-0 cursor-pointer"
|
87 |
+
/>
|
88 |
+
<p className="text-center">
|
89 |
+
<span className="font-bold text-xl">Drop a .pdf or .txt</span>
|
90 |
+
<br />
|
91 |
+
or click to upload
|
92 |
+
</p>
|
93 |
+
</div>
|
94 |
+
</form>
|
95 |
+
)}
|
96 |
+
</>
|
97 |
+
) : null;
|
98 |
+
}
|
99 |
+
|
100 |
+
export { FileUpload };
|
src/main.tsx
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { StrictMode } from "react";
|
2 |
+
import { createRoot } from "react-dom/client";
|
3 |
+
import App from "./components/App.tsx";
|
4 |
+
|
5 |
+
createRoot(document.getElementById("root")!).render(
|
6 |
+
<StrictMode>
|
7 |
+
<App />
|
8 |
+
</StrictMode>
|
9 |
+
);
|
src/vite-env.d.ts
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
/// <reference types="vite/client" />
|
tsconfig.app.json
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"compilerOptions": {
|
3 |
+
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
|
4 |
+
"target": "ES2020",
|
5 |
+
"useDefineForClassFields": true,
|
6 |
+
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
7 |
+
"module": "ESNext",
|
8 |
+
"skipLibCheck": true,
|
9 |
+
|
10 |
+
/* Bundler mode */
|
11 |
+
"moduleResolution": "bundler",
|
12 |
+
"allowImportingTsExtensions": true,
|
13 |
+
"isolatedModules": true,
|
14 |
+
"moduleDetection": "force",
|
15 |
+
"noEmit": true,
|
16 |
+
"jsx": "react-jsx",
|
17 |
+
|
18 |
+
/* Linting */
|
19 |
+
"strict": true,
|
20 |
+
"noUnusedLocals": true,
|
21 |
+
"noUnusedParameters": true,
|
22 |
+
"noFallthroughCasesInSwitch": true,
|
23 |
+
"noUncheckedSideEffectImports": true
|
24 |
+
},
|
25 |
+
"include": ["src"]
|
26 |
+
}
|
tsconfig.json
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"files": [],
|
3 |
+
"references": [
|
4 |
+
{ "path": "./tsconfig.app.json" },
|
5 |
+
{ "path": "./tsconfig.node.json" }
|
6 |
+
]
|
7 |
+
}
|
tsconfig.node.json
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"compilerOptions": {
|
3 |
+
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
|
4 |
+
"target": "ES2022",
|
5 |
+
"lib": ["ES2023"],
|
6 |
+
"module": "ESNext",
|
7 |
+
"skipLibCheck": true,
|
8 |
+
|
9 |
+
/* Bundler mode */
|
10 |
+
"moduleResolution": "bundler",
|
11 |
+
"allowImportingTsExtensions": true,
|
12 |
+
"isolatedModules": true,
|
13 |
+
"moduleDetection": "force",
|
14 |
+
"noEmit": true,
|
15 |
+
|
16 |
+
/* Linting */
|
17 |
+
"strict": true,
|
18 |
+
"noUnusedLocals": true,
|
19 |
+
"noUnusedParameters": true,
|
20 |
+
"noFallthroughCasesInSwitch": true,
|
21 |
+
"noUncheckedSideEffectImports": true
|
22 |
+
},
|
23 |
+
"include": ["vite.config.ts"]
|
24 |
+
}
|
uv.lock
CHANGED
@@ -7,20 +7,28 @@ version = "0.1.0"
|
|
7 |
source = { virtual = "." }
|
8 |
dependencies = [
|
9 |
{ name = "chainlit" },
|
|
|
|
|
10 |
{ name = "numpy" },
|
11 |
{ name = "openai" },
|
12 |
{ name = "pydantic" },
|
13 |
{ name = "pypdf2" },
|
|
|
|
|
14 |
{ name = "websockets" },
|
15 |
]
|
16 |
|
17 |
[package.metadata]
|
18 |
requires-dist = [
|
19 |
{ name = "chainlit", specifier = ">=2.0.4" },
|
|
|
|
|
20 |
{ name = "numpy", specifier = ">=2.2.2" },
|
21 |
{ name = "openai", specifier = ">=1.59.9" },
|
22 |
{ name = "pydantic", specifier = "==2.10.1" },
|
23 |
{ name = "pypdf2", specifier = ">=3.0.1" },
|
|
|
|
|
24 |
{ name = "websockets", specifier = ">=14.2" },
|
25 |
]
|
26 |
|
@@ -154,7 +162,7 @@ name = "click"
|
|
154 |
version = "8.1.8"
|
155 |
source = { registry = "https://pypi.org/simple" }
|
156 |
dependencies = [
|
157 |
-
{ name = "colorama", marker = "
|
158 |
]
|
159 |
sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593 }
|
160 |
wheels = [
|
@@ -170,6 +178,18 @@ wheels = [
|
|
170 |
{ url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 },
|
171 |
]
|
172 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
[[package]]
|
174 |
name = "dataclasses-json"
|
175 |
version = "0.6.7"
|
@@ -204,6 +224,28 @@ wheels = [
|
|
204 |
{ url = "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2", size = 20277 },
|
205 |
]
|
206 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
207 |
[[package]]
|
208 |
name = "fastapi"
|
209 |
version = "0.115.6"
|
@@ -218,6 +260,65 @@ wheels = [
|
|
218 |
{ url = "https://files.pythonhosted.org/packages/52/b3/7e4df40e585df024fac2f80d1a2d579c854ac37109675db2b0cc22c0bb9e/fastapi-0.115.6-py3-none-any.whl", hash = "sha256:e9240b29e36fa8f4bb7290316988e90c381e5092e0cbe84e7818cc3713bcf305", size = 94843 },
|
219 |
]
|
220 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
221 |
[[package]]
|
222 |
name = "filetype"
|
223 |
version = "1.2.0"
|
@@ -227,6 +328,24 @@ wheels = [
|
|
227 |
{ url = "https://files.pythonhosted.org/packages/18/79/1b8fa1bb3568781e84c9200f951c735f3f157429f44be0495da55894d620/filetype-1.2.0-py2.py3-none-any.whl", hash = "sha256:7ce71b6880181241cf7ac8697a2f1eb6a8bd9b429f7ad6d27b8db9ba5f1c2d25", size = 19970 },
|
228 |
]
|
229 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
230 |
[[package]]
|
231 |
name = "googleapis-common-protos"
|
232 |
version = "1.66.0"
|
@@ -256,6 +375,28 @@ wheels = [
|
|
256 |
{ url = "https://files.pythonhosted.org/packages/5d/04/11329e6ca1ceeb276df2d9c316b5e170835a687a4d0f778dba8294657e36/grpcio-1.69.0-cp313-cp313-win_amd64.whl", hash = "sha256:028337786f11fecb5d7b7fa660475a06aabf7e5e52b5ac2df47414878c0ce7ea", size = 4399968 },
|
257 |
]
|
258 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
259 |
[[package]]
|
260 |
name = "h11"
|
261 |
version = "0.14.0"
|
@@ -265,6 +406,28 @@ wheels = [
|
|
265 |
{ url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259 },
|
266 |
]
|
267 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
268 |
[[package]]
|
269 |
name = "httpcore"
|
270 |
version = "1.0.7"
|
@@ -278,6 +441,21 @@ wheels = [
|
|
278 |
{ url = "https://files.pythonhosted.org/packages/87/f5/72347bc88306acb359581ac4d52f23c0ef445b57157adedb9aee0cd689d2/httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd", size = 78551 },
|
279 |
]
|
280 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
281 |
[[package]]
|
282 |
name = "httpx"
|
283 |
version = "0.28.1"
|
@@ -293,6 +471,50 @@ wheels = [
|
|
293 |
{ url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517 },
|
294 |
]
|
295 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
296 |
[[package]]
|
297 |
name = "idna"
|
298 |
version = "3.10"
|
@@ -314,6 +536,18 @@ wheels = [
|
|
314 |
{ url = "https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b", size = 26514 },
|
315 |
]
|
316 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
317 |
[[package]]
|
318 |
name = "jiter"
|
319 |
version = "0.8.2"
|
@@ -358,6 +592,59 @@ dependencies = [
|
|
358 |
]
|
359 |
sdist = { url = "https://files.pythonhosted.org/packages/fc/fc/628b39e31b368aacbca51721ba7a66a4d140e9be916a0c7396664fdaed7a/literalai-0.1.103.tar.gz", hash = "sha256:060e86e63c0f53041a737b2183354ac092ee8cd9faec817dc95df639bb263a7d", size = 62540 }
|
360 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
361 |
[[package]]
|
362 |
name = "marshmallow"
|
363 |
version = "3.25.1"
|
@@ -370,6 +657,30 @@ wheels = [
|
|
370 |
{ url = "https://files.pythonhosted.org/packages/8e/25/5b300f0400078d9783fbe44d30fedd849a130fc3aff01f18278c12342b6f/marshmallow-3.25.1-py3-none-any.whl", hash = "sha256:ec5d00d873ce473b7f2ffcb7104286a376c354cab0c2fa12f5573dab03e87210", size = 49624 },
|
371 |
]
|
372 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
373 |
[[package]]
|
374 |
name = "mypy-extensions"
|
375 |
version = "1.0.0"
|
@@ -416,6 +727,27 @@ wheels = [
|
|
416 |
{ url = "https://files.pythonhosted.org/packages/80/94/cd9e9b04012c015cb6320ab3bf43bc615e248dddfeb163728e800a5d96f0/numpy-2.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:97b974d3ba0fb4612b77ed35d7627490e8e3dff56ab41454d9e8b23448940576", size = 12696208 },
|
417 |
]
|
418 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
419 |
[[package]]
|
420 |
name = "openai"
|
421 |
version = "1.59.9"
|
@@ -572,6 +904,37 @@ wheels = [
|
|
572 |
{ url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451 },
|
573 |
]
|
574 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
575 |
[[package]]
|
576 |
name = "protobuf"
|
577 |
version = "5.29.3"
|
@@ -586,6 +949,12 @@ wheels = [
|
|
586 |
{ url = "https://files.pythonhosted.org/packages/fd/b2/ab07b09e0f6d143dfb839693aa05765257bceaa13d03bf1a696b78323e7a/protobuf-5.29.3-py3-none-any.whl", hash = "sha256:0a18ed4a24198528f2333802eb075e59dea9d679ab7a6c5efb017a59004d849f", size = 172550 },
|
587 |
]
|
588 |
|
|
|
|
|
|
|
|
|
|
|
|
|
589 |
[[package]]
|
590 |
name = "pydantic"
|
591 |
version = "2.10.1"
|
@@ -625,6 +994,15 @@ wheels = [
|
|
625 |
{ url = "https://files.pythonhosted.org/packages/df/c3/b15fb833926d91d982fde29c0624c9f225da743c7af801dace0d4e187e71/pydantic_core-2.27.1-cp313-none-win_arm64.whl", hash = "sha256:45cf8588c066860b623cd11c4ba687f8d7175d5f7ef65f7129df8a394c502de5", size = 1882983 },
|
626 |
]
|
627 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
628 |
[[package]]
|
629 |
name = "pyjwt"
|
630 |
version = "2.10.1"
|
@@ -643,6 +1021,15 @@ wheels = [
|
|
643 |
{ url = "https://files.pythonhosted.org/packages/8e/5e/c86a5643653825d3c913719e788e41386bee415c2b87b4f955432f2de6b2/pypdf2-3.0.1-py3-none-any.whl", hash = "sha256:d16e4205cfee272fbdc0568b68d82be796540b1537508cef59388f839c191928", size = 232572 },
|
644 |
]
|
645 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
646 |
[[package]]
|
647 |
name = "python-dotenv"
|
648 |
version = "1.0.1"
|
@@ -686,6 +1073,51 @@ wheels = [
|
|
686 |
{ url = "https://files.pythonhosted.org/packages/8a/a3/c69806f30dd81df5a99d592e7db4c930c3a9b098555aa97b0eb866b20b11/python_socketio-5.12.1-py3-none-any.whl", hash = "sha256:24a0ea7cfff0e021eb28c68edbf7914ee4111bdf030b95e4d250c4dc9af7a386", size = 76947 },
|
687 |
]
|
688 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
689 |
[[package]]
|
690 |
name = "requests"
|
691 |
version = "2.32.3"
|
@@ -701,6 +1133,51 @@ wheels = [
|
|
701 |
{ url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928 },
|
702 |
]
|
703 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
704 |
[[package]]
|
705 |
name = "simple-websocket"
|
706 |
version = "1.1.0"
|
@@ -734,12 +1211,49 @@ wheels = [
|
|
734 |
{ url = "https://files.pythonhosted.org/packages/96/00/2b325970b3060c7cecebab6d295afe763365822b1306a12eeab198f74323/starlette-0.41.3-py3-none-any.whl", hash = "sha256:44cedb2b7c77a9de33a8b74b2b90e9f50d11fcf25d8270ea525ad71a25374ff7", size = 73225 },
|
735 |
]
|
736 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
737 |
[[package]]
|
738 |
name = "syncer"
|
739 |
version = "2.0.3"
|
740 |
source = { registry = "https://pypi.org/simple" }
|
741 |
sdist = { url = "https://files.pythonhosted.org/packages/8d/dd/d4dd75843692690d81f0a4b929212a1614b25d4896aa7c72f4c3546c7e3d/syncer-2.0.3.tar.gz", hash = "sha256:4340eb54b54368724a78c5c0763824470201804fe9180129daf3635cb500550f", size = 11512 }
|
742 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
743 |
[[package]]
|
744 |
name = "tomli"
|
745 |
version = "2.2.1"
|
@@ -764,13 +1278,28 @@ name = "tqdm"
|
|
764 |
version = "4.67.1"
|
765 |
source = { registry = "https://pypi.org/simple" }
|
766 |
dependencies = [
|
767 |
-
{ name = "colorama", marker = "
|
768 |
]
|
769 |
sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737 }
|
770 |
wheels = [
|
771 |
{ url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540 },
|
772 |
]
|
773 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
774 |
[[package]]
|
775 |
name = "typing-extensions"
|
776 |
version = "4.12.2"
|
@@ -830,6 +1359,31 @@ wheels = [
|
|
830 |
{ url = "https://files.pythonhosted.org/packages/61/14/33a3a1352cfa71812a3a21e8c9bfb83f60b0011f5e36f2b1399d51928209/uvicorn-0.34.0-py3-none-any.whl", hash = "sha256:023dc038422502fa28a09c7a30bf2b6991512da7dcdb8fd35fe57cfc154126f4", size = 62315 },
|
831 |
]
|
832 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
833 |
[[package]]
|
834 |
name = "watchfiles"
|
835 |
version = "0.20.0"
|
@@ -874,6 +1428,15 @@ wheels = [
|
|
874 |
{ url = "https://files.pythonhosted.org/packages/7b/c8/d529f8a32ce40d98309f4470780631e971a5a842b60aec864833b3615786/websockets-14.2-py3-none-any.whl", hash = "sha256:7a6ceec4ea84469f15cf15807a747e9efe57e369c384fa86e022b3bea679b79b", size = 157416 },
|
875 |
]
|
876 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
877 |
[[package]]
|
878 |
name = "wrapt"
|
879 |
version = "1.17.2"
|
|
|
7 |
source = { virtual = "." }
|
8 |
dependencies = [
|
9 |
{ name = "chainlit" },
|
10 |
+
{ name = "fastapi", extra = ["standard"] },
|
11 |
+
{ name = "fastembed" },
|
12 |
{ name = "numpy" },
|
13 |
{ name = "openai" },
|
14 |
{ name = "pydantic" },
|
15 |
{ name = "pypdf2" },
|
16 |
+
{ name = "qdrant-client" },
|
17 |
+
{ name = "uvicorn" },
|
18 |
{ name = "websockets" },
|
19 |
]
|
20 |
|
21 |
[package.metadata]
|
22 |
requires-dist = [
|
23 |
{ name = "chainlit", specifier = ">=2.0.4" },
|
24 |
+
{ name = "fastapi", extras = ["standard"], specifier = ">=0.115.6" },
|
25 |
+
{ name = "fastembed", specifier = ">=0.5.1" },
|
26 |
{ name = "numpy", specifier = ">=2.2.2" },
|
27 |
{ name = "openai", specifier = ">=1.59.9" },
|
28 |
{ name = "pydantic", specifier = "==2.10.1" },
|
29 |
{ name = "pypdf2", specifier = ">=3.0.1" },
|
30 |
+
{ name = "qdrant-client", specifier = ">=1.13.2" },
|
31 |
+
{ name = "uvicorn", specifier = ">=0.34.0" },
|
32 |
{ name = "websockets", specifier = ">=14.2" },
|
33 |
]
|
34 |
|
|
|
162 |
version = "8.1.8"
|
163 |
source = { registry = "https://pypi.org/simple" }
|
164 |
dependencies = [
|
165 |
+
{ name = "colorama", marker = "sys_platform == 'win32'" },
|
166 |
]
|
167 |
sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593 }
|
168 |
wheels = [
|
|
|
178 |
{ url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 },
|
179 |
]
|
180 |
|
181 |
+
[[package]]
|
182 |
+
name = "coloredlogs"
|
183 |
+
version = "15.0.1"
|
184 |
+
source = { registry = "https://pypi.org/simple" }
|
185 |
+
dependencies = [
|
186 |
+
{ name = "humanfriendly" },
|
187 |
+
]
|
188 |
+
sdist = { url = "https://files.pythonhosted.org/packages/cc/c7/eed8f27100517e8c0e6b923d5f0845d0cb99763da6fdee00478f91db7325/coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0", size = 278520 }
|
189 |
+
wheels = [
|
190 |
+
{ url = "https://files.pythonhosted.org/packages/a7/06/3d6badcf13db419e25b07041d9c7b4a2c331d3f4e7134445ec5df57714cd/coloredlogs-15.0.1-py2.py3-none-any.whl", hash = "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934", size = 46018 },
|
191 |
+
]
|
192 |
+
|
193 |
[[package]]
|
194 |
name = "dataclasses-json"
|
195 |
version = "0.6.7"
|
|
|
224 |
{ url = "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2", size = 20277 },
|
225 |
]
|
226 |
|
227 |
+
[[package]]
|
228 |
+
name = "dnspython"
|
229 |
+
version = "2.7.0"
|
230 |
+
source = { registry = "https://pypi.org/simple" }
|
231 |
+
sdist = { url = "https://files.pythonhosted.org/packages/b5/4a/263763cb2ba3816dd94b08ad3a33d5fdae34ecb856678773cc40a3605829/dnspython-2.7.0.tar.gz", hash = "sha256:ce9c432eda0dc91cf618a5cedf1a4e142651196bbcd2c80e89ed5a907e5cfaf1", size = 345197 }
|
232 |
+
wheels = [
|
233 |
+
{ url = "https://files.pythonhosted.org/packages/68/1b/e0a87d256e40e8c888847551b20a017a6b98139178505dc7ffb96f04e954/dnspython-2.7.0-py3-none-any.whl", hash = "sha256:b4c34b7d10b51bcc3a5071e7b8dee77939f1e878477eeecc965e9835f63c6c86", size = 313632 },
|
234 |
+
]
|
235 |
+
|
236 |
+
[[package]]
|
237 |
+
name = "email-validator"
|
238 |
+
version = "2.2.0"
|
239 |
+
source = { registry = "https://pypi.org/simple" }
|
240 |
+
dependencies = [
|
241 |
+
{ name = "dnspython" },
|
242 |
+
{ name = "idna" },
|
243 |
+
]
|
244 |
+
sdist = { url = "https://files.pythonhosted.org/packages/48/ce/13508a1ec3f8bb981ae4ca79ea40384becc868bfae97fd1c942bb3a001b1/email_validator-2.2.0.tar.gz", hash = "sha256:cb690f344c617a714f22e66ae771445a1ceb46821152df8e165c5f9a364582b7", size = 48967 }
|
245 |
+
wheels = [
|
246 |
+
{ url = "https://files.pythonhosted.org/packages/d7/ee/bf0adb559ad3c786f12bcbc9296b3f5675f529199bef03e2df281fa1fadb/email_validator-2.2.0-py3-none-any.whl", hash = "sha256:561977c2d73ce3611850a06fa56b414621e0c8faa9d66f2611407d87465da631", size = 33521 },
|
247 |
+
]
|
248 |
+
|
249 |
[[package]]
|
250 |
name = "fastapi"
|
251 |
version = "0.115.6"
|
|
|
260 |
{ url = "https://files.pythonhosted.org/packages/52/b3/7e4df40e585df024fac2f80d1a2d579c854ac37109675db2b0cc22c0bb9e/fastapi-0.115.6-py3-none-any.whl", hash = "sha256:e9240b29e36fa8f4bb7290316988e90c381e5092e0cbe84e7818cc3713bcf305", size = 94843 },
|
261 |
]
|
262 |
|
263 |
+
[package.optional-dependencies]
|
264 |
+
standard = [
|
265 |
+
{ name = "email-validator" },
|
266 |
+
{ name = "fastapi-cli", extra = ["standard"] },
|
267 |
+
{ name = "httpx" },
|
268 |
+
{ name = "jinja2" },
|
269 |
+
{ name = "python-multipart" },
|
270 |
+
{ name = "uvicorn", extra = ["standard"] },
|
271 |
+
]
|
272 |
+
|
273 |
+
[[package]]
|
274 |
+
name = "fastapi-cli"
|
275 |
+
version = "0.0.7"
|
276 |
+
source = { registry = "https://pypi.org/simple" }
|
277 |
+
dependencies = [
|
278 |
+
{ name = "rich-toolkit" },
|
279 |
+
{ name = "typer" },
|
280 |
+
{ name = "uvicorn", extra = ["standard"] },
|
281 |
+
]
|
282 |
+
sdist = { url = "https://files.pythonhosted.org/packages/fe/73/82a5831fbbf8ed75905bacf5b2d9d3dfd6f04d6968b29fe6f72a5ae9ceb1/fastapi_cli-0.0.7.tar.gz", hash = "sha256:02b3b65956f526412515907a0793c9094abd4bfb5457b389f645b0ea6ba3605e", size = 16753 }
|
283 |
+
wheels = [
|
284 |
+
{ url = "https://files.pythonhosted.org/packages/a1/e6/5daefc851b514ce2287d8f5d358ae4341089185f78f3217a69d0ce3a390c/fastapi_cli-0.0.7-py3-none-any.whl", hash = "sha256:d549368ff584b2804336c61f192d86ddea080c11255f375959627911944804f4", size = 10705 },
|
285 |
+
]
|
286 |
+
|
287 |
+
[package.optional-dependencies]
|
288 |
+
standard = [
|
289 |
+
{ name = "uvicorn", extra = ["standard"] },
|
290 |
+
]
|
291 |
+
|
292 |
+
[[package]]
|
293 |
+
name = "fastembed"
|
294 |
+
version = "0.5.1"
|
295 |
+
source = { registry = "https://pypi.org/simple" }
|
296 |
+
dependencies = [
|
297 |
+
{ name = "huggingface-hub" },
|
298 |
+
{ name = "loguru" },
|
299 |
+
{ name = "mmh3" },
|
300 |
+
{ name = "numpy" },
|
301 |
+
{ name = "onnxruntime" },
|
302 |
+
{ name = "pillow" },
|
303 |
+
{ name = "py-rust-stemmers" },
|
304 |
+
{ name = "requests" },
|
305 |
+
{ name = "tokenizers" },
|
306 |
+
{ name = "tqdm" },
|
307 |
+
]
|
308 |
+
sdist = { url = "https://files.pythonhosted.org/packages/27/bf/baa846b1169da667d5f6cf730b460b153028f9674bee309729533a427980/fastembed-0.5.1.tar.gz", hash = "sha256:93ccdbead9daadde6af37862c53b92fd15fa3115d20bbddb258faa0a5eb36718", size = 41950 }
|
309 |
+
wheels = [
|
310 |
+
{ url = "https://files.pythonhosted.org/packages/59/b3/ecd4f3763286492a23b26ccc328d39540c16801e91586aaa7b0b2e81d949/fastembed-0.5.1-py3-none-any.whl", hash = "sha256:93dc5a0d0e39b4a38f1525c97624e97bfc0d879fea0e92779ec4606046fe91cb", size = 69708 },
|
311 |
+
]
|
312 |
+
|
313 |
+
[[package]]
|
314 |
+
name = "filelock"
|
315 |
+
version = "3.17.0"
|
316 |
+
source = { registry = "https://pypi.org/simple" }
|
317 |
+
sdist = { url = "https://files.pythonhosted.org/packages/dc/9c/0b15fb47b464e1b663b1acd1253a062aa5feecb07d4e597daea542ebd2b5/filelock-3.17.0.tar.gz", hash = "sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e", size = 18027 }
|
318 |
+
wheels = [
|
319 |
+
{ url = "https://files.pythonhosted.org/packages/89/ec/00d68c4ddfedfe64159999e5f8a98fb8442729a63e2077eb9dcd89623d27/filelock-3.17.0-py3-none-any.whl", hash = "sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338", size = 16164 },
|
320 |
+
]
|
321 |
+
|
322 |
[[package]]
|
323 |
name = "filetype"
|
324 |
version = "1.2.0"
|
|
|
328 |
{ url = "https://files.pythonhosted.org/packages/18/79/1b8fa1bb3568781e84c9200f951c735f3f157429f44be0495da55894d620/filetype-1.2.0-py2.py3-none-any.whl", hash = "sha256:7ce71b6880181241cf7ac8697a2f1eb6a8bd9b429f7ad6d27b8db9ba5f1c2d25", size = 19970 },
|
329 |
]
|
330 |
|
331 |
+
[[package]]
|
332 |
+
name = "flatbuffers"
|
333 |
+
version = "25.1.24"
|
334 |
+
source = { registry = "https://pypi.org/simple" }
|
335 |
+
sdist = { url = "https://files.pythonhosted.org/packages/64/20/c380c311843318b577650286b2c7eaaac3a011fb982df0050bdbd7e453c5/flatbuffers-25.1.24.tar.gz", hash = "sha256:e0f7b7d806c0abdf166275492663130af40c11f89445045fbef0aa3c9a8643ad", size = 22155 }
|
336 |
+
wheels = [
|
337 |
+
{ url = "https://files.pythonhosted.org/packages/0e/e2/b066e6e02d67bf5261a6d7539648c6da3365cc9eff3eb6d82009595d84d9/flatbuffers-25.1.24-py2.py3-none-any.whl", hash = "sha256:1abfebaf4083117225d0723087ea909896a34e3fec933beedb490d595ba24145", size = 30955 },
|
338 |
+
]
|
339 |
+
|
340 |
+
[[package]]
|
341 |
+
name = "fsspec"
|
342 |
+
version = "2024.12.0"
|
343 |
+
source = { registry = "https://pypi.org/simple" }
|
344 |
+
sdist = { url = "https://files.pythonhosted.org/packages/ee/11/de70dee31455c546fbc88301971ec03c328f3d1138cfba14263f651e9551/fsspec-2024.12.0.tar.gz", hash = "sha256:670700c977ed2fb51e0d9f9253177ed20cbde4a3e5c0283cc5385b5870c8533f", size = 291600 }
|
345 |
+
wheels = [
|
346 |
+
{ url = "https://files.pythonhosted.org/packages/de/86/5486b0188d08aa643e127774a99bac51ffa6cf343e3deb0583956dca5b22/fsspec-2024.12.0-py3-none-any.whl", hash = "sha256:b520aed47ad9804237ff878b504267a3b0b441e97508bd6d2d8774e3db85cee2", size = 183862 },
|
347 |
+
]
|
348 |
+
|
349 |
[[package]]
|
350 |
name = "googleapis-common-protos"
|
351 |
version = "1.66.0"
|
|
|
375 |
{ url = "https://files.pythonhosted.org/packages/5d/04/11329e6ca1ceeb276df2d9c316b5e170835a687a4d0f778dba8294657e36/grpcio-1.69.0-cp313-cp313-win_amd64.whl", hash = "sha256:028337786f11fecb5d7b7fa660475a06aabf7e5e52b5ac2df47414878c0ce7ea", size = 4399968 },
|
376 |
]
|
377 |
|
378 |
+
[[package]]
|
379 |
+
name = "grpcio-tools"
|
380 |
+
version = "1.69.0"
|
381 |
+
source = { registry = "https://pypi.org/simple" }
|
382 |
+
dependencies = [
|
383 |
+
{ name = "grpcio" },
|
384 |
+
{ name = "protobuf" },
|
385 |
+
{ name = "setuptools" },
|
386 |
+
]
|
387 |
+
sdist = { url = "https://files.pythonhosted.org/packages/64/ec/1c25136ca1697eaa09a02effe3e74959fd9fb6aba9960d7340dd6341c5ce/grpcio_tools-1.69.0.tar.gz", hash = "sha256:3e1a98f4d9decb84979e1ddd3deb09c0a33a84b6e3c0776d5bde4097e3ab66dd", size = 5323319 }
|
388 |
+
wheels = [
|
389 |
+
{ url = "https://files.pythonhosted.org/packages/0c/ef/a9867f612e3aa5e69d299e47a72ea8dafa476b1f099462c9a1223cd6a83c/grpcio_tools-1.69.0-cp313-cp313-linux_armv7l.whl", hash = "sha256:8c320c4faa1431f2e1252ef2325a970ac23b2fd04ffef6c12f96dd4552c3445c", size = 2388281 },
|
390 |
+
{ url = "https://files.pythonhosted.org/packages/4b/53/b2752d8ec338778e48d76845d605a0f8bca9e43a5f09428e5ed1a76e4e1d/grpcio_tools-1.69.0-cp313-cp313-macosx_10_14_universal2.whl", hash = "sha256:5f1224596ad74dd14444b20c37122b361c5d203b67e14e018b995f3c5d76eede", size = 5725856 },
|
391 |
+
{ url = "https://files.pythonhosted.org/packages/83/dd/195d3639634c0c1d1e48b6693c074d66a64f16c748df2f40bcee74aa04e2/grpcio_tools-1.69.0-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:965a0cf656a113bc32d15ac92ca51ed702a75d5370ae0afbdd36f818533a708a", size = 2350180 },
|
392 |
+
{ url = "https://files.pythonhosted.org/packages/8c/18/c412884fa0e888d8a271f3e31d23e3765cde0efe2404653ab67971c411c2/grpcio_tools-1.69.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:978835768c11a7f28778b3b7c40f839d8a57f765c315e80c4246c23900d56149", size = 2726724 },
|
393 |
+
{ url = "https://files.pythonhosted.org/packages/be/c7/dfb59b7e25d760bfdd93f0aef7dd0e2a37f8437ac3017b8b526c68764e2f/grpcio_tools-1.69.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:094c7cec9bd271a32dfb7c620d4a558c63fcb0122fd1651b9ed73d6afd4ae6fe", size = 2472127 },
|
394 |
+
{ url = "https://files.pythonhosted.org/packages/f2/b6/af4edf0a181fd7b148a83d491f5677d7d1c9f86f03282f8f0209d9dfb793/grpcio_tools-1.69.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:b51bf4981b3d7e47c2569efadff08284787124eb3dea0f63f491d39703231d3c", size = 3344015 },
|
395 |
+
{ url = "https://files.pythonhosted.org/packages/0a/9f/4c2b5ae642f7d3df73c16df6c7d53e9443cb0e49e1dcf2c8d1a49058e0b5/grpcio_tools-1.69.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ea7aaf0dc1a828e2133357a9e9553fd1bb4e766890d52a506cc132e40632acdc", size = 2952942 },
|
396 |
+
{ url = "https://files.pythonhosted.org/packages/97/8e/6b707871db5927a17ad7475c070916bff4f32463a51552b424779236ab65/grpcio_tools-1.69.0-cp313-cp313-win32.whl", hash = "sha256:4320f11b79d3a148cc23bad1b81719ce1197808dc2406caa8a8ba0a5cfb0260d", size = 956242 },
|
397 |
+
{ url = "https://files.pythonhosted.org/packages/27/e2/b419a02b50240143605f77cd50cb07f724caf0fd35a01540a4f044ae9f21/grpcio_tools-1.69.0-cp313-cp313-win_amd64.whl", hash = "sha256:e9bae733654e0eb8ca83aa1d0d6b6c2f4a3525ce70d5ffc07df68d28f6520137", size = 1113616 },
|
398 |
+
]
|
399 |
+
|
400 |
[[package]]
|
401 |
name = "h11"
|
402 |
version = "0.14.0"
|
|
|
406 |
{ url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259 },
|
407 |
]
|
408 |
|
409 |
+
[[package]]
|
410 |
+
name = "h2"
|
411 |
+
version = "4.1.0"
|
412 |
+
source = { registry = "https://pypi.org/simple" }
|
413 |
+
dependencies = [
|
414 |
+
{ name = "hpack" },
|
415 |
+
{ name = "hyperframe" },
|
416 |
+
]
|
417 |
+
sdist = { url = "https://files.pythonhosted.org/packages/2a/32/fec683ddd10629ea4ea46d206752a95a2d8a48c22521edd70b142488efe1/h2-4.1.0.tar.gz", hash = "sha256:a83aca08fbe7aacb79fec788c9c0bac936343560ed9ec18b82a13a12c28d2abb", size = 2145593 }
|
418 |
+
wheels = [
|
419 |
+
{ url = "https://files.pythonhosted.org/packages/2a/e5/db6d438da759efbb488c4f3fbdab7764492ff3c3f953132efa6b9f0e9e53/h2-4.1.0-py3-none-any.whl", hash = "sha256:03a46bcf682256c95b5fd9e9a99c1323584c3eec6440d379b9903d709476bc6d", size = 57488 },
|
420 |
+
]
|
421 |
+
|
422 |
+
[[package]]
|
423 |
+
name = "hpack"
|
424 |
+
version = "4.1.0"
|
425 |
+
source = { registry = "https://pypi.org/simple" }
|
426 |
+
sdist = { url = "https://files.pythonhosted.org/packages/2c/48/71de9ed269fdae9c8057e5a4c0aa7402e8bb16f2c6e90b3aa53327b113f8/hpack-4.1.0.tar.gz", hash = "sha256:ec5eca154f7056aa06f196a557655c5b009b382873ac8d1e66e79e87535f1dca", size = 51276 }
|
427 |
+
wheels = [
|
428 |
+
{ url = "https://files.pythonhosted.org/packages/07/c6/80c95b1b2b94682a72cbdbfb85b81ae2daffa4291fbfa1b1464502ede10d/hpack-4.1.0-py3-none-any.whl", hash = "sha256:157ac792668d995c657d93111f46b4535ed114f0c9c8d672271bbec7eae1b496", size = 34357 },
|
429 |
+
]
|
430 |
+
|
431 |
[[package]]
|
432 |
name = "httpcore"
|
433 |
version = "1.0.7"
|
|
|
441 |
{ url = "https://files.pythonhosted.org/packages/87/f5/72347bc88306acb359581ac4d52f23c0ef445b57157adedb9aee0cd689d2/httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd", size = 78551 },
|
442 |
]
|
443 |
|
444 |
+
[[package]]
|
445 |
+
name = "httptools"
|
446 |
+
version = "0.6.4"
|
447 |
+
source = { registry = "https://pypi.org/simple" }
|
448 |
+
sdist = { url = "https://files.pythonhosted.org/packages/a7/9a/ce5e1f7e131522e6d3426e8e7a490b3a01f39a6696602e1c4f33f9e94277/httptools-0.6.4.tar.gz", hash = "sha256:4e93eee4add6493b59a5c514da98c939b244fce4a0d8879cd3f466562f4b7d5c", size = 240639 }
|
449 |
+
wheels = [
|
450 |
+
{ url = "https://files.pythonhosted.org/packages/94/a3/9fe9ad23fd35f7de6b91eeb60848986058bd8b5a5c1e256f5860a160cc3e/httptools-0.6.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ade273d7e767d5fae13fa637f4d53b6e961fb7fd93c7797562663f0171c26660", size = 197214 },
|
451 |
+
{ url = "https://files.pythonhosted.org/packages/ea/d9/82d5e68bab783b632023f2fa31db20bebb4e89dfc4d2293945fd68484ee4/httptools-0.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:856f4bc0478ae143bad54a4242fccb1f3f86a6e1be5548fecfd4102061b3a083", size = 102431 },
|
452 |
+
{ url = "https://files.pythonhosted.org/packages/96/c1/cb499655cbdbfb57b577734fde02f6fa0bbc3fe9fb4d87b742b512908dff/httptools-0.6.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:322d20ea9cdd1fa98bd6a74b77e2ec5b818abdc3d36695ab402a0de8ef2865a3", size = 473121 },
|
453 |
+
{ url = "https://files.pythonhosted.org/packages/af/71/ee32fd358f8a3bb199b03261f10921716990808a675d8160b5383487a317/httptools-0.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4d87b29bd4486c0093fc64dea80231f7c7f7eb4dc70ae394d70a495ab8436071", size = 473805 },
|
454 |
+
{ url = "https://files.pythonhosted.org/packages/8a/0a/0d4df132bfca1507114198b766f1737d57580c9ad1cf93c1ff673e3387be/httptools-0.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:342dd6946aa6bda4b8f18c734576106b8a31f2fe31492881a9a160ec84ff4bd5", size = 448858 },
|
455 |
+
{ url = "https://files.pythonhosted.org/packages/1e/6a/787004fdef2cabea27bad1073bf6a33f2437b4dbd3b6fb4a9d71172b1c7c/httptools-0.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b36913ba52008249223042dca46e69967985fb4051951f94357ea681e1f5dc0", size = 452042 },
|
456 |
+
{ url = "https://files.pythonhosted.org/packages/4d/dc/7decab5c404d1d2cdc1bb330b1bf70e83d6af0396fd4fc76fc60c0d522bf/httptools-0.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:28908df1b9bb8187393d5b5db91435ccc9c8e891657f9cbb42a2541b44c82fc8", size = 87682 },
|
457 |
+
]
|
458 |
+
|
459 |
[[package]]
|
460 |
name = "httpx"
|
461 |
version = "0.28.1"
|
|
|
471 |
{ url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517 },
|
472 |
]
|
473 |
|
474 |
+
[package.optional-dependencies]
|
475 |
+
http2 = [
|
476 |
+
{ name = "h2" },
|
477 |
+
]
|
478 |
+
|
479 |
+
[[package]]
|
480 |
+
name = "huggingface-hub"
|
481 |
+
version = "0.27.1"
|
482 |
+
source = { registry = "https://pypi.org/simple" }
|
483 |
+
dependencies = [
|
484 |
+
{ name = "filelock" },
|
485 |
+
{ name = "fsspec" },
|
486 |
+
{ name = "packaging" },
|
487 |
+
{ name = "pyyaml" },
|
488 |
+
{ name = "requests" },
|
489 |
+
{ name = "tqdm" },
|
490 |
+
{ name = "typing-extensions" },
|
491 |
+
]
|
492 |
+
sdist = { url = "https://files.pythonhosted.org/packages/e1/d2/d6976de7542792fc077b498d64af64882b6d8bb40679284ec0bff77d5929/huggingface_hub-0.27.1.tar.gz", hash = "sha256:c004463ca870283909d715d20f066ebd6968c2207dae9393fdffb3c1d4d8f98b", size = 379407 }
|
493 |
+
wheels = [
|
494 |
+
{ url = "https://files.pythonhosted.org/packages/6c/3f/50f6b25fafdcfb1c089187a328c95081abf882309afd86f4053951507cd1/huggingface_hub-0.27.1-py3-none-any.whl", hash = "sha256:1c5155ca7d60b60c2e2fc38cbb3ffb7f7c3adf48f824015b219af9061771daec", size = 450658 },
|
495 |
+
]
|
496 |
+
|
497 |
+
[[package]]
|
498 |
+
name = "humanfriendly"
|
499 |
+
version = "10.0"
|
500 |
+
source = { registry = "https://pypi.org/simple" }
|
501 |
+
dependencies = [
|
502 |
+
{ name = "pyreadline3", marker = "sys_platform == 'win32'" },
|
503 |
+
]
|
504 |
+
sdist = { url = "https://files.pythonhosted.org/packages/cc/3f/2c29224acb2e2df4d2046e4c73ee2662023c58ff5b113c4c1adac0886c43/humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc", size = 360702 }
|
505 |
+
wheels = [
|
506 |
+
{ url = "https://files.pythonhosted.org/packages/f0/0f/310fb31e39e2d734ccaa2c0fb981ee41f7bd5056ce9bc29b2248bd569169/humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477", size = 86794 },
|
507 |
+
]
|
508 |
+
|
509 |
+
[[package]]
|
510 |
+
name = "hyperframe"
|
511 |
+
version = "6.1.0"
|
512 |
+
source = { registry = "https://pypi.org/simple" }
|
513 |
+
sdist = { url = "https://files.pythonhosted.org/packages/02/e7/94f8232d4a74cc99514c13a9f995811485a6903d48e5d952771ef6322e30/hyperframe-6.1.0.tar.gz", hash = "sha256:f630908a00854a7adeabd6382b43923a4c4cd4b821fcb527e6ab9e15382a3b08", size = 26566 }
|
514 |
+
wheels = [
|
515 |
+
{ url = "https://files.pythonhosted.org/packages/48/30/47d0bf6072f7252e6521f3447ccfa40b421b6824517f82854703d0f5a98b/hyperframe-6.1.0-py3-none-any.whl", hash = "sha256:b03380493a519fce58ea5af42e4a42317bf9bd425596f7a0835ffce80f1a42e5", size = 13007 },
|
516 |
+
]
|
517 |
+
|
518 |
[[package]]
|
519 |
name = "idna"
|
520 |
version = "3.10"
|
|
|
536 |
{ url = "https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b", size = 26514 },
|
537 |
]
|
538 |
|
539 |
+
[[package]]
|
540 |
+
name = "jinja2"
|
541 |
+
version = "3.1.5"
|
542 |
+
source = { registry = "https://pypi.org/simple" }
|
543 |
+
dependencies = [
|
544 |
+
{ name = "markupsafe" },
|
545 |
+
]
|
546 |
+
sdist = { url = "https://files.pythonhosted.org/packages/af/92/b3130cbbf5591acf9ade8708c365f3238046ac7cb8ccba6e81abccb0ccff/jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb", size = 244674 }
|
547 |
+
wheels = [
|
548 |
+
{ url = "https://files.pythonhosted.org/packages/bd/0f/2ba5fbcd631e3e88689309dbe978c5769e883e4b84ebfe7da30b43275c5a/jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb", size = 134596 },
|
549 |
+
]
|
550 |
+
|
551 |
[[package]]
|
552 |
name = "jiter"
|
553 |
version = "0.8.2"
|
|
|
592 |
]
|
593 |
sdist = { url = "https://files.pythonhosted.org/packages/fc/fc/628b39e31b368aacbca51721ba7a66a4d140e9be916a0c7396664fdaed7a/literalai-0.1.103.tar.gz", hash = "sha256:060e86e63c0f53041a737b2183354ac092ee8cd9faec817dc95df639bb263a7d", size = 62540 }
|
594 |
|
595 |
+
[[package]]
|
596 |
+
name = "loguru"
|
597 |
+
version = "0.7.3"
|
598 |
+
source = { registry = "https://pypi.org/simple" }
|
599 |
+
dependencies = [
|
600 |
+
{ name = "colorama", marker = "sys_platform == 'win32'" },
|
601 |
+
{ name = "win32-setctime", marker = "sys_platform == 'win32'" },
|
602 |
+
]
|
603 |
+
sdist = { url = "https://files.pythonhosted.org/packages/3a/05/a1dae3dffd1116099471c643b8924f5aa6524411dc6c63fdae648c4f1aca/loguru-0.7.3.tar.gz", hash = "sha256:19480589e77d47b8d85b2c827ad95d49bf31b0dcde16593892eb51dd18706eb6", size = 63559 }
|
604 |
+
wheels = [
|
605 |
+
{ url = "https://files.pythonhosted.org/packages/0c/29/0348de65b8cc732daa3e33e67806420b2ae89bdce2b04af740289c5c6c8c/loguru-0.7.3-py3-none-any.whl", hash = "sha256:31a33c10c8e1e10422bfd431aeb5d351c7cf7fa671e3c4df004162264b28220c", size = 61595 },
|
606 |
+
]
|
607 |
+
|
608 |
+
[[package]]
|
609 |
+
name = "markdown-it-py"
|
610 |
+
version = "3.0.0"
|
611 |
+
source = { registry = "https://pypi.org/simple" }
|
612 |
+
dependencies = [
|
613 |
+
{ name = "mdurl" },
|
614 |
+
]
|
615 |
+
sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596 }
|
616 |
+
wheels = [
|
617 |
+
{ url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528 },
|
618 |
+
]
|
619 |
+
|
620 |
+
[[package]]
|
621 |
+
name = "markupsafe"
|
622 |
+
version = "3.0.2"
|
623 |
+
source = { registry = "https://pypi.org/simple" }
|
624 |
+
sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537 }
|
625 |
+
wheels = [
|
626 |
+
{ url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274 },
|
627 |
+
{ url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352 },
|
628 |
+
{ url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122 },
|
629 |
+
{ url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085 },
|
630 |
+
{ url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978 },
|
631 |
+
{ url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208 },
|
632 |
+
{ url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357 },
|
633 |
+
{ url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344 },
|
634 |
+
{ url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101 },
|
635 |
+
{ url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603 },
|
636 |
+
{ url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510 },
|
637 |
+
{ url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486 },
|
638 |
+
{ url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480 },
|
639 |
+
{ url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914 },
|
640 |
+
{ url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796 },
|
641 |
+
{ url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473 },
|
642 |
+
{ url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114 },
|
643 |
+
{ url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098 },
|
644 |
+
{ url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208 },
|
645 |
+
{ url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 },
|
646 |
+
]
|
647 |
+
|
648 |
[[package]]
|
649 |
name = "marshmallow"
|
650 |
version = "3.25.1"
|
|
|
657 |
{ url = "https://files.pythonhosted.org/packages/8e/25/5b300f0400078d9783fbe44d30fedd849a130fc3aff01f18278c12342b6f/marshmallow-3.25.1-py3-none-any.whl", hash = "sha256:ec5d00d873ce473b7f2ffcb7104286a376c354cab0c2fa12f5573dab03e87210", size = 49624 },
|
658 |
]
|
659 |
|
660 |
+
[[package]]
|
661 |
+
name = "mdurl"
|
662 |
+
version = "0.1.2"
|
663 |
+
source = { registry = "https://pypi.org/simple" }
|
664 |
+
sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729 }
|
665 |
+
wheels = [
|
666 |
+
{ url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979 },
|
667 |
+
]
|
668 |
+
|
669 |
+
[[package]]
|
670 |
+
name = "mmh3"
|
671 |
+
version = "4.1.0"
|
672 |
+
source = { registry = "https://pypi.org/simple" }
|
673 |
+
sdist = { url = "https://files.pythonhosted.org/packages/63/96/aa247e82878b123468f0079ce2ac77e948315bab91ce45d2934a62e0af95/mmh3-4.1.0.tar.gz", hash = "sha256:a1cf25348b9acd229dda464a094d6170f47d2850a1fcb762a3b6172d2ce6ca4a", size = 26357 }
|
674 |
+
|
675 |
+
[[package]]
|
676 |
+
name = "mpmath"
|
677 |
+
version = "1.3.0"
|
678 |
+
source = { registry = "https://pypi.org/simple" }
|
679 |
+
sdist = { url = "https://files.pythonhosted.org/packages/e0/47/dd32fa426cc72114383ac549964eecb20ecfd886d1e5ccf5340b55b02f57/mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f", size = 508106 }
|
680 |
+
wheels = [
|
681 |
+
{ url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198 },
|
682 |
+
]
|
683 |
+
|
684 |
[[package]]
|
685 |
name = "mypy-extensions"
|
686 |
version = "1.0.0"
|
|
|
727 |
{ url = "https://files.pythonhosted.org/packages/80/94/cd9e9b04012c015cb6320ab3bf43bc615e248dddfeb163728e800a5d96f0/numpy-2.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:97b974d3ba0fb4612b77ed35d7627490e8e3dff56ab41454d9e8b23448940576", size = 12696208 },
|
728 |
]
|
729 |
|
730 |
+
[[package]]
|
731 |
+
name = "onnxruntime"
|
732 |
+
version = "1.20.1"
|
733 |
+
source = { registry = "https://pypi.org/simple" }
|
734 |
+
dependencies = [
|
735 |
+
{ name = "coloredlogs" },
|
736 |
+
{ name = "flatbuffers" },
|
737 |
+
{ name = "numpy" },
|
738 |
+
{ name = "packaging" },
|
739 |
+
{ name = "protobuf" },
|
740 |
+
{ name = "sympy" },
|
741 |
+
]
|
742 |
+
wheels = [
|
743 |
+
{ url = "https://files.pythonhosted.org/packages/f7/71/c5d980ac4189589267a06f758bd6c5667d07e55656bed6c6c0580733ad07/onnxruntime-1.20.1-cp313-cp313-macosx_13_0_universal2.whl", hash = "sha256:cc01437a32d0042b606f462245c8bbae269e5442797f6213e36ce61d5abdd8cc", size = 31007574 },
|
744 |
+
{ url = "https://files.pythonhosted.org/packages/81/0d/13bbd9489be2a6944f4a940084bfe388f1100472f38c07080a46fbd4ab96/onnxruntime-1.20.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fb44b08e017a648924dbe91b82d89b0c105b1adcfe31e90d1dc06b8677ad37be", size = 11951459 },
|
745 |
+
{ url = "https://files.pythonhosted.org/packages/c0/ea/4454ae122874fd52bbb8a961262de81c5f932edeb1b72217f594c700d6ef/onnxruntime-1.20.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bda6aebdf7917c1d811f21d41633df00c58aff2bef2f598f69289c1f1dabc4b3", size = 13331620 },
|
746 |
+
{ url = "https://files.pythonhosted.org/packages/d8/e0/50db43188ca1c945decaa8fc2a024c33446d31afed40149897d4f9de505f/onnxruntime-1.20.1-cp313-cp313-win_amd64.whl", hash = "sha256:d30367df7e70f1d9fc5a6a68106f5961686d39b54d3221f760085524e8d38e16", size = 11331758 },
|
747 |
+
{ url = "https://files.pythonhosted.org/packages/d8/55/3821c5fd60b52a6c82a00bba18531793c93c4addfe64fbf061e235c5617a/onnxruntime-1.20.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c9158465745423b2b5d97ed25aa7740c7d38d2993ee2e5c3bfacb0c4145c49d8", size = 11950342 },
|
748 |
+
{ url = "https://files.pythonhosted.org/packages/14/56/fd990ca222cef4f9f4a9400567b9a15b220dee2eafffb16b2adbc55c8281/onnxruntime-1.20.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0df6f2df83d61f46e842dbcde610ede27218947c33e994545a22333491e72a3b", size = 13337040 },
|
749 |
+
]
|
750 |
+
|
751 |
[[package]]
|
752 |
name = "openai"
|
753 |
version = "1.59.9"
|
|
|
904 |
{ url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451 },
|
905 |
]
|
906 |
|
907 |
+
[[package]]
|
908 |
+
name = "pillow"
|
909 |
+
version = "10.4.0"
|
910 |
+
source = { registry = "https://pypi.org/simple" }
|
911 |
+
sdist = { url = "https://files.pythonhosted.org/packages/cd/74/ad3d526f3bf7b6d3f408b73fde271ec69dfac8b81341a318ce825f2b3812/pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06", size = 46555059 }
|
912 |
+
wheels = [
|
913 |
+
{ url = "https://files.pythonhosted.org/packages/c3/00/706cebe7c2c12a6318aabe5d354836f54adff7156fd9e1bd6c89f4ba0e98/pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3", size = 3525685 },
|
914 |
+
{ url = "https://files.pythonhosted.org/packages/cf/76/f658cbfa49405e5ecbfb9ba42d07074ad9792031267e782d409fd8fe7c69/pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb", size = 3374883 },
|
915 |
+
{ url = "https://files.pythonhosted.org/packages/46/2b/99c28c4379a85e65378211971c0b430d9c7234b1ec4d59b2668f6299e011/pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70", size = 4339837 },
|
916 |
+
{ url = "https://files.pythonhosted.org/packages/f1/74/b1ec314f624c0c43711fdf0d8076f82d9d802afd58f1d62c2a86878e8615/pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be", size = 4455562 },
|
917 |
+
{ url = "https://files.pythonhosted.org/packages/4a/2a/4b04157cb7b9c74372fa867096a1607e6fedad93a44deeff553ccd307868/pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0", size = 4366761 },
|
918 |
+
{ url = "https://files.pythonhosted.org/packages/ac/7b/8f1d815c1a6a268fe90481232c98dd0e5fa8c75e341a75f060037bd5ceae/pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc", size = 4536767 },
|
919 |
+
{ url = "https://files.pythonhosted.org/packages/e5/77/05fa64d1f45d12c22c314e7b97398ffb28ef2813a485465017b7978b3ce7/pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a", size = 4477989 },
|
920 |
+
{ url = "https://files.pythonhosted.org/packages/12/63/b0397cfc2caae05c3fb2f4ed1b4fc4fc878f0243510a7a6034ca59726494/pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309", size = 4610255 },
|
921 |
+
{ url = "https://files.pythonhosted.org/packages/7b/f9/cfaa5082ca9bc4a6de66ffe1c12c2d90bf09c309a5f52b27759a596900e7/pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060", size = 2235603 },
|
922 |
+
{ url = "https://files.pythonhosted.org/packages/01/6a/30ff0eef6e0c0e71e55ded56a38d4859bf9d3634a94a88743897b5f96936/pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea", size = 2554972 },
|
923 |
+
{ url = "https://files.pythonhosted.org/packages/48/2c/2e0a52890f269435eee38b21c8218e102c621fe8d8df8b9dd06fabf879ba/pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d", size = 2243375 },
|
924 |
+
]
|
925 |
+
|
926 |
+
[[package]]
|
927 |
+
name = "portalocker"
|
928 |
+
version = "2.10.1"
|
929 |
+
source = { registry = "https://pypi.org/simple" }
|
930 |
+
dependencies = [
|
931 |
+
{ name = "pywin32", marker = "sys_platform == 'win32'" },
|
932 |
+
]
|
933 |
+
sdist = { url = "https://files.pythonhosted.org/packages/ed/d3/c6c64067759e87af98cc668c1cc75171347d0f1577fab7ca3749134e3cd4/portalocker-2.10.1.tar.gz", hash = "sha256:ef1bf844e878ab08aee7e40184156e1151f228f103aa5c6bd0724cc330960f8f", size = 40891 }
|
934 |
+
wheels = [
|
935 |
+
{ url = "https://files.pythonhosted.org/packages/9b/fb/a70a4214956182e0d7a9099ab17d50bfcba1056188e9b14f35b9e2b62a0d/portalocker-2.10.1-py3-none-any.whl", hash = "sha256:53a5984ebc86a025552264b459b46a2086e269b21823cb572f8f28ee759e45bf", size = 18423 },
|
936 |
+
]
|
937 |
+
|
938 |
[[package]]
|
939 |
name = "protobuf"
|
940 |
version = "5.29.3"
|
|
|
949 |
{ url = "https://files.pythonhosted.org/packages/fd/b2/ab07b09e0f6d143dfb839693aa05765257bceaa13d03bf1a696b78323e7a/protobuf-5.29.3-py3-none-any.whl", hash = "sha256:0a18ed4a24198528f2333802eb075e59dea9d679ab7a6c5efb017a59004d849f", size = 172550 },
|
950 |
]
|
951 |
|
952 |
+
[[package]]
|
953 |
+
name = "py-rust-stemmers"
|
954 |
+
version = "0.1.3"
|
955 |
+
source = { registry = "https://pypi.org/simple" }
|
956 |
+
sdist = { url = "https://files.pythonhosted.org/packages/f4/8a/c7481c6e324da825f13bafb362dbca47dbf8a7dd1a3a3502f47cdb05bfa9/py_rust_stemmers-0.1.3.tar.gz", hash = "sha256:ad796d47874181a25addb505a04245e34620bd7a0c5055671f52d9ce993253e2", size = 8676 }
|
957 |
+
|
958 |
[[package]]
|
959 |
name = "pydantic"
|
960 |
version = "2.10.1"
|
|
|
994 |
{ url = "https://files.pythonhosted.org/packages/df/c3/b15fb833926d91d982fde29c0624c9f225da743c7af801dace0d4e187e71/pydantic_core-2.27.1-cp313-none-win_arm64.whl", hash = "sha256:45cf8588c066860b623cd11c4ba687f8d7175d5f7ef65f7129df8a394c502de5", size = 1882983 },
|
995 |
]
|
996 |
|
997 |
+
[[package]]
|
998 |
+
name = "pygments"
|
999 |
+
version = "2.19.1"
|
1000 |
+
source = { registry = "https://pypi.org/simple" }
|
1001 |
+
sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581 }
|
1002 |
+
wheels = [
|
1003 |
+
{ url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293 },
|
1004 |
+
]
|
1005 |
+
|
1006 |
[[package]]
|
1007 |
name = "pyjwt"
|
1008 |
version = "2.10.1"
|
|
|
1021 |
{ url = "https://files.pythonhosted.org/packages/8e/5e/c86a5643653825d3c913719e788e41386bee415c2b87b4f955432f2de6b2/pypdf2-3.0.1-py3-none-any.whl", hash = "sha256:d16e4205cfee272fbdc0568b68d82be796540b1537508cef59388f839c191928", size = 232572 },
|
1022 |
]
|
1023 |
|
1024 |
+
[[package]]
|
1025 |
+
name = "pyreadline3"
|
1026 |
+
version = "3.5.4"
|
1027 |
+
source = { registry = "https://pypi.org/simple" }
|
1028 |
+
sdist = { url = "https://files.pythonhosted.org/packages/0f/49/4cea918a08f02817aabae639e3d0ac046fef9f9180518a3ad394e22da148/pyreadline3-3.5.4.tar.gz", hash = "sha256:8d57d53039a1c75adba8e50dd3d992b28143480816187ea5efbd5c78e6c885b7", size = 99839 }
|
1029 |
+
wheels = [
|
1030 |
+
{ url = "https://files.pythonhosted.org/packages/5a/dc/491b7661614ab97483abf2056be1deee4dc2490ecbf7bff9ab5cdbac86e1/pyreadline3-3.5.4-py3-none-any.whl", hash = "sha256:eaf8e6cc3c49bcccf145fc6067ba8643d1df34d604a1ec0eccbf7a18e6d3fae6", size = 83178 },
|
1031 |
+
]
|
1032 |
+
|
1033 |
[[package]]
|
1034 |
name = "python-dotenv"
|
1035 |
version = "1.0.1"
|
|
|
1073 |
{ url = "https://files.pythonhosted.org/packages/8a/a3/c69806f30dd81df5a99d592e7db4c930c3a9b098555aa97b0eb866b20b11/python_socketio-5.12.1-py3-none-any.whl", hash = "sha256:24a0ea7cfff0e021eb28c68edbf7914ee4111bdf030b95e4d250c4dc9af7a386", size = 76947 },
|
1074 |
]
|
1075 |
|
1076 |
+
[[package]]
|
1077 |
+
name = "pywin32"
|
1078 |
+
version = "308"
|
1079 |
+
source = { registry = "https://pypi.org/simple" }
|
1080 |
+
wheels = [
|
1081 |
+
{ url = "https://files.pythonhosted.org/packages/a9/a4/aa562d8935e3df5e49c161b427a3a2efad2ed4e9cf81c3de636f1fdddfd0/pywin32-308-cp313-cp313-win32.whl", hash = "sha256:1c44539a37a5b7b21d02ab34e6a4d314e0788f1690d65b48e9b0b89f31abbbed", size = 5938579 },
|
1082 |
+
{ url = "https://files.pythonhosted.org/packages/c7/50/b0efb8bb66210da67a53ab95fd7a98826a97ee21f1d22949863e6d588b22/pywin32-308-cp313-cp313-win_amd64.whl", hash = "sha256:fd380990e792eaf6827fcb7e187b2b4b1cede0585e3d0c9e84201ec27b9905e4", size = 6542056 },
|
1083 |
+
{ url = "https://files.pythonhosted.org/packages/26/df/2b63e3e4f2df0224f8aaf6d131f54fe4e8c96400eb9df563e2aae2e1a1f9/pywin32-308-cp313-cp313-win_arm64.whl", hash = "sha256:ef313c46d4c18dfb82a2431e3051ac8f112ccee1a34f29c263c583c568db63cd", size = 7974986 },
|
1084 |
+
]
|
1085 |
+
|
1086 |
+
[[package]]
|
1087 |
+
name = "pyyaml"
|
1088 |
+
version = "6.0.2"
|
1089 |
+
source = { registry = "https://pypi.org/simple" }
|
1090 |
+
sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631 }
|
1091 |
+
wheels = [
|
1092 |
+
{ url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309 },
|
1093 |
+
{ url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679 },
|
1094 |
+
{ url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428 },
|
1095 |
+
{ url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361 },
|
1096 |
+
{ url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523 },
|
1097 |
+
{ url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660 },
|
1098 |
+
{ url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597 },
|
1099 |
+
{ url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 },
|
1100 |
+
{ url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 },
|
1101 |
+
]
|
1102 |
+
|
1103 |
+
[[package]]
|
1104 |
+
name = "qdrant-client"
|
1105 |
+
version = "1.13.2"
|
1106 |
+
source = { registry = "https://pypi.org/simple" }
|
1107 |
+
dependencies = [
|
1108 |
+
{ name = "grpcio" },
|
1109 |
+
{ name = "grpcio-tools" },
|
1110 |
+
{ name = "httpx", extra = ["http2"] },
|
1111 |
+
{ name = "numpy" },
|
1112 |
+
{ name = "portalocker" },
|
1113 |
+
{ name = "pydantic" },
|
1114 |
+
{ name = "urllib3" },
|
1115 |
+
]
|
1116 |
+
sdist = { url = "https://files.pythonhosted.org/packages/1c/07/3eaf3777d524d555ba14e56a30c3e393ad78ed93f6c87c6a3ddc70ec2e49/qdrant_client-1.13.2.tar.gz", hash = "sha256:c8cce87ce67b006f49430a050a35c85b78e3b896c0c756dafc13bdeca543ec13", size = 266257 }
|
1117 |
+
wheels = [
|
1118 |
+
{ url = "https://files.pythonhosted.org/packages/5f/26/89ebaee5fcbd99bf1c0a627a9447b440118b2d31dea423d074cb0481be5c/qdrant_client-1.13.2-py3-none-any.whl", hash = "sha256:db97e759bd3f8d483a383984ba4c2a158eef56f2188d83df7771591d43de2201", size = 306637 },
|
1119 |
+
]
|
1120 |
+
|
1121 |
[[package]]
|
1122 |
name = "requests"
|
1123 |
version = "2.32.3"
|
|
|
1133 |
{ url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928 },
|
1134 |
]
|
1135 |
|
1136 |
+
[[package]]
|
1137 |
+
name = "rich"
|
1138 |
+
version = "13.9.4"
|
1139 |
+
source = { registry = "https://pypi.org/simple" }
|
1140 |
+
dependencies = [
|
1141 |
+
{ name = "markdown-it-py" },
|
1142 |
+
{ name = "pygments" },
|
1143 |
+
]
|
1144 |
+
sdist = { url = "https://files.pythonhosted.org/packages/ab/3a/0316b28d0761c6734d6bc14e770d85506c986c85ffb239e688eeaab2c2bc/rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098", size = 223149 }
|
1145 |
+
wheels = [
|
1146 |
+
{ url = "https://files.pythonhosted.org/packages/19/71/39c7c0d87f8d4e6c020a393182060eaefeeae6c01dab6a84ec346f2567df/rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90", size = 242424 },
|
1147 |
+
]
|
1148 |
+
|
1149 |
+
[[package]]
|
1150 |
+
name = "rich-toolkit"
|
1151 |
+
version = "0.13.2"
|
1152 |
+
source = { registry = "https://pypi.org/simple" }
|
1153 |
+
dependencies = [
|
1154 |
+
{ name = "click" },
|
1155 |
+
{ name = "rich" },
|
1156 |
+
{ name = "typing-extensions" },
|
1157 |
+
]
|
1158 |
+
sdist = { url = "https://files.pythonhosted.org/packages/5b/8a/71cfbf6bf6257ea785d1f030c22468f763eea1b3e5417620f2ba9abd6dca/rich_toolkit-0.13.2.tar.gz", hash = "sha256:fea92557530de7c28f121cbed572ad93d9e0ddc60c3ca643f1b831f2f56b95d3", size = 72288 }
|
1159 |
+
wheels = [
|
1160 |
+
{ url = "https://files.pythonhosted.org/packages/7e/1b/1c2f43af46456050b27810a7a013af8a7e12bc545a0cdc00eb0df55eb769/rich_toolkit-0.13.2-py3-none-any.whl", hash = "sha256:f3f6c583e5283298a2f7dbd3c65aca18b7f818ad96174113ab5bec0b0e35ed61", size = 13566 },
|
1161 |
+
]
|
1162 |
+
|
1163 |
+
[[package]]
|
1164 |
+
name = "setuptools"
|
1165 |
+
version = "75.8.0"
|
1166 |
+
source = { registry = "https://pypi.org/simple" }
|
1167 |
+
sdist = { url = "https://files.pythonhosted.org/packages/92/ec/089608b791d210aec4e7f97488e67ab0d33add3efccb83a056cbafe3a2a6/setuptools-75.8.0.tar.gz", hash = "sha256:c5afc8f407c626b8313a86e10311dd3f661c6cd9c09d4bf8c15c0e11f9f2b0e6", size = 1343222 }
|
1168 |
+
wheels = [
|
1169 |
+
{ url = "https://files.pythonhosted.org/packages/69/8a/b9dc7678803429e4a3bc9ba462fa3dd9066824d3c607490235c6a796be5a/setuptools-75.8.0-py3-none-any.whl", hash = "sha256:e3982f444617239225d675215d51f6ba05f845d4eec313da4418fdbb56fb27e3", size = 1228782 },
|
1170 |
+
]
|
1171 |
+
|
1172 |
+
[[package]]
|
1173 |
+
name = "shellingham"
|
1174 |
+
version = "1.5.4"
|
1175 |
+
source = { registry = "https://pypi.org/simple" }
|
1176 |
+
sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de", size = 10310 }
|
1177 |
+
wheels = [
|
1178 |
+
{ url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755 },
|
1179 |
+
]
|
1180 |
+
|
1181 |
[[package]]
|
1182 |
name = "simple-websocket"
|
1183 |
version = "1.1.0"
|
|
|
1211 |
{ url = "https://files.pythonhosted.org/packages/96/00/2b325970b3060c7cecebab6d295afe763365822b1306a12eeab198f74323/starlette-0.41.3-py3-none-any.whl", hash = "sha256:44cedb2b7c77a9de33a8b74b2b90e9f50d11fcf25d8270ea525ad71a25374ff7", size = 73225 },
|
1212 |
]
|
1213 |
|
1214 |
+
[[package]]
|
1215 |
+
name = "sympy"
|
1216 |
+
version = "1.13.3"
|
1217 |
+
source = { registry = "https://pypi.org/simple" }
|
1218 |
+
dependencies = [
|
1219 |
+
{ name = "mpmath" },
|
1220 |
+
]
|
1221 |
+
sdist = { url = "https://files.pythonhosted.org/packages/11/8a/5a7fd6284fa8caac23a26c9ddf9c30485a48169344b4bd3b0f02fef1890f/sympy-1.13.3.tar.gz", hash = "sha256:b27fd2c6530e0ab39e275fc9b683895367e51d5da91baa8d3d64db2565fec4d9", size = 7533196 }
|
1222 |
+
wheels = [
|
1223 |
+
{ url = "https://files.pythonhosted.org/packages/99/ff/c87e0622b1dadea79d2fb0b25ade9ed98954c9033722eb707053d310d4f3/sympy-1.13.3-py3-none-any.whl", hash = "sha256:54612cf55a62755ee71824ce692986f23c88ffa77207b30c1368eda4a7060f73", size = 6189483 },
|
1224 |
+
]
|
1225 |
+
|
1226 |
[[package]]
|
1227 |
name = "syncer"
|
1228 |
version = "2.0.3"
|
1229 |
source = { registry = "https://pypi.org/simple" }
|
1230 |
sdist = { url = "https://files.pythonhosted.org/packages/8d/dd/d4dd75843692690d81f0a4b929212a1614b25d4896aa7c72f4c3546c7e3d/syncer-2.0.3.tar.gz", hash = "sha256:4340eb54b54368724a78c5c0763824470201804fe9180129daf3635cb500550f", size = 11512 }
|
1231 |
|
1232 |
+
[[package]]
|
1233 |
+
name = "tokenizers"
|
1234 |
+
version = "0.21.0"
|
1235 |
+
source = { registry = "https://pypi.org/simple" }
|
1236 |
+
dependencies = [
|
1237 |
+
{ name = "huggingface-hub" },
|
1238 |
+
]
|
1239 |
+
sdist = { url = "https://files.pythonhosted.org/packages/20/41/c2be10975ca37f6ec40d7abd7e98a5213bb04f284b869c1a24e6504fd94d/tokenizers-0.21.0.tar.gz", hash = "sha256:ee0894bf311b75b0c03079f33859ae4b2334d675d4e93f5a4132e1eae2834fe4", size = 343021 }
|
1240 |
+
wheels = [
|
1241 |
+
{ url = "https://files.pythonhosted.org/packages/b0/5c/8b09607b37e996dc47e70d6a7b6f4bdd4e4d5ab22fe49d7374565c7fefaf/tokenizers-0.21.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:3c4c93eae637e7d2aaae3d376f06085164e1660f89304c0ab2b1d08a406636b2", size = 2647461 },
|
1242 |
+
{ url = "https://files.pythonhosted.org/packages/22/7a/88e58bb297c22633ed1c9d16029316e5b5ac5ee44012164c2edede599a5e/tokenizers-0.21.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:f53ea537c925422a2e0e92a24cce96f6bc5046bbef24a1652a5edc8ba975f62e", size = 2563639 },
|
1243 |
+
{ url = "https://files.pythonhosted.org/packages/f7/14/83429177c19364df27d22bc096d4c2e431e0ba43e56c525434f1f9b0fd00/tokenizers-0.21.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b177fb54c4702ef611de0c069d9169f0004233890e0c4c5bd5508ae05abf193", size = 2903304 },
|
1244 |
+
{ url = "https://files.pythonhosted.org/packages/7e/db/3433eab42347e0dc5452d8fcc8da03f638c9accffefe5a7c78146666964a/tokenizers-0.21.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6b43779a269f4629bebb114e19c3fca0223296ae9fea8bb9a7a6c6fb0657ff8e", size = 2804378 },
|
1245 |
+
{ url = "https://files.pythonhosted.org/packages/57/8b/7da5e6f89736c2ade02816b4733983fca1c226b0c42980b1ae9dc8fcf5cc/tokenizers-0.21.0-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9aeb255802be90acfd363626753fda0064a8df06031012fe7d52fd9a905eb00e", size = 3095488 },
|
1246 |
+
{ url = "https://files.pythonhosted.org/packages/4d/f6/5ed6711093dc2c04a4e03f6461798b12669bc5a17c8be7cce1240e0b5ce8/tokenizers-0.21.0-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d8b09dbeb7a8d73ee204a70f94fc06ea0f17dcf0844f16102b9f414f0b7463ba", size = 3121410 },
|
1247 |
+
{ url = "https://files.pythonhosted.org/packages/81/42/07600892d48950c5e80505b81411044a2d969368cdc0d929b1c847bf6697/tokenizers-0.21.0-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:400832c0904f77ce87c40f1a8a27493071282f785724ae62144324f171377273", size = 3388821 },
|
1248 |
+
{ url = "https://files.pythonhosted.org/packages/22/06/69d7ce374747edaf1695a4f61b83570d91cc8bbfc51ccfecf76f56ab4aac/tokenizers-0.21.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e84ca973b3a96894d1707e189c14a774b701596d579ffc7e69debfc036a61a04", size = 3008868 },
|
1249 |
+
{ url = "https://files.pythonhosted.org/packages/c8/69/54a0aee4d576045b49a0eb8bffdc495634309c823bf886042e6f46b80058/tokenizers-0.21.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:eb7202d231b273c34ec67767378cd04c767e967fda12d4a9e36208a34e2f137e", size = 8975831 },
|
1250 |
+
{ url = "https://files.pythonhosted.org/packages/f7/f3/b776061e4f3ebf2905ba1a25d90380aafd10c02d406437a8ba22d1724d76/tokenizers-0.21.0-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:089d56db6782a73a27fd8abf3ba21779f5b85d4a9f35e3b493c7bbcbbf0d539b", size = 8920746 },
|
1251 |
+
{ url = "https://files.pythonhosted.org/packages/d8/ee/ce83d5ec8b6844ad4c3ecfe3333d58ecc1adc61f0878b323a15355bcab24/tokenizers-0.21.0-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:c87ca3dc48b9b1222d984b6b7490355a6fdb411a2d810f6f05977258400ddb74", size = 9161814 },
|
1252 |
+
{ url = "https://files.pythonhosted.org/packages/18/07/3e88e65c0ed28fa93aa0c4d264988428eef3df2764c3126dc83e243cb36f/tokenizers-0.21.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:4145505a973116f91bc3ac45988a92e618a6f83eb458f49ea0790df94ee243ff", size = 9357138 },
|
1253 |
+
{ url = "https://files.pythonhosted.org/packages/15/b0/dc4572ca61555fc482ebc933f26cb407c6aceb3dc19c301c68184f8cad03/tokenizers-0.21.0-cp39-abi3-win32.whl", hash = "sha256:eb1702c2f27d25d9dd5b389cc1f2f51813e99f8ca30d9e25348db6585a97e24a", size = 2202266 },
|
1254 |
+
{ url = "https://files.pythonhosted.org/packages/44/69/d21eb253fa91622da25585d362a874fa4710be600f0ea9446d8d0217cec1/tokenizers-0.21.0-cp39-abi3-win_amd64.whl", hash = "sha256:87841da5a25a3a5f70c102de371db120f41873b854ba65e52bccd57df5a3780c", size = 2389192 },
|
1255 |
+
]
|
1256 |
+
|
1257 |
[[package]]
|
1258 |
name = "tomli"
|
1259 |
version = "2.2.1"
|
|
|
1278 |
version = "4.67.1"
|
1279 |
source = { registry = "https://pypi.org/simple" }
|
1280 |
dependencies = [
|
1281 |
+
{ name = "colorama", marker = "sys_platform == 'win32'" },
|
1282 |
]
|
1283 |
sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737 }
|
1284 |
wheels = [
|
1285 |
{ url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540 },
|
1286 |
]
|
1287 |
|
1288 |
+
[[package]]
|
1289 |
+
name = "typer"
|
1290 |
+
version = "0.15.1"
|
1291 |
+
source = { registry = "https://pypi.org/simple" }
|
1292 |
+
dependencies = [
|
1293 |
+
{ name = "click" },
|
1294 |
+
{ name = "rich" },
|
1295 |
+
{ name = "shellingham" },
|
1296 |
+
{ name = "typing-extensions" },
|
1297 |
+
]
|
1298 |
+
sdist = { url = "https://files.pythonhosted.org/packages/cb/ce/dca7b219718afd37a0068f4f2530a727c2b74a8b6e8e0c0080a4c0de4fcd/typer-0.15.1.tar.gz", hash = "sha256:a0588c0a7fa68a1978a069818657778f86abe6ff5ea6abf472f940a08bfe4f0a", size = 99789 }
|
1299 |
+
wheels = [
|
1300 |
+
{ url = "https://files.pythonhosted.org/packages/d0/cc/0a838ba5ca64dc832aa43f727bd586309846b0ffb2ce52422543e6075e8a/typer-0.15.1-py3-none-any.whl", hash = "sha256:7994fb7b8155b64d3402518560648446072864beefd44aa2dc36972a5972e847", size = 44908 },
|
1301 |
+
]
|
1302 |
+
|
1303 |
[[package]]
|
1304 |
name = "typing-extensions"
|
1305 |
version = "4.12.2"
|
|
|
1359 |
{ url = "https://files.pythonhosted.org/packages/61/14/33a3a1352cfa71812a3a21e8c9bfb83f60b0011f5e36f2b1399d51928209/uvicorn-0.34.0-py3-none-any.whl", hash = "sha256:023dc038422502fa28a09c7a30bf2b6991512da7dcdb8fd35fe57cfc154126f4", size = 62315 },
|
1360 |
]
|
1361 |
|
1362 |
+
[package.optional-dependencies]
|
1363 |
+
standard = [
|
1364 |
+
{ name = "colorama", marker = "sys_platform == 'win32'" },
|
1365 |
+
{ name = "httptools" },
|
1366 |
+
{ name = "python-dotenv" },
|
1367 |
+
{ name = "pyyaml" },
|
1368 |
+
{ name = "uvloop", marker = "platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32'" },
|
1369 |
+
{ name = "watchfiles" },
|
1370 |
+
{ name = "websockets" },
|
1371 |
+
]
|
1372 |
+
|
1373 |
+
[[package]]
|
1374 |
+
name = "uvloop"
|
1375 |
+
version = "0.21.0"
|
1376 |
+
source = { registry = "https://pypi.org/simple" }
|
1377 |
+
sdist = { url = "https://files.pythonhosted.org/packages/af/c0/854216d09d33c543f12a44b393c402e89a920b1a0a7dc634c42de91b9cf6/uvloop-0.21.0.tar.gz", hash = "sha256:3bf12b0fda68447806a7ad847bfa591613177275d35b6724b1ee573faa3704e3", size = 2492741 }
|
1378 |
+
wheels = [
|
1379 |
+
{ url = "https://files.pythonhosted.org/packages/3f/8d/2cbef610ca21539f0f36e2b34da49302029e7c9f09acef0b1c3b5839412b/uvloop-0.21.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bfd55dfcc2a512316e65f16e503e9e450cab148ef11df4e4e679b5e8253a5281", size = 1468123 },
|
1380 |
+
{ url = "https://files.pythonhosted.org/packages/93/0d/b0038d5a469f94ed8f2b2fce2434a18396d8fbfb5da85a0a9781ebbdec14/uvloop-0.21.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:787ae31ad8a2856fc4e7c095341cccc7209bd657d0e71ad0dc2ea83c4a6fa8af", size = 819325 },
|
1381 |
+
{ url = "https://files.pythonhosted.org/packages/50/94/0a687f39e78c4c1e02e3272c6b2ccdb4e0085fda3b8352fecd0410ccf915/uvloop-0.21.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ee4d4ef48036ff6e5cfffb09dd192c7a5027153948d85b8da7ff705065bacc6", size = 4582806 },
|
1382 |
+
{ url = "https://files.pythonhosted.org/packages/d2/19/f5b78616566ea68edd42aacaf645adbf71fbd83fc52281fba555dc27e3f1/uvloop-0.21.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3df876acd7ec037a3d005b3ab85a7e4110422e4d9c1571d4fc89b0fc41b6816", size = 4701068 },
|
1383 |
+
{ url = "https://files.pythonhosted.org/packages/47/57/66f061ee118f413cd22a656de622925097170b9380b30091b78ea0c6ea75/uvloop-0.21.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd53ecc9a0f3d87ab847503c2e1552b690362e005ab54e8a48ba97da3924c0dc", size = 4454428 },
|
1384 |
+
{ url = "https://files.pythonhosted.org/packages/63/9a/0962b05b308494e3202d3f794a6e85abe471fe3cafdbcf95c2e8c713aabd/uvloop-0.21.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a5c39f217ab3c663dc699c04cbd50c13813e31d917642d459fdcec07555cc553", size = 4660018 },
|
1385 |
+
]
|
1386 |
+
|
1387 |
[[package]]
|
1388 |
name = "watchfiles"
|
1389 |
version = "0.20.0"
|
|
|
1428 |
{ url = "https://files.pythonhosted.org/packages/7b/c8/d529f8a32ce40d98309f4470780631e971a5a842b60aec864833b3615786/websockets-14.2-py3-none-any.whl", hash = "sha256:7a6ceec4ea84469f15cf15807a747e9efe57e369c384fa86e022b3bea679b79b", size = 157416 },
|
1429 |
]
|
1430 |
|
1431 |
+
[[package]]
|
1432 |
+
name = "win32-setctime"
|
1433 |
+
version = "1.2.0"
|
1434 |
+
source = { registry = "https://pypi.org/simple" }
|
1435 |
+
sdist = { url = "https://files.pythonhosted.org/packages/b3/8f/705086c9d734d3b663af0e9bb3d4de6578d08f46b1b101c2442fd9aecaa2/win32_setctime-1.2.0.tar.gz", hash = "sha256:ae1fdf948f5640aae05c511ade119313fb6a30d7eabe25fef9764dca5873c4c0", size = 4867 }
|
1436 |
+
wheels = [
|
1437 |
+
{ url = "https://files.pythonhosted.org/packages/e1/07/c6fe3ad3e685340704d314d765b7912993bcb8dc198f0e7a89382d37974b/win32_setctime-1.2.0-py3-none-any.whl", hash = "sha256:95d644c4e708aba81dc3704a116d8cbc974d70b3bdb8be1d150e36be6e9d1390", size = 4083 },
|
1438 |
+
]
|
1439 |
+
|
1440 |
[[package]]
|
1441 |
name = "wrapt"
|
1442 |
version = "1.17.2"
|
vite.config.ts
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { defineConfig } from "vite";
|
2 |
+
import react from "@vitejs/plugin-react";
|
3 |
+
|
4 |
+
// https://vite.dev/config/
|
5 |
+
export default defineConfig({
|
6 |
+
plugins: [react()],
|
7 |
+
server: {
|
8 |
+
proxy: {
|
9 |
+
"/api": {
|
10 |
+
target: "http://localhost:8000/",
|
11 |
+
changeOrigin: true,
|
12 |
+
},
|
13 |
+
},
|
14 |
+
},
|
15 |
+
});
|
yarn.lock
ADDED
@@ -0,0 +1,1517 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4"
|
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.25.9", "@babel/code-frame@^7.26.0", "@babel/code-frame@^7.26.2":
|
14 |
+
version "7.26.2"
|
15 |
+
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85"
|
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.5":
|
23 |
+
version "7.26.5"
|
24 |
+
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.5.tgz#df93ac37f4417854130e21d72c66ff3d4b897fc7"
|
25 |
+
integrity sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==
|
26 |
+
|
27 |
+
"@babel/core@^7.26.0":
|
28 |
+
version "7.26.0"
|
29 |
+
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.0.tgz#d78b6023cc8f3114ccf049eb219613f74a747b40"
|
30 |
+
integrity sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==
|
31 |
+
dependencies:
|
32 |
+
"@ampproject/remapping" "^2.2.0"
|
33 |
+
"@babel/code-frame" "^7.26.0"
|
34 |
+
"@babel/generator" "^7.26.0"
|
35 |
+
"@babel/helper-compilation-targets" "^7.25.9"
|
36 |
+
"@babel/helper-module-transforms" "^7.26.0"
|
37 |
+
"@babel/helpers" "^7.26.0"
|
38 |
+
"@babel/parser" "^7.26.0"
|
39 |
+
"@babel/template" "^7.25.9"
|
40 |
+
"@babel/traverse" "^7.25.9"
|
41 |
+
"@babel/types" "^7.26.0"
|
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.0", "@babel/generator@^7.26.5":
|
49 |
+
version "7.26.5"
|
50 |
+
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.5.tgz#e44d4ab3176bbcaf78a5725da5f1dc28802a9458"
|
51 |
+
integrity sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==
|
52 |
+
dependencies:
|
53 |
+
"@babel/parser" "^7.26.5"
|
54 |
+
"@babel/types" "^7.26.5"
|
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.25.9":
|
60 |
+
version "7.26.5"
|
61 |
+
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz#75d92bb8d8d51301c0d49e52a65c9a7fe94514d8"
|
62 |
+
integrity sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==
|
63 |
+
dependencies:
|
64 |
+
"@babel/compat-data" "^7.26.5"
|
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.25.9":
|
71 |
+
version "7.25.9"
|
72 |
+
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715"
|
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.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae"
|
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.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz#18580d00c9934117ad719392c4f6585c9333cc35"
|
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.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c"
|
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.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7"
|
100 |
+
integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==
|
101 |
+
|
102 |
+
"@babel/helper-validator-option@^7.25.9":
|
103 |
+
version "7.25.9"
|
104 |
+
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72"
|
105 |
+
integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==
|
106 |
+
|
107 |
+
"@babel/helpers@^7.26.0":
|
108 |
+
version "7.26.0"
|
109 |
+
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.26.0.tgz#30e621f1eba5aa45fe6f4868d2e9154d884119a4"
|
110 |
+
integrity sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==
|
111 |
+
dependencies:
|
112 |
+
"@babel/template" "^7.25.9"
|
113 |
+
"@babel/types" "^7.26.0"
|
114 |
+
|
115 |
+
"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.25.9", "@babel/parser@^7.26.0", "@babel/parser@^7.26.5":
|
116 |
+
version "7.26.5"
|
117 |
+
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.5.tgz#6fec9aebddef25ca57a935c86dbb915ae2da3e1f"
|
118 |
+
integrity sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==
|
119 |
+
dependencies:
|
120 |
+
"@babel/types" "^7.26.5"
|
121 |
+
|
122 |
+
"@babel/plugin-transform-react-jsx-self@^7.25.9":
|
123 |
+
version "7.25.9"
|
124 |
+
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz#c0b6cae9c1b73967f7f9eb2fca9536ba2fad2858"
|
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.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz#4c6b8daa520b5f155b5fb55547d7c9fa91417503"
|
132 |
+
integrity sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==
|
133 |
+
dependencies:
|
134 |
+
"@babel/helper-plugin-utils" "^7.25.9"
|
135 |
+
|
136 |
+
"@babel/template@^7.25.9":
|
137 |
+
version "7.25.9"
|
138 |
+
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016"
|
139 |
+
integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==
|
140 |
+
dependencies:
|
141 |
+
"@babel/code-frame" "^7.25.9"
|
142 |
+
"@babel/parser" "^7.25.9"
|
143 |
+
"@babel/types" "^7.25.9"
|
144 |
+
|
145 |
+
"@babel/traverse@^7.25.9":
|
146 |
+
version "7.26.5"
|
147 |
+
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.5.tgz#6d0be3e772ff786456c1a37538208286f6e79021"
|
148 |
+
integrity sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==
|
149 |
+
dependencies:
|
150 |
+
"@babel/code-frame" "^7.26.2"
|
151 |
+
"@babel/generator" "^7.26.5"
|
152 |
+
"@babel/parser" "^7.26.5"
|
153 |
+
"@babel/template" "^7.25.9"
|
154 |
+
"@babel/types" "^7.26.5"
|
155 |
+
debug "^4.3.1"
|
156 |
+
globals "^11.1.0"
|
157 |
+
|
158 |
+
"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.26.5":
|
159 |
+
version "7.26.5"
|
160 |
+
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.5.tgz#7a1e1c01d28e26d1fe7f8ec9567b3b92b9d07747"
|
161 |
+
integrity sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==
|
162 |
+
dependencies:
|
163 |
+
"@babel/helper-string-parser" "^7.25.9"
|
164 |
+
"@babel/helper-validator-identifier" "^7.25.9"
|
165 |
+
|
166 |
+
"@esbuild/[email protected]":
|
167 |
+
version "0.24.2"
|
168 |
+
resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz#38848d3e25afe842a7943643cbcd387cc6e13461"
|
169 |
+
integrity sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==
|
170 |
+
|
171 |
+
"@esbuild/[email protected]":
|
172 |
+
version "0.24.2"
|
173 |
+
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz#f592957ae8b5643129fa889c79e69cd8669bb894"
|
174 |
+
integrity sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==
|
175 |
+
|
176 |
+
"@esbuild/[email protected]":
|
177 |
+
version "0.24.2"
|
178 |
+
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.24.2.tgz#72d8a2063aa630308af486a7e5cbcd1e134335b3"
|
179 |
+
integrity sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==
|
180 |
+
|
181 |
+
"@esbuild/[email protected]":
|
182 |
+
version "0.24.2"
|
183 |
+
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.24.2.tgz#9a7713504d5f04792f33be9c197a882b2d88febb"
|
184 |
+
integrity sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==
|
185 |
+
|
186 |
+
"@esbuild/[email protected]":
|
187 |
+
version "0.24.2"
|
188 |
+
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz#02ae04ad8ebffd6e2ea096181b3366816b2b5936"
|
189 |
+
integrity sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==
|
190 |
+
|
191 |
+
"@esbuild/[email protected]":
|
192 |
+
version "0.24.2"
|
193 |
+
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz#9ec312bc29c60e1b6cecadc82bd504d8adaa19e9"
|
194 |
+
integrity sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==
|
195 |
+
|
196 |
+
"@esbuild/[email protected]":
|
197 |
+
version "0.24.2"
|
198 |
+
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz#5e82f44cb4906d6aebf24497d6a068cfc152fa00"
|
199 |
+
integrity sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==
|
200 |
+
|
201 |
+
"@esbuild/[email protected]":
|
202 |
+
version "0.24.2"
|
203 |
+
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz#3fb1ce92f276168b75074b4e51aa0d8141ecce7f"
|
204 |
+
integrity sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==
|
205 |
+
|
206 |
+
"@esbuild/[email protected]":
|
207 |
+
version "0.24.2"
|
208 |
+
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz#856b632d79eb80aec0864381efd29de8fd0b1f43"
|
209 |
+
integrity sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==
|
210 |
+
|
211 |
+
"@esbuild/[email protected]":
|
212 |
+
version "0.24.2"
|
213 |
+
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz#c846b4694dc5a75d1444f52257ccc5659021b736"
|
214 |
+
integrity sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==
|
215 |
+
|
216 |
+
"@esbuild/[email protected]":
|
217 |
+
version "0.24.2"
|
218 |
+
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz#f8a16615a78826ccbb6566fab9a9606cfd4a37d5"
|
219 |
+
integrity sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==
|
220 |
+
|
221 |
+
"@esbuild/[email protected]":
|
222 |
+
version "0.24.2"
|
223 |
+
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz#1c451538c765bf14913512c76ed8a351e18b09fc"
|
224 |
+
integrity sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==
|
225 |
+
|
226 |
+
"@esbuild/[email protected]":
|
227 |
+
version "0.24.2"
|
228 |
+
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz#0846edeefbc3d8d50645c51869cc64401d9239cb"
|
229 |
+
integrity sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==
|
230 |
+
|
231 |
+
"@esbuild/[email protected]":
|
232 |
+
version "0.24.2"
|
233 |
+
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz#8e3fc54505671d193337a36dfd4c1a23b8a41412"
|
234 |
+
integrity sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==
|
235 |
+
|
236 |
+
"@esbuild/[email protected]":
|
237 |
+
version "0.24.2"
|
238 |
+
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz#6a1e92096d5e68f7bb10a0d64bb5b6d1daf9a694"
|
239 |
+
integrity sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==
|
240 |
+
|
241 |
+
"@esbuild/[email protected]":
|
242 |
+
version "0.24.2"
|
243 |
+
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz#ab18e56e66f7a3c49cb97d337cd0a6fea28a8577"
|
244 |
+
integrity sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==
|
245 |
+
|
246 |
+
"@esbuild/[email protected]":
|
247 |
+
version "0.24.2"
|
248 |
+
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz#8140c9b40da634d380b0b29c837a0b4267aff38f"
|
249 |
+
integrity sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==
|
250 |
+
|
251 |
+
"@esbuild/[email protected]":
|
252 |
+
version "0.24.2"
|
253 |
+
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz#65f19161432bafb3981f5f20a7ff45abb2e708e6"
|
254 |
+
integrity sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==
|
255 |
+
|
256 |
+
"@esbuild/[email protected]":
|
257 |
+
version "0.24.2"
|
258 |
+
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz#7a3a97d77abfd11765a72f1c6f9b18f5396bcc40"
|
259 |
+
integrity sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==
|
260 |
+
|
261 |
+
"@esbuild/[email protected]":
|
262 |
+
version "0.24.2"
|
263 |
+
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz#58b00238dd8f123bfff68d3acc53a6ee369af89f"
|
264 |
+
integrity sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==
|
265 |
+
|
266 |
+
"@esbuild/[email protected]":
|
267 |
+
version "0.24.2"
|
268 |
+
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz#0ac843fda0feb85a93e288842936c21a00a8a205"
|
269 |
+
integrity sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==
|
270 |
+
|
271 |
+
"@esbuild/[email protected]":
|
272 |
+
version "0.24.2"
|
273 |
+
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz#8b7aa895e07828d36c422a4404cc2ecf27fb15c6"
|
274 |
+
integrity sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==
|
275 |
+
|
276 |
+
"@esbuild/[email protected]":
|
277 |
+
version "0.24.2"
|
278 |
+
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz#c023afb647cabf0c3ed13f0eddfc4f1d61c66a85"
|
279 |
+
integrity sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==
|
280 |
+
|
281 |
+
"@esbuild/[email protected]":
|
282 |
+
version "0.24.2"
|
283 |
+
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz#96c356132d2dda990098c8b8b951209c3cd743c2"
|
284 |
+
integrity sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==
|
285 |
+
|
286 |
+
"@esbuild/[email protected]":
|
287 |
+
version "0.24.2"
|
288 |
+
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz#34aa0b52d0fbb1a654b596acfa595f0c7b77a77b"
|
289 |
+
integrity sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==
|
290 |
+
|
291 |
+
"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
|
292 |
+
version "4.4.1"
|
293 |
+
resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz#d1145bf2c20132d6400495d6df4bf59362fd9d56"
|
294 |
+
integrity sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==
|
295 |
+
dependencies:
|
296 |
+
eslint-visitor-keys "^3.4.3"
|
297 |
+
|
298 |
+
"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.12.1":
|
299 |
+
version "4.12.1"
|
300 |
+
resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0"
|
301 |
+
integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==
|
302 |
+
|
303 |
+
"@eslint/config-array@^0.19.0":
|
304 |
+
version "0.19.1"
|
305 |
+
resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.19.1.tgz#734aaea2c40be22bbb1f2a9dac687c57a6a4c984"
|
306 |
+
integrity sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==
|
307 |
+
dependencies:
|
308 |
+
"@eslint/object-schema" "^2.1.5"
|
309 |
+
debug "^4.3.1"
|
310 |
+
minimatch "^3.1.2"
|
311 |
+
|
312 |
+
"@eslint/core@^0.10.0":
|
313 |
+
version "0.10.0"
|
314 |
+
resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.10.0.tgz#23727063c21b335f752dbb3a16450f6f9cbc9091"
|
315 |
+
integrity sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==
|
316 |
+
dependencies:
|
317 |
+
"@types/json-schema" "^7.0.15"
|
318 |
+
|
319 |
+
"@eslint/eslintrc@^3.2.0":
|
320 |
+
version "3.2.0"
|
321 |
+
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.2.0.tgz#57470ac4e2e283a6bf76044d63281196e370542c"
|
322 |
+
integrity sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==
|
323 |
+
dependencies:
|
324 |
+
ajv "^6.12.4"
|
325 |
+
debug "^4.3.2"
|
326 |
+
espree "^10.0.1"
|
327 |
+
globals "^14.0.0"
|
328 |
+
ignore "^5.2.0"
|
329 |
+
import-fresh "^3.2.1"
|
330 |
+
js-yaml "^4.1.0"
|
331 |
+
minimatch "^3.1.2"
|
332 |
+
strip-json-comments "^3.1.1"
|
333 |
+
|
334 |
+
"@eslint/[email protected]", "@eslint/js@^9.17.0":
|
335 |
+
version "9.18.0"
|
336 |
+
resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.18.0.tgz#3356f85d18ed3627ab107790b53caf7e1e3d1e84"
|
337 |
+
integrity sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==
|
338 |
+
|
339 |
+
"@eslint/object-schema@^2.1.5":
|
340 |
+
version "2.1.5"
|
341 |
+
resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.5.tgz#8670a8f6258a2be5b2c620ff314a1d984c23eb2e"
|
342 |
+
integrity sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==
|
343 |
+
|
344 |
+
"@eslint/plugin-kit@^0.2.5":
|
345 |
+
version "0.2.5"
|
346 |
+
resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.5.tgz#ee07372035539e7847ef834e3f5e7b79f09e3a81"
|
347 |
+
integrity sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==
|
348 |
+
dependencies:
|
349 |
+
"@eslint/core" "^0.10.0"
|
350 |
+
levn "^0.4.1"
|
351 |
+
|
352 |
+
"@humanfs/core@^0.19.1":
|
353 |
+
version "0.19.1"
|
354 |
+
resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77"
|
355 |
+
integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==
|
356 |
+
|
357 |
+
"@humanfs/node@^0.16.6":
|
358 |
+
version "0.16.6"
|
359 |
+
resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.6.tgz#ee2a10eaabd1131987bf0488fd9b820174cd765e"
|
360 |
+
integrity sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==
|
361 |
+
dependencies:
|
362 |
+
"@humanfs/core" "^0.19.1"
|
363 |
+
"@humanwhocodes/retry" "^0.3.0"
|
364 |
+
|
365 |
+
"@humanwhocodes/module-importer@^1.0.1":
|
366 |
+
version "1.0.1"
|
367 |
+
resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
|
368 |
+
integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
|
369 |
+
|
370 |
+
"@humanwhocodes/retry@^0.3.0":
|
371 |
+
version "0.3.1"
|
372 |
+
resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.1.tgz#c72a5c76a9fbaf3488e231b13dc52c0da7bab42a"
|
373 |
+
integrity sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==
|
374 |
+
|
375 |
+
"@humanwhocodes/retry@^0.4.1":
|
376 |
+
version "0.4.1"
|
377 |
+
resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.1.tgz#9a96ce501bc62df46c4031fbd970e3cc6b10f07b"
|
378 |
+
integrity sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==
|
379 |
+
|
380 |
+
"@jridgewell/gen-mapping@^0.3.5":
|
381 |
+
version "0.3.8"
|
382 |
+
resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142"
|
383 |
+
integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==
|
384 |
+
dependencies:
|
385 |
+
"@jridgewell/set-array" "^1.2.1"
|
386 |
+
"@jridgewell/sourcemap-codec" "^1.4.10"
|
387 |
+
"@jridgewell/trace-mapping" "^0.3.24"
|
388 |
+
|
389 |
+
"@jridgewell/resolve-uri@^3.1.0":
|
390 |
+
version "3.1.2"
|
391 |
+
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6"
|
392 |
+
integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
|
393 |
+
|
394 |
+
"@jridgewell/set-array@^1.2.1":
|
395 |
+
version "1.2.1"
|
396 |
+
resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280"
|
397 |
+
integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==
|
398 |
+
|
399 |
+
"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14":
|
400 |
+
version "1.5.0"
|
401 |
+
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a"
|
402 |
+
integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==
|
403 |
+
|
404 |
+
"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25":
|
405 |
+
version "0.3.25"
|
406 |
+
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0"
|
407 |
+
integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==
|
408 |
+
dependencies:
|
409 |
+
"@jridgewell/resolve-uri" "^3.1.0"
|
410 |
+
"@jridgewell/sourcemap-codec" "^1.4.14"
|
411 |
+
|
412 |
+
"@nodelib/[email protected]":
|
413 |
+
version "2.1.5"
|
414 |
+
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
|
415 |
+
integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
|
416 |
+
dependencies:
|
417 |
+
"@nodelib/fs.stat" "2.0.5"
|
418 |
+
run-parallel "^1.1.9"
|
419 |
+
|
420 |
+
"@nodelib/[email protected]", "@nodelib/fs.stat@^2.0.2":
|
421 |
+
version "2.0.5"
|
422 |
+
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
|
423 |
+
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
|
424 |
+
|
425 |
+
"@nodelib/fs.walk@^1.2.3":
|
426 |
+
version "1.2.8"
|
427 |
+
resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
|
428 |
+
integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
|
429 |
+
dependencies:
|
430 |
+
"@nodelib/fs.scandir" "2.1.5"
|
431 |
+
fastq "^1.6.0"
|
432 |
+
|
433 |
+
"@rollup/[email protected]":
|
434 |
+
version "4.31.0"
|
435 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.31.0.tgz#d4dd60da0075a6ce9a6c76d71b8204f3e1822285"
|
436 |
+
integrity sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA==
|
437 |
+
|
438 |
+
"@rollup/[email protected]":
|
439 |
+
version "4.31.0"
|
440 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.31.0.tgz#25c4d33259a7a2ccd2f52a5ffcc0bb3ab3f0729d"
|
441 |
+
integrity sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g==
|
442 |
+
|
443 |
+
"@rollup/[email protected]":
|
444 |
+
version "4.31.0"
|
445 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.31.0.tgz#d137dff254b19163a6b52ac083a71cd055dae844"
|
446 |
+
integrity sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g==
|
447 |
+
|
448 |
+
"@rollup/[email protected]":
|
449 |
+
version "4.31.0"
|
450 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.31.0.tgz#58ff20b5dacb797d3adca19f02a21c532f9d55bf"
|
451 |
+
integrity sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ==
|
452 |
+
|
453 |
+
"@rollup/[email protected]":
|
454 |
+
version "4.31.0"
|
455 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.31.0.tgz#96ce1a241c591ec3e068f4af765d94eddb24e60c"
|
456 |
+
integrity sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew==
|
457 |
+
|
458 |
+
"@rollup/[email protected]":
|
459 |
+
version "4.31.0"
|
460 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.31.0.tgz#e59e7ede505be41f0b4311b0b943f8eb44938467"
|
461 |
+
integrity sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA==
|
462 |
+
|
463 |
+
"@rollup/[email protected]":
|
464 |
+
version "4.31.0"
|
465 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.31.0.tgz#e455ca6e4ff35bd46d62201c153352e717000a7b"
|
466 |
+
integrity sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw==
|
467 |
+
|
468 |
+
"@rollup/[email protected]":
|
469 |
+
version "4.31.0"
|
470 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.31.0.tgz#bc1a93d807d19e70b1e343a5bfea43723bcd6327"
|
471 |
+
integrity sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg==
|
472 |
+
|
473 |
+
"@rollup/[email protected]":
|
474 |
+
version "4.31.0"
|
475 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.31.0.tgz#f38bf843f1dc3d5de680caf31084008846e3efae"
|
476 |
+
integrity sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA==
|
477 |
+
|
478 |
+
"@rollup/[email protected]":
|
479 |
+
version "4.31.0"
|
480 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.31.0.tgz#b3987a96c18b7287129cf735be2dbf83e94d9d05"
|
481 |
+
integrity sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g==
|
482 |
+
|
483 |
+
"@rollup/[email protected]":
|
484 |
+
version "4.31.0"
|
485 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.31.0.tgz#0f0324044e71c4f02e9f49e7ec4e347b655b34ee"
|
486 |
+
integrity sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ==
|
487 |
+
|
488 |
+
"@rollup/[email protected]":
|
489 |
+
version "4.31.0"
|
490 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.31.0.tgz#809479f27f1fd5b4eecd2aa732132ad952d454ba"
|
491 |
+
integrity sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ==
|
492 |
+
|
493 |
+
"@rollup/[email protected]":
|
494 |
+
version "4.31.0"
|
495 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.31.0.tgz#7bc75c4f22db04d3c972f83431739cfa41c6a36e"
|
496 |
+
integrity sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw==
|
497 |
+
|
498 |
+
"@rollup/[email protected]":
|
499 |
+
version "4.31.0"
|
500 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.31.0.tgz#cfe8052345c55864d83ae343362cf1912480170e"
|
501 |
+
integrity sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ==
|
502 |
+
|
503 |
+
"@rollup/[email protected]":
|
504 |
+
version "4.31.0"
|
505 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.31.0.tgz#c6b048f1e25f3fea5b4bd246232f4d07a159c5a0"
|
506 |
+
integrity sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g==
|
507 |
+
|
508 |
+
"@rollup/[email protected]":
|
509 |
+
version "4.31.0"
|
510 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.31.0.tgz#615273ac52d1a201f4de191cbd3389016a9d7d80"
|
511 |
+
integrity sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA==
|
512 |
+
|
513 |
+
"@rollup/[email protected]":
|
514 |
+
version "4.31.0"
|
515 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.31.0.tgz#32ed85810c1b831c648eca999d68f01255b30691"
|
516 |
+
integrity sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw==
|
517 |
+
|
518 |
+
"@rollup/[email protected]":
|
519 |
+
version "4.31.0"
|
520 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.31.0.tgz#d47effada68bcbfdccd30c4a788d42e4542ff4d3"
|
521 |
+
integrity sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ==
|
522 |
+
|
523 |
+
"@rollup/[email protected]":
|
524 |
+
version "4.31.0"
|
525 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.31.0.tgz#7a2d89a82cf0388d60304964217dd7beac6de645"
|
526 |
+
integrity sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw==
|
527 |
+
|
528 |
+
"@types/babel__core@^7.20.5":
|
529 |
+
version "7.20.5"
|
530 |
+
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017"
|
531 |
+
integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==
|
532 |
+
dependencies:
|
533 |
+
"@babel/parser" "^7.20.7"
|
534 |
+
"@babel/types" "^7.20.7"
|
535 |
+
"@types/babel__generator" "*"
|
536 |
+
"@types/babel__template" "*"
|
537 |
+
"@types/babel__traverse" "*"
|
538 |
+
|
539 |
+
"@types/babel__generator@*":
|
540 |
+
version "7.6.8"
|
541 |
+
resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab"
|
542 |
+
integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==
|
543 |
+
dependencies:
|
544 |
+
"@babel/types" "^7.0.0"
|
545 |
+
|
546 |
+
"@types/babel__template@*":
|
547 |
+
version "7.4.4"
|
548 |
+
resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f"
|
549 |
+
integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==
|
550 |
+
dependencies:
|
551 |
+
"@babel/parser" "^7.1.0"
|
552 |
+
"@babel/types" "^7.0.0"
|
553 |
+
|
554 |
+
"@types/babel__traverse@*":
|
555 |
+
version "7.20.6"
|
556 |
+
resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.6.tgz#8dc9f0ae0f202c08d8d4dab648912c8d6038e3f7"
|
557 |
+
integrity sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==
|
558 |
+
dependencies:
|
559 |
+
"@babel/types" "^7.20.7"
|
560 |
+
|
561 |
+
"@types/[email protected]", "@types/estree@^1.0.6":
|
562 |
+
version "1.0.6"
|
563 |
+
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50"
|
564 |
+
integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==
|
565 |
+
|
566 |
+
"@types/json-schema@^7.0.15":
|
567 |
+
version "7.0.15"
|
568 |
+
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
|
569 |
+
integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
|
570 |
+
|
571 |
+
"@types/prop-types@*":
|
572 |
+
version "15.7.14"
|
573 |
+
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.14.tgz#1433419d73b2a7ebfc6918dcefd2ec0d5cd698f2"
|
574 |
+
integrity sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==
|
575 |
+
|
576 |
+
"@types/react-dom@^18.3.5":
|
577 |
+
version "18.3.5"
|
578 |
+
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.5.tgz#45f9f87398c5dcea085b715c58ddcf1faf65f716"
|
579 |
+
integrity sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==
|
580 |
+
|
581 |
+
"@types/react@^18.3.18":
|
582 |
+
version "18.3.18"
|
583 |
+
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.18.tgz#9b382c4cd32e13e463f97df07c2ee3bbcd26904b"
|
584 |
+
integrity sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==
|
585 |
+
dependencies:
|
586 |
+
"@types/prop-types" "*"
|
587 |
+
csstype "^3.0.2"
|
588 |
+
|
589 |
+
"@typescript-eslint/[email protected]":
|
590 |
+
version "8.21.0"
|
591 |
+
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.21.0.tgz#395014a75112ecdb81142b866ab6bb62e3be0f2a"
|
592 |
+
integrity sha512-eTH+UOR4I7WbdQnG4Z48ebIA6Bgi7WO8HvFEneeYBxG8qCOYgTOFPSg6ek9ITIDvGjDQzWHcoWHCDO2biByNzA==
|
593 |
+
dependencies:
|
594 |
+
"@eslint-community/regexpp" "^4.10.0"
|
595 |
+
"@typescript-eslint/scope-manager" "8.21.0"
|
596 |
+
"@typescript-eslint/type-utils" "8.21.0"
|
597 |
+
"@typescript-eslint/utils" "8.21.0"
|
598 |
+
"@typescript-eslint/visitor-keys" "8.21.0"
|
599 |
+
graphemer "^1.4.0"
|
600 |
+
ignore "^5.3.1"
|
601 |
+
natural-compare "^1.4.0"
|
602 |
+
ts-api-utils "^2.0.0"
|
603 |
+
|
604 |
+
"@typescript-eslint/[email protected]":
|
605 |
+
version "8.21.0"
|
606 |
+
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.21.0.tgz#312c638aaba4f640d45bfde7c6795a9d75deb088"
|
607 |
+
integrity sha512-Wy+/sdEH9kI3w9civgACwabHbKl+qIOu0uFZ9IMKzX3Jpv9og0ZBJrZExGrPpFAY7rWsXuxs5e7CPPP17A4eYA==
|
608 |
+
dependencies:
|
609 |
+
"@typescript-eslint/scope-manager" "8.21.0"
|
610 |
+
"@typescript-eslint/types" "8.21.0"
|
611 |
+
"@typescript-eslint/typescript-estree" "8.21.0"
|
612 |
+
"@typescript-eslint/visitor-keys" "8.21.0"
|
613 |
+
debug "^4.3.4"
|
614 |
+
|
615 |
+
"@typescript-eslint/[email protected]":
|
616 |
+
version "8.21.0"
|
617 |
+
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.21.0.tgz#d08d94e2a34b4ccdcc975543c25bb62917437500"
|
618 |
+
integrity sha512-G3IBKz0/0IPfdeGRMbp+4rbjfSSdnGkXsM/pFZA8zM9t9klXDnB/YnKOBQ0GoPmoROa4bCq2NeHgJa5ydsQ4mA==
|
619 |
+
dependencies:
|
620 |
+
"@typescript-eslint/types" "8.21.0"
|
621 |
+
"@typescript-eslint/visitor-keys" "8.21.0"
|
622 |
+
|
623 |
+
"@typescript-eslint/[email protected]":
|
624 |
+
version "8.21.0"
|
625 |
+
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.21.0.tgz#2e69d1a93cdbedc73fe694cd6ae4dfedd00430a0"
|
626 |
+
integrity sha512-95OsL6J2BtzoBxHicoXHxgk3z+9P3BEcQTpBKriqiYzLKnM2DeSqs+sndMKdamU8FosiadQFT3D+BSL9EKnAJQ==
|
627 |
+
dependencies:
|
628 |
+
"@typescript-eslint/typescript-estree" "8.21.0"
|
629 |
+
"@typescript-eslint/utils" "8.21.0"
|
630 |
+
debug "^4.3.4"
|
631 |
+
ts-api-utils "^2.0.0"
|
632 |
+
|
633 |
+
"@typescript-eslint/[email protected]":
|
634 |
+
version "8.21.0"
|
635 |
+
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.21.0.tgz#58f30aec8db8212fd886835dc5969cdf47cb29f5"
|
636 |
+
integrity sha512-PAL6LUuQwotLW2a8VsySDBwYMm129vFm4tMVlylzdoTybTHaAi0oBp7Ac6LhSrHHOdLM3efH+nAR6hAWoMF89A==
|
637 |
+
|
638 |
+
"@typescript-eslint/[email protected]":
|
639 |
+
version "8.21.0"
|
640 |
+
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.21.0.tgz#5ce71acdbed3b97b959f6168afba5a03c88f69a9"
|
641 |
+
integrity sha512-x+aeKh/AjAArSauz0GiQZsjT8ciadNMHdkUSwBB9Z6PrKc/4knM4g3UfHml6oDJmKC88a6//cdxnO/+P2LkMcg==
|
642 |
+
dependencies:
|
643 |
+
"@typescript-eslint/types" "8.21.0"
|
644 |
+
"@typescript-eslint/visitor-keys" "8.21.0"
|
645 |
+
debug "^4.3.4"
|
646 |
+
fast-glob "^3.3.2"
|
647 |
+
is-glob "^4.0.3"
|
648 |
+
minimatch "^9.0.4"
|
649 |
+
semver "^7.6.0"
|
650 |
+
ts-api-utils "^2.0.0"
|
651 |
+
|
652 |
+
"@typescript-eslint/[email protected]":
|
653 |
+
version "8.21.0"
|
654 |
+
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.21.0.tgz#bc4874fbc30feb3298b926e3b03d94570b3999c5"
|
655 |
+
integrity sha512-xcXBfcq0Kaxgj7dwejMbFyq7IOHgpNMtVuDveK7w3ZGwG9owKzhALVwKpTF2yrZmEwl9SWdetf3fxNzJQaVuxw==
|
656 |
+
dependencies:
|
657 |
+
"@eslint-community/eslint-utils" "^4.4.0"
|
658 |
+
"@typescript-eslint/scope-manager" "8.21.0"
|
659 |
+
"@typescript-eslint/types" "8.21.0"
|
660 |
+
"@typescript-eslint/typescript-estree" "8.21.0"
|
661 |
+
|
662 |
+
"@typescript-eslint/[email protected]":
|
663 |
+
version "8.21.0"
|
664 |
+
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.21.0.tgz#a89744c4cdc83b5c761eb5878befe6c33d1481b2"
|
665 |
+
integrity sha512-BkLMNpdV6prozk8LlyK/SOoWLmUFi+ZD+pcqti9ILCbVvHGk1ui1g4jJOc2WDLaeExz2qWwojxlPce5PljcT3w==
|
666 |
+
dependencies:
|
667 |
+
"@typescript-eslint/types" "8.21.0"
|
668 |
+
eslint-visitor-keys "^4.2.0"
|
669 |
+
|
670 |
+
"@vitejs/plugin-react@^4.3.4":
|
671 |
+
version "4.3.4"
|
672 |
+
resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz#c64be10b54c4640135a5b28a2432330e88ad7c20"
|
673 |
+
integrity sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==
|
674 |
+
dependencies:
|
675 |
+
"@babel/core" "^7.26.0"
|
676 |
+
"@babel/plugin-transform-react-jsx-self" "^7.25.9"
|
677 |
+
"@babel/plugin-transform-react-jsx-source" "^7.25.9"
|
678 |
+
"@types/babel__core" "^7.20.5"
|
679 |
+
react-refresh "^0.14.2"
|
680 |
+
|
681 |
+
acorn-jsx@^5.3.2:
|
682 |
+
version "5.3.2"
|
683 |
+
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
|
684 |
+
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
|
685 |
+
|
686 |
+
acorn@^8.14.0:
|
687 |
+
version "8.14.0"
|
688 |
+
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0"
|
689 |
+
integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==
|
690 |
+
|
691 |
+
ajv@^6.12.4:
|
692 |
+
version "6.12.6"
|
693 |
+
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
|
694 |
+
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
|
695 |
+
dependencies:
|
696 |
+
fast-deep-equal "^3.1.1"
|
697 |
+
fast-json-stable-stringify "^2.0.0"
|
698 |
+
json-schema-traverse "^0.4.1"
|
699 |
+
uri-js "^4.2.2"
|
700 |
+
|
701 |
+
ansi-styles@^4.1.0:
|
702 |
+
version "4.3.0"
|
703 |
+
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
|
704 |
+
integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
|
705 |
+
dependencies:
|
706 |
+
color-convert "^2.0.1"
|
707 |
+
|
708 |
+
argparse@^2.0.1:
|
709 |
+
version "2.0.1"
|
710 |
+
resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
|
711 |
+
integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
|
712 |
+
|
713 |
+
balanced-match@^1.0.0:
|
714 |
+
version "1.0.2"
|
715 |
+
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
|
716 |
+
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
|
717 |
+
|
718 |
+
brace-expansion@^1.1.7:
|
719 |
+
version "1.1.11"
|
720 |
+
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
|
721 |
+
integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
|
722 |
+
dependencies:
|
723 |
+
balanced-match "^1.0.0"
|
724 |
+
concat-map "0.0.1"
|
725 |
+
|
726 |
+
brace-expansion@^2.0.1:
|
727 |
+
version "2.0.1"
|
728 |
+
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
|
729 |
+
integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
|
730 |
+
dependencies:
|
731 |
+
balanced-match "^1.0.0"
|
732 |
+
|
733 |
+
braces@^3.0.3:
|
734 |
+
version "3.0.3"
|
735 |
+
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789"
|
736 |
+
integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
|
737 |
+
dependencies:
|
738 |
+
fill-range "^7.1.1"
|
739 |
+
|
740 |
+
browserslist@^4.24.0:
|
741 |
+
version "4.24.4"
|
742 |
+
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.4.tgz#c6b2865a3f08bcb860a0e827389003b9fe686e4b"
|
743 |
+
integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==
|
744 |
+
dependencies:
|
745 |
+
caniuse-lite "^1.0.30001688"
|
746 |
+
electron-to-chromium "^1.5.73"
|
747 |
+
node-releases "^2.0.19"
|
748 |
+
update-browserslist-db "^1.1.1"
|
749 |
+
|
750 |
+
callsites@^3.0.0:
|
751 |
+
version "3.1.0"
|
752 |
+
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
|
753 |
+
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
|
754 |
+
|
755 |
+
caniuse-lite@^1.0.30001688:
|
756 |
+
version "1.0.30001695"
|
757 |
+
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001695.tgz#39dfedd8f94851132795fdf9b79d29659ad9c4d4"
|
758 |
+
integrity sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw==
|
759 |
+
|
760 |
+
chalk@^4.0.0:
|
761 |
+
version "4.1.2"
|
762 |
+
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
|
763 |
+
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
|
764 |
+
dependencies:
|
765 |
+
ansi-styles "^4.1.0"
|
766 |
+
supports-color "^7.1.0"
|
767 |
+
|
768 |
+
color-convert@^2.0.1:
|
769 |
+
version "2.0.1"
|
770 |
+
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
|
771 |
+
integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
|
772 |
+
dependencies:
|
773 |
+
color-name "~1.1.4"
|
774 |
+
|
775 |
+
color-name@~1.1.4:
|
776 |
+
version "1.1.4"
|
777 |
+
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
|
778 |
+
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
779 |
+
|
780 | |
781 |
+
version "0.0.1"
|
782 |
+
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
|
783 |
+
integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
|
784 |
+
|
785 |
+
convert-source-map@^2.0.0:
|
786 |
+
version "2.0.0"
|
787 |
+
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
|
788 |
+
integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
|
789 |
+
|
790 |
+
cross-spawn@^7.0.6:
|
791 |
+
version "7.0.6"
|
792 |
+
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f"
|
793 |
+
integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
|
794 |
+
dependencies:
|
795 |
+
path-key "^3.1.0"
|
796 |
+
shebang-command "^2.0.0"
|
797 |
+
which "^2.0.1"
|
798 |
+
|
799 |
+
csstype@^3.0.2:
|
800 |
+
version "3.1.3"
|
801 |
+
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
|
802 |
+
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
|
803 |
+
|
804 |
+
debug@^4.1.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
|
805 |
+
version "4.4.0"
|
806 |
+
resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a"
|
807 |
+
integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==
|
808 |
+
dependencies:
|
809 |
+
ms "^2.1.3"
|
810 |
+
|
811 |
+
deep-is@^0.1.3:
|
812 |
+
version "0.1.4"
|
813 |
+
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
|
814 |
+
integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
|
815 |
+
|
816 |
+
electron-to-chromium@^1.5.73:
|
817 |
+
version "1.5.85"
|
818 |
+
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.85.tgz#07e8d80f5a05268b891e5366bf4f3ba91dfd6d0c"
|
819 |
+
integrity sha512-UgTI7ZHxtSjOUwV0vZLpqT604U1Z8L3bq8mAtAKtuRPlMZ/6dLFMYgYnLdXSi/urbVTP2ykDb9EDDUrdIzw4Qg==
|
820 |
+
|
821 |
+
esbuild@^0.24.2:
|
822 |
+
version "0.24.2"
|
823 |
+
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.24.2.tgz#b5b55bee7de017bff5fb8a4e3e44f2ebe2c3567d"
|
824 |
+
integrity sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==
|
825 |
+
optionalDependencies:
|
826 |
+
"@esbuild/aix-ppc64" "0.24.2"
|
827 |
+
"@esbuild/android-arm" "0.24.2"
|
828 |
+
"@esbuild/android-arm64" "0.24.2"
|
829 |
+
"@esbuild/android-x64" "0.24.2"
|
830 |
+
"@esbuild/darwin-arm64" "0.24.2"
|
831 |
+
"@esbuild/darwin-x64" "0.24.2"
|
832 |
+
"@esbuild/freebsd-arm64" "0.24.2"
|
833 |
+
"@esbuild/freebsd-x64" "0.24.2"
|
834 |
+
"@esbuild/linux-arm" "0.24.2"
|
835 |
+
"@esbuild/linux-arm64" "0.24.2"
|
836 |
+
"@esbuild/linux-ia32" "0.24.2"
|
837 |
+
"@esbuild/linux-loong64" "0.24.2"
|
838 |
+
"@esbuild/linux-mips64el" "0.24.2"
|
839 |
+
"@esbuild/linux-ppc64" "0.24.2"
|
840 |
+
"@esbuild/linux-riscv64" "0.24.2"
|
841 |
+
"@esbuild/linux-s390x" "0.24.2"
|
842 |
+
"@esbuild/linux-x64" "0.24.2"
|
843 |
+
"@esbuild/netbsd-arm64" "0.24.2"
|
844 |
+
"@esbuild/netbsd-x64" "0.24.2"
|
845 |
+
"@esbuild/openbsd-arm64" "0.24.2"
|
846 |
+
"@esbuild/openbsd-x64" "0.24.2"
|
847 |
+
"@esbuild/sunos-x64" "0.24.2"
|
848 |
+
"@esbuild/win32-arm64" "0.24.2"
|
849 |
+
"@esbuild/win32-ia32" "0.24.2"
|
850 |
+
"@esbuild/win32-x64" "0.24.2"
|
851 |
+
|
852 |
+
escalade@^3.2.0:
|
853 |
+
version "3.2.0"
|
854 |
+
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5"
|
855 |
+
integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==
|
856 |
+
|
857 |
+
escape-string-regexp@^4.0.0:
|
858 |
+
version "4.0.0"
|
859 |
+
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
|
860 |
+
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
|
861 |
+
|
862 |
+
eslint-plugin-react-hooks@^5.0.0:
|
863 |
+
version "5.1.0"
|
864 |
+
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz#3d34e37d5770866c34b87d5b499f5f0b53bf0854"
|
865 |
+
integrity sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==
|
866 |
+
|
867 |
+
eslint-plugin-react-refresh@^0.4.16:
|
868 |
+
version "0.4.18"
|
869 |
+
resolved "https://registry.yarnpkg.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.18.tgz#d2ae6dc8d48c87f7722f5304385b0cd8b3a32a54"
|
870 |
+
integrity sha512-IRGEoFn3OKalm3hjfolEWGqoF/jPqeEYFp+C8B0WMzwGwBMvlRDQd06kghDhF0C61uJ6WfSDhEZE/sAQjduKgw==
|
871 |
+
|
872 |
+
eslint-scope@^8.2.0:
|
873 |
+
version "8.2.0"
|
874 |
+
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.2.0.tgz#377aa6f1cb5dc7592cfd0b7f892fd0cf352ce442"
|
875 |
+
integrity sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==
|
876 |
+
dependencies:
|
877 |
+
esrecurse "^4.3.0"
|
878 |
+
estraverse "^5.2.0"
|
879 |
+
|
880 |
+
eslint-visitor-keys@^3.4.3:
|
881 |
+
version "3.4.3"
|
882 |
+
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
|
883 |
+
integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
|
884 |
+
|
885 |
+
eslint-visitor-keys@^4.2.0:
|
886 |
+
version "4.2.0"
|
887 |
+
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#687bacb2af884fcdda8a6e7d65c606f46a14cd45"
|
888 |
+
integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==
|
889 |
+
|
890 |
+
eslint@^9.17.0:
|
891 |
+
version "9.18.0"
|
892 |
+
resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.18.0.tgz#c95b24de1183e865de19f607fda6518b54827850"
|
893 |
+
integrity sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==
|
894 |
+
dependencies:
|
895 |
+
"@eslint-community/eslint-utils" "^4.2.0"
|
896 |
+
"@eslint-community/regexpp" "^4.12.1"
|
897 |
+
"@eslint/config-array" "^0.19.0"
|
898 |
+
"@eslint/core" "^0.10.0"
|
899 |
+
"@eslint/eslintrc" "^3.2.0"
|
900 |
+
"@eslint/js" "9.18.0"
|
901 |
+
"@eslint/plugin-kit" "^0.2.5"
|
902 |
+
"@humanfs/node" "^0.16.6"
|
903 |
+
"@humanwhocodes/module-importer" "^1.0.1"
|
904 |
+
"@humanwhocodes/retry" "^0.4.1"
|
905 |
+
"@types/estree" "^1.0.6"
|
906 |
+
"@types/json-schema" "^7.0.15"
|
907 |
+
ajv "^6.12.4"
|
908 |
+
chalk "^4.0.0"
|
909 |
+
cross-spawn "^7.0.6"
|
910 |
+
debug "^4.3.2"
|
911 |
+
escape-string-regexp "^4.0.0"
|
912 |
+
eslint-scope "^8.2.0"
|
913 |
+
eslint-visitor-keys "^4.2.0"
|
914 |
+
espree "^10.3.0"
|
915 |
+
esquery "^1.5.0"
|
916 |
+
esutils "^2.0.2"
|
917 |
+
fast-deep-equal "^3.1.3"
|
918 |
+
file-entry-cache "^8.0.0"
|
919 |
+
find-up "^5.0.0"
|
920 |
+
glob-parent "^6.0.2"
|
921 |
+
ignore "^5.2.0"
|
922 |
+
imurmurhash "^0.1.4"
|
923 |
+
is-glob "^4.0.0"
|
924 |
+
json-stable-stringify-without-jsonify "^1.0.1"
|
925 |
+
lodash.merge "^4.6.2"
|
926 |
+
minimatch "^3.1.2"
|
927 |
+
natural-compare "^1.4.0"
|
928 |
+
optionator "^0.9.3"
|
929 |
+
|
930 |
+
espree@^10.0.1, espree@^10.3.0:
|
931 |
+
version "10.3.0"
|
932 |
+
resolved "https://registry.yarnpkg.com/espree/-/espree-10.3.0.tgz#29267cf5b0cb98735b65e64ba07e0ed49d1eed8a"
|
933 |
+
integrity sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==
|
934 |
+
dependencies:
|
935 |
+
acorn "^8.14.0"
|
936 |
+
acorn-jsx "^5.3.2"
|
937 |
+
eslint-visitor-keys "^4.2.0"
|
938 |
+
|
939 |
+
esquery@^1.5.0:
|
940 |
+
version "1.6.0"
|
941 |
+
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7"
|
942 |
+
integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==
|
943 |
+
dependencies:
|
944 |
+
estraverse "^5.1.0"
|
945 |
+
|
946 |
+
esrecurse@^4.3.0:
|
947 |
+
version "4.3.0"
|
948 |
+
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
|
949 |
+
integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
|
950 |
+
dependencies:
|
951 |
+
estraverse "^5.2.0"
|
952 |
+
|
953 |
+
estraverse@^5.1.0, estraverse@^5.2.0:
|
954 |
+
version "5.3.0"
|
955 |
+
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
|
956 |
+
integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
|
957 |
+
|
958 |
+
esutils@^2.0.2:
|
959 |
+
version "2.0.3"
|
960 |
+
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
|
961 |
+
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
|
962 |
+
|
963 |
+
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
|
964 |
+
version "3.1.3"
|
965 |
+
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
|
966 |
+
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
|
967 |
+
|
968 |
+
fast-glob@^3.3.2:
|
969 |
+
version "3.3.3"
|
970 |
+
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818"
|
971 |
+
integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==
|
972 |
+
dependencies:
|
973 |
+
"@nodelib/fs.stat" "^2.0.2"
|
974 |
+
"@nodelib/fs.walk" "^1.2.3"
|
975 |
+
glob-parent "^5.1.2"
|
976 |
+
merge2 "^1.3.0"
|
977 |
+
micromatch "^4.0.8"
|
978 |
+
|
979 |
+
fast-json-stable-stringify@^2.0.0:
|
980 |
+
version "2.1.0"
|
981 |
+
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
|
982 |
+
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
|
983 |
+
|
984 |
+
fast-levenshtein@^2.0.6:
|
985 |
+
version "2.0.6"
|
986 |
+
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
|
987 |
+
integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
|
988 |
+
|
989 |
+
fastq@^1.6.0:
|
990 |
+
version "1.18.0"
|
991 |
+
resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.18.0.tgz#d631d7e25faffea81887fe5ea8c9010e1b36fee0"
|
992 |
+
integrity sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==
|
993 |
+
dependencies:
|
994 |
+
reusify "^1.0.4"
|
995 |
+
|
996 |
+
file-entry-cache@^8.0.0:
|
997 |
+
version "8.0.0"
|
998 |
+
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f"
|
999 |
+
integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==
|
1000 |
+
dependencies:
|
1001 |
+
flat-cache "^4.0.0"
|
1002 |
+
|
1003 |
+
fill-range@^7.1.1:
|
1004 |
+
version "7.1.1"
|
1005 |
+
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292"
|
1006 |
+
integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
|
1007 |
+
dependencies:
|
1008 |
+
to-regex-range "^5.0.1"
|
1009 |
+
|
1010 |
+
find-up@^5.0.0:
|
1011 |
+
version "5.0.0"
|
1012 |
+
resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
|
1013 |
+
integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
|
1014 |
+
dependencies:
|
1015 |
+
locate-path "^6.0.0"
|
1016 |
+
path-exists "^4.0.0"
|
1017 |
+
|
1018 |
+
flat-cache@^4.0.0:
|
1019 |
+
version "4.0.1"
|
1020 |
+
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c"
|
1021 |
+
integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==
|
1022 |
+
dependencies:
|
1023 |
+
flatted "^3.2.9"
|
1024 |
+
keyv "^4.5.4"
|
1025 |
+
|
1026 |
+
flatted@^3.2.9:
|
1027 |
+
version "3.3.2"
|
1028 |
+
resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.2.tgz#adba1448a9841bec72b42c532ea23dbbedef1a27"
|
1029 |
+
integrity sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==
|
1030 |
+
|
1031 |
+
fsevents@~2.3.2, fsevents@~2.3.3:
|
1032 |
+
version "2.3.3"
|
1033 |
+
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
|
1034 |
+
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
|
1035 |
+
|
1036 |
+
gensync@^1.0.0-beta.2:
|
1037 |
+
version "1.0.0-beta.2"
|
1038 |
+
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
|
1039 |
+
integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
|
1040 |
+
|
1041 |
+
glob-parent@^5.1.2:
|
1042 |
+
version "5.1.2"
|
1043 |
+
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
|
1044 |
+
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
|
1045 |
+
dependencies:
|
1046 |
+
is-glob "^4.0.1"
|
1047 |
+
|
1048 |
+
glob-parent@^6.0.2:
|
1049 |
+
version "6.0.2"
|
1050 |
+
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
|
1051 |
+
integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
|
1052 |
+
dependencies:
|
1053 |
+
is-glob "^4.0.3"
|
1054 |
+
|
1055 |
+
globals@^11.1.0:
|
1056 |
+
version "11.12.0"
|
1057 |
+
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
|
1058 |
+
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
|
1059 |
+
|
1060 |
+
globals@^14.0.0:
|
1061 |
+
version "14.0.0"
|
1062 |
+
resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e"
|
1063 |
+
integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==
|
1064 |
+
|
1065 |
+
globals@^15.14.0:
|
1066 |
+
version "15.14.0"
|
1067 |
+
resolved "https://registry.yarnpkg.com/globals/-/globals-15.14.0.tgz#b8fd3a8941ff3b4d38f3319d433b61bbb482e73f"
|
1068 |
+
integrity sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==
|
1069 |
+
|
1070 |
+
graphemer@^1.4.0:
|
1071 |
+
version "1.4.0"
|
1072 |
+
resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
|
1073 |
+
integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
|
1074 |
+
|
1075 |
+
has-flag@^4.0.0:
|
1076 |
+
version "4.0.0"
|
1077 |
+
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
|
1078 |
+
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
|
1079 |
+
|
1080 |
+
ignore@^5.2.0, ignore@^5.3.1:
|
1081 |
+
version "5.3.2"
|
1082 |
+
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
|
1083 |
+
integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
|
1084 |
+
|
1085 |
+
import-fresh@^3.2.1:
|
1086 |
+
version "3.3.0"
|
1087 |
+
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
|
1088 |
+
integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
|
1089 |
+
dependencies:
|
1090 |
+
parent-module "^1.0.0"
|
1091 |
+
resolve-from "^4.0.0"
|
1092 |
+
|
1093 |
+
imurmurhash@^0.1.4:
|
1094 |
+
version "0.1.4"
|
1095 |
+
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
|
1096 |
+
integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
|
1097 |
+
|
1098 |
+
is-extglob@^2.1.1:
|
1099 |
+
version "2.1.1"
|
1100 |
+
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
|
1101 |
+
integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
|
1102 |
+
|
1103 |
+
is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3:
|
1104 |
+
version "4.0.3"
|
1105 |
+
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
|
1106 |
+
integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
|
1107 |
+
dependencies:
|
1108 |
+
is-extglob "^2.1.1"
|
1109 |
+
|
1110 |
+
is-number@^7.0.0:
|
1111 |
+
version "7.0.0"
|
1112 |
+
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
|
1113 |
+
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
|
1114 |
+
|
1115 |
+
isexe@^2.0.0:
|
1116 |
+
version "2.0.0"
|
1117 |
+
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
|
1118 |
+
integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
|
1119 |
+
|
1120 |
+
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
|
1121 |
+
version "4.0.0"
|
1122 |
+
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
|
1123 |
+
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
|
1124 |
+
|
1125 |
+
js-yaml@^4.1.0:
|
1126 |
+
version "4.1.0"
|
1127 |
+
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
|
1128 |
+
integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
|
1129 |
+
dependencies:
|
1130 |
+
argparse "^2.0.1"
|
1131 |
+
|
1132 |
+
jsesc@^3.0.2:
|
1133 |
+
version "3.1.0"
|
1134 |
+
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d"
|
1135 |
+
integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==
|
1136 |
+
|
1137 | |
1138 |
+
version "3.0.1"
|
1139 |
+
resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
|
1140 |
+
integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
|
1141 |
+
|
1142 |
+
json-schema-traverse@^0.4.1:
|
1143 |
+
version "0.4.1"
|
1144 |
+
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
|
1145 |
+
integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
|
1146 |
+
|
1147 |
+
json-stable-stringify-without-jsonify@^1.0.1:
|
1148 |
+
version "1.0.1"
|
1149 |
+
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
|
1150 |
+
integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
|
1151 |
+
|
1152 |
+
json5@^2.2.3:
|
1153 |
+
version "2.2.3"
|
1154 |
+
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
|
1155 |
+
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
|
1156 |
+
|
1157 |
+
keyv@^4.5.4:
|
1158 |
+
version "4.5.4"
|
1159 |
+
resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93"
|
1160 |
+
integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
|
1161 |
+
dependencies:
|
1162 |
+
json-buffer "3.0.1"
|
1163 |
+
|
1164 |
+
levn@^0.4.1:
|
1165 |
+
version "0.4.1"
|
1166 |
+
resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
|
1167 |
+
integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
|
1168 |
+
dependencies:
|
1169 |
+
prelude-ls "^1.2.1"
|
1170 |
+
type-check "~0.4.0"
|
1171 |
+
|
1172 |
+
locate-path@^6.0.0:
|
1173 |
+
version "6.0.0"
|
1174 |
+
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
|
1175 |
+
integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
|
1176 |
+
dependencies:
|
1177 |
+
p-locate "^5.0.0"
|
1178 |
+
|
1179 |
+
lodash.merge@^4.6.2:
|
1180 |
+
version "4.6.2"
|
1181 |
+
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
|
1182 |
+
integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
|
1183 |
+
|
1184 |
+
loose-envify@^1.1.0:
|
1185 |
+
version "1.4.0"
|
1186 |
+
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
|
1187 |
+
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
|
1188 |
+
dependencies:
|
1189 |
+
js-tokens "^3.0.0 || ^4.0.0"
|
1190 |
+
|
1191 |
+
lru-cache@^5.1.1:
|
1192 |
+
version "5.1.1"
|
1193 |
+
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
|
1194 |
+
integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
|
1195 |
+
dependencies:
|
1196 |
+
yallist "^3.0.2"
|
1197 |
+
|
1198 |
+
merge2@^1.3.0:
|
1199 |
+
version "1.4.1"
|
1200 |
+
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
|
1201 |
+
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
|
1202 |
+
|
1203 |
+
micromatch@^4.0.8:
|
1204 |
+
version "4.0.8"
|
1205 |
+
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202"
|
1206 |
+
integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==
|
1207 |
+
dependencies:
|
1208 |
+
braces "^3.0.3"
|
1209 |
+
picomatch "^2.3.1"
|
1210 |
+
|
1211 |
+
minimatch@^3.1.2:
|
1212 |
+
version "3.1.2"
|
1213 |
+
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
|
1214 |
+
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
|
1215 |
+
dependencies:
|
1216 |
+
brace-expansion "^1.1.7"
|
1217 |
+
|
1218 |
+
minimatch@^9.0.4:
|
1219 |
+
version "9.0.5"
|
1220 |
+
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5"
|
1221 |
+
integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==
|
1222 |
+
dependencies:
|
1223 |
+
brace-expansion "^2.0.1"
|
1224 |
+
|
1225 |
+
ms@^2.1.3:
|
1226 |
+
version "2.1.3"
|
1227 |
+
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
|
1228 |
+
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
|
1229 |
+
|
1230 |
+
nanoid@^3.3.8:
|
1231 |
+
version "3.3.8"
|
1232 |
+
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf"
|
1233 |
+
integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==
|
1234 |
+
|
1235 |
+
natural-compare@^1.4.0:
|
1236 |
+
version "1.4.0"
|
1237 |
+
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
|
1238 |
+
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
|
1239 |
+
|
1240 |
+
node-releases@^2.0.19:
|
1241 |
+
version "2.0.19"
|
1242 |
+
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314"
|
1243 |
+
integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==
|
1244 |
+
|
1245 |
+
optionator@^0.9.3:
|
1246 |
+
version "0.9.4"
|
1247 |
+
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734"
|
1248 |
+
integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==
|
1249 |
+
dependencies:
|
1250 |
+
deep-is "^0.1.3"
|
1251 |
+
fast-levenshtein "^2.0.6"
|
1252 |
+
levn "^0.4.1"
|
1253 |
+
prelude-ls "^1.2.1"
|
1254 |
+
type-check "^0.4.0"
|
1255 |
+
word-wrap "^1.2.5"
|
1256 |
+
|
1257 |
+
p-limit@^3.0.2:
|
1258 |
+
version "3.1.0"
|
1259 |
+
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
|
1260 |
+
integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
|
1261 |
+
dependencies:
|
1262 |
+
yocto-queue "^0.1.0"
|
1263 |
+
|
1264 |
+
p-locate@^5.0.0:
|
1265 |
+
version "5.0.0"
|
1266 |
+
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
|
1267 |
+
integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
|
1268 |
+
dependencies:
|
1269 |
+
p-limit "^3.0.2"
|
1270 |
+
|
1271 |
+
parent-module@^1.0.0:
|
1272 |
+
version "1.0.1"
|
1273 |
+
resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
|
1274 |
+
integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
|
1275 |
+
dependencies:
|
1276 |
+
callsites "^3.0.0"
|
1277 |
+
|
1278 |
+
path-exists@^4.0.0:
|
1279 |
+
version "4.0.0"
|
1280 |
+
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
|
1281 |
+
integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
|
1282 |
+
|
1283 |
+
path-key@^3.1.0:
|
1284 |
+
version "3.1.1"
|
1285 |
+
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
|
1286 |
+
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
|
1287 |
+
|
1288 |
+
picocolors@^1.0.0, picocolors@^1.1.1:
|
1289 |
+
version "1.1.1"
|
1290 |
+
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
|
1291 |
+
integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
|
1292 |
+
|
1293 |
+
picomatch@^2.3.1:
|
1294 |
+
version "2.3.1"
|
1295 |
+
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
|
1296 |
+
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
|
1297 |
+
|
1298 |
+
postcss@^8.4.49:
|
1299 |
+
version "8.5.1"
|
1300 |
+
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.1.tgz#e2272a1f8a807fafa413218245630b5db10a3214"
|
1301 |
+
integrity sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==
|
1302 |
+
dependencies:
|
1303 |
+
nanoid "^3.3.8"
|
1304 |
+
picocolors "^1.1.1"
|
1305 |
+
source-map-js "^1.2.1"
|
1306 |
+
|
1307 |
+
prelude-ls@^1.2.1:
|
1308 |
+
version "1.2.1"
|
1309 |
+
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
|
1310 |
+
integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
|
1311 |
+
|
1312 |
+
punycode@^2.1.0:
|
1313 |
+
version "2.3.1"
|
1314 |
+
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
|
1315 |
+
integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
|
1316 |
+
|
1317 |
+
queue-microtask@^1.2.2:
|
1318 |
+
version "1.2.3"
|
1319 |
+
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
|
1320 |
+
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
|
1321 |
+
|
1322 |
+
react-dom@^18.3.1:
|
1323 |
+
version "18.3.1"
|
1324 |
+
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4"
|
1325 |
+
integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==
|
1326 |
+
dependencies:
|
1327 |
+
loose-envify "^1.1.0"
|
1328 |
+
scheduler "^0.23.2"
|
1329 |
+
|
1330 |
+
react-refresh@^0.14.2:
|
1331 |
+
version "0.14.2"
|
1332 |
+
resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.2.tgz#3833da01ce32da470f1f936b9d477da5c7028bf9"
|
1333 |
+
integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==
|
1334 |
+
|
1335 |
+
react@^18.3.1:
|
1336 |
+
version "18.3.1"
|
1337 |
+
resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891"
|
1338 |
+
integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==
|
1339 |
+
dependencies:
|
1340 |
+
loose-envify "^1.1.0"
|
1341 |
+
|
1342 |
+
resolve-from@^4.0.0:
|
1343 |
+
version "4.0.0"
|
1344 |
+
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
|
1345 |
+
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
|
1346 |
+
|
1347 |
+
reusify@^1.0.4:
|
1348 |
+
version "1.0.4"
|
1349 |
+
resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
|
1350 |
+
integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
|
1351 |
+
|
1352 |
+
rollup@^4.23.0:
|
1353 |
+
version "4.31.0"
|
1354 |
+
resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.31.0.tgz#b84af969a0292cb047dce2c0ec5413a9457597a4"
|
1355 |
+
integrity sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw==
|
1356 |
+
dependencies:
|
1357 |
+
"@types/estree" "1.0.6"
|
1358 |
+
optionalDependencies:
|
1359 |
+
"@rollup/rollup-android-arm-eabi" "4.31.0"
|
1360 |
+
"@rollup/rollup-android-arm64" "4.31.0"
|
1361 |
+
"@rollup/rollup-darwin-arm64" "4.31.0"
|
1362 |
+
"@rollup/rollup-darwin-x64" "4.31.0"
|
1363 |
+
"@rollup/rollup-freebsd-arm64" "4.31.0"
|
1364 |
+
"@rollup/rollup-freebsd-x64" "4.31.0"
|
1365 |
+
"@rollup/rollup-linux-arm-gnueabihf" "4.31.0"
|
1366 |
+
"@rollup/rollup-linux-arm-musleabihf" "4.31.0"
|
1367 |
+
"@rollup/rollup-linux-arm64-gnu" "4.31.0"
|
1368 |
+
"@rollup/rollup-linux-arm64-musl" "4.31.0"
|
1369 |
+
"@rollup/rollup-linux-loongarch64-gnu" "4.31.0"
|
1370 |
+
"@rollup/rollup-linux-powerpc64le-gnu" "4.31.0"
|
1371 |
+
"@rollup/rollup-linux-riscv64-gnu" "4.31.0"
|
1372 |
+
"@rollup/rollup-linux-s390x-gnu" "4.31.0"
|
1373 |
+
"@rollup/rollup-linux-x64-gnu" "4.31.0"
|
1374 |
+
"@rollup/rollup-linux-x64-musl" "4.31.0"
|
1375 |
+
"@rollup/rollup-win32-arm64-msvc" "4.31.0"
|
1376 |
+
"@rollup/rollup-win32-ia32-msvc" "4.31.0"
|
1377 |
+
"@rollup/rollup-win32-x64-msvc" "4.31.0"
|
1378 |
+
fsevents "~2.3.2"
|
1379 |
+
|
1380 |
+
run-parallel@^1.1.9:
|
1381 |
+
version "1.2.0"
|
1382 |
+
resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
|
1383 |
+
integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
|
1384 |
+
dependencies:
|
1385 |
+
queue-microtask "^1.2.2"
|
1386 |
+
|
1387 |
+
scheduler@^0.23.2:
|
1388 |
+
version "0.23.2"
|
1389 |
+
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3"
|
1390 |
+
integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==
|
1391 |
+
dependencies:
|
1392 |
+
loose-envify "^1.1.0"
|
1393 |
+
|
1394 |
+
semver@^6.3.1:
|
1395 |
+
version "6.3.1"
|
1396 |
+
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
|
1397 |
+
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
|
1398 |
+
|
1399 |
+
semver@^7.6.0:
|
1400 |
+
version "7.6.3"
|
1401 |
+
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143"
|
1402 |
+
integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==
|
1403 |
+
|
1404 |
+
shebang-command@^2.0.0:
|
1405 |
+
version "2.0.0"
|
1406 |
+
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
|
1407 |
+
integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
|
1408 |
+
dependencies:
|
1409 |
+
shebang-regex "^3.0.0"
|
1410 |
+
|
1411 |
+
shebang-regex@^3.0.0:
|
1412 |
+
version "3.0.0"
|
1413 |
+
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
|
1414 |
+
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
|
1415 |
+
|
1416 |
+
source-map-js@^1.2.1:
|
1417 |
+
version "1.2.1"
|
1418 |
+
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
|
1419 |
+
integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
|
1420 |
+
|
1421 |
+
strip-json-comments@^3.1.1:
|
1422 |
+
version "3.1.1"
|
1423 |
+
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
|
1424 |
+
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
|
1425 |
+
|
1426 |
+
supports-color@^7.1.0:
|
1427 |
+
version "7.2.0"
|
1428 |
+
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
|
1429 |
+
integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
|
1430 |
+
dependencies:
|
1431 |
+
has-flag "^4.0.0"
|
1432 |
+
|
1433 |
+
to-regex-range@^5.0.1:
|
1434 |
+
version "5.0.1"
|
1435 |
+
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
|
1436 |
+
integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
|
1437 |
+
dependencies:
|
1438 |
+
is-number "^7.0.0"
|
1439 |
+
|
1440 |
+
ts-api-utils@^2.0.0:
|
1441 |
+
version "2.0.0"
|
1442 |
+
resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.0.0.tgz#b9d7d5f7ec9f736f4d0f09758b8607979044a900"
|
1443 |
+
integrity sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==
|
1444 |
+
|
1445 |
+
tsc@^2.0.4:
|
1446 |
+
version "2.0.4"
|
1447 |
+
resolved "https://registry.yarnpkg.com/tsc/-/tsc-2.0.4.tgz#5f6499146abea5dca4420b451fa4f2f9345238f5"
|
1448 |
+
integrity sha512-fzoSieZI5KKJVBYGvwbVZs/J5za84f2lSTLPYf6AGiIf43tZ3GNrI1QzTLcjtyDDP4aLxd46RTZq1nQxe7+k5Q==
|
1449 |
+
|
1450 |
+
type-check@^0.4.0, type-check@~0.4.0:
|
1451 |
+
version "0.4.0"
|
1452 |
+
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
|
1453 |
+
integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
|
1454 |
+
dependencies:
|
1455 |
+
prelude-ls "^1.2.1"
|
1456 |
+
|
1457 |
+
typescript-eslint@^8.18.2:
|
1458 |
+
version "8.21.0"
|
1459 |
+
resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.21.0.tgz#78bdb83a6d771f0312b128297d84a3111885fd08"
|
1460 |
+
integrity sha512-txEKYY4XMKwPXxNkN8+AxAdX6iIJAPiJbHE/FpQccs/sxw8Lf26kqwC3cn0xkHlW8kEbLhkhCsjWuMveaY9Rxw==
|
1461 |
+
dependencies:
|
1462 |
+
"@typescript-eslint/eslint-plugin" "8.21.0"
|
1463 |
+
"@typescript-eslint/parser" "8.21.0"
|
1464 |
+
"@typescript-eslint/utils" "8.21.0"
|
1465 |
+
|
1466 |
+
typescript@~5.6.2:
|
1467 |
+
version "5.6.3"
|
1468 |
+
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b"
|
1469 |
+
integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==
|
1470 |
+
|
1471 |
+
update-browserslist-db@^1.1.1:
|
1472 |
+
version "1.1.2"
|
1473 |
+
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz#97e9c96ab0ae7bcac08e9ae5151d26e6bc6b5580"
|
1474 |
+
integrity sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==
|
1475 |
+
dependencies:
|
1476 |
+
escalade "^3.2.0"
|
1477 |
+
picocolors "^1.1.1"
|
1478 |
+
|
1479 |
+
uri-js@^4.2.2:
|
1480 |
+
version "4.4.1"
|
1481 |
+
resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
|
1482 |
+
integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
|
1483 |
+
dependencies:
|
1484 |
+
punycode "^2.1.0"
|
1485 |
+
|
1486 |
+
vite@^6.0.5:
|
1487 |
+
version "6.0.11"
|
1488 |
+
resolved "https://registry.yarnpkg.com/vite/-/vite-6.0.11.tgz#224497e93e940b34c3357c9ebf2ec20803091ed8"
|
1489 |
+
integrity sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==
|
1490 |
+
dependencies:
|
1491 |
+
esbuild "^0.24.2"
|
1492 |
+
postcss "^8.4.49"
|
1493 |
+
rollup "^4.23.0"
|
1494 |
+
optionalDependencies:
|
1495 |
+
fsevents "~2.3.3"
|
1496 |
+
|
1497 |
+
which@^2.0.1:
|
1498 |
+
version "2.0.2"
|
1499 |
+
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
|
1500 |
+
integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
|
1501 |
+
dependencies:
|
1502 |
+
isexe "^2.0.0"
|
1503 |
+
|
1504 |
+
word-wrap@^1.2.5:
|
1505 |
+
version "1.2.5"
|
1506 |
+
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34"
|
1507 |
+
integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==
|
1508 |
+
|
1509 |
+
yallist@^3.0.2:
|
1510 |
+
version "3.1.1"
|
1511 |
+
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
|
1512 |
+
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
|
1513 |
+
|
1514 |
+
yocto-queue@^0.1.0:
|
1515 |
+
version "0.1.0"
|
1516 |
+
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
|
1517 |
+
integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
|